shodan-mcp
shodan-mcp
Servidor MCP de reconocimiento pasivo impulsado por Shodan.
Restringido por alcance según tus instantáneas de HackerOne: el mismo filtro que nuclei-mcp.
Solo pasivo — Las consultas de Shodan nunca envían un paquete a tu objetivo. Todos los datos provienen del índice de escaneo de internet preexistente de Shodan.
Arquitectura
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)Related MCP server: Shodan MCP Server
Filtro de alcance
Cada herramienta ejecuta el mismo filtro que nuclei-mcp:
Cargar todos los
*.jsondesde/data/snapshotsCoincidencia exacta → comodín → coincidencia difusa de palabras clave
Verificar
eligible_for_bountyYeligible_for_submissionBloquear si alguno es falso — sin anulación
Inicio rápido
1. Compilación
cd shodan-mcp
docker build -t shodan-mcp .2. Añadir a la configuración MCP de Claude/Copilot
{
"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"
]
}
}
}Reemplaza YOUR_KEY_HERE con tu clave de https://account.shodan.io
Herramientas MCP
shodan_host
Resolver objetivo → IP(s) → informe completo del host en Shodan.
Parámetro | Tipo | Predeterminado | Descripción |
| string | — | Dominio, URL o nombre difuso |
| bool |
| Incluir banners de servicio sin procesar (primeras 3 líneas) |
Lo que obtienes por IP:
Puertos abiertos + protocolo de transporte
Huella digital de servicio / producto / versión
Identificadores CPE
Lista de CVE con puntuaciones CVSS y resúmenes
ASN, ISP, organización, geolocalización, SO
Etiquetas de Shodan (ej.
cloud,self-signed,vpn)
Ejemplos de prompts:
"Ejecuta shodan en dummy-target"
"¿Qué puertos expone api.tile.com en Shodan?"
"Comprueba shodan para production.tile-api.com con banners"
shodan_search
Busca en el índice hostname: de Shodan — encuentra registros en TODAS las IPs que
hayan servido alguna vez el nombre de host, incluyendo infraestructura antigua/oculta.
Parámetro | Tipo | Predeterminado | Descripción |
| str | — | Dominio, URL o palabra clave |
| int |
| Máximo de hosts (límite: 20) |
Ejemplos de prompts:
"Busca en Shodan dummy-target — muéstrame 10 resultados"
"¿Alguna infraestructura olvidada para tile.com en Shodan?"
shodan_dns
Extrae los registros de DNS pasivo de Shodan — todos los subdominios, A/CNAME/MX/TXT que Shodan haya observado alguna vez para un dominio raíz.
Parámetro | Tipo | Descripción |
| str | Dominio o palabra clave |
Ejemplos de prompts:
"¿Qué subdominios conoce Shodan para dummy-target?"
"Muéstrame los registros DNS de Shodan para tile.com"
check_scope
Vista previa del filtro de alcance sin realizar ninguna llamada a la API.
list_programs
Enumera todos los activos de alcance de H1 agrupados por elegibilidad de recompensa.
Notas sobre el plan de Shodan
Plan |
|
|
|
Gratuito | ✅ | ✅ (limitado) | ❌ |
Membresía | ✅ | ✅ | ✅ |
API (pago) | ✅ | ✅ | ✅ |
shodan_dns requiere un plan de Shodan de pago.
El servidor valida tu clave y plan al iniciarse y registra el resultado.
Ejemplo de flujo de trabajo encadenado
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 exposureCero paquetes enviados al objetivo ficticio hasta el paso 5.
This server cannot be deployed
Maintenance
Related MCP Connectors
Defensive Shodan search and host intelligence MCP using customer-provided SHODAN_API_KEY for
Shodan InternetDB MCP — wraps Shodan InternetDB (internetdb.shodan.io)
Shodan MCP — wraps the full Shodan REST API (api.shodan.io)
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for querying the Shodan API and Shodan CVEDB. This server provides tools for IP lookups, device searches, DNS lookups, vulnerability queries, CPE lookups, and more.7520 npm171MIT
- FlicenseNot gradedqualityDmaintenanceA WebSocket server that provides MCP interface for searching and retrieving information about internet-connected devices, IP addresses, DNS data, and CVE vulnerabilities through the Shodan API.3-
- FlicenseNot gradedqualityDmaintenanceThis is a Model Context Protocol (MCP) server that provides access to the Shodan API. It allows you to programmatically query Shodan for information about devices, vulnerabilities, and more.2-
- AlicenseBqualityCmaintenanceMCP server that exposes Shodan API for host information, search, alerts, scanning, and exploit data.201MIT