返回 MCP 目录
public公开dns本地运行

mcp-shodan

Shodan MCP服务器是一个提供Shodan API和CVEDB查询服务的工具,支持网络侦察、DNS查询、漏洞追踪和设备发现等功能,为Claude Desktop等平台提供结构化数据输出。

article

README

🚀 MCP(恶意代码防护)服务器模块

本项目是一个借助Shodan API构建的MCP(恶意代码防护)服务器模块。它具备丰富功能,涵盖DNS解析、反向DNS查询、IPv4地理位置定位以及CVE和CPE漏洞信息查询等,能为恶意代码防护工作提供有力支持。

🚀 快速开始

📦 安装指南

  1. 全局安装:
    npm install mcp-shodan@latest -g
    
  2. 创建配置文件:
    # 在默认位置创建config.json
    mcp-shodan init-config
    # 自定义路径创建配置文件
    mcp-shodan init-config --path /custom/path/config.json
    

配置

将以下内容添加到你的Claude Desktop配置文件中:

{
  "mcpServers": {
    "shodan": {
      "command": "mcp-shodan",
      "env": {
        "SHODAN_API_KEY": "your-actual-api-key-here"
      }
    }
  }
}

启动

  1. 使用全局安装的配置启动:
    mcp-shodan start
    
  2. 使用自定义路径的配置启动:
    mcp-shodan start --path /custom/path/config.json
    

✨ 主要特性

本项目支持以下功能模块:

💻 使用示例

基础用法

DNS解析

{
  "dns_lookup": {
    "hostnames": ["google.com", "example.com"]
  }
}

返回格式为:

{
  "resolve": {
    "google.com": "172.217.14.206",
    "example.com": "93.184.216.3"
  }
}

反向DNS查询

{
  "reverse_dns": {
    "ips": ["172.217.14.206", "93.184.216.3"]
  }
}

返回格式为:

{
  "reverse": {
    "172.217.14.206": "google.com",
    "93.184.216.3": "example.com"
  }
}

IPv4地理位置定位

{
  "ip_geo": {
    "ips": ["172.217.14.206", "93.184.216.3"]
  }
}

返回格式为:

[
  {
    "ip": "172.217.14.206",
    "city": "Mountain View",
    "region": "California",
    "country_name": "美国",
    "latitude": 37.3568,
    "longitude": -122.090
  },
  {
    "ip": "93.184.216.3",
    "city": "Ermont",
    "region": "Île-de-France",
    "country_name": "法国",
    "latitude": 48.95,
    "longitude": 2.07
  }
]

CVE查询

{
  "cve_search": {
    "cves": ["CVE-2013-0809", "CVE-2015-5606"]
  }
}

返回格式为:

[
  {
    "cve_id": "CVE-2013-0809",
    "summary": "Java反序列化漏洞,影响多个版本的Oracle Java SE。",
    "severity": "高危"
  },
  {
    "cve_id": "CVE-2015-5606",
    "summary": "Adobe Flash Player远程代码执行漏洞。",
    "severity": "严重"
  }
]

CPE匹配

{
  "cpe_match": {
    "cpes": ["cpe:/a:apple:safari", "cpe:/o:microsoft:windows"]
  }
}

返回格式为:

[
  {
    "cpe": "cpe:/a:apple:safari",
    "vendors": ["Apple"],
    "products": ["Safari"]
  },
  {
    "cpe": "cpe:/o:microsoft:windows",
    "vendors": ["Microsoft"],
    "products": ["Windows"]
  }
]

🔧 错误处理

参数错误

{
  "error": {
    "code": 400,
    "message": "参数格式无效。"
  }
}

API调用失败

{
  "error": {
    "code": 503,
    "message": "无法连接到Shodan服务。"
  }
}

📚 详细文档

项目结构

mcp-shodan/
├── src/                 # 源代码目录
│   ├── main.js          # 主程序入口
│   └── modules/         # 功能模块
│       ├── dns_lookup.js    # DNS解析功能
│       └── reverse_dns.js  # 反向DNS查询功能
├── config/              # 配置文件目录
│   └── config.json      # 默认配置文件
└── package.json        # 项目依赖管理

使用说明

初始化配置文件

mcp-shodan init-config [--path <路径>]
# 示例:
$ mcp-shodan init-config --path /custom/path

启动服务

mcp-shodan start [--path <路径>]
# 示例:
$ mcp-shodan start

版本历史

| 版本 | 更新内容 | |------|----------| | 1.0.0 | 初始版本,添加基本功能。 | | 1.1.0 | 支持CPE匹配功能。 | | 1.2.0 | 优化错误处理模块。 |

贡献指南

提交代码

git clone https://github.com/yourusername/mcp-shodan.git
cd mcp-shodan
npm run dev

创建问题

在GitHub上创建新问题:https://github.com/yourusername/mcp-shodan/issues

📄 许可证

本项目使用MIT许可证,具体内容请参考LICENSE文件。


感谢您对该项目的支持!如果有任何问题,请随时联系维护人员。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端