Skip to main content
Glama

支持平台

平台

能力

FOFA

资产搜索、连续翻页、统计聚合、Host 聚合、账号信息

360 Quake

服务搜索、深度翻页、服务聚合、筛选字段、聚合字段、账号信息

Hunter

资产搜索、批量任务、任务状态、结果下载、结果拉取、账号信息

ZoomEye

资产搜索、账号信息

DayDayMap

资产搜索

Related MCP server: FOFA Quake Hunter MCP Server

快速开始

通过 pip 安装

要求 Python >=3.10,MCP Python SDK >=2.0.0,<3。用户无需 clone 源码,可直接从 PyPI 安装:

python -m pip install -U surveyhub-mcp

安装后可直接启动聚合 MCP Server:

surveyhub-mcp

服务同时兼容 MCP 2026-07-282025-11-25;SDK 会根据客户端自动选择 server/discover 或传统 initialize 流程。

MCP 客户端配置:

{
  "mcpServers": {
    "surveyhub": {
      "command": "surveyhub-mcp",
      "args": [],
      "env": {
        "CN_FOFA_KEY": "your_fofa_key",
        "CN_FOFA_EMAIL": "optional_fofa_email",
        "CN_QUAKE_KEY": "your_quake_key",
        "CN_ZOOMEYE_API_KEY": "your_zoomeye_api_key",
        "CN_HUNTER_ENTERPRISE_KEY": "your_hunter_enterprise_key",
        "CN_DAYDAYMAP_API_KEY": "your_daydaymap_api_key"
      }
    }
  }
}

只运行单个平台入口时:

fofa-mcp
quake-mcp
zoomeye-mcp
hunter-personal-mcp # 个人版
hunter-enterprise-mcp # 企业版
daydaymap-mcp

通过 uvx 免安装运行

如果不想提前安装,也可以在 MCP 客户端中使用 uvx 直接运行 PyPI 包:

{
  "mcpServers": {
    "surveyhub": {
      "command": "uvx",
      "args": [
        "surveyhub-mcp"
      ],
      "env": {
        "CN_FOFA_KEY": "your_fofa_key",
        "CN_FOFA_EMAIL": "optional_fofa_email",
        "CN_QUAKE_KEY": "your_quake_key",
        "CN_ZOOMEYE_API_KEY": "your_zoomeye_api_key",
        "CN_HUNTER_ENTERPRISE_KEY": "your_hunter_enterprise_key",
        "CN_DAYDAYMAP_API_KEY": "your_daydaymap_api_key"
      }
    }
  }
}

只运行单个平台入口时:

uvx --from surveyhub-mcp fofa-mcp
uvx --from surveyhub-mcp quake-mcp
uvx --from surveyhub-mcp zoomeye-mcp
uvx --from surveyhub-mcp hunter-personal-mcp
uvx --from surveyhub-mcp hunter-enterprise-mcp
uvx --from surveyhub-mcp daydaymap-mcp

从源码运行

git clone https://github.com/helGayhub233/SurveyHub-MCP.git
cd SurveyHub-MCP
uv sync
uv run surveyhub-mcp

也可以只启动单个平台:

uv run fofa-mcp
uv run quake-mcp
uv run zoomeye-mcp
uv run hunter-personal-mcp
uv run hunter-enterprise-mcp
uv run daydaymap-mcp

MCP 配置

从源码运行时,推荐使用 uv --directory 固定项目目录。使用 PyPI 包时可直接参考上方 pipuvx 配置。

{
  "mcpServers": {
    "surveyhub": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/SurveyHub-MCP",
        "run",
        "surveyhub-mcp"
      ],
      "env": {
        "CN_FOFA_KEY": "your_fofa_key",
        "CN_FOFA_EMAIL": "optional_fofa_email",
        "CN_QUAKE_KEY": "your_quake_key",
        "CN_ZOOMEYE_API_KEY": "your_zoomeye_api_key",
        "CN_HUNTER_ENTERPRISE_KEY": "your_hunter_enterprise_key",
        "CN_DAYDAYMAP_API_KEY": "your_daydaymap_api_key"
      }
    }
  }
}

只使用某一个平台时,把 args 最后一个命令替换为对应入口,并只保留对应平台的 Key。

平台

单平台入口

必要环境变量

FOFA

fofa-mcp

CN_FOFA_KEY

Quake

quake-mcp

CN_QUAKE_KEY

ZoomEye

zoomeye-mcp

CN_ZOOMEYE_API_KEY

Hunter 个人版

hunter-personal-mcp

CN_HUNTER_PERSONAL_KEY

Hunter 企业版

hunter-enterprise-mcp

CN_HUNTER_ENTERPRISE_KEY

DayDayMap

daydaymap-mcp

CN_DAYDAYMAP_API_KEY

mcp.json.example.env.example 提供了可直接修改的示例。

Hunter 版本路由

聚合入口会按 MCP 子进程实际收到的凭据选择 Hunter 工具族:只配置 CN_HUNTER_ENTERPRISE_KEY 时仅暴露 hunter_enterprise_*,只配置 CN_HUNTER_PERSONAL_KEY 时仅暴露 hunter_personal_*。共享的 CN_HUNTER_KEY 无法表明账户版本,因此会保留两组工具供调用者明确选择;未配置 Hunter Key 时也会保留两组 schema,用于暴露配置要求。

一般只应选择下列一种配置,不要把占位值同时填入三个变量:

账户类型

建议配置

实际暴露的工具

Hunter 企业版

CN_HUNTER_ENTERPRISE_KEY

hunter_enterprise_*

Hunter 个人版

CN_HUNTER_PERSONAL_KEY

hunter_personal_*

旧版共享配置

CN_HUNTER_KEY

两组 Hunter 工具

同时设置共享 CN_HUNTER_KEY 和任一版本专用 Key,也可能使两组工具同时 出现,因此新配置应优先使用版本专用变量。

如果已配置企业版仍提示未配置,请检查 Key 是否放在 MCP 客户端的 mcpServers.<name>.env 中,而不是只存在于另一个终端。环境变量修改后必须重启 MCP 子进程。企业版也可直接使用 hunter-enterprise-mcp,该入口只暴露 6 个企业版工具,能进一步避免 Agent 误选个人版。如果仍调用到错误版本, 返回的 error.type=wrong_hunter_editionerror.details.recommended_tool 会指明已配置版本及 应改用的工具;不应将该错误概括为“Hunter 未配置”。

环境变量

环境变量使用 CN_ 前缀命名规范。

环境变量

说明

CN_FOFA_KEY

FOFA API Key

CN_FOFA_EMAIL

FOFA Email

CN_QUAKE_KEY

360 Quake API Key

CN_ZOOMEYE_API_KEY

ZoomEye API Key

CN_HUNTER_KEY

Hunter 通用 fallback API Key

CN_HUNTER_PERSONAL_KEY

Hunter 个人版 API Key

CN_HUNTER_ENTERPRISE_KEY

Hunter 企业版 API Key

CN_DAYDAYMAP_API_KEY

DayDayMap API Key

API Key 获取入口:

  • FOFA: https://fofa.info

  • Quake: https://quake.360.net

  • ZoomEye: https://www.zoomeye.org

  • Hunter: https://hunter.qianxin.com

  • DayDayMap: https://www.daydaymap.com

工具列表

下表是项目的完整能力集,不代表每个运行实例都会暴露全部工具。Hunter 工具会按 上述凭据版本动态选择,单平台入口则只暴露对应平台的工具。

工具名称

所属平台

说明

fofa_search

FOFA

常规资产搜索

fofa_search_next

FOFA

连续翻页搜索

fofa_search_stats

FOFA

统计聚合

fofa_host

FOFA

Host 聚合

fofa_user_info

FOFA

账号信息

quake_user_info

Quake

用户信息

quake_filterable_fields

Quake

服务数据可筛选字段

quake_service_search

Quake

实时服务搜索

quake_service_scroll

Quake

深度翻页搜索

quake_search

Quake

兼容别名,等同于 quake_service_scroll

quake_aggregation_fields

Quake

聚合字段列表

quake_service_aggregation

Quake

服务聚合查询

zoomeye_user_info

ZoomEye

用户信息、订阅信息和积分情况

zoomeye_search

ZoomEye

付费账号 v2 资产搜索

hunter_personal_search

Hunter 个人版

资产搜索

hunter_personal_batch_create

Hunter 个人版

创建批量任务

hunter_personal_batch_status

Hunter 个人版

查询批量任务状态

hunter_personal_batch_download

Hunter 个人版

下载批量任务结果

hunter_personal_user_info

Hunter 个人版

账号信息

hunter_enterprise_search

Hunter 企业版

资产搜索

hunter_enterprise_batch_create

Hunter 企业版

创建批量任务

hunter_enterprise_batch_status

Hunter 企业版

查询批量任务状态

hunter_enterprise_batch_download

Hunter 企业版

下载批量任务结果

hunter_enterprise_batch_pull

Hunter 企业版

拉取批量任务结果 JSON

hunter_enterprise_user_info

Hunter 企业版

账号信息

daydaymap_search

DayDayMap

资产搜索

工具返回结构化结果:成功时包含 ok=trueplatformdatatext;失败时包含 ok=falseplatformerrormeta.execution 还会返回 request_id、脱敏请求指纹、传输状态、重试安全性、配额风险与数据完整性,便于 AI 区分“确认空结果”与“执行结果未知”。

计费型资产搜索默认使用 retry_mode=safe_only:仅在请求确认未发送的连接或连接池失败时自动重试;写入或读取超时会返回 final_state=indeterminate,不会自动重发。相同指纹的请求在未知状态后 60 秒内会被请求账本抑制;只有明确接受重复扣费风险时才应设置 force_retry=true

资源提示

服务会暴露查询语法和 API 文档资源,URI 前缀为 surveyhub://reference/,例如:

  • surveyhub://reference/fofa-syntax

  • surveyhub://reference/quake-syntax

  • surveyhub://reference/hunter-syntax

  • surveyhub://reference/zoomeye-syntax

  • surveyhub://reference/daydaymap-api

聚合入口额外提供两个 Prompt:

  • surveyhub_search_plan:根据目标和平台生成资产搜索计划

  • surveyhub_query_help:检查并优化指定平台查询语句

请求限制

项目会对可在本地判断的参数做校验或节流。账号等级、积分额度、CSV 文件内容等仍以平台返回为准。

平台

工具

控制方式

FOFA

fofa_search_stats

进程内节流,5 秒/次

FOFA

fofa_host

进程内节流,1 秒/次

FOFA

fofa_search, fofa_search_next

本地校验,返回 bodysize <= 500

FOFA

fofa_search, fofa_search_next

本地校验,返回 certbannersize <= 2000

FOFA

fofa_search, fofa_search_next

不使用未文档化响应字段控制重试;full=true 且供应商未明确确认时,返回 completeness.state=unknown

Quake

全部工具

进程内节流,5 秒/次

Quake

quake_service_search, quake_service_scroll

参数 schema 限制,size <= 500

Quake

quake_service_search, quake_service_scroll

根据官方可筛选字段清单移除非法 include/exclude 字段并返回 warning

Quake

搜索与聚合工具

默认 safe_only 仅重试确认未发送的失败;读/写超时不自动重发,aggressive 模式的多次 HTTP 尝试会返回可能重复消耗配额的 warning

Quake

quake_service_aggregation

本地校验聚合字段最多 2 个,参数 schema 限制 size <= 10000

ZoomEye

zoomeye_search

仅调用付费账号 POST /v2/search,参数 schema 限制 pagesize <= 10000

Hunter 个人版

全部搜索工具

基于 API Key 的 SQLite 跨进程共享节流,1 秒/次

Hunter 个人版

搜索和批量查询语句

默认将 field="value" 转为 field=="value" 精确查询;可用 exact_search=false 保留平台包含语义

Hunter 个人版

批量任务

工具描述提示平台限制:all <= 10ip/domain/company <= 100

Hunter 企业版

全部搜索工具

基于 API Key 的 SQLite 跨进程共享节流,1 秒/次

Hunter 企业版

搜索和批量查询语句

默认将 field="value" 转为 field=="value" 精确查询;可用 exact_search=false 保留平台包含语义

Hunter 企业版

批量任务

工具描述提示平台限制:all <= 10ip/domain/company <= 10000

DayDayMap

daydaymap_search

本地拒绝空白查询;限制 page <= 10000page_size <= 10000page × page_size <= 10000

全部平台

全部 HTTP 请求

进程内熔断保护,连续 3 次可恢复失败后暂停 15 秒

搜索响应的顶层 meta 包含 MCP 实际执行信息,例如 original_queryexecuted_queryattemptspartial_data;顶层 warnings 保留不会使请求失败、但可能影响完整性的供应商或参数提示。

FOFA 和 Quake 的频率控制、以及全部平台的熔断状态保存在单 MCP 进程内;Hunter 频率控制会按 API Key 通过本地 SQLite 在多个 MCP 进程之间共享。

API 文档

已整理的接口文档位于 docs/api/

  • docs/api/fofa_api.md

  • docs/api/quake_api.md

  • docs/api/zoomeye_api.md

  • docs/api/hunter_personal_api.md

  • docs/api/hunter_enterprise_api.md

  • docs/api/daydaymap_api.md

版本发布和迭代记录见 CHANGELOG.md

项目结构

src/
  surveyhub_mcp/
    server.py             # 聚合 MCP 入口
    fofa.py               # FOFA 工具
    quake.py              # Quake 工具
    zoomeye.py            # ZoomEye 工具
    hunter_personal.py    # Hunter 个人版工具
    hunter_enterprise.py  # Hunter 企业版工具
    daydaymap.py          # DayDayMap 工具
    reference.py          # MCP resources 和 prompts
    common.py             # 共享编码、HTTP、错误处理和节流工具

手动编译

uv sync
uv run python -m compileall src/surveyhub_mcp
uv build --wheel

注意事项

本项目仅供学习和技术研究使用,严禁用于任何商业或非法用途。

请只在合法授权范围内使用本项目,并遵守各平台的 API 服务条款和额度限制。

许可证

MIT License,见 LICENSE

Available Tools

26 tools
fofa_hostFOFA Host AggregationB

Get FOFA host aggregation data with /api/v1/host/{host}. Calls are throttled to one request every 1 second in this MCP process.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostYesHost name or IP address, usually an IP.
detailNoSet true to include port product details.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations present, so description carries full burden. It discloses rate limiting and endpoint path, but omits whether the operation is read-only, requires authentication, or has other important behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences with front-loaded purpose and no unnecessary words. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given simple tool with 2 params and output schema, description adequately covers core purpose and adds rate-limit context. Could be enhanced with usage guidance, but fundamentally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds no additional parameter meaning beyond the schema's existing descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves FOFA host aggregation data via a specific endpoint. It uses a direct verb ('Get') and resource, but does not explicitly differentiate from sibling tools like fofa_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Only mentions rate limiting; no guidance on when to choose this tool over siblings or conditions for use. Lacks explicit when-to-use or when-not-to-use instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fofa_search_nextFOFA Continuous SearchB

Search FOFA assets with /api/v1/search/next. Use returned next value for stable continuous pagination over a large result set.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullNoSet true to search all data instead of one-year data.
sizeNoResults per page.
queryYesFOFA query to encode as qbase64.
fieldsNoComma-separated return fields.host,ip,port,domain,title
r_typeNoResponse type. Use "json" for JSON responses.json
next_idNoNext page token returned by the previous response.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It mentions pagination stability but omits details on authentication, rate limits, error handling, or result format. The additional context is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences that front-load the action and key pagination concept. Every sentence earns its place with no redundancy or wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paginated search tool with good schema coverage and an output schema (present but not shown), the description covers the essential pagination mechanism. Missing details like link to initial search could be helpful but not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds little beyond the schema, e.g., 'Encode as qbase64' is already in the schema. No new semantic value provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches FOFA assets using a specific API endpoint and mentions continuous pagination via a 'next' value. This distinguishes it from sibling tools like fofa_search, but does not explicitly differentiate them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when stable continuous pagination over large result sets is needed, but does not provide explicit guidance on when to use this vs. other search tools or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fofa_search_statsFOFA Search StatsA

Aggregate FOFA search results with /api/v1/search/stats. Calls are throttled to one request every 5 seconds in this MCP process. Supported fields: protocol, domain, port, title, os, server, country, asn, org, asset_type, fid, icp.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesFOFA query to encode as qbase64.
fieldsNoComma-separated aggregation fields, for example protocol,domain,port.protocol,domain,port

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears full responsibility for behavioral disclosure. It only mentions a rate limit (throttling) but does not state if the tool is read-only, idempotent, or requires specific authentication. Significant gaps remain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences: first states the purpose, second provides critical usage info (throttling) and supported fields. Front-loaded with essential information, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists (context indicates true), the description need not detail return values. However, it could better explain that the tool provides aggregated statistics or counts per field. The listed fields are helpful, but the aggregation nature is only hinted at.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds value by listing the full set of supported aggregation fields (protocol, domain, port, etc.), which goes beyond the schema's default value and clarifies what fields are valid.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool aggregates FOFA search results using the /api/v1/search/stats endpoint, with a specific verb and resource. It also lists supported fields, distinguishing it from sibling search tools that return raw results or paginate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions throttling but does not explicitly state when to use this tool versus alternatives like fofa_search or other aggregation tools. Usage context is implied through the term 'aggregate' but no direct guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fofa_user_infoFOFA User InfoA

Get FOFA account status, quota, and membership information with /api/v1/info/my.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description implies read-only operation ('get info'), but does not explicitly state safety, authentication needs, or rate limits. Adequate for a simple query with no side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, directly states purpose and API endpoint. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Has output schema, so return values are covered. Description fully explains tool's function. No missing context for a simple 0-param tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters; schema coverage is 100%. Description adds no param info, but none needed. Baseline 4 for zero-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'Get', resource 'FOFA account status, quota, and membership information', and includes API endpoint. Distinguishes from sibling tools which are mostly search or other service user info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use versus alternatives, but context implies it's for retrieving FOFA account info. Sibling tools are different services or search functions, so differentiation is clear without explicit note.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hunter_enterprise_batch_createHunter Enterprise Batch CreateB

Create a Hunter enterprise batch search task with query or CSV file upload.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoHunter query. Required if file_path is not provided.
fieldsNoComma-separated return fields.
is_webNo1=web, 2=non-web.
end_timeNoEnd date in YYYY-MM-DD.
file_pathNoLocal CSV file path. Required if query is not provided.
start_timeNoStart date in YYYY-MM-DD.
search_typeNoCSV search type. Enterprise limits: all <=10; ip/domain/company <=10000.all
status_codeNoComma-separated status codes, for example "200,401".
assets_limitNoExpected exported asset count.
exact_searchNoFor query mode, convert Hunter field="value" fuzzy comparisons to field=="value" exact comparisons by default.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits. It only states the action (create task) but omits details like synchronous/asynchronous behavior, task lifecycle, rate limits, or what happens after creation. The parameter descriptions hint at some constraints (e.g., search_type limits) but the description itself lacks transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence encapsulates the core purpose with no extraneous words. It is front-loaded and efficiently communicates the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 parameters, no output schema, and no annotations, the description is too brief. It fails to explain the return value, how to monitor task progress, or the relationship with batch download/pull tools. More context about the batch workflow is needed for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with each parameter having a description. The description adds minimal value beyond the schema—only hinting at two modes (query vs CSV). Baseline 3 is appropriate as the schema already documents parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates a batch search task using either a query or CSV upload. This distinguishes it from sibling tools like hunter_enterprise_search (direct search) and batch download/status tools. The verb 'Create' and resource 'batch search task' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as hunter_enterprise_search or hunter_personal_batch_create. The description does not mention prerequisites, limitations, or context for choosing between query and file upload modes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hunter_enterprise_batch_downloadHunter Enterprise Batch DownloadA

Download Hunter enterprise batch task export file to output_path.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesTask ID returned by hunter_enterprise_batch_create.
output_pathYesLocal output CSV path.

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must carry the full burden of behavioral disclosure. It only states a download operation without discussing side effects, overwriting behavior, permissions required, or error conditions. This is insufficient for a complete behavioral profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence of 9 words, front-loaded with the action and resource. Every word is necessary; no filler or repetition. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple download tool with two parameters and no output schema, the description covers the essentials. It could mention file format explicitly, but the parameter description implies CSV. The context of being the final step in a batch process is clear enough from the sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters. The description adds marginal value by indicating the source of task_id ('returned by hunter_enterprise_batch_create') and clarifying that output_path is local. However, this does not significantly extend beyond schema information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Download') and the resource ('Hunter enterprise batch task export file') and specifies the target ('to output_path'). It effectively distinguishes from sibling tools like hunter_enterprise_batch_create and hunter_enterprise_batch_status, which handle other lifecycle stages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage after a batch task is created (via 'task_id'), but does not explicitly state when to use this tool over alternatives or exclude inappropriate contexts. No when-not or alternative tool guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hunter_enterprise_batch_pullHunter Enterprise Batch PullB

Pull Hunter enterprise batch task results as JSON. Enterprise-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number.
task_idYesTask ID returned by hunter_enterprise_batch_create.
page_sizeNoResults per page.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It does not disclose behavior such as whether results are only available after task completion, rate limits, or error states. The pagination parameters are documented in schema but not described behaviorally.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: one sentence plus scope qualifier. No wasted words. Could be slightly more informative without losing conciseness, but still well-structured for its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so description should at least hint at return format ('as JSON' helps slightly). However, missing details like whether it returns a list or object, pagination behavior, and handling of incomplete tasks make it incomplete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions (e.g., task_id links to batch_create). The tool description adds no extra semantic value beyond the schema, earning the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Pull') and resource ('batch task results'), and clearly distinguishes from sibling tools like batch_create and batch_status by focusing on results retrieval. 'Enterprise-only' further clarifies scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like hunter_enterprise_batch_download or hunter_enterprise_batch_status. The description only mentions 'Enterprise-only' but doesn't explain prerequisites or ordering relative to other batch operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hunter_enterprise_batch_statusHunter Enterprise Batch StatusA

Get Hunter enterprise batch task progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesTask ID returned by hunter_enterprise_batch_create.

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It only states 'Get ... progress' without explaining that the tool is read-only, whether it can be called multiple times, what happens if the task ID is invalid, or what the response format looks like. This is a significant gap for a tool that checks asynchronous progress.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that captures the essence of the tool with zero wasted words. It is maximally concise while remaining informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (one parameter, no output schema), the description provides minimal but adequate information. However, it does not specify what 'progress' entails (e.g., status enums, completion percentage) or whether the tool returns immediately or waits. This leaves some ambiguity for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters, but the description adds value by specifying that task_id is 'returned by hunter_enterprise_batch_create.' This tells the agent exactly how to obtain a valid task ID, which is more helpful than just the schema type alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Get' and identifies the resource as 'Hunter enterprise batch task progress.' It clearly distinguishes from sibling tools like hunter_enterprise_batch_create, hunter_enterprise_batch_download, and hunter_enterprise_batch_pull, each of which handles different stages of the batch workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Although the description lacks explicit 'when to use' or 'when not to use' statements, the parameter description for task_id states 'Task ID returned by hunter_enterprise_batch_create,' which implies the tool should be used after creating a batch task to check its progress. This provides indirect usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hunter_enterprise_user_infoHunter Enterprise User InfoA

Get Hunter enterprise or sub-account quota and account information.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, and the description does not disclose behavioral traits beyond the basic function. There is no mention of rate limits, authentication requirements, or data volume. For a read-only tool with no parameters, minimal transparency is acceptable, but some additional context would be beneficial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 10 words, containing no waste. It is front-loaded with the action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and no annotations, the description adequately communicates the tool's purpose. However, it could be slightly more detailed about what 'account information' includes, but overall it is complete for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, and the schema description coverage is 100% (empty schema). According to the rubric, 0 parameters yields a baseline of 4. The description does not need to add parameter information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get Hunter enterprise or sub-account quota and account information.' It uses a specific verb ('Get') and identifies the resource ('enterprise or sub-account quota and account information'), which distinguishes it from sibling tools like hunter_personal_user_info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as hunter_personal_user_info for personal accounts. The description does not specify context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hunter_personal_batch_createHunter Personal Batch CreateC

Create a Hunter personal batch search task with query or CSV file upload.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoHunter query. Required if file_path is not provided.
fieldsNoComma-separated return fields.
is_webNo1=web, 2=non-web.
end_timeNoEnd date in YYYY-MM-DD.
file_pathNoLocal CSV file path. Required if query is not provided.
start_timeNoStart date in YYYY-MM-DD.
search_typeNoCSV search type. Personal limits: all <=10; ip/domain/company <=100.all
status_codeNoComma-separated status codes, for example "200,401".
assets_limitNoExpected exported asset count.
exact_searchNoFor query mode, convert Hunter field="value" fuzzy comparisons to field=="value" exact comparisons by default.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description does not disclose behavioral traits such as async nature, rate limits, or what happens after creation (e.g., returns a task ID). It only says 'create' with no further context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single concise sentence that front-loads the action, though it could benefit from a bit more detail without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 parameters, no output schema, and no annotations, the description is too brief. It fails to explain return values, async behavior, or related tools like hunter_personal_batch_status.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already described. The description adds 'with query or CSV file upload', hinting at two modes, but does not add specific parameter semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates a batch search task, distinguishing it from the personal search tool (hunter_personal_search) which likely does single searches, but it does not explicitly contrast with siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use batch vs search, no prerequisites, no mention of when to use query vs file upload, and no alternatives listed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hunter_personal_batch_downloadHunter Personal Batch DownloadB

Download Hunter personal batch task export file to output_path.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesTask ID returned by hunter_personal_batch_create.
output_pathYesLocal output CSV path.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description fails to disclose behavioral traits such as error handling, file overwrite behavior, or network dependencies. The description is too minimal for a download operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence, no wasted words. However, it could be slightly more informative without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and simple tool, the description is too minimal. It does not explain prerequisites (e.g., task must be complete), return value, or error scenarios, leaving agents uninformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no new parameter meaning beyond what the schema already provides (task_id and output_path descriptions are identical).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Download') and resource ('Hunter personal batch task export file'), distinguishing it from siblings like 'hunter_personal_batch_create' and 'hunter_enterprise_batch_download'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., enterprise version), nor any prerequisites like task completion. The description only states the basic operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hunter_personal_batch_statusHunter Personal Batch StatusC

Get Hunter personal batch task progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesTask ID returned by hunter_personal_batch_create.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must inform about behavioral traits. It only says 'Get ... progress' and does not disclose read-only nature, auth requirements, rate limits, or error handling for invalid task IDs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the action and resource. It is concise with no wasted words, though a bit too brief for a complete understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and lack of output schema, the description should mention that it is a polling endpoint for progress tracking. It omits return values, expected polling behavior, and error conditions, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter well-described in the schema as 'Task ID returned by hunter_personal_batch_create.' The description adds no extra meaning beyond the schema, meeting the baseline for high coverage but not compensating for any gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'Hunter personal batch task progress,' making the tool's purpose evident. However, it does not explicitly differentiate from siblings like hunter_enterprise_batch_status, but the name and parameter hint at personal account usage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., enterprise batch status or batch create). The description does not mention polling prerequisites or that the task_id must come from hunter_personal_batch_create, though this is implied by the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hunter_personal_user_infoHunter Personal User InfoA

Get Hunter personal account quota and account information.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It indicates a read-only operation ('Get'), but does not disclose any potential side effects, rate limits, or authentication requirements. For a simple info retrieval, this is adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no extra words. It is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no parameters and no output schema. The description mentions 'account quota and account information' but lacks specifics on the structure of the response. For a simple tool, it is somewhat complete but could be more detailed about what exactly is returned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so per the rubric baseline of 4. The schema coverage is 100% trivially, and the description does not need to add parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the verb 'Get' with a specific resource: 'Hunter personal account quota and account information'. It clearly distinguishes from sibling tools like 'hunter_enterprise_user_info' by specifying 'personal'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternatives are given, but the purpose is straightforward and implied. It might be used when the agent needs account quota or info, but there is no guidance on when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

quake_aggregation_fieldsQuake Aggregation FieldsA

Get Quake service aggregation fields with /api/v3/aggregation/quake_service. Examples: ip, port, service, product, os, asn, org, title, server, app, catalog, type, level, vendor, isp, status_code, powered_by, meta_keywords, page_type, icp, app_and_version, service_and_version, unique_ip, unique_domain, unique_port, unique_product, unique_asn, unique_org, unique_isp, unique_title, unique_server, unique_app, unique_catalog, unique_type, unique_level, unique_vendor, unique_country, unique_province, unique_city, province, province_cn, country, country_cn, country_code, city, city_cn, district, district_cn, province_of_china.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits such as read-only nature, authentication requirements, or rate limits. The simple action of 'getting fields' implies idempotency but is not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence followed by a long list of examples. While the list is extensive, it is informative and does not contain extraneous information. It could be slightly more concise by omitting some examples, but overall acceptable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of parameters and presence of an output schema, the description is largely complete. It explains the purpose and provides example values, though it does not describe the output format or structure, which is provided by the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, the schema covers everything trivially. The description adds value by listing example fields, but this pertains to output rather than parameters. Baseline score of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets Quake service aggregation fields via a specific endpoint and provides numerous examples, distinguishing it from siblings like quake_filterable_fields or quake_service_aggregation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives. It is implied that it provides available fields for aggregation, but no direct comparison or usage context is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

quake_filterable_fieldsQuake Filterable FieldsB

Get Quake service fields usable in include/exclude with /api/v3/filterable/field/quake_service. Examples: components.product_level, components.product_catalog, location.country_cn, domain, service.http.favicon.hash, service.http.host, components.product_vendor, location.city_en, service.http.title, service.name, time, location.isp, transport, location.province_en, components.product_name_cn, asn, location.city_cn, location.province_cn, service.http.status_code, service.http.infomation.mail, org, service.http.icp.main_licence.unit, location.district_cn, service.cert, service.http.server, hostname, service.http.body, components.product_type, location.district_en, service.http.favicon.data, ip, service.http.icp.licence, components.version, location.country_en, port, service.response.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as whether the operation is read-only, requires authentication, or has rate limits. It only describes the output, leaving the agent uninformed about safe usage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence followed by a long list of examples. While it is concise in terms of word count, the example list is lengthy and could be formatted more efficiently (e.g., grouped or truncated). The structure is adequate but not optimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no parameters and an output schema, the description is sufficiently complete. It explains the purpose and provides representative examples of the field names, which is adequate given the tool's low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so the description carries a lower burden. It adds value by listing numerous example field names, providing concrete context beyond the empty schema. This helps the agent understand the type of output expected.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets Quake service fields usable in include/exclude operations. It specifies the endpoint and provides examples. However, it does not explicitly differentiate from sibling 'quake_aggregation_fields', though the context of sibling tools suggests distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lacks guidance on when to use this tool vs alternatives. It mentions fields are usable in include/exclude but does not provide context for when this tool is appropriate or when to use sibling tools like quake_aggregation_fields.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

quake_service_aggregationQuake Service AggregationC

Run Quake service aggregation query with /api/v3/aggregation/quake_service.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleNoService data collection rule name for IP-list collections.
sizeNoAggregation bucket count per field.
queryYesQuake query, for example country:"China".
latestNoWhether to use latest data.
ip_listNoComma-separated IP list.
end_timeNoUTC end time, for example 2020-10-14 00:00:00.
start_timeNoUTC start time, for example 2020-10-14 00:00:00.
ignore_cacheNoWhether to ignore cached data.
aggregation_listYesOne or two comma-separated aggregation fields, for example service or country,service.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It only states the action without disclosing side effects, authentication needs, or data behavior (e.g., whether data is cached or time-bound).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but lacks structure. It does front-load the action but omits any useful detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters and an output schema, the description fails to explain return values, when to use aggregation vs. other searches, or how to interpret results. It is notably incomplete for a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all parameters. The description adds no additional meaning beyond the tool name and endpoint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs a Quake service aggregation query and includes the API endpoint. However, it does not differentiate it from sibling tools like quake_search or quake_aggregation_fields.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as quake_search or quake_service_scroll. No context about prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

quake_service_scrollQuake Service ScrollA

Run deep-pagination Quake service search with /api/v3/scroll/quake_service. Use meta.pagination_id from the response as pagination_id for the next page.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleNoService data collection rule name for IP-list collections.
sizeNoResults per page.
queryYesQuake query, for example service:http or port:443 AND country:"China".
latestNoWhether to use latest data.
excludeNoComma-separated fields to exclude.
includeNoComma-separated fields to include.
ip_listNoComma-separated IP list.
end_timeNoUTC end time, for example 2020-10-14 00:00:00.
shortcutsNoComma-separated shortcut filter IDs from the web UI.
start_timeNoUTC start time, for example 2020-10-14 00:00:00.
ignore_cacheNoWhether to ignore cached data.
pagination_idNoPagination ID from previous response. Expires in 5 minutes.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided. The description mentions pagination_id usage but omits key behavioral details like the 5-minute expiration (only present in parameter description), rate limits, or any side effects. For a tool with no annotations, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero fluff. Every word adds value—action, resource, and pagination workflow in a compact form.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists and the schema covers parameters, the description's emphasis on the pagination flow is appropriate. However, it could mention that this tool is for iterating large result sets requiring multiple requests.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already well-described. The tool description adds no additional meaning beyond what the schema provides, meeting the baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action is 'deep-pagination Quake service search' and specifies the REST endpoint. This distinguishes it from sibling tools like quake_service_search, which likely handles single-page results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains how to paginate (using pagination_id from response) but does not explicitly state when to use this tool over alternatives like quake_service_search. It assumes the agent understands 'deep-pagination' context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

quake_user_infoQuake User InfoB

Get Quake user details, quota, token, and role information with /api/v3/user/info.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Only states 'Get' implying read-only, but no details on authentication, rate limits, or data freshness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence including API endpoint, concise and front-loaded. Slightly more detail could be added without harming conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool is simple with no parameters and output schema exists. Description covers basic purpose but lacks depth in behavioral context (e.g., auth requirements).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so baseline is 4. Description adds value by listing what is returned (details, quota, token, role) beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'Get' and the resource 'Quake user details, quota, token, and role information'. It distinguishes from sibling search tools and other platform user info tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. For a simple info retrieval, usage is implied but could be improved by mentioning it's for account-related queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

zoomeye_user_infoZoomEye User InfoA

Get paid-account subscription and points information with POST /v2/userinfo.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It indicates a read operation ('Get'), which is non-destructive, but does not disclose authentication requirements, idempotency, or rate limits. For a simple info tool, this is minimally adequate but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no superfluous words. It immediately states the action and resource, ensuring clarity without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential action and resource, and an output schema is provided. It does not mention related tools or prerequisites (e.g., needing a paid account), but for a simple info endpoint with no parameters, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the description does not need to add parameter meaning. The baseline for zero parameters is 4, and the description correctly focuses on the tool's action without missing parameter information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get', the resource 'paid-account subscription and points information', and the HTTP method and path 'POST /v2/userinfo'. It unambiguously identifies the tool's purpose and distinguishes it from siblings like zoomeye_search and other service info tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool vs alternatives or provide context on usage. However, the tool's name and description imply it is for retrieving account information, so usage context is inferred but not explicitly guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 26 tool updatesv1.17.0
    • First observeddaydaymap_search
    • First observedfofa_host
    • First observedfofa_search
    • First observedfofa_search_next
    • First observedfofa_search_stats
    • First observedfofa_user_info
    • First observedhunter_enterprise_batch_create
    • First observedhunter_enterprise_batch_download
    • First observedhunter_enterprise_batch_pull
    • First observedhunter_enterprise_batch_status
    • First observedhunter_enterprise_search
    • First observedhunter_enterprise_user_info
    • First observedhunter_personal_batch_create
    • First observedhunter_personal_batch_download
    • First observedhunter_personal_batch_status
    • First observedhunter_personal_search
    • First observedhunter_personal_user_info
    • First observedquake_aggregation_fields
    • First observedquake_filterable_fields
    • First observedquake_search
    • First observedquake_service_aggregation
    • First observedquake_service_scroll
    • First observedquake_service_search
    • First observedquake_user_info
    • First observedzoomeye_search
    • First observedzoomeye_user_info

TDQS

B3.2/5.0
Disambiguation4/5

Tools are clearly grouped by platform (fofa, hunter, quake, zoomeye, daydaymap), making them distinct. Minor confusion arises from quake_search being an alias for quake_service_scroll, and similar patterns across platforms (e.g., user_info), but overall an agent can differentiate.

Naming Consistency4/5

Naming follows a consistent platform_action pattern (e.g., fofa_search, hunter_enterprise_search). Inconsistencies include quake_search as an alias and variations like service_search vs. service_scroll, but the system is largely predictable.

Tool Count4/5

26 tools is slightly high but appropriate given the aggregation of five different search engines, each requiring multiple operations (search, user info, aggregation, batch). The count reflects the breadth of the domain without being excessive.

Completeness4/5

The toolset covers the essential lifecycle for asset intelligence search: query, pagination, aggregation, and account info across multiple platforms. Minor gaps exist, like missing user info for DayDayMap, but core workflows are complete.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that enables AI models to query FOFA, 360 Quake, and Hunter cyberspace mapping platforms for asset discovery and security research. It supports natural language parameter configuration and provides comprehensive search tools for retrieving IP, port, and domain data.
    3
    6
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Unified vulnerability search MCP server for penetration testing agents, integrating 5 data sources (NVD, OSV, EPSS, CISA KEV, Exploit-DB+GitHub) and 10 MCP tools for CVE query, keyword search, batch query, EPSS scoring, KEV checking, exploit search, and comprehensive assessment with Chinese output.
    2
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/helGayhub233/SurveyHub-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server