返回市场
麦克佩斯_佐姆眼

麦克佩斯_佐姆眼

作者:zoomeye-ai53 星标更新:2025-06-27

项目介绍

技术文档摘要

🚀 ZoomEye MCP Server

一个基于查询条件提供网络资产信息的模型上下文协议(MCP)服务器。此服务器允许大型语言模型(LLMs)通过使用dorks和其他搜索参数查询ZoomEye来获取网络资产信息。

🔔 公告

🎉 我们很高兴地宣布正式开源发布 ZoomEye MCP Server —— 这是一个强大的模型上下文协议(MCP)服务器,它为AI助手和开发环境带来实时的网络资产情报。

🚀 免费试用:7天免费访问ZoomEye MCP! 体验ZoomEye MCP——这个由AI驱动的网络空间资产搜索引擎——完全免费7天!

🔍 在一个地方搜索全球互联网资产、跟踪实时变化并解锁AI驱动的洞察力。

👉 如何领取:

  1. 关注我们的Twitter账号:@zoomeye_team
  2. 私信我们“MCP”以及您的MCP设置截图
  3. 立即获得您7天会员资格

🎁 限时免费试用——今天就探索AI资产搜索的力量吧!

💡 提供被官方采纳的有见地的反馈,您将解锁更多奖励

🔧 完全兼容领先的MCP环境:

  • Claude Desktop
  • Cursor
  • Windsurf
  • Cline
  • Continue
  • Zed
  • Cherry Studio
  • Chatbox

🔗 在以下平台探索ZoomEye MCP Server:

我们欢迎所有人使用、探索和贡献!

🔑 如何获取ZoomEye API密钥?

要使用此MCP服务器,您需要一个ZoomEye API密钥。

  1. 访问 https://www.zoomeye.ai

  2. 注册或登录

  3. 点击您的头像 → 个人资料

  4. 复制您的API-KEY

  5. 设置环境变量:

    export ZOOMEYE_API_KEY="your_api_key_here"

zoomeye1

zoomeye2

功能

  • 使用dorks查询ZoomEye以获取网络资产信息
  • 缓存机制以提高性能并减少API调用
  • 自动重试机制用于失败的API请求
  • 综合错误处理和日志记录

可用工具

  • zoomeye_search - 根据查询条件获取网络资产信息。
    • 必需参数:
      • qbase64 (字符串):用于ZoomEye搜索的Base64编码查询字符串
    • 可选参数:
      • page (整数):查看资产页面编号,默认值为1
      • pagesize (整数):每页记录数,默认值为10,最大值为1000
      • fields (字符串):返回的字段,用逗号分隔
      • sub_type (字符串):数据类型,支持v4、v6和web。默认值为v4
      • facets (字符串):统计项,如果有多个则用逗号分隔
      • ignore_cache (布尔值):是否忽略缓存

使用指南

基本使用

一旦服务器运行起来,您可以通过您的AI助手或开发环境与其交互。以下是使用方法:

  1. 使用上述安装方法之一启动服务器
  2. 配置您的AI助手(如Claude Desktop、Cursor、Windsurf、Cline、Continue、Zed等)以使用该服务器
  3. 使用自然语言查询网络信息

searchexample

搜索语法指南

  • 搜索范围涵盖设备(IPv4、IPv6)和网站(域名)。
  • 输入搜索字符串时,系统将以“全局”模式匹配关键词,包括来自各种协议的内容,例如HTTP、SSH、FTP等(例如HTTP/HTTPS协议头、正文、SSL、标题及其他协议标语)。
  • 搜索字符串不区分大小写,并将被分割进行匹配(搜索结果页面提供了“分割”测试功能)。当使用==进行搜索时,会强制执行严格的大小写敏感匹配。
  • 请使用引号包围搜索字符串(例如,“Cisco System”或'Cisco System')。如果搜索字符串包含引号,请使用转义字符,例如"a"b"。如果搜索字符串包含括号,请使用转义字符,例如portinfo()。

您可以在prompts.py中看到更详细的搜索语法规则。

有关ZoomEye搜索API的更多信息,请参阅ZoomEye API v2文档

开始使用

预备知识

  1. ZoomEye API密钥

    • ZoomEye注册账户
    • 从您的账户设置中获取API密钥
    • 此API密钥将用于验证您对ZoomEye API的请求
  2. 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

注意:我们提供了多架构Docker镜像,支持linux/amd64linux/arm64平台,并且可以在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安装uv(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密钥用于认证

您可以按以下几种方式设置此环境变量:

  1. 在shell会话中导出

    export ZOOMEYE_API_KEY="your_api_key_here"
    
  2. 直接传递给运行容器时(对于Docker):

    docker run -i --rm -e ZOOMEYE_API_KEY=your_api_key_here zoomeyeteam/mcp-server-zoomeye:latest
    

配置Claude.app

在Claude设置中添加以下内容:

<details> <summary>使用uvx</summary>
"mcpServers": {
  "zoomeye": {
    "command": "uvx",
    "args": ["mcp-server-zoomeye"],
    "env": {
        "ZOOMEYE_API_KEY": "your_api_key_here"
    }
  }
}
</details> <details> <summary>使用docker</summary>
"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"
    }
  }
}
</details> <details> <summary>通过pip安装</summary>
"mcpServers": {
  "zoomeye": {
    "command": "python",
    "args": ["-m", "mcp_server_zoomeye"],
    "env": {
        "ZOOMEYE_API_KEY": "your_api_key_here"
    }
  }
}
</details>

配置Zed

在Zed的settings.json中添加以下内容:

<details> <summary>使用uvx</summary>
"context_servers": [
  "mcp-server-zoomeye": {
    "command": "uvx",
    "args": ["mcp-server-zoomeye"],
    "env": {
        "ZOOMEYE_API_KEY": "your_api_key_here"
    }
  }
],
</details> <details> <summary>通过pip安装</summary>
"context_servers": {
  "mcp-server-zoomeye": {
    "command": "python",
    "args": ["-m", "mcp_server_zoomeye"],
    "env": {
        "ZOOMEYE_API_KEY": "your_api_key_here"
    }
  }
},
</details>

示例交互

示例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 Inspector

模型上下文协议检查器是一个帮助调试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

常见问题

  1. 身份验证错误

    • 确保您的ZoomEye API密钥正确并且已正确设置为环境变量
    • 检查您的API密钥是否未过期或被撤销
  2. 连接问题

    • 验证您的互联网连接
    • 检查ZoomEye API是否出现停机
  3. 没有结果

    • 您的查询可能过于具体或包含语法错误
    • 尝试简化您的查询或使用不同的搜索词
  4. 速率限制

    • ZoomEye API根据您的账户类型有不同的速率限制
    • 分散您的请求或升级您的账户以获得更高的限制

高级使用

缓存

ZoomEye MCP服务器实现了缓存以提高性能并减少API调用:

  • 响应基于查询参数进行缓存
  • 缓存持续时间可配置(默认:1小时)
  • 您可以通过在查询中设置ignore_cachetrue来绕过缓存

自定义字段

您可以在查询结果中请求特定字段,使用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文件。