🚀 ZoomEye MCP 服务器
一个基于查询条件提供网络资产信息的模型上下文协议(MCP)服务器。该服务器允许大型语言模型(LLM)通过查询 ZoomEye 使用 dorks 和其他搜索参数来获取网络资产信息。
🔔 公告
🎉 我们很高兴宣布 ZoomEye MCP 服务器 的正式开源发布——这是一个强大的模型上下文协议(MCP)服务器,为 AI 助手和开发环境带来实时网络资产情报。
🚀 免费试用:7 天免费访问 ZoomEye MCP! 免费体验 ZoomEye MCP——这个 AI 驱动的网络资产搜索引擎——7 天完全免费!
🔍 搜索全球互联网资产,追踪实时变化,解锁 AI 驱动的洞察力——尽在一处。
👉 如何申请:
- 关注我们在 Twitter 上的账号:@zoomeye_team
- DM 我们 "MCP" 和您的 MCP 配置截图
- 立即获得您的 7 天会员资格
🎁 限时免费试用——立即探索 AI 资产搜索的力量!
💡 提供有见地的反馈并得到官方采纳,您将解锁更多奖励!
🔧 完全兼容领先的 MCP 环境:
- Claude Desktop
- Cursor
- Windsurf
- Cline
- Continue
- Zed
- Cherry Studio
- Chatbox
🔗 探索 ZoomEye MCP 服务器在:
- GitHub: zoomeye-ai/mcp_zoomeye
- MCP.so: mcp.so/server/mcp_zoomeye
- Smithery: smithery.ai/server/@zoomeye-ai/mcp_zoomeye
- Cursor Directory: cursor.directory/mcp/zoomeye
- Pulse MCP: pulsemcp.com/servers/zoomeye
- Glama MCP: glama.ai/mcp/servers
我们欢迎所有人使用、探索和贡献!
🔑 如何获取 ZoomEye API 密钥?
要使用此 MCP 服务器,您需要 ZoomEye API 密钥。
-
注册或登录
-
点击您的头像 → 个人资料
-
复制您的 API-KEY
-
设置环境变量:
export ZOOMEYE_API_KEY="your_api_key_here"


功能
- 使用 dorks 查询 ZoomEye 获取网络资产信息
- 缓存机制以提高性能并减少 API 调用
- 自动重试机制用于失败的 API 请求
- 完整的错误处理和日志记录
可用工具
zoomeye_search- 基于查询条件获取网络资产信息。- 必填参数:
qbase64(string): 用于 ZoomEye 搜索的 Base64 编码查询字符串
- 可选参数:
page(integer): 查看资产页码,默认为 1pagesize(integer): 每页记录数,默认为 10,最大为 1000fields(string): 返回的字段,用逗号分隔sub_type(string): 数据类型,支持 v4、v6 和 web。默认为 v4facets(string): 统计项,如果有多个则用逗号分隔ignore_cache(boolean): 是否忽略缓存
- 必填参数:
使用指南
基本使用
服务器运行后,您可以通过 AI 助手或开发环境与其交互。以下是使用方法:
- 使用上述安装方法之一启动服务器
- 配置您的 AI 助手(Claude Desktop、Cursor、Windsurf、Cline、Continue、Zed 等)以使用该服务器
- 使用自然语言查询网络信息

搜索语法指南
- 搜索范围涵盖设备(IPv4、IPv6)和网站(域名)。
- 输入搜索字符串时,系统将在“全局”模式下匹配关键词,包括来自各种协议的内容,如 HTTP、SSH、FTP 等(例如 HTTP/HTTPS 协议头、正文、SSL、标题和其他协议横幅)。
- 搜索字符串不区分大小写,并将被分段匹配(搜索结果页面提供“分段”测试功能)。使用 == 进行搜索时,会强制执行严格的大小写敏感匹配和语法。
- 请使用引号包围搜索字符串(例如 "Cisco System" 或 'Cisco System')。如果搜索字符串包含引号,请使用转义字符,例如 "a"b"。如果搜索字符串包含括号,请使用转义字符,例如 portinfo()。
您可以查看更详细的搜索语法规则在 prompts.py。
有关 ZoomEye 搜索 API 的更多信息,请参阅 ZoomEye API v2 文档。
入门指南
前置条件
-
ZoomEye API 密钥
- 在 ZoomEye 注册账户
- 从您的账户设置获取 API 密钥
- API 密钥将用于验证您对 ZoomEye API 的请求
-
Python 环境
- 需要 Python 3.10 或更高版本
- 或者,您可以使用 Docker 运行服务器而无需安装 Python
安装
使用 PIP
或者,您可以通过 pip 安装 mcp-server-zoomeye:
pip install mcp-server-zoomeye
安装后,您可以使用以下命令作为脚本运行它:
python -m mcp_server_zoomeye
使用 Docker
您也可以使用 Docker 运行 ZoomEye MCP 服务器:
从 Docker Hub 拉取
# 拉取最新镜像
docker pull zoomeyeteam/mcp-server-zoomeye:latest
# 使用您的 API 密钥运行容器
docker run -i --rm -e ZOOMEYE_API_KEY=your_api_key_here zoomeyeteam/mcp-server-zoomeye:latest
注意:我们提供支持
linux/amd64和linux/arm64平台的多架构 Docker 镜像,可在 Intel/AMD 和 ARM(如 Apple Silicon)处理器上运行。
从源代码构建
或者,您可以从源代码构建 Docker 镜像:
# 克隆仓库
git clone https://github.com/zoomeye-ai/mcp_zoomeye.git
cd mcp_zoomeye
# 构建 Docker 镜像
docker build -t zoomeyeteam/mcp-server-zoomeye:local .
# 运行容器
docker run -i --rm -e ZOOMEYE_API_KEY=your_api_key_here zoomeyeteam/mcp-server-zoomeye:local
使用 uv
uv 是一个用 Rust 编写的快速 Python 包安装器和解析器。它是 pip 的现代化替代方案,提供了显著的性能提升。
uv 安装
# 使用 curl 安装(macOS/Linux)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 或使用 PowerShell(Windows)
irm https://astral.sh/uv/install.ps1 | iex
# 或使用 Homebrew(macOS)
brew install uv
使用 uvx 运行 mcp-server-zoomeye
使用 uvx 时,无需特定安装,它允许您直接运行 Python 包:
使用 uv 安装
或者,您可以使用 uv 安装包:
# 在当前环境中安装
uv pip install mcp-server-zoomeye
# 或创建并安装在新虚拟环境中
uv venv
uv pip install mcp-server-zoomeye
配置
环境变量
ZoomEye MCP 服务器需要以下环境变量:
ZOOMEYE_API_KEY:用于身份验证的 ZoomEye API 密钥
您可以按以下几种方式设置此环境变量:
-
在您的 shell 会话中导出:
export ZOOMEYE_API_KEY="your_api_key_here" -
在运行容器时直接传递(适用于 Docker):
docker run -i --rm -e ZOOMEYE_API_KEY=your_api_key_here zoomeyeteam/mcp-server-zoomeye:latest
配置 Claude.app
在 Claude 设置中添加以下内容:
使用 uvx
"mcpServers": {
"zoomeye": {
"command": "uvx",
"args": ["mcp-server-zoomeye"],
"env": {
"ZOOMEYE_API_KEY": "your_api_key_here"
}
}
}
使用 docker
"mcpServers": {
"zoomeye": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "ZOOMEYE_API_KEY=your_api_key_here", "zoomeyeteam/mcp-server-zoomeye:latest"],
"env": {
"ZOOMEYE_API_KEY": "your_api_key_here"
}
}
}
通过 pip 安装
"mcpServers": {
"zoomeye": {
"command": "python",
"args": ["-m", "mcp_server_zoomeye"],
"env": {
"ZOOMEYE_API_KEY": "your_api_key_here"
}
}
}
配置 Zed
在 Zed 的 settings.json 中添加以下内容:
使用 uvx
"context_servers": [
"mcp-server-zoomeye": {
"command": "uvx",
"args": ["mcp-server-zoomeye"],
"env": {
"ZOOMEYE_API_KEY": "your_api_key_here"
}
}
],
通过 pip 安装
"context_servers": {
"mcp-server-zoomeye": {
"command": "python",
"args": ["-m", "mcp_server_zoomeye"],
"env": {
"ZOOMEYE_API_KEY": "your_api_key_here"
}
}
},
示例交互
示例 1:检索全球 Apache Tomcat 资产
{
"name": "zoomeye_search",
"arguments": {
"qbase64": "app=\"Apache Tomcat\""
}
}
响应:
{
"code": 60000,
"message": "success",
"total": 163139107,
"query": "app=\"Apache Tomcat\"",
"data": [
{
"url": "https://1.1.1.1:443",
"ssl.jarm": "29d29d15d29d29d00029d29d29d29dea0f89a2e5fb09e4d8e099befed92cfa",
"ssl.ja3s": "45094d08156d110d8ee97b204143db14",
"iconhash_md5": "f3418a443e7d841097c714d69ec4bcb8",
"robots_md5": "0b5ce08db7fb8fffe4e14d05588d49d9",
"security_md5": "0b5ce08db7fb8fffe4e14d05588d49d9",
"ip": "1.1.1.1",
"domain": "www.google.com",
"hostname": "SPACEX",
"os": "windows",
"port": 443,
"service": "https",
"title": ["GoogleGoogle appsGoogle Search"],
"version": "1.1.0",
"device": "webcam",
"rdns": "c01031-001.cust.wallcloud.ch",
"product": "OpenSSD",
"header": "HTTP/1.1 302 Found Location: https://www.google.com/?gws_rd=ssl Cache-Control: private...",
"header_hash": "27f9973fe57298c3b63919259877a84d",
"body": "HTTP/1.1 302 Found Location: https://www.google.com/?gws_rd=ssl Cache-Control: private...",
"body_hash": "84a18166fde3ee7e7c974b8d1e7e21b4",
"banner": "SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3",
"update_time": "2024-07-03T14:34:10",
"header.server.name": "nginx",
"header.server.version": "1.8.1",
"continent.name": "Europe",
"country.name": "Germany",
"province.name": "Hesse",
"city.name": "Frankfurt",
"lon": "118.753262",
"lat": "32.064838",
"isp.name": "aviel.ru",
"organization.name": "SERVISFIRST BANK",
"zipcode": "210003",
"idc": 0,
"honeypot": 0,
"asn": 4837,
"protocol": "tcp",
"ssl": "SSL Certificate Version: TLS 1.2 CipherSuit: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256...",
"primary_industry": "Finance",
"sub_industry": "bank",
"rank": 60
}
]
}
调试和故障排除
使用 MCP 检查器
模型上下文协议检查器是一个通过模拟客户端交互来帮助调试 MCP 服务器的工具。您可以使用它来测试您的 ZoomEye MCP 服务器:
# 对于 uvx 安装
npx @modelcontextprotocol/inspector uvx mcp-server-zoomeye
# 如果本地开发
cd path/to/servers/src/mcp_server_zoomeye
npx @modelcontextprotocol/inspector uv run mcp-server-zoomeye
常见问题
-
认证错误
- 确保您的 ZoomEye API 密钥正确并正确设置环境变量
- 检查您的 API 密钥是否已过期或被撤销
-
连接问题
- 验证您的网络连接
- 检查 ZoomEye API 是否正在停机
-
无结果
- 您的查询可能过于具体或包含语法错误
- 尝试简化查询或使用不同的搜索词
-
速率限制
- ZoomEye API 基于您的账户类型有速率限制
- 分散您的请求或升级您的账户以获得更高的限制
高级用法
缓存
ZoomEye MCP 服务器实现了缓存以提高性能并减少 API 调用:
- 响应基于查询参数进行缓存
- 缓存持续时间可配置(默认:1 小时)
- 您可以通过在查询中设置
ignore_cache为true来绕过缓存
自定义字段
您可以通过使用 fields 参数在查询结果中请求特定字段:
{
"name": "zoomeye_search",
"arguments": {
"qbase64": "app=\"Apache\"",
"fields": "ip,port,domain,service,os,country,city"
}
}
分页
对于返回大量结果的查询,您可以分页浏览它们:
{
"name": "zoomeye_search",
"arguments": {
"qbase64": "app=\"Apache\"",
"page": 2,
"pagesize": 20
}
}
贡献
我们鼓励对 mcp-server-zoomeye 的贡献,以帮助扩展和改进其功能。无论是添加新的相关工具、增强现有功能还是改进文档,您的输入都很有价值。
有关其他 MCP 服务器和实现模式的示例,请参阅: https://github.com/modelcontextprotocol/servers
欢迎拉取请求!请随时贡献新想法、错误修复或改进,使 mcp-server-zoomeye 更加强大和实用。
许可证
mcp-server-zoomeye 在 MIT 许可证下授权。这意味着您可以在 MIT 许可证的条款和条件下自由使用、修改和分发该软件。有关更多信息,请参阅项目存储库中的 LICENSE 文件。