PatrikFehrenbach/h1-brain
h1-brain is an MCP server that connects Claude Desktop/Code to HackerOne, pulling a researcher's own bounty history and program scopes into a local SQLite database alongside a bundled dataset of 3,600+ publicly disclosed bounty-awarded reports. Its primary tool, hack(handle), fuses live program scope, the user's past findings, weakness patterns, and public disclosures for that program into a single AI-generated attack briefing with suggested untested vectors, effectively putting the LLM in offensive recon/planning mode for bug bounty hunting.
What it is
h1-brain (MIT, by Patrik Grobshäuser / PatrikFehrenbach) is a Python MCP server bridging an MCP client (Claude Desktop/Code) to HackerOne. Beyond what the summary states, the page gives the concrete operational shape: two separate SQLite stores — your private data and a bundled community corpus — and the exact setup path.
How it works
Two databases with a deliberate trust separation. h1_data.db (auto-created, gitignored) holds your fetched reports/programs/scopes; personal tools (search_reports, get_report) query it with no API calls. disclosed_reports.db ships in the repo and holds 3,600+ public bounty-awarded disclosures (title, write-up, weakness type, program, asset, CVEs, bounty amount; redacted/empty reports excluded); public tools (search_disclosed_reports, get_disclosed_report) query it. hack(handle) uses both plus a live HackerOne API call, loading its directives from hack_instructions.md.
Preconditions / Affected
- Python 3.10+.
- A HackerOne API token, stored in plaintext in the MCP client config as env vars
H1_USERNAMEandH1_API_TOKEN. - Your personal DB is empty until populated —
fetch_rewarded_reportsandfetch_programsmust be run once (re-run to sync). The page flagsfetch_rewarded_reportsas "the most important step." The public DB works immediately.
What to do
Install and register:
git clone https://github.com/PatrikFehrenbach/h1-brain.git
cd h1-brain
python -m venv venv
source venv/bin/activate
pip install -r requirements.txtFor Claude Code:
claude mcp add h1-brain \
-e H1_USERNAME=your_hackerone_username \
-e H1_API_TOKEN=your_api_token \
-- /path/to/h1-brain/venv/bin/python /path/to/h1-brain/server.pyFor Claude Desktop, add the equivalent mcpServers block to ~/Library/Application Support/Claude/claude_desktop_config.json and restart. Then run fetch_rewarded_reports and fetch_programs once.
flowchart LR
A[Claude client] -->|MCP| B[h1-brain]
B -->|API + token| C[HackerOne API]
B --> D[h1_data.db your private data]
B --> E[disclosed_reports.db public corpus]
D --> A
E --> ACaveats
- Dependencies are only
mcpandhttpx— minimal, but the bundleddisclosed_reports.dbis data shipped in the repo that flows into the model context; the page does not describe any provenance check on it. - Bounty amount is included "when available," so that field is not guaranteed per report.
- The tool's stated purpose is to put the AI "in offensive mode" against live HackerOne programs — only run it against targets whose scope authorizes your testing.
Technologies named here
- h1-brain
- HackerOne API
- Claude Desktop
- Claude Code
- SQLite
- disclosed_reports.db
- hack
- fetch_rewarded_reports
- fetch_programs
- search_reports / get_report
- search_disclosed_reports / get_disclosed_report
- Model Context Protocol
- HackerOne
- Python
Related in Offensive Security