Shodan MCP服务器
一种模型上下文协议(MCP)服务器,通过标准化接口提供对Shodan互联网扫描功能的访问。
概述
该服务器实现了模型上下文协议,以展示Shodan强大的互联网扫描和侦察能力。它提供了一个标准化的接口,用于查询Shodan的互联网连接设备、服务和漏洞数据库。
特性
- 搜索功能:使用高级搜索过滤器查询Shodan的数据库
- 域名解析:解析域名并获取详细的DNS信息
- CVE信息:获取有关常见漏洞和暴露的详细信息
- 获取漏洞:获取与IP地址相关的漏洞的详细信息
- 标准化接口:使用MCP协议进行一致通信
- 环境变量支持:通过环境变量实现安全的API密钥管理
先决条件
- Node.js(v14或更高版本)
- npm(v6或更高版本)
- Shodan API密钥
安装
- 克隆存储库:
git clone https://github.com/X3r0K/Shodan-MCP-Server-Inspector.git
cd shodan-mcp-server-Inspector- 安装依赖项:
npm install- 创建一个
.env.local文件,并添加您的Shodan API密钥:
SHODAN_API_KEY=your_api_key_here用法
启动服务器
- 构建服务器:
npm run build- 启动服务器:
node build/index.js可用工具
- 搜索工具
- 查询:使用Shodan的搜索语法搜索设备和服务 - 例子: log4j country:US city:Atlanta - 返回:包含详细信息的匹配设备列表
- DNS查找工具
- 查询:要解析的域名 - 例子: example.com - 返回:DNS记录和相关信息
- CVE信息工具
- 查询:CVE标识符 - 例子: CVE-2021-44228 - 返回:详细的漏洞信息
查询示例
// Search for Log4j vulnerable systems in the US
{
"query": "log4j country:US"
}
// DNS lookup for a domain
{
"query": "example.com"
}
// Get CVE information
{
"query": "CVE-2021-44228"
}使用MCP检查器
您可以使用MCP检查器直接与服务器交互:
- 安装MCP检查器:
npm install -g @modelcontextprotocol/inspector- 使用服务器运行检查器:
npx @modelcontextprotocol/inspector build/index.js检查员提供了一个交互式界面,用于:
- 测试所有可用工具
- 查看工具文档
- 调试服务器响应
- 监控服务器状态
环境变量
SHODAN_API_KEY:您的Shodan API密钥(必需)PORT:服务器端口(可选,默认为3000)LOG_LEVEL:日志记录级别(可选,默认为“info”)
错误处理
服务器为以下对象实现了全面的错误处理:
- API密钥无效
- 速率限制
- 网络问题
- 无效查询
- 服务器错误
安全考虑
- API密钥保护:
- 永远不要将API密钥提交到版本控制 - 对敏感数据使用环境变量 - 定期旋转API键
- 速率限制:
- 遵守Shodan的API费率限制 - 实施客户端速率限制
- 数据隐私:
- 从响应中筛选敏感信息 - 根据需要实施访问控制
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
致谢
- 提供API的Shodan
- MCP规范的模型上下文协议团队
