Skip to main content
Glama

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:

  1. Cargar todos los *.json desde /data/snapshots

  2. Coincidencia exacta → comodín → coincidencia difusa de palabras clave

  3. Verificar eligible_for_bounty Y eligible_for_submission

  4. Bloquear si alguno es falso — sin anulación

H1-Scope-Watcher


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

target

string

Dominio, URL o nombre difuso

show_banners

bool

false

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"


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

target

str

Dominio, URL o palabra clave

max_results

int

5

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

target

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

shodan_host

shodan_search

shodan_dns

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 exposure

Cero paquetes enviados al objetivo ficticio hasta el paso 5.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    MCP 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.
    7
    520 npm
    171
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    This 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
    -