Shodan

Consulta la base de datos de Shodan sobre dispositivos conectados a internet y vulnerabilidades utilizando la API de Shodan.

Documentación

shodan-mcp-server

Este es un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso a la API de Shodan. Permite consultar Shodan programáticamente para obtener información sobre dispositivos, vulnerabilidades y más.

Tabla de Contenidos

Introducción

El shodan-mcp-server proporciona una forma sencilla de integrar la inteligencia de Shodan en tus aplicaciones utilizando el Protocolo de Contexto de Modelo (MCP). Expone varias herramientas que te permiten consultar Shodan para obtener diversos tipos de información.

Características

Información del Host: Obtén información detallada sobre una dirección IP Búsqueda: Consulta la base de datos de Shodan usando su sintaxis de búsqueda Resolución DNS: Resuelve nombres de dominio Información CVE: Obtén detalles sobre vulnerabilidades CVE específicas

Instalación

  1. Clona el repositorio:

    git clone https://github.com/X3r0K/Shodan-MCP-Server.git
    cd shodan-mcp-server
    
  2. Instala las dependencias:

    npm install
    
  3. Compila el proyecto:

    npm run build
    

Configuración

  1. Obtén una clave de API de Shodan en Shodan.

  2. Configura el servidor MCP en tu archivo de configuración de MCP (por ejemplo, ~/.config/mcp/settings.json):

    {
      "mcpServers": {
        "shodan": {
          "command": "node",
          "args": ["/path/to/shodan-mcp-server/build/index.js"],
          "env": {
            "SHODAN_API_KEY": "<your_shodan_api_key>"
          },
          "disabled": false,
          "autoApprove": []
        }
      }
    }
    

    Reemplaza <your_shodan_api_key> con tu clave de API de Shodan real y /path/to/shodan-mcp-server con la ruta real al directorio de shodan-mcp-server.

Uso con Node.js

Puedes usar el servidor MCP con Node.js utilizando el paquete @modelcontextprotocol/sdk.

  1. Instala el SDK de MCP:

    npm install @modelcontextprotocol/sdk
    
  2. Usa la función use_mcp_tool para llamar a las herramientas:

    import { use_mcp_tool } from '@modelcontextprotocol/sdk';
    
    async function getIpInfo(ip) {
      const result = await use_mcp_tool('shodan', 'get_ip_info', { ip });
      console.log(result);
    }
    
    getIpInfo('8.8.8.8');
    

Documentación de la API

get_ip_info

Obtén información sobre una dirección IP específica.

Entrada:

{
  "ip": "string" // The IP address to query
}

Salida:

Un objeto JSON que contiene información sobre la dirección IP.

dns_lookup

Realiza resoluciones DNS para un dominio dado.

Entrada:

{
  "hostname": "string" // The hostname to resolve
}

Salida:

Un objeto JSON que contiene la dirección IP resuelta.

get_vulnerabilities

Rastrea vulnerabilidades asociadas con una dirección IP específica.

Entrada:

{
  "ip": "string" // The IP address to query for vulnerabilities
}

Salida:

Un objeto JSON que contiene una lista de vulnerabilidades asociadas con la dirección IP.

cve_info

Recupera información sobre un ID de CVE específico.

Entrada:

{
  "cve": "string" // The CVE ID to query
}

Salida:

Un objeto JSON que contiene información sobre el ID de CVE.

search

Busca en Shodan dispositivos que coincidan con una consulta.

Entrada:

{
  "query": "string" // The search query
}

Salida:

Un objeto JSON que contiene una lista de dispositivos que coinciden con la consulta.

Estructura del Proyecto

shodan-mcp-server/
├── .gitignore
├── package.json
├── README.md
├── tsconfig.json
└── src/
    ├── index.ts
    └── index.mts

Licencia

MIT