Skip to main content
Glama
HackerOne MCP Server

HackerOne MCP Server

by alpernae

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 install

2. Get your HackerOne API credentials

  1. Go to https://hackerone.com/settings/api_token/edit

  2. Create a new API token

  3. Note your username and the generated token


Configuration

Claude Desktop

Edit your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %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.js

Or 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.js

Verify it's registered:

claude mcp list

Codex 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.js

Or configure it directly in config.toml:

  • macOS/Linux: ~/.codex/config.toml

  • Windows: %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 list

In 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.js

Or configure your client's MCP settings with:

  • command: node

  • args: ["/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 timeout

  • HACKERONE_MAX_RETRIES (default: 2) — retries for 429/5xx and transient network errors

  • HACKERONE_API_BASE (default: https://api.hackerone.com/v1) — API base URL

Available Tools

21 tools
h1_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

    B3/5.0

    Scored across 21 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count3/5

    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.

    Completeness4/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      A
      quality
      D
      maintenance
      Provides 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.
      9
      67 npm
      43
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      Wraps 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.
      -
    • F
      license
      A
      quality
      D
      maintenance
      A 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.
      17
      4
      -
    • F
      license
      Not graded
      quality
      Not graded
      maintenance
      Connects Claude to the HackerOne Hacker API, enabling program listing, scope retrieval, report management, and balance checks via natural language.
      6
      -