Shodan-MCP-Server
这是一个模型上下文协议 (MCP) 服务器,它提供对 Shodan API 的访问。它允许你以编程方式查询 Shodan,以获取有关设备、漏洞等的信息。
README
Shodan MCP 服务器
一个模型上下文协议 (MCP) 服务器,通过标准化的接口提供对 Shodan 互联网扫描功能的访问。
概述
此服务器实现了模型上下文协议,以公开 Shodan 强大的互联网扫描和侦察功能。它提供了一个标准化的接口,用于查询 Shodan 的互联网连接设备、服务和漏洞数据库。
功能
- 搜索功能: 使用高级搜索过滤器查询 Shodan 的数据库
- DNS 查询: 解析域名并获取详细的 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 - 返回: 详细的漏洞信息
示例查询
// 搜索美国境内存在 Log4j 漏洞的系统
{
"query": "log4j country:US"
}
// 域名 DNS 查询
{
"query": "example.com"
}
// 获取 CVE 信息
{
"query": "CVE-2021-44228"
}
使用 MCP Inspector
您可以使用 MCP inspector 直接与服务器交互:
- 安装 MCP inspector:
npm install -g @modelcontextprotocol/inspector
- 使用您的服务器运行 inspector:
npx @modelcontextprotocol/inspector build/index.js
inspector 提供了一个交互式界面来:
- 测试所有可用工具
- 查看工具文档
- 调试服务器响应
- 监控服务器状态
环境变量
SHODAN_API_KEY: 您的 Shodan API 密钥 (必需)PORT: 服务器端口 (可选,默认为 3000)LOG_LEVEL: 日志级别 (可选,默认为 'info')
错误处理
服务器实现了全面的错误处理,用于处理以下情况:
- 无效的 API 密钥
- 速率限制
- 网络问题
- 无效的查询
- 服务器错误
安全注意事项
-
API 密钥保护:
- 永远不要将 API 密钥提交到版本控制
- 使用环境变量存储敏感数据
- 定期轮换 API 密钥
-
速率限制:
- 遵守 Shodan 的 API 速率限制
- 实施客户端速率限制
-
数据隐私:
- 从响应中过滤敏感信息
- 根据需要实施访问控制
许可证
此项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
致谢
- 感谢 Shodan 提供 API
- 感谢 Model Context Protocol 团队提供 MCP 规范
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。