Shodan Mcp Server

Shodan Mcp Server

🚀 shodan-mcp-server

shodan-mcp-server 是一个基于 Model Context Protocol (MCP) 的服务器,它提供了对 Shodan API 的访问能力。借助该服务器,你能够以编程方式查询 Shodan,获取设备、漏洞等相关信息,轻松将 Shodan 情报集成到自己的应用程序中。

🚀 快速开始

shodan-mcp-server 提供了一种简便的方式,将 Shodan 情报集成到您的应用程序中,使用 Model Context Protocol (MCP)。它公开了几个工具,允许您查询 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

💻 使用示例

与 Node.js 的使用

您可以通过 Node.js 使用 MCP 服务器,使用 @modelcontextprotocol/sdk 包。

安装 MCP SDK

npm install @modelcontextprotocol/sdk

使用 use_mcp_tool 函数调用工具

import { use_mcp_tool } from '@modelcontextprotocol/sdk';

async function get_ip_info() {
try {
const result = await use_mcp_tool('shodan', 'get_ip_info', {
ip: '8.8.8.8' // 示例 IP 地址
});
console.log(result);
} catch (error) {
console.error('Error:', error);
}
}

get_ip_info();

📚 详细文档

API 文档

get_ip_info

  • 描述:获取指定 IP 地址的详细信息。
  • 参数
    • ip(字符串):要查询的 IP 地址。
  • 返回值:包含以下内容的对象:
    • ip:目标 IP 地址。
    • hostnames:与该 IP 关联的主机名数组。
    • location:地理位置信息,包括国家、城市和经纬度。
    • ASN:自治系统编号及其所有者。
    • ports:开放端口列表及其对应的服务。

dns_lookup

  • 描述:解析域名并获取其对应的 IP 地址。
  • 参数
    • domain(字符串):要解析的域名。
  • 返回值:包含以下内容的对象:
    • domain:目标域名。
    • ips:与该域名关联的 IP 地址列表。

get_vulnerabilities

  • 描述:获取与指定 IP 相关的漏洞信息。
  • 参数
    • ip(字符串):要查询的 IP 地址。
  • 返回值:包含以下内容的数组:
    • id:漏洞 ID。
    • title:漏洞标题。
    • severity:漏洞严重性等级(例如,"high", "medium", "low")。

cve_info

  • 描述:获取特定 CVE 漏洞的详细信息。
  • 参数
    • cve_id(字符串):CVE ID(例如,"CVE - 2021 - XXXX")。
  • 返回值:包含以下内容的对象:
    • id:CVE ID。
    • summary:漏洞摘要。
    • severity:漏洞严重性等级。
    • affected_packages:受影响的软件包或组件列表。

search

  • 描述:使用 Shodan 的搜索语法查询数据库。
  • 参数
    • query(字符串):要执行的搜索查询。
  • 返回值:包含匹配结果的对象,每个结果包括:
    • ip:IP 地址。
    • port:开放端口。
    • service:运行的服务。

配置

  1. Shodan 获取 Shodan API 密钥。
  2. 在您的 MCP 设置文件(例如 ~/.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 路径。

🔧 技术细节

项目结构

shodan-mcp-server/
├── index.js          # 主程序入口
├── build/           # 构建输出目录
├── package.json     # 依赖管理文件
└── README.md        # 项目文档

🤝 贡献指南

贡献者可以通过以下方式参与:

  1. 提交问题:报告错误或提出功能请求。
  2. 提交拉取请求:修复问题或添加新功能。

请确保在提交代码之前阅读并遵循项目的 贡献规范。

📄 许可证

本项目受 MIT License 保护。

  • 0 关注
  • 0 收藏,13 浏览
  • system 提出于 2025-09-30 17:03

相似服务问题