关于 Shodan MCP Server
Shodan MCP Server 将 Shodan 搜索和情报查询提供给应用及 MCP 客户端。其工具涵盖 IP 详情、DNS 查询、漏洞、CVE 信息和设备搜索。
主要功能
- 01获取 IP 主机信息
- 02通过 DNS 解析主机名
- 03查询 IP 相关漏洞
- 04查询 CVE 详情
- 05搜索 Shodan 设备
适用场景
- 01查看某个 IP 地址的信息
- 02将域名解析为 IP
- 03检查主机相关漏洞
- 04按条件搜索设备
MCP 相关
它将 Shodan API 查询作为工具提供给 MCP 客户端,包括主机信息、DNS 查询、漏洞与 CVE 查询以及搜索。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
shodan-mcp-server
这是一个可访问 Shodan API 的模型上下文协议(MCP)服务。它允许你以编程方式查询 Shodan,获取设备、漏洞等信息。
目录
简介
shodan-mcp-server 提供了一种简单的方式,可通过模型上下文协议(MCP)将 Shodan 情报集成到你的应用中。它提供了多个工具,供你查询 Shodan 中的各类信息。
功能
主机信息:获取 IP 地址的详细信息 搜索:使用 Shodan 的搜索语法查询其数据库 DNS 查询:解析域名 CVE 信息:获取特定 CVE 漏洞的详细信息
安装
-
克隆仓库:
git clone https://github.com/X3r0K/Shodan-MCP-Server.git cd shodan-mcp-server -
安装依赖:
npm install -
构建项目:
npm run build
配置
-
从 Shodan 获取 Shodan API 密钥。
-
在 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 服务。
-
安装 MCP SDK:
npm install @modelcontextprotocol/sdk -
使用
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 对象。
search
在 Shodan 中搜索符合查询条件的设备。
输入:
{
"query": "string" // The search query
}
输出:
包含符合查询条件的设备列表的 JSON 对象。
项目结构
shodan-mcp-server/
├── .gitignore
├── package.json
├── README.md
├── tsconfig.json
└── src/
├── index.ts
└── index.mts
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。