返回 MCP 目录
public公开dns本地运行

Cyreslab-AI_shodan-mcp-server

一个基于Shodan API的MCP服务器,为AI助手提供查询互联网连接设备和服务的功能,包括主机信息查询、设备搜索、网络扫描、SSL证书查询和IoT设备搜索。

article

README

🚀 Shodan MCP 服务器

Shodan MCP 服务器是一个基于 Model Context Protocol (MCP) 的服务器,它提供了对 Shodan API 功能的访问,让 AI 助手能够查询互联网连接设备和服务的详细信息,为网络信息查询提供了便捷的途径。

✨ 主要特性

  • 主机信息:可精准获取特定 IP 地址的详细信息。
  • 搜索功能:能够在 Shodan 数据库中高效搜索设备和服务。
  • 网络扫描:支持扫描网络范围(CIDR 格式),从而查找网络中的设备。
  • SSL 证书信息:可获取域 SSL 证书的详细信息。
  • IoT 设备搜索:能查找特定类型的 IoT 设备。

📦 安装指南

  1. 克隆仓库:
    git clone https://github.com/Cyreslab-AI/shodan-mcp-server.git
    cd shodan-mcp-server
    
  2. 安装依赖项:
    npm install
    
  3. 构建服务器:
    npm run build
    
  4. 设置你的 Shodan API 密钥:
    export SHODAN_API_KEY="your-api-key-here"
    
  5. 启动服务器:
    npm start
    

📚 详细文档

MCP 集成

此服务器可与 Claude 或其他兼容 MCP 的 AI 助手集成。若要将其添加到 Claude Desktop 或 Claude.app 中,可按以下步骤操作:

  1. 将服务器添加到你的 MCP 设置中:
    {
      "mcpServers": {
        "shodan": {
          "command": "node",
          "args": ["/path/to/shodan-mcp-server/build/index.js"],
          "env": {
            "SHODAN_API_KEY": "your-api-key-here"
          }
        }
      }
    }
    
  2. 重启 Claude 以加载新的 MCP 服务器。

可用工具

get_host_info

获取特定 IP 地址的详细信息。 参数

  • ip (必需):要查询的 IP 地址。
  • max_items (可选):数组中包含的最大项目数(默认值:5)。
  • fields (可选):结果中要包含的字段列表(例如:['ip_str', 'ports', 'location.country_name'])。

search_shodan

在 Shodan 数据库中搜索设备和服务。 参数

  • query (必需):Shodan 搜索查询(例如:'apache country:US')。
  • page (可选):结果的页码(默认值:1)。
  • facets (可选):要包含在搜索结果中的分面列表(例如:['country', 'org'])。
  • max_items (可选):数组中包含的最大项目数(默认值:5)。
  • fields (可选):结果中要包含的字段列表(例如:['ip_str', 'ports', 'location.country_name'])。
  • summarize (可选):是否返回结果摘要而不是完整数据(默认值:false)。

scan_network_range

扫描网络范围(CIDR 格式)以查找设备。 参数

  • cidr (必需):网络范围的 CIDR 表示法。
  • max_items (可选):数组中包含的最大项目数(默认值:5)。
  • fields (可选):结果中要包含的字段列表。

get_ssl_certificate

获取特定域 SSL 证书的信息。 参数

  • domain (必需):要查询的域。
  • max_items (可选):数组中包含的最大项目数(默认值:5)。
  • fields (可选):结果中要包含的字段列表。

search_iot_devices

查找特定类型的 IoT 设备。 参数

  • device_type (必需):要搜索的设备类型。
  • vendor (可选):设备的供应商。
  • model (可选):设备的型号。

资源

可用资源

  • /api/host/<ip>:获取特定 IP 地址的主机信息。
  • /api/search:执行 Shodan 搜索查询。
  • /api/certificate:获取 SSL 证书信息。
  • /api/iot:搜索 IoT 设备。

示例响应

查询主机信息

{
  "ip": "192.168.1.1",
  "hostname": "router.home",
  "ports": [80, 443],
  "protocols": ["http", "https"]
}

搜索结果

[
  {
    "ip": "10.0.0.1",
    "device_type": "router",
    "vendor": "Cisco"
  },
  {
    "ip": "10.0.0.2",
    "device_type": "camera",
    "vendor": "Axis"
  }
]

API 限制

  • 每次调用的最多返回项数为 5。
  • 需要有效的 Shodan API 密钥才能进行身份验证。
  • 搜索功能可能受到速率限制。

📄 许可证

本项目遵循 MIT 许可证。请参阅 LICENSE 文件以获取详细信息。

贡献者

感谢所有贡献者!请查看 CONTRIBUTORS.md 以了解完整列表。

联系方式

如果有任何问题或反馈,请联系 support@cyberlabs.com。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端