Shodan MCP Server
Consulte dispositivos, serviços e vulnerabilidades conectados à internet usando a API do Shodan e o banco de dados CVE.
Documentação

Servidor MCP Shodan
Um servidor Model Context Protocol (MCP) que fornece acesso à funcionalidade da API Shodan e ao banco de dados de CVEs, permitindo que assistentes de IA consultem informações sobre dispositivos conectados à internet, serviços e vulnerabilidades.
Recursos
Inteligência de Rede
- Informações de Host: Obtenha informações detalhadas sobre endereços IP específicos
- Capacidades de Busca: Pesquise o banco de dados da Shodan por dispositivos e serviços
- Varredura de Rede: Varra faixas de rede (notação CIDR) em busca de dispositivos
- Informações de Certificado SSL: Obtenha detalhes de certificados SSL para domínios
- Busca de Dispositivos IoT: Encontre tipos específicos de dispositivos IoT
Inteligência de Vulnerabilidades
- Consulta de CVE: Obtenha informações detalhadas sobre vulnerabilidades específicas
- Busca de Vulnerabilidades: Pesquise CVEs com filtros avançados (produto, status KEV, pontuações EPSS)
- Informações de CPE: Obtenha dados de Common Platform Enumeration para produtos
- Últimas Vulnerabilidades: Acesse os CVEs mais recentes e Vulnerabilidades Conhecidas Exploradas
- Previsão de Exploração: Obtenha CVEs ordenados por pontuações de previsão de exploração EPSS
- Busca de Exploits: Pesquise o banco de dados de Exploits da Shodan por exploits vinculados a CVEs
- Consulta InternetDB: Consulta gratuita de host sem chave de API (portas abertas, hostnames, CPEs, vulnerabilidades, tags)
Monitoramento de Rede
- Alertas de Rede: Crie, liste, inspecione e exclua alertas persistentes que monitoram IPs/faixas em busca de alterações
- Notificadores: Liste provedores de notificação disponíveis e gerencie notificadores (Slack, e-mail, webhook, etc.) para os quais os alertas podem enviar eventos
Instalação
-
Clone o repositório:
git clone https://github.com/Cyreslab-AI/shodan-mcp-server.git cd shodan-mcp-server -
Instale as dependências:
npm install -
Compile o servidor:
npm run build -
Configure sua chave de API Shodan:
export SHODAN_API_KEY="your-api-key-here" -
Inicie o servidor:
npm start
Integração MCP
Este servidor pode ser integrado ao Claude ou a outros assistentes de IA compatíveis com MCP. Para adicioná-lo ao Claude Desktop ou Claude.app:
-
Adicione o servidor às suas configurações MCP:
{ "mcpServers": { "shodan": { "command": "node", "args": ["/path/to/shodan-mcp-server/build/index.js"], "env": { "SHODAN_API_KEY": "your-api-key-here" } } } } -
Reinicie o Claude para carregar o novo servidor MCP.
Ferramentas Disponíveis
Ferramentas de Busca e Informações de Host
get_host_info
Obtenha informações detalhadas sobre um endereço IP específico.
Parâmetros:
ip(obrigatório): Endereço IP para consultarmax_items(opcional): Número máximo de itens a incluir em arrays (padrão: 5)fields(opcional): Lista de campos a incluir nos resultados (ex.: ['ip_str', 'ports', 'location.country_name'])
search_shodan
Pesquise o banco de dados da Shodan por dispositivos e serviços.
Parâmetros:
query(obrigatório): Consulta de busca Shodan (ex.: 'apache country:US')page(opcional): Número da página para paginação de resultados (padrão: 1)facets(opcional): Lista de facetas a incluir nos resultados da busca (ex.: ['country', 'org'])max_items(opcional): Número máximo de itens a incluir em arrays (padrão: 5)fields(opcional): Lista de campos a incluir nos resultados (ex.: ['ip_str', 'ports', 'location.country_name'])summarize(opcional): Se deve retornar um resumo dos resultados em vez dos dados completos (padrão: false)
get_host_count
Obtenha a contagem de hosts que correspondem a uma consulta de busca sem consumir créditos de consulta.
Parâmetros:
query(obrigatório): Consulta de busca Shodan para contar hostsfacets(opcional): Lista de facetas a incluir nos resultados da contagem (ex.: ['country', 'org'])
scan_network_range
Varra uma faixa de rede (notação CIDR) em busca de dispositivos.
Parâmetros:
cidr(obrigatório): Faixa de rede em notação CIDR (ex.: 192.168.1.0/24)max_items(opcional): Número máximo de itens a incluir nos resultados (padrão: 5)fields(opcional): Lista de campos a incluir nos resultados (ex.: ['ip_str', 'ports', 'location.country_name'])
search_iot_devices
Pesquise tipos específicos de dispositivos IoT.
Parâmetros:
device_type(obrigatório): Tipo de dispositivo IoT para buscar (ex.: 'webcam', 'router', 'smart tv')country(opcional): Código de país opcional para limitar a busca (ex.: 'US', 'DE')max_items(opcional): Número máximo de itens a incluir nos resultados (padrão: 5)
Ferramentas de SSL e Certificados
get_ssl_info
Obtenha informações de certificado SSL para um domínio.
Parâmetros:
domain(obrigatório): Nome do domínio para consultar certificados SSL (ex.: example.com)
Ferramentas de DNS
dns_lookup
Resolva hostnames para endereços IP usando consulta DNS.
Parâmetros:
hostnames(obrigatório): Lista de hostnames para resolver (ex.: ['google.com', 'facebook.com'])
reverse_dns_lookup
Obtenha hostnames para endereços IP usando consulta DNS reversa.
Parâmetros:
ips(obrigatório): Lista de endereços IP para consultar (ex.: ['8.8.8.8', '1.1.1.1'])
get_domain_info
Obtenha informações abrangentes do domínio, incluindo subdomínios e registros DNS.
Parâmetros:
domain(obrigatório): Nome do domínio para consultar (ex.: 'google.com')history(opcional): Incluir dados históricos de DNS (padrão: false)type(opcional): Filtro de tipo de registro DNS (A, AAAA, CNAME, NS, SOA, MX, TXT)page(opcional): Número da página para paginação (padrão: 1)
Ferramentas de Utilitário de Busca
list_search_facets
Liste todas as facetas de busca disponíveis que podem ser usadas com consultas Shodan.
Parâmetros: Nenhum
list_search_filters
Liste todos os filtros de busca disponíveis que podem ser usados em consultas Shodan.
Parâmetros: Nenhum
parse_search_tokens
Analise uma consulta de busca para entender quais filtros e parâmetros estão sendo usados.
Parâmetros:
query(obrigatório): Consulta de busca Shodan para analisar
Ferramentas de Infraestrutura
list_ports
Liste todas as portas que a Shodan rastreia na Internet.
Parâmetros: Nenhum
list_protocols
Liste todos os protocolos que podem ser usados ao realizar varreduras de Internet sob demanda.
Parâmetros: Nenhum
Ferramentas de CVE e Vulnerabilidades
get_cve_info
Obtenha informações detalhadas sobre um CVE específico.
Parâmetros:
cve_id(obrigatório): ID do CVE para consultar (ex.: 'CVE-2021-44228')
search_cves
Pesquise vulnerabilidades com vários filtros.
Parâmetros:
cpe23(opcional): String CPE 2.3 para buscar (ex.: 'cpe:2.3:a:apache:log4j:*')product(opcional): Nome do produto para buscar vulnerabilidades (ex.: 'apache', 'windows')is_kev(opcional): Filtro para Vulnerabilidades Conhecidas Exploradas apenassort_by_epss(opcional): Ordenar resultados por pontuação EPSS (Sistema de Pontuação de Previsão de Exploração)start_date(opcional): Data de início para filtrar CVEs (formato AAAA-MM-DD)end_date(opcional): Data de término para filtrar CVEs (formato AAAA-MM-DD)limit(opcional): Número máximo de resultados a retornar (padrão: 10)skip(opcional): Número de resultados a pular para paginação (padrão: 0)
get_cpes
Obtenha informações de Common Platform Enumeration (CPE) para produtos.
Parâmetros:
product(opcional): Nome do produto para buscar (ex.: 'apache', 'windows')vendor(opcional): Nome do fornecedor para filtrar (ex.: 'microsoft', 'apache')version(opcional): Versão para filtrar (ex.: '2.4.1')limit(opcional): Número máximo de resultados a retornar (padrão: 10)skip(opcional): Número de resultados a pular para paginação (padrão: 0)
get_newest_cves
Obtenha as vulnerabilidades mais recentes do banco de dados de CVEs.
Parâmetros:
limit(opcional): Número máximo de resultados a retornar (padrão: 10)
get_kev_cves
Obtenha Vulnerabilidades Conhecidas Exploradas (KEV) da CISA.
Parâmetros:
limit(opcional): Número máximo de resultados a retornar (padrão: 10)
get_cves_by_epss
Obtenha CVEs ordenados por pontuação EPSS (Sistema de Pontuação de Previsão de Exploração).
Parâmetros:
limit(opcional): Número máximo de resultados a retornar (padrão: 10)
get_internetdb_host
Obtenha uma consulta gratuita e leve de um endereço IP usando o InternetDB da Shodan (portas abertas, hostnames, CPEs, vulnerabilidades, tags). Nenhuma chave de API necessária.
Parâmetros:
ip(obrigatório): Endereço IP para consultar (ex.: '8.8.8.8')
search_exploits
Pesquise o banco de dados de Exploits da Shodan (Exploit-DB, Metasploit, exploits vinculados a CVEs) por exploits conhecidos.
Parâmetros:
query(obrigatório): Consulta de busca de exploits (ex.: 'apache cve:2021-44228')page(opcional): Número da página para paginação de resultados (padrão: 1)facets(opcional): Lista de facetas a incluir nos resultados (ex.: ['type', 'platform'])
Nota: No momento em que este texto foi escrito, o host upstream exploits.shodan.io redireciona para cvedb.shodan.io e não serve mais esta API. A ferramenta detecta isso e retorna um objeto {"error": "Unexpected response from the Shodan Exploits API", ...} limpo em vez de travar, caso a Shodan restaure o endpoint.
count_exploits
Obtenha a contagem de exploits que correspondem a uma consulta de busca sem retornar os registros completos de exploits.
Parâmetros:
query(obrigatório): Consulta de busca de exploits para contar resultadosfacets(opcional): Lista de facetas a incluir nos resultados da contagem (ex.: ['type', 'platform'])
Ferramentas de Alerta de Rede
create_alert
Crie um alerta de rede Shodan persistente que monitora um ou mais IPs/faixas e relata alterações ao longo do tempo. Esta não é uma ação somente leitura.
Parâmetros:
name(obrigatório): Nome descritivo para o alertaip(obrigatório): Lista de IPs ou faixas CIDR para monitorar (ex.: ['1.2.3.4', '10.0.0.0/24'])expires(opcional): Número de segundos que o alerta deve permanecer ativo antes de expirar automaticamente (omitir para sem expiração)
list_alerts
Liste todos os alertas de rede Shodan configurados na conta.
Parâmetros:
include_expired(opcional): Se deve incluir alertas expirados nos resultados (padrão: true)
get_alert
Obtenha detalhes sobre um alerta de rede Shodan específico por ID.
Parâmetros:
alert_id(obrigatório): ID do alerta para recuperar
delete_alert
Exclua permanentemente um alerta de rede Shodan por ID. Esta é uma ação destrutiva e não pode ser desfeita.
Parâmetros:
alert_id(obrigatório): ID do alerta para excluir
Ferramentas de Notificador
list_notifier_providers
Liste os provedores de notificação Shodan disponíveis (ex.: slack, email, webhook, telegram) e os argumentos que cada um requer.
Parâmetros: Nenhum
list_notifiers
Liste todos os notificadores Shodan configurados na conta.
Parâmetros: Nenhum
create_notifier
Crie um novo notificador Shodan (ex.: Slack, e-mail, webhook) para o qual alertas de rede podem enviar eventos. Esta não é uma ação somente leitura.
Parâmetros:
provider(obrigatório): Nome do provedor do notificador (ex.: 'slack', 'email', 'webhook', 'telegram'). Uselist_notifier_providerspara ver as opções disponíveis.args(obrigatório): Argumentos específicos do provedor (ex.:{"webhook_url": "https://..."}para slack)description(opcional): Descrição legível por humanos do notificador
delete_notifier
Exclua permanentemente um notificador Shodan por ID. Esta é uma ação destrutiva e não pode ser desfeita.
Parâmetros:
notifier_id(obrigatório): ID do notificador para excluir
Ferramentas de Conta e Utilitários
get_api_info
Obtenha informações sobre seu plano de API, incluindo créditos e limites.
Parâmetros: Nenhum
get_account_profile
Obtenha informações do perfil da conta, incluindo status de associação e créditos.
Parâmetros: Nenhum
get_my_ip
Obtenha seu endereço IP atual visto da Internet.
Parâmetros: Nenhum
Recursos Disponíveis
shodan://host/{ip}: Informações sobre um endereço IP específico
Limitações da API
Alguns endpoints da API Shodan exigem uma assinatura paga. Os seguintes recursos estão disponíveis apenas com uma chave de API Shodan paga:
- Funcionalidade de busca (search_shodan, scan_network_range, get_ssl_info, search_iot_devices, get_host_count, get_domain_info)
- Varredura de rede
- Consulta de certificados SSL
- Busca de dispositivos IoT
- Busca de exploits (search_exploits, count_exploits)
- Alertas e notificadores de rede (create_alert, list_alerts, get_alert, delete_alert, list_notifier_providers, list_notifiers, create_notifier, delete_notifier)
Nota: A funcionalidade do banco de dados CVE (get_cve_info, search_cves, get_cpes, get_newest_cves, get_kev_cves, get_cves_by_epss) é totalmente gratuita e não requer uma assinatura paga do Shodan.
Nota: get_internetdb_host é totalmente gratuito e não requer uma chave de API do Shodan — ele consulta diretamente o serviço público internetdb.shodan.io. O servidor ainda requer uma variável de ambiente SHODAN_API_KEY para iniciar (usada pelas outras ferramentas).
Licença
MIT
Desenvolvido por
Citação
Se você usar este projeto em sua pesquisa ou publicações, cite-o da seguinte forma:
author = {Bassem Abidi and Moudather Chelbi},
title = {Shodan MCP Server},
year = {2025},
howpublished = {https://github.com/Cyreslab-AI/shodan-mcp-server},
note = {Acessado: 2025-06-29}