Overview
The HackerOne MCP (Model Context Protocol) server provides read-only access to HackerOne platform data from Claude and other supported MCP clients. You can use it to search and analyze programs, reports, assets, bounty information, and remediation data without making changes to your HackerOne account.
This article explains the prerequisites, plan availability, and important configuration details for setting up the HackerOne MCP server.
The HackerOne MCP server is available on Professional and Enterprise plans across both Legacy and CTEM packaging.
Prerequisites
Before you begin, make sure you have:
A HackerOne account with API access to the programs you want to access.
Claude Code (CLI), Claude Desktop, or another compatible MCP client installed.
Note: All MCP tools are currently read-only. You cannot use Claude or another MCP client to modify reports, tickets, assets, or program settings through the HackerOne MCP server.
Use the Correct client_id
Each supported MCP client registers its own OAuth client and redirect URI. Claude Code (CLI) and Claude Desktop use different local callback paths.
Using the wrong client_id causes the OAuth redirect to fail during authentication.
When configuring the HackerOne MCP server:
Use the configuration snippet that matches the client you are setting up.
Do not use the Claude Code (CLI)
client_idfor Claude Desktop.Do not use the Claude Desktop
client_idfor Claude Code (CLI).
Selecting the correct configuration ensures the OAuth flow completes successfully.
Setup — Claude Code (CLI)
1. Add the MCP
claude mcp add-json hackerone --scope user '{
"type": "http",
"url": "https://hackerone.com/mcp",
"oauth": {
"clientId": "d5HEIsfrQSO7rK_z7a0fXDBbKei7VxKj7df3GOQBQ5I",
"callbackPort": 9384,
"scopes": "h1:graphql"
}
}'
Use --scope user so the config follows your profile rather than one repo.
2. Authenticate
Run
/mcpinside ClaudeFind hackerone in the list
Select authenticate — your browser opens to complete OAuth against hackerone.com
Confirm it worked: ask Claude to check your HackerOne user profile
Setup — Claude Desktop
1. Log in to HackerOne
Make sure you're already logged into your HackerOne account at hackerone.com in your browser.
2. Add the connector
Open Claude Desktop and go to Settings > Connectors > Add custom connector
Enter:
Name: HackerOne
Remote MCP server URL: https://hackerone.com/mcp
OAuth Client ID: kvb8pI7eB_bqFRGCFdgfSZZ6S2rb8ZYn6YpOwlm9x2Y — leave OAuth Client Secret blank
Click Add
If you see a Connection methods section (Individual sign-in/Managed authorization), leave Individual sign-in on. This only shows up when adding the connector as a Claude org admin—most people won't see it.
3. Authenticate
Claude opens a browser window so you can complete the OAuth flow on HackerOne. Approve the authorization request, then return to Claude Desktop. After authentication completes, the connector appears as Connected.
Authentication
Your login expires periodically. If a tool call suddenly fails with a re-authorization error, reconnect: run /mcp and re-authenticate for CLI, or go to Settings > Connectors and reconnect for Desktop.
What You'll See
After you authenticate, hackerone.com shows a consent screen asking you to allow access. Select Allow access to continue.
Tools
Discovery
Tool | Description |
| Current authenticated user's profile |
| Programs accessible to you, returns handles |
| Returns IDs of Organizations accessible to you |
| Assets for an organization |
| Detail for a specific asset |
Reports
Tool | Description |
| Filter reports by program, state, severity, keyword, date (10-minute minimum report age applies) |
| Full report detail (10-minute minimum report age applies) |
| AI-structured report summary artifact |
| AI-generated objective assessment from evidence |
| Natural-language question over report statistics and analytics (Hai) |
| AI comparison of two reports |
| Comparison table artifact across similar reports |
| Find semantically similar reports (embeddings) |
| Similar reports via embedding search |
| Natural-language search over reports |
Bounty & Remediation
Tool | Description |
| Bounty table info for a report |
| AI-powered bounty amount suggestion |
| H1 remediation plan for a report |
| H1 Remediation root cause analysis for a report (Hai) |
Other
Tool | Description |
| Extract structured insights across a set of reports (Hai) |
| Generate a Mermaid diagram artifact (Hai) |
Example Prompts
Reports
"Summarize report #4521 for me."
"Give me an objective assessment of report #4521 based on the evidence submitted."
"Is report #4521 a duplicate of #4390?"
"Find reports similar to #4521."
"How many critical reports came in for the Acme program last quarter?"
"Search reports mentioning HTTP request smuggling from the last 90 days."
Bounty & remediation
"What's the remediation plan for report #4521 — root cause, suggested fix, and verification checks?"
"What's the code validation summary for report #4521?"
"What bounty should we pay for report #4521?"
"Look up the bounty table for the Acme program."
Other
"Pull structured insights across all SSRF reports from this quarter."
"Diagram the stages a report goes through from validation to remediation."
Troubleshooting
Symptom | Cause | Fix |
"Needs authentication" in claude mcp list (CLI) | Token expired or never completed | Run |
Tool call errors "requires re-authorization" | Token expired mid-session | Re-authenticate for your client |
Desktop OAuth fails at the browser redirect step | Wrong client_id entered in the connector's OAuth Client ID field — CLI and Desktop client_ids aren't interchangeable | Use the Desktop client_id (kvb8pI7eB_bqFRGCFdgfSZZ6S2rb8ZYn6YpOwlm9x2Y) for Desktop, CLI client_id for CLI |
Port 9384 already in use (CLI only) | Another MCP process is bound to that port | lsof -nP -iTCP:9384 -sTCP:LISTEN, stop the conflicting process |
