使用说明
项目简介
ZoomEye MCP服务器是一个实现了 Model Context Protocol (MCP) 的应用后端,旨在为大型语言模型 (LLM) 提供访问 ZoomEye 网络空间搜索引擎的能力。通过此服务器,LLM 可以调用预设的工具,根据用户提供的查询条件,检索 ZoomEye 数据库中丰富的网络资产信息,从而扩展 LLM 在网络安全和威胁情报分析等领域的应用场景。
主要功能点
- 网络资产查询: 提供 'zoomeye_search' 工具,允许 LLM 基于 ZoomEye dork 语法查询网络资产信息。
- 数据缓存: 内置缓存机制,优化查询性能,减少对 ZoomEye API 的不必要调用。
- 自动重试: 具备API请求失败自动重试机制,提高查询稳定性。
- 错误处理与日志: 完善的错误处理和日志记录,方便问题排查和系统监控。
安装步骤
1. 使用 pip 安装 (推荐):
打开终端,执行以下命令安装 'mcp-server-zoomeye' 包:
pip install mcp-server-zoomeye
安装完成后,即可通过以下命令启动服务器:
python -m mcp_server_zoomeye
2. 使用 Docker 镜像:
确保已安装 Docker。执行以下命令拉取预构建的 Docker 镜像:
docker pull zoomeyeteam/mcp-server-zoomeye:latest
然后,使用以下命令运行 Docker 容器,请将 'your_api_key_here' 替换为您的 ZoomEye API Key:
docker run -i --rm -e ZOOMEYE_API_KEY=your_api_key_here zoomeyeteam/mcp-server-zoomeye:latest
3. 使用 uvx (高级用户):
如果已安装 'uvx',可以直接运行,请将 'your_api_key_here' 替换为您的 ZoomEye API Key:
uvx mcp-server-zoomeye --key your_api_key_here
或设置环境变量 'ZOOMEYE_API_KEY':
export ZOOMEYE_API_KEY=your_api_key_here uvx mcp-server-zoomeye
服务器配置
MCP 服务器需要配置到 MCP 客户端 (如 Claude, Zed) 中才能使用。以下是配置示例,请将 'your_api_key_here' 替换为您的 ZoomEye API Key。
对于 Claude.app:
在 Claude 设置中,添加以下 JSON 配置到 'mcpServers' 字段:
{ "zoomeye": { "command": "python", "args": ["-m", "mcp_server_zoomeye"], "env": { "ZOOMEYE_API_KEY": "your_api_key_here" } } }
配置参数说明:
- '"zoomeye"': 服务器名称,可以自定义,在客户端中用于标识该服务器。
- '"command"': 启动服务器的命令,这里使用 'python' 命令。
- '"args"': 命令参数,'["-m", "mcp_server_zoomeye"]' 表示执行 'mcp_server_zoomeye' 模块。
- '"env"': 环境变量配置,'{"ZOOMEYE_API_KEY": "your_api_key_here"}' 用于设置 ZoomEye API Key。
对于 Zed 编辑器:
在 Zed 的 'settings.json' 文件中,添加以下 JSON 配置到 'context_servers' 字段:
{ "context_servers": { "mcp-server-zoomeye": { "command": "python", "args": ["-m", "mcp_server_zoomeye"], "env": { "ZOOMEYE_API_KEY": "your_api_key_here" } } } }
配置参数说明:
- '"mcp-server-zoomeye"': 服务器名称,可以自定义,在客户端中用于标识该服务器。
- '"command"': 启动服务器的命令,这里使用 'python' 命令。
- '"args"': 命令参数,'["-m", "mcp_server_zoomeye"]' 表示执行 'mcp_server_zoomeye' 模块。
- '"env"': 环境变量配置,'{"ZOOMEYE_API_KEY": "your_api_key_here"}' 用于设置 ZoomEye API Key。
基本使用方法
配置完成后,在支持 MCP 协议的 LLM 客户端中,即可通过调用 'zoomeye_search' 工具来查询 ZoomEye 数据。
例如,要查询包含 "Apache Tomcat" 关键词的全球网络资产信息,可以构造如下工具调用请求:
{ "name": "zoomeye_search", "arguments": { "qbase64": "YXBwPSJBcGFjaGUgVG9tY2F0Ig==" } }
参数说明:
- '"name"': 工具名称,固定为 'zoomeye_search'。
- '"arguments"': 工具参数。
- '"qbase64"': Base64 编码的 ZoomEye 查询语句。上述示例中 '"YXBwPSJBcGFjaGUgVG9tY2F0Ig=="' 解码后为 'app="Apache Tomcat"'。 用户需要根据 ZoomEye dork 语法构造查询语句,并进行 Base64 编码。
LLM 客户端会将该请求发送给 ZoomEye MCP 服务器,服务器执行查询后,会将结果以 JSON 格式返回给 LLM 客户端,LLM 可以利用这些信息进行后续处理。
信息
分类
网页与API