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
- Instalación
- Configuración
- Uso con Node.js
- Documentación de la API
- Estructura del Proyecto
- Contribuciones
- Licencia
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
-
Clona el repositorio:
git clone https://github.com/X3r0K/Shodan-MCP-Server.git cd shodan-mcp-server -
Instala las dependencias:
npm install -
Compila el proyecto:
npm run build
Configuración
-
Obtén una clave de API de Shodan en Shodan.
-
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-servercon 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.
-
Instala el SDK de MCP:
npm install @modelcontextprotocol/sdk -
Usa la función
use_mcp_toolpara 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