Shodan

Consulte o banco de dados da Shodan sobre dispositivos conectados à internet e vulnerabilidades usando a API da Shodan.

Documentação

shodan-mcp-server

Este é um servidor Model Context Protocol (MCP) que fornece acesso à API do Shodan. Ele permite consultar programaticamente o Shodan para obter informações sobre dispositivos, vulnerabilidades e muito mais.

Sumário

Introdução

O shodan-mcp-server fornece uma maneira simples de integrar a inteligência do Shodan em suas aplicações usando o Model Context Protocol (MCP). Ele expõe várias ferramentas que permitem consultar o Shodan para vários tipos de informações.

Recursos

  • Informações do host: Obtenha informações detalhadas sobre um endereço IP
  • Busca: Consulte o banco de dados do Shodan usando sua sintaxe de busca
  • Consulta DNS: Resolva nomes de domínio
  • Informações de CVE: Obtenha detalhes sobre vulnerabilidades CVE específicas

Instalação

  1. Clone o repositório:

    git clone https://github.com/X3r0K/Shodan-MCP-Server.git
    cd shodan-mcp-server
    
  2. Instale as dependências:

    npm install
    
  3. Compile o projeto:

    npm run build
    

Configuração

  1. Obtenha uma chave de API do Shodan em Shodan.

  2. Configure o servidor MCP no seu arquivo de configurações MCP (por exemplo, ~/.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": []
        }
      }
    }
    

    Substitua <your_shodan_api_key> pela sua chave de API real do Shodan e /path/to/shodan-mcp-server pelo caminho real para o diretório shodan-mcp-server.

Uso com Node.js

Você pode usar o servidor MCP com Node.js usando o pacote @modelcontextprotocol/sdk.

  1. Instale o SDK MCP:

    npm install @modelcontextprotocol/sdk
    
  2. Use a função use_mcp_tool para chamar as ferramentas:

    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');
    

Documentação da API

get_ip_info

Obtenha informações sobre um endereço IP específico.

Entrada:

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

Saída:

Um objeto JSON contendo informações sobre o endereço IP.

dns_lookup

Execute consultas DNS para um determinado domínio.

Entrada:

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

Saída:

Um objeto JSON contendo o endereço IP resolvido.

get_vulnerabilities

Rastreie vulnerabilidades associadas a um endereço IP específico.

Entrada:

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

Saída:

Um objeto JSON contendo uma lista de vulnerabilidades associadas ao endereço IP.

cve_info

Recupere informações sobre um ID CVE específico.

Entrada:

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

Saída:

Um objeto JSON contendo informações sobre o ID CVE.

search

Pesquise no Shodan por dispositivos que correspondam a uma consulta.

Entrada:

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

Saída:

Um objeto JSON contendo uma lista de dispositivos que correspondem à consulta.

Estrutura do Projeto

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

Licença

MIT