使用说明

项目简介

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