
一个提供对 Shodan API 功能和 CVE 数据库访问的模型上下文协议(MCP)服务器,允许AI助手查询关于互联网连接设备、服务和漏洞的信息。
克隆仓库:
git clone https://github.com/Cyreslab-AI/shodan-mcp-server.git
cd shodan-mcp-server
安装依赖:
npm install
构建服务器:
npm run build
设置你的Shodan API密钥:
export SHODAN_API_KEY="your-api-key-here"
启动服务器:
npm start
此服务器可以与Claude或其他兼容MCP的AI助手集成。要将其添加到Claude Desktop或Claude.app:
将服务器添加到您的MCP设置中:
{
"mcpServers": {
"shodan": {
"command": "node",
"args": ["/path/to/shodan-mcp-server/build/index.js"],
"env": {
"SHODAN_API_KEY": "your-api-key-here"
}
}
}
}
重启Claude以加载新的MCP服务器。
获取特定IP地址的详细信息。
参数:
ip(必需):要查询的IP地址max_items(可选):数组中包含的最大项目数(默认值:5)fields(可选):结果中包含的字段列表(例如:['ip_str', 'ports', 'location.country_name'])在Shodan数据库中搜索设备和服务。
参数:
query(必需):Shodan搜索查询(例如:'apache country:US')page(可选):结果分页的页码(默认值:1)facets(可选):搜索结果中包含的面列表(例如:['country', 'org'])max_items(可选):数组中包含的最大项目数(默认值:5)fields(可选):结果中包含的字段列表(例如:['ip_str', 'ports', 'location.country_name'])summarize(可选):是否返回结果摘要而不是完整数据(默认值:false)获取匹配搜索查询的主机数量而不消耗查询信用。
参数:
query(必需):用于计数主机的Shodan搜索查询facets(可选):计数结果中包含的面列表(例如:['country', 'org'])扫描网络范围(CIDR表示法)中的设备。
参数:
cidr(必需):网络范围的CIDR表示法(例如:192.168.1.0/24)max_items(可选):结果中包含的最大项目数(默认值:5)fields(可选):结果中包含的字段列表(例如:['ip_str', 'ports', 'location.country_name'])搜索特定类型的IoT设备。
参数:
device_type(必需):要搜索的IoT设备类型(例如:'webcam', 'router', 'smart tv')country(可选):限制搜索的国家代码(例如:'US', 'DE')max_items(可选):结果中包含的最大项目数(默认值:5)获取域的SSL证书信息。
参数:
domain(必需):要查询SSL证书的域名(例如:example.com)使用DNS查询解析主机名到IP地址。
参数:
hostnames(必需):要解析的主机名列表(例如:['google.com', 'facebook.com'])使用反向DNS查询获取IP地址的主机名。
参数:
ips(必需):要查询的IP地址列表(例如:['8.8.8.8', '1.1.1.1'])获取全面的域名信息,包括子域和DNS记录。
参数:
domain(必需):要查询的域名(例如:'google.com')history(可选):包含历史DNS数据(默认值:false)type(可选):DNS记录类型过滤器(A, AAAA, CNAME, NS, SOA, MX, TXT)page(可选):分页的页码(默认值:1)列出可用于Shodan查询的所有可用搜索面。
**参数:**无
列出可用于Shodan查询的所有可用搜索过滤器。
**参数:**无
解析搜索查询以理解正在使用的哪些过滤器和参数。
参数:
query(必需):要解析和分析的Shodan搜索查询列出Shodan在网络上爬取的所有端口。
**参数:**无
列出执行按需互联网扫描时可以使用的所有协议。
**参数:**无
获取特定CVE的详细信息。
参数:
cve_id(必需):要查询的CVE ID(例如:'CVE-2021-44228')使用各种过滤器搜索漏洞。
参数:
cpe23(可选):要搜索的CPE 2.3字符串(例如:'cpe:2.3:a:apache:log4j:*')product(可选):要搜索漏洞的产品名称(例如:'apache', 'windows')is_kev(可选):仅过滤已知被利用的漏洞sort_by_epss(可选):按EPSS评分排序结果(漏洞预测评分系统)start_date(可选):用于过滤CVE的开始日期(YYYY-MM-DD格式)end_date(可选):用于过滤CVE的结束日期(YYYY-MM-DD格式)limit(可选):要返回的结果最大数量(默认值:10)skip(可选):用于分页跳过的结果数量(默认值:0)获取产品的通用平台枚举(CPE)信息。
参数:
product(可选):要搜索的产品名称(例如:'apache', 'windows')vendor(可选):按供应商名称过滤(例如:'microsoft', 'apache')version(可选):按版本过滤(例如:'2.4.1')limit(可选):要返回的结果最大数量(默认值:10)skip(可选):用于分页跳过的结果数量(默认值:0)从CVE数据库获取最新的漏洞。
参数:
limit(可选):要返回的结果最大数量(默认值:10)从CISA获取已知被利用的漏洞(KEV)。
参数:
limit(可选):要返回的结果最大数量(默认值:10)按EPSS评分排序CVE(漏洞预测评分系统)。
参数:
limit(可选):要返回的结果最大数量(默认值:10)获取有关您的API计划的信息,包括信用额度和限制。
**参数:**无
获取账户资料信息,包括会员状态和信用额度。
**参数:**无
获取您当前的IP地址,如互联网所见。
**参数:**无
shodan://host/{ip}:关于特定IP地址的信息一些Shodan API端点需要付费会员。以下功能仅适用于付费Shodan API密钥:
注意:CVE数据库功能(get_cve_info, search_cves, get_cpes, get_newest_cves, get_kev_cves, get_cves_by_epss)完全免费,不需要付费的Shodan订阅。
MIT
如果您在研究或出版物中使用了这个项目,请按照以下方式引用它:
author = {Bassem Abidi and Moudather Chelbi},
title = {Shodan MCP 服务器},
year = {2025},
howpublished = {https://github.com/Cyreslab-AI/shodan-mcp-server},
note = {访问日期:2025-06-29}