loading…
Search for a command to run...
loading…
Passive reconnaissance MCP server powered by Shodan, enabling host lookups, search, and DNS queries gated against HackerOne scope snapshots.
Passive reconnaissance MCP server powered by Shodan, enabling host lookups, search, and DNS queries gated against HackerOne scope snapshots.
Passive reconnaissance MCP server powered by Shodan.
Scope-gated against your HackerOne snapshots — identical gate to nuclei-mcp.
Passive only — Shodan queries never send a packet to your target. All data comes from Shodan's pre-existing internet-wide scan index.
Claude/copilot (AI agent)
│
│ MCP (stdio)
▼
shodan-mcp container
├── reads scope ──► /data/snapshots/*.json ◄─── h1-scope-watcher
└── queries ──► api.shodan.io (passive, no target contact)
Every tool runs the same gate as nuclei-mcp:
*.json from /data/snapshotseligible_for_bounty AND eligible_for_submissioncd shodan-mcp
docker build -t shodan-mcp .
{
"mcpServers": {
"h1-scope-watcher": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "D:/projects/H1-Scope-Watcher/snapshots:/data/snapshots",
"-e", "SNAPSHOTS_DIR=/data/snapshots",
"mcp/h1-scope"
]
},
"shodan-mcp": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "D:/projects/H1-Scope-Watcher/snapshots:/data/snapshots",
"-e", "SNAPSHOTS_DIR=/data/snapshots",
"-e", "SHODAN_API_KEY=YOUR_KEY_HERE",
"shodan-mcp"
]
}
}
}
Replace YOUR_KEY_HERE with your key from https://account.shodan.io
shodan_hostResolve target → IP(s) → full Shodan host report.
| Parameter | Type | Default | Description |
|---|---|---|---|
target |
string | — | Domain, URL, or fuzzy name |
show_banners |
bool | false |
Include raw service banners (first 3 lines) |
What you get per IP:
cloud, self-signed, vpn)Example prompts:
shodan_searchSearch Shodan's hostname: index — finds records across ALL IPs that
have ever served the hostname, including old/shadow infrastructure.
| Parameter | Type | Default | Description |
|---|---|---|---|
target |
str | — | Domain, URL, or keyword |
max_results |
int | 5 |
Max hosts (cap: 20) |
Example prompts:
shodan_dnsPull Shodan's passive DNS records — all subdomains, A/CNAME/MX/TXT Shodan has ever observed for a root domain.
| Parameter | Type | Description |
|---|---|---|
target |
str | Domain or keyword |
Example prompts:
check_scopePreview scope gate without any API call.
list_programsList all H1 scope assets grouped by bounty eligibility.
| Plan | shodan_host |
shodan_search |
shodan_dns |
|---|---|---|---|
| Free | ✅ | ✅ (limited) | ❌ |
| Membership | ✅ | ✅ | ✅ |
| API (paid) | ✅ | ✅ | ✅ |
shodan_dns requires a paid Shodan plan.
The server validates your key and plan at startup and logs the result.
You: "Full passive recon on dummy-target"
Claude/Copilot:
1. check_scope("dummy-target")
→ ✅ api.dummy-target.com, api-cloudfront.dummy-target.com
2. shodan_dns("dummy-target")
→ 14 subdomains discovered passively
3. shodan_host("api.dummy-target.com")
→ Port 443 (nginx 1.18), Port 8443 (unknown)
→ CVE-2021-23017 CVSS 7.7 (nginx)
4. shodan_search("dummy-target", max_results=10)
→ 3 IPs, one on non-standard port 9200 (Elasticsearch!)
5. nuclei_scan("api.dummy-target.com")
→ Confirms Elasticsearch exposure
Zero packets sent to the dummy target until step 5.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"shodan-mcp": {
"command": "npx",
"args": []
}
}
}PRs, issues, code search, CI status
автор: GitHubDatabase, auth and storage
автор: SupabaseReference / test server with prompts, resources, and tools.
Secure file operations with configurable access controls.