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 mcp add shodan-mcp -- npx Да, Shodan MCP бесплатный — установка в один клик через Unyly без оплаты.
Нет, Shodan работает без API-ключей и переменных окружения.
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Открой Shodan на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
CSA PROJECT - FZCO © 2026 IFZA Business Park, DDP, Premises Number 31174 - 001
Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.