使用说明
项目简介
Shodan MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 AI 助手(如 Claude)提供访问 Shodan API 功能的标准化接口。通过此服务器,AI 助手可以查询互联网连接的设备和服务信息,从而增强网络安全研究和威胁情报能力。
主要功能点
- 主机信息查询: 获取指定 IP 地址的详细信息。
- Shodan 数据库搜索: 使用各种过滤器搜索 Shodan 数据库中的设备和服务。
- 漏洞信息查询: 获取特定 CVE 漏洞的详细信息。
- 网络范围扫描: 分析整个 CIDR 范围内的设备,进行安全评估。
- DNS 信息查询: 检索域名的 DNS 记录。
- SSL 证书分析: 获取域名的详细 SSL 证书信息。
- 物联网设备搜索: 查找互联网上特定类型的物联网设备。
- 结果摘要: 生成搜索结果的简洁摘要。
- 响应采样: 自动限制响应大小以减少 token 使用量。
- 字段选择: 过滤结果,仅包含特定字段。
安装步骤
-
克隆仓库:
git clone https://github.com/Cyreslab-AI/shodan-mcp-server.git cd shodan-mcp-server -
安装依赖:
npm install -
构建项目:
npm run build -
配置 Shodan API 密钥:
- 在项目根目录下创建 '.env' 文件
- 添加你的 Shodan API 密钥:'SHODAN_API_KEY=你的_API_密钥'
- 或者在运行服务器时将其设置为环境变量
服务器配置
要将此服务器与 MCP 客户端(如 Claude)一起使用,请将其添加到您的 MCP 配置中。以下是一个示例 'mcpServers' 配置,您需要根据实际情况修改 'command' 和 'args' 中的路径,并将 'YOUR_SHODAN_API_KEY_HERE' 替换为您的 Shodan API 密钥。
{ "mcpServers": { "mcp-shodan-server": { "command": "node", // 运行服务器的命令,这里使用 Node.js "args": ["/path/to/shodan-mcp-server/build/index.js"], // 服务器入口文件路径,请替换为实际路径 "env": { "SHODAN_API_KEY": "YOUR_SHODAN_API_KEY_HERE" // Shodan API 密钥,请替换为您的密钥 } } } }
配置参数说明:
- 'server name': 'mcp-shodan-server' (服务器名称,在 MCP 客户端中引用)
- 'command': 'node' (运行服务器程序的可执行命令)
- 'args': '["/path/to/shodan-mcp-server/build/index.js"]' (传递给 'command' 的参数,指向编译后的服务器入口文件。请务必根据您实际的项目路径修改 '/path/to/shodan-mcp-server/build/index.js' 为 'index.js' 文件的绝对路径)
- 'env': '{ "SHODAN_API_KEY": "YOUR_SHODAN_API_KEY_HERE" }' (设置环境变量,用于传递 Shodan API 密钥。请务必将 'YOUR_SHODAN_API_KEY_HERE' 替换为您自己的 Shodan API 密钥)
基本使用方法
在 MCP 客户端中,您可以使用 '<use_mcp_tool>' 标签来调用 Shodan MCP Server 提供的工具。以下是一些基本使用示例:
1. 获取主机信息:
<use_mcp_tool> <server_name>mcp-shodan-server</server_name> <tool_name>get_host_info</tool_name> <arguments> { "ip": "8.8.8.8" } </arguments> </use_mcp_tool>
2. 搜索 Shodan 数据库:
<use_mcp_tool> <server_name>mcp-shodan-server</server_name> <tool_name>search_shodan</tool_name> <arguments> { "query": "apache country:US" } </arguments> </use_mcp_tool>
3. 获取漏洞信息:
<use_mcp_tool> <server_name>mcp-shodan-server</server_name> <tool_name>get_vulnerabilities</tool_name> <arguments> { "cve": "CVE-2021-44228" } </arguments> </use_mcp_tool>
4. 扫描网络范围:
<use_mcp_tool> <server_name>mcp-shodan-server</server_name> <tool_name>scan_network_range</tool_name> <arguments> { "cidr": "192.168.1.0/24" } </arguments> </use_mcp_tool>
5. 获取 DNS 信息:
<use_mcp_tool> <server_name>mcp-shodan-server</server_name> <tool_name>get_dns_info</tool_name> <arguments> { "domain": "example.com" } </arguments> </use_mcp_tool>
6. 获取 SSL 证书信息:
<use_mcp_tool> <server_name>mcp-shodan-server</server_name> <tool_name>get_ssl_info</tool_name> <arguments> { "domain": "example.com" } </arguments> </use_mcp_tool>
7. 搜索物联网设备:
<use_mcp_tool> <server_name>mcp-shodan-server</server_name> <tool_name>search_iot_devices</tool_name> <arguments> { "device_type": "webcam" } </arguments> </use_mcp_tool>
请参考仓库 README.md 文件获取更详细的使用说明和高级用法,例如分页、字段选择、结果摘要等功能。
信息
分类
网页与API