ZoomEye MCP 服务器
模型上下文协议 (MCP) 服务器,根据查询条件提供网络资产信息。该服务器允许大型语言模型 (LLM) 通过使用 dork 和其他搜索参数查询 ZoomEye 来获取网络资产信息。
该 MCP 服务器与 Claude Desktop、Cursor、Windsurf、Cline、Continue 和 Zed 等 AI 助手和开发环境集成,使它们能够通过自然语言交互来搜索和分析互联网连接的设备、服务和漏洞。
特征
- 使用 dorks 向 ZoomEye 查询网络资产信息
- 缓存机制以提高性能并减少 API 调用
- 失败的 API 请求的自动重试机制
- 全面的错误处理和日志记录
可用工具
zoomeye_search
- 根据查询条件获取网络资产信息。- 必需参数:
qbase64
(字符串):用于 ZoomEye 搜索的 Base64 编码查询字符串
- 可选参数:
page
(整数):查看资产页码,默认为 1pagesize
(整数):每页记录数,默认为10,最大为1000fields
(字符串):要返回的字段,以逗号分隔sub_type
(字符串):数据类型,支持 v4、v6 和 web。默认为 v4facets
(字符串):统计项,如果有多个,则用逗号分隔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 Search API 的更多信息,请参阅ZoomEye API v2 文档。
入门
先决条件
- ZoomEye API密钥
- 在ZoomEye注册一个账户
- 从您的帐户设置中获取您的 API 密钥
- API 密钥将用于验证您对 ZoomEye API 的请求
- Python 环境
- 需要 Python 3.10 或更高版本
- 或者,您可以使用 Docker 运行服务器,而无需安装 Python
安装
使用 PIP
或者,您可以通过 pip 安装mcp-server-zoomeye
:
安装后,您可以使用以下命令将其作为脚本运行:
使用 Docker
您还可以使用 Docker 运行 ZoomEye MCP 服务器:
从 Docker Hub 拉取
注意:我们提供支持
linux/amd64
和linux/arm64
平台的多架构 Docker 镜像,可以在 Intel/AMD 和 ARM(例如 Apple Silicon)处理器上运行。
从源代码构建
或者,您可以从源代码构建 Docker 镜像:
使用 uv
uv
是一个用 Rust 编写的快速 Python 软件包安装程序和解析器。它是 pip 的现代替代品,性能显著提升。
紫外线安装
使用 uvx 运行 mcp-server-zoomeye
使用uvx
时不需要进行任何特殊安装,它允许您直接运行 Python 包:
使用 uv 安装
或者,您可以使用 uv 安装该包:
配置
环境变量
ZoomEye MCP 服务器需要以下环境变量:
ZOOMEYE_API_KEY
:用于身份验证的 ZoomEye API 密钥
您可以通过多种方式设置此环境变量:
- 在您的 shell 会话中导出:
- 运行容器时直接传递(对于Docker):
配置 Claude.app
在 Claude 设置中添加以下内容:
配置 Zed
在 Zed 的 settings.json 中添加以下内容:
交互示例
示例 1:检索全局 Apache Tomcat 资产
回复:
调试和故障排除
使用 MCP 检查器
模型上下文协议检查器是一款通过模拟客户端交互来帮助调试 MCP 服务器的工具。您可以使用它来测试您的 ZoomEye MCP 服务器:
常见问题
- 身份验证错误
- 确保您的 ZoomEye API 密钥正确并正确设置为环境变量
- 检查您的 API 密钥是否已过期或被撤销
- 连接问题
- 验证您的互联网连接
- 检查 ZoomEye API 是否正在停机
- 没有结果
- 您的查询可能过于具体或包含语法错误
- 尝试简化您的查询或使用不同的搜索词
- 速率限制
- ZoomEye API 根据您的帐户类型具有速率限制
- 分散您的请求或升级您的帐户以获得更高的限额
高级用法
缓存
ZoomEye MCP 服务器实现了缓存,以提高性能并减少 API 调用:
- 根据查询参数缓存响应
- 缓存时长可配置(默认值:1小时)
- 您可以通过在查询中将
ignore_cache
设置为true
来绕过缓存
自定义字段
您可以使用fields
参数请求查询结果中的特定字段:
分页
对于返回许多结果的查询,您可以对它们进行分页:
贡献
我们鼓励大家为 mcp-server-zoomeye 贡献力量,以扩展和改进其功能。无论是添加新的相关工具、增强现有功能,还是改进文档,您的贡献都弥足珍贵。
有关其他 MCP 服务器和实现模式的示例,请参阅: https://github.com/modelcontextprotocol/servers
欢迎提交 Pull 请求!欢迎贡献新想法、错误修复或功能增强,使 mcp-server-zoomeye 更加健壮实用。
执照
mcp-server-zoomeye 采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。更多信息,请参阅项目仓库中的 LICENSE 文件。
Related MCP Servers
- -securityAlicense-qualityMCP server for Huntress API integrationLast updated -111JavaScriptMIT License
- AsecurityAlicenseAqualityMCP Server for Eyevinn Open Source Cloud API, enabling creation of solutions based on open web services. Web services based on open source where the creator gets a share of the revenue the platform generates.Last updated -5525TypeScriptMIT License
- AsecurityAlicenseAqualityAn MCP server that enables users to list, download, search, and manage Zoom meeting transcripts through a structured interface.Last updated -61JavaScriptMIT License
- AsecurityAlicenseAqualityAniList MCP server for accessing AniList API dataLast updated -4415323TypeScriptMIT License