S

Shodan设备查询服务器

@X3r0K/shodan-mcp-server
0 Stars 347 次浏览 X3r0K 更新于 2026-08-23

一个通过Shodan API提供MCP接口的WebSocket服务器,用于搜索和检索有关联网设备、IP地址、DNS数据和CVE漏洞的信息。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

shodan-mcp-server

这是一个模型上下文协议(MCP)服务器,它提供了对Shodan API的访问。它允许您以编程方式查询Shodan以获取有关设备、漏洞等信息。

目录

简介

shodan-mcp-server 提供了一种简单的方法,通过模型上下文协议(MCP)将Shodan情报集成到您的应用程序中。它公开了几个工具,允许您查询Shodan以获取各种类型的信息。

特性

  • 主机信息:获取关于IP地址的详细信息
  • 搜索:使用Shodan的搜索语法查询Shodan数据库
  • DNS查找:解析域名
  • CVE信息:获取特定CVE漏洞的详细信息

安装

  1. 克隆仓库:

    git clone https://github.com/X3r0K/Shodan-MCP-Server.git
    cd shodan-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 构建项目:

    npm run build
    

配置

  1. Shodan 获取Shodan API密钥。

  2. 在您的MCP设置文件中配置MCP服务器(例如 ~/.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": []
        }
      }
    }
    

    <your_shodan_api_key> 替换为您的实际Shodan API密钥,并将 /path/to/shodan-mcp-server 替换为shodan-mcp-server目录的实际路径。

与Node.js一起使用

您可以使用 @modelcontextprotocol/sdk 包在Node.js中使用MCP服务器。

  1. 安装MCP SDK:

    npm install @modelcontextprotocol/sdk
    
  2. 使用 use_mcp_tool 函数调用工具:

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

API文档

get_ip_info

获取特定IP地址的信息。

输入:

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

输出:

包含有关IP地址信息的JSON对象。

dns_lookup

执行给定域的DNS查找。

输入:

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

输出:

包含已解析IP地址的JSON对象。

get_vulnerabilities

跟踪与特定IP地址相关的漏洞。

输入:

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

输出:

一个包含与该IP地址相关漏洞列表的JSON对象。

cve_info

检索关于特定CVE ID的信息。

输入:

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

输出:

一个包含关于该CVE ID信息的JSON对象。

在Shodan中搜索匹配查询的设备。

输入:

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

输出:

一个包含匹配查询的设备列表的JSON对象。

项目结构

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

许可证

MIT

相关 MCP 服务