shodan-mcp-server
是一个基于Model Context Protocol (MCP)的服务器,它为用户提供了便捷访问Shodan API的途径。借助该服务器,用户能够以编程的方式查询Shodan,获取设备、漏洞等各类信息。
shodan-mcp-server
提供了一种简便的方式,将Shodan情报集成到您的应用程序中使用Model Context Protocol (MCP)。它公开了多种工具,允许您查询Shodan以获取各种类型的信息。
git clone https://github.com/X3r0K/Shodan-MCP-Server.git
cd shodan-mcp-server
npm install
npm run build
~/.config/mcp/settings.json
)中配置MCP服务器:{
"mcpServers": {
"shodan": {
"command": "node",
"args": ["/path/to/shodan-mcp-server/build/index.js"],
"env": {
"SHODAN_API_KEY": ""
},
"disabled": false,
"autoApprove": []
}
}
}
请将
替换为您实际的Shodan API密钥,/path/to/shodan-mcp-server
替换为shodan-mcp-server的实际路径。您可以使用MCP服务器与Node.js结合使用,利用@modelcontextprotocol/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');
获取特定IP地址的详细信息。 输入:
{
"ip": "string" // 要查询的IP地址
}
输出: 一个包含IP地址信息的JSON对象。
对给定域名执行DNS解析。 输入:
{
"hostname": "string" // 要解析的主机名
}
输出: 一个包含解析后的IP地址的JSON对象。
跟踪与特定IP地址相关的漏洞。 输入:
{
"ip": "string" // 要查询漏洞的IP地址
}
输出: 一个包含相关漏洞信息的JSON对象。
获取特定CVE漏洞的详细信息。 输入:
{
"cve_id": "string" // 要查询的CVE标识符
}
输出: 一个包含CVE漏洞详细信息的JSON对象。
根据过滤条件搜索Shodan数据库。 输入:
{
"query": "string", // 搜索条件
"page": number, // 当前页码
"limit": number // 结果数量限制
}
输出: 一个包含搜索结果的JSON数组,每个结果包括设备和服务信息。
project/
├── package.json # 包含项目依赖和脚本的文件
├── index.js # 主程序入口
└── build/ # 构建生成的目录
欢迎为这个项目做出贡献!请参考如何贡献文档了解具体步骤。
此项目受MIT许可证约束。有关详细信息,请参阅LICENSE文件。