HackerOne MCP Server
Provides tools for interacting with HackerOne's API, enabling users to list and retrieve reports, list programs, and get program scopes and details.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@HackerOne MCP Server List my open HackerOne reports"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
HackerOne MCP Server
An MCP (Model Context Protocol) server that connects Claude, Codex, and other MCP clients to the HackerOne Hackers API.
Tools Available
21 tools cover the complete documented Hacker API surface:
Hacktivity search
Reports: list, get, and create
Payments: balance, earnings, and payouts
Programs: list, get, structured scopes, scope exclusions, and weaknesses
Report intents: list, get, create, update, delete, submit, and attachment management
Related MCP server: platform-adapter-mcp
Setup
1. Install dependencies
cd hackerone-mcp
npm install2. Get your HackerOne API credentials
Create a new API token
Note your username and the generated token
Configuration
Claude Desktop
Edit your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"hackerone": {
"command": "node",
"args": ["/absolute/path/to/hackerone-mcp/index.js"],
"env": {
"HACKERONE_API_USERNAME": "your_api_token_identifier",
"HACKERONE_API_TOKEN": "your_api_token"
}
}
}
}Restart Claude Desktop after saving.
Claude Code (CLI)
Run once to add the MCP server to your Claude Code config:
claude mcp add hackerone \
-e HACKERONE_API_USERNAME=your_api_token_identifier \
-e HACKERONE_API_TOKEN=your_api_token \
-- node /absolute/path/to/hackerone-mcp/index.jsOr set credentials as shell environment variables first:
export HACKERONE_API_USERNAME=your_api_token_identifier
export HACKERONE_API_TOKEN=your_api_token
claude mcp add hackerone -- node /absolute/path/to/hackerone-mcp/index.jsVerify it's registered:
claude mcp listCodex CLI
Run once to add the MCP server to Codex:
codex mcp add hackerone \
--env HACKERONE_API_USERNAME=your_api_token_identifier \
--env HACKERONE_API_TOKEN=your_api_token \
-- node /absolute/path/to/hackerone-mcp/index.jsOr configure it directly in config.toml:
macOS/Linux:
~/.codex/config.tomlWindows:
%USERPROFILE%\.codex\config.toml
[mcp_servers.hackerone]
command = "node"
args = ["/absolute/path/to/hackerone-mcp/index.js"]
[mcp_servers.hackerone.env]
HACKERONE_API_USERNAME = "your_api_token_identifier"
HACKERONE_API_TOKEN = "your_api_token"Verify it's registered:
codex mcp listIn Codex TUI, run /mcp to view active MCP servers.
Other MCP Clients (generic stdio)
Pass the environment variables when launching:
HACKERONE_API_USERNAME=your_api_token_identifier \
HACKERONE_API_TOKEN=your_api_token \
node /path/to/hackerone-mcp/index.jsOr configure your client's MCP settings with:
command:
nodeargs:
["/path/to/hackerone-mcp/index.js"]env:
{ "HACKERONE_API_USERNAME": "...", "HACKERONE_API_TOKEN": "..." }
Example prompts
Once connected, you can ask your MCP client (Claude, Codex, etc.) things like:
"List my HackerOne reports"
"Search Hacktivity for disclosed critical reports"
"Get the full details of report 12345"
"What's in scope for the nodejs program?"
"Show me the policy and bounty info for the security program"
"List all programs I have access to"
Security Notes
Never hardcode your API token in the source files
Always use environment variables or your client's secrets manager
Your API token provides full access to your HackerOne account — treat it like a password
Reliability settings (optional)
If you see intermittent failures (timeouts, 429 rate limits, transient 5xx), you can tune these environment variables:
HACKERONE_TIMEOUT_MS(default:20000) — per-request timeoutHACKERONE_MAX_RETRIES(default:2) — retries for 429/5xx and transient network errorsHACKERONE_API_BASE(default:https://api.hackerone.com/v1) — API base URL
Available Tools
21 toolsh1_create_reportC
Submit a vulnerability report.
Inputs: title (required), impact (required), team_handle (required), weakness_id (required), +3 more.
h1_create_report_intentC
Create an AI-assisted report intent.
Inputs: description (required), team_handle (required).
h1_delete_report_intentA
Permanently delete an unsubmitted report intent.
Inputs: intent_id (required).
h1_delete_report_intent_attachmentA
Permanently delete a report intent attachment.
Inputs: intent_id (required), attachment_id (required).
h1_get_balanceB
Get the authenticated hacker's payment balance.
Inputs: no named parameters.
h1_get_earningsD
List earnings.
Inputs: page_size, page_number.
h1_get_hacktivityB
Search public Hacktivity reports using Lucene syntax.
Inputs: sort, query, page_size, page_number.
h1_get_payoutsC
List payouts.
Inputs: page_size, page_number.
h1_get_programC
Get program details.
Inputs: program_handle (required).
h1_get_program_scopesD
List structured scopes.
Inputs: program_handle (required), page_size, page_number, created_after, +2 more.
h1_get_program_weaknessesC
List accepted weaknesses.
Inputs: program_handle (required), page_size, page_number.
h1_get_reportC
Get a report with its relationships.
Inputs: report_id (required).
h1_get_report_intentB
Get a report intent and pipeline status.
Inputs: intent_id (required).
h1_get_scope_exclusionsC
List excluded report categories.
Inputs: program_handle (required).
h1_list_programsC
List available programs.
Inputs: page_size, page_number.
h1_list_report_intent_attachmentsC
List report intent attachments.
Inputs: intent_id (required).
h1_list_report_intentsC
List report intents.
Inputs: page_size, page_number.
h1_list_reportsA
List reports owned by the authenticated hacker.
Inputs: page_size, page_number.
h1_submit_report_intentD
Submit a ready report intent.
Inputs: intent_id (required).
h1_update_report_intentA
Update an unsubmitted report intent.
Inputs: intent_id (required), description (required).
h1_upload_report_intent_attachmentsA
Upload local files to an unsubmitted report intent.
Inputs: intent_id (required), file_paths (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 21 tools
Each tool targets a distinct resource and action. Report intents, attachments, programs, financial data, and reports are clearly separated. Even similar financial tools (balance, earnings, payouts) have clear distinctions.
All tools follow the h1_verb_noun pattern with consistent snake_case. The singular/plural usage for attachments is standard (delete one vs list many). The prefix h1_ is applied uniformly.
21 tools is on the higher end for an MCP server, but each tool corresponds to a specific HackerOne API endpoint. While not over-bloated, the count is borderline heavy compared to typical 3-15 tool servers.
The server covers report intents fully (CRUD + submit + attachments), program reads, financial reads, and report creation/listing. However, there is no update or delete operation for submitted reports, which may be a gap for some workflows.
Maintenance
Related MCP Connectors
Find, document and execute authenticated API calls across 1000+ apps via one MCP server
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Related MCP Servers
- FlicenseAqualityDmaintenanceProvides read-only access to HackerOne reports, program scopes, and bounty earnings through the HackerOne API. It enables users to analyze hunting patterns, check asset eligibility, and retrieve report details or triage conversations via natural language.967 npm43-
- FlicenseNot gradedqualityDmaintenanceWraps multiple bug bounty platform APIs (HackerOne, Bugcrowd, etc.) behind a uniform MCP tool surface, enabling LLM agents to query programs, scope, and briefs across platforms through a single interface.-
- FlicenseAqualityDmaintenanceA local, read-only MCP server that connects your HackerOne researcher account to Claude Desktop and Claude Code, helping you find targets, analyze program scopes, review reports and earnings, and draft bug reports.174-
- FlicenseNot gradedqualityNot gradedmaintenanceConnects Claude to the HackerOne Hacker API, enabling program listing, scope retrieval, report management, and balance checks via natural language.6-