Skip to main content
Glama
pushplus

PushPlus MCP Server

Official
by pushplus

pushplus mcp server

一个基于 Model Context Protocol (MCP) 的 pushplus 推送服务器,让 AI 助手能够通过 pushplus 发送推送消息到微信、邮箱等渠道。

🎉 现已发布到 NPM!
可直接通过 npm install -g @perk-net/pushplus-mcp-server 安装使用,无需下载源码。

📋 目录

Related MCP server: MCP-Pushover Bridge

功能特性

  • 🚀 完整的 MCP 支持: 实现 Model Context Protocol 规范

  • 📱 多渠道推送: 支持微信、QQ机器人、邮箱、短信、企业微信等多种推送渠道

  • 🎨 多种消息格式: 支持 HTML、Markdown、纯文本、JSON 等格式

  • 🔧 灵活配置: 支持环境变量配置,便于部署

  • 🛡️ 类型安全: 使用 TypeScript 开发,提供完整的类型支持

  • 📊 状态监控: 提供服务器状态和配置信息查询

  • 🧪 测试友好: 内置配置测试和消息发送测试

🚀 快速开始

方式一:从 NPM 安装(推荐)

npm install -g @perk-net/pushplus-mcp-server

安装完成后,pushplus-mcp 命令将全局可用。

优势:

  • ✅ 安装简单,一条命令搞定

  • ✅ 自动处理依赖关系

  • ✅ 支持全局命令行工具

  • ✅ 无需下载源码

方式二:从源码构建

如果您需要修改代码或进行开发:

# 克隆项目
git clone https://github.com/pushplus/pushplus-MCP-Server-TypeScript.git
cd pushplus-MCP-Server-TypeScript

# 安装依赖
npm install

# 构建项目
npm run build

# 测试配置
npm run test

适用场景:

  • 🛠️ 需要自定义功能

  • 🔧 参与项目开发

  • 📊 需要调试详细日志

获取 pushplus token

  1. 访问 pushplus 官网

  2. 微信扫码登录

  3. 在个人中心获取您的 Token

测试配置

# 设置环境变量
export PUSHPLUS_TOKEN=your_pushplus_token_here

# 测试配置
pushplus-mcp --test

如果配置正确,您会收到一条测试推送消息!

集成到 Claude Desktop

  1. 打开 Claude Desktop 设置 → Developer → Edit Config

  2. 添加配置(根据您的操作系统选择):

NPM 安装用户 - Windows:

{
  "mcpServers": {
    "pushplus": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "@perk-net/pushplus-mcp-server"
      ],
      "env": {
        "PUSHPLUS_TOKEN": "您的Token",
        "PUSHPLUS_SECRET_KEY": "您的SecretKey"
      }
    }
  }
}

NPM 安装用户 - Mac/Linux:

{
  "mcpServers": {
    "pushplus": {
      "command": "npx",
      "args": [
        "-y",
        "@perk-net/pushplus-mcp-server"
      ],
      "env": {
        "PUSHPLUS_TOKEN": "您的Token",
        "PUSHPLUS_SECRET_KEY": "您的SecretKey"
      }
    }
  }
}

源码构建用户:

{
  "mcpServers": {
    "pushplus": {
      "command": "node",
      "args": ["/path/to/pushplus-mcp-server/dist/index.js"],
      "env": {
        "PUSHPLUS_TOKEN": "您的Token",
        "PUSHPLUS_SECRET_KEY": "您的SecretKey"
      }
    }
  }
}

配置文件位置:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  1. 重启 Claude Desktop

开始使用!

在 Claude 中说:

"请发送一条测试推送消息到我的微信"

🎉 恭喜!您已成功设置 pushplus mcp server!

📝 配置说明:当您在 Claude Desktop 配置中设置了 env.PUSHPLUS_TOKEN 后,就不需要创建 .env 文件了。MCP 服务器会自动读取通过 Claude Desktop 传递的环境变量。

📱 功能使用

可用工具

1. send_push_message - 发送推送消息

完整的推送消息工具,对齐最新 /send 接口:

{
  "content": "消息内容(必填)",
  "title": "消息标题(可选)",
  "icon": "消息图标(可选)",
  "template": "html",
  "channel": "wechat",
  "topic": "群组编码(可选)",
  "to": "好友令牌(可选)",
  "pre": "预处理编码(可选,仅供会员使用)",
  "webhook": "webhook编码(可选,非URL)",
  "option": "渠道配置参数(可选,与webhook等价)",
  "callbackUrl": "回调地址(可选)",
  "timestamp": "1632993318000",
  "pushId": "form/doc/excel/webdiff 模板必填"
}

2. send_text_message - 发送文本消息

快速发送纯文本消息:

{
  "content": "纯文本内容",
  "title": "消息标题(可选)",
  "topic": "群组编码(可选)",
  "to": "好友令牌(可选)",
  "pre": "预处理编码(可选)",
  "channel": "wechat"
}

3. send_html_message - 发送HTML消息

发送带有 HTML 格式的消息:

{
  "content": "<h1>HTML内容</h1><p>支持HTML标签</p>",
  "title": "消息标题(可选)",
  "topic": "群组编码(可选)",
  "to": "好友令牌(可选)",
  "pre": "预处理编码(可选)",
  "channel": "wechat"
}

4. send_markdown_message - 发送Markdown消息

发送 Markdown 格式的消息:

{
  "content": "# Markdown标题\n\n支持**粗体**和*斜体*",
  "title": "消息标题(可选)",
  "topic": "群组编码(可选)",
  "to": "好友令牌(可选)",
  "pre": "预处理编码(可选)",
  "channel": "wechat"
}

5. send_json_message - 发送JSON消息

发送 JSON 格式的消息:

{
  "content": "{\"data\": \"JSON格式内容\"}",
  "title": "消息标题(可选)",
  "topic": "群组编码(可选)",
  "to": "好友令牌(可选)",
  "pre": "预处理编码(可选)",
  "channel": "wechat"
}

6. batch_send_message - 多渠道批量发送

对应 /batchSend 接口,可同时向多个渠道发送:

{
  "content": "消息内容",
  "channel": "wechat,mail,webhook",
  "option": ",,webhook编码",
  "title": "消息标题(可选)",
  "template": "html",
  "pushId": "form/doc/excel/webdiff 模板必填"
}

7. 开放接口工具(open_*)

配置 PUSHPLUS_TOKEN + PUSHPLUS_SECRET_KEY 后可用,覆盖全部 /open/** 接口,命名规则:open_<模块>_<动作>。PUSHPLUS_TOKEN 与发送消息使用同一 token。

模块

示例工具

auth

open_get_access_key

user

open_user_my_info / open_user_token / open_user_send_count

message

open_message_list / open_message_send_result / open_message_delete

token

open_token_list / open_token_add / open_token_edit / open_token_delete

topic

open_topic_list / open_topic_add / open_topic_detail 等

topicUser

open_topic_user_subscriber_list / open_topic_user_add_blacklist 等

friend

open_friend_list / open_friend_add_blacklist 等

webhook

open_webhook_list / open_webhook_add 等

setting

open_setting_list_user_default 等

pre

open_pre_list / open_pre_test 等

forwardRule

open_forward_rule_list / open_forward_rule_add / open_forward_rule_test / open_forward_rule_save_setting 等

forwardLog

open_forward_log_list / open_forward_log_detail

channel

open_mail_list / open_mp_list / open_cp_list

clawBot

open_clawbot_bot_info / open_clawbot_get_msg 等

cmcc

open_cmcc_bind / open_cmcc_info / open_cmcc_unbind / open_cmcc_test

qqBot

open_qqbot_my_bots / open_qqbot_get_bind_link / open_qqbot_bot_info / open_qqbot_set_default / open_qqbot_group_list / open_qqbot_list / open_qqbot_add / open_qqbot_custom_bot_preview / open_qqbot_custom_bot_add / open_qqbot_custom_bot_delete 等(绑定类接口支持 botAppId 指定自有机器人)

file/image

open_file_upload_image / open_user_image_list

pay

open_pay_transfer_order(高风险)

说明:

  • 开放接口实际地址形如 https://www.pushplus.plus/api/open/...;发送接口仍为 /send

  • MCP 会自动换取并缓存 access-key(提前约 60 秒刷新)

  • PUSHPLUS_TOKEN 须为用户 token(开放接口不支持消息 token)

  • 使用前需在官网开启开放接口并配置安全 IP

  • 各 open_* 工具请求/响应字段说明对齐官方文档:https://www.pushplus.plus/doc/guide/openApi.html

  • 删除/提现/解绑等工具 description 中标注「高风险」

可用资源

1. pushplus://status - 服务器状态

获取服务器运行状态和配置信息

2. pushplus://templates - 支持的模板

获取所有支持的消息模板类型

3. pushplus://channels - 支持的渠道

获取所有支持的推送渠道信息

支持的消息模板

模板类型

描述

备注

html

HTML格式消息

默认模板

txt

纯文本消息

json

JSON格式消息

markdown

Markdown格式消息

cloudMonitor

阿里云监控报警定制模板

jenkins

Jenkins插件定制模板

route

路由器插件定制模板

pay

支付成功通知模板

order

订单支付成功模板

verify

实名认证模板

form

表单格式模板

需传 pushId

doc

文档格式模板

需传 pushId

excel

表格格式模板

需传 pushId

webdiff

网页差异对比模板

需传 pushId

支持的推送渠道

渠道类型

描述

备注

wechat

微信公众号推送

默认渠道

webhook

第三方webhook推送

传 webhook/option 编码(非URL)

cp

企业微信应用推送

需要配置企业微信应用

mail

邮箱推送

需要绑定邮箱

sms

短信推送

需要绑定手机号

voice

语音推送

需要绑定手机号

extension

浏览器插件推送

app

App推送

需要先登录App

clawbot

微信ClawBot推送

需要配置ClawBot

cmcc

新消息ClawBot推送

仅支持中国移动;需先绑定 Channel API Key;不填 option

qq

QQ机器人推送

需先绑定(支持官方机器人和自有机器人);不填 option 由默认机器人发给自己,填配置编码发到对应QQ群或用指定机器人发给自己

🛠️ 命令行工具

NPM 安装用户

# 显示帮助信息
pushplus-mcp --help

# 显示版本信息
pushplus-mcp --version

# 测试配置(包含发送测试消息)
pushplus-mcp --test

# 显示当前配置
pushplus-mcp --config

# 启动服务器(默认命令)
pushplus-mcp

源码构建用户

# 显示帮助信息
node dist/index.js --help

# 显示版本信息
node dist/index.js --version

# 测试配置(包含发送测试消息)
npm run test

# 显示当前配置
node dist/index.js --config

# 启动服务器(默认命令)
npm start

# 开发模式
npm run dev

# 监听模式构建
npm run watch

环境变量

变量名

描述

默认值

必需

PUSHPLUS_TOKEN

用户 Token(发送与开放接口共用)

-

✅

PUSHPLUS_SECRET_KEY

开放接口 secretKey

-

调用 open_* 时需要

PUSHPLUS_BASE_URL

API 根地址

https://www.pushplus.plus

❌

PUSHPLUS_OPEN_API_PREFIX

开放接口前缀(发送不走此前缀)

/api

❌

MCP_SERVER_NAME

MCP 服务器名称

pushplus-mcp-server

❌

MCP_SERVER_VERSION

MCP 服务器版本

1.1.0

❌

DEFAULT_TEMPLATE

默认消息模板

html

❌

DEFAULT_CHANNEL

默认推送渠道

wechat

❌

DEBUG

调试模式

false

❌

📖 使用示例

1. 基本文本推送

在 Claude 中询问:

请使用 pushplus 发送一条测试消息,标题是"测试消息",内容是"这是一条来自 Claude 的测试消息"

Claude 会调用 send_text_message 工具发送纯文本消息。

2. HTML 格式推送

请发送一条 HTML 格式的消息,标题"系统通知",内容包含:
- 一个标题
- 一个列表
- 一些样式

Claude 会调用 send_html_message 工具发送带样式的消息。

3. Markdown 格式推送

请发送一条 Markdown 格式的消息,包含代码块和表格

Claude 会调用 send_markdown_message 工具发送 Markdown 格式的消息。

4. JSON 格式推送

请发送一条 JSON 格式的消息,标题"API响应",内容为用户数据的JSON格式

Claude 会调用 send_json_message 工具发送 JSON 格式的消息,适合发送结构化数据。

5. 自定义参数推送

请使用完整参数发送推送消息:
- 标题:重要通知
- 内容:HTML 格式的内容
- 推送渠道:微信
- 群组:开发团队
- 好友令牌:指定接收人

Claude 会调用 send_push_message 工具,使用所有可用参数。

6. 好友推送

请发送消息给特定好友,使用好友令牌:token1,token2

使用 to 参数可以指定具体的接收人,支持多人推送(逗号分隔)。

7. 理解响应结果

⚠️ 重要说明:HTTP 请求成功(状态码 200)并不代表消息发送成功,只是表示请求已被服务器接收处理。

响应结果解释

当您发送消息后,会收到如下格式的响应:

{
  "code": 200,
  "msg": "请求成功",
  "data": "abc123def456"
}

字段说明:

  • code: HTTP 响应状态码

    • 200: 请求成功被服务器接收

    • 其他值: 请求失败,需检查参数或配置

  • msg: 服务器返回的消息说明

  • data: 📋 流水号(重要!)- 这是消息的唯一标识符,可用于后续查询消息发送状态

  • count: 消息发送数量

📌 注意事项:

  • 收到 code: 200 只表示服务器接受了推送请求

  • 实际的消息发送可能需要一些时间完成

  • 如需确认消息是否真正送达,请保存返回的 data(流水号)用于后续状态查询

8. 查询服务器状态

询问 Claude:

请查看 pushplus mcp server 的状态信息

Claude 会读取 pushplus://status 资源,显示服务器状态。

9. 查看支持的功能

询问 Claude:

pushplus 支持哪些消息模板?

Claude 会读取 pushplus://templates 资源,显示所有支持的模板类型。

询问 Claude:

pushplus 支持哪些推送渠道?

Claude 会读取 pushplus://channels 资源,显示所有支持的推送渠道。

🔍 故障排除

常见问题

1. Token 无效

❌ 配置验证失败: PUSHPLUS_TOKEN 格式不正确,应为32位字符串

解决方案:

  • 检查您的 pushplus token 是否正确,Token 应该是32位的字母数字组合

  • 确认 Token 是否有效且有足够的推送额度

2. 推送失败

❌ 发送失败: HTTP请求失败: 400 Bad Request

解决方案:

  • 检查消息内容是否符合格式要求

  • 确认 Token 有效且有足够的推送额度

  • 检查网络连接

  • 确认消息标题不超过100字符

3. 理解响应状态

✅ HTTP请求成功
📊 响应详情:
- 状态码: 200
- 消息: 请求成功
- 📋 流水号: abc123def456 (重要!可用于查询消息发送状态)
- 计数: 1
⚠️ 注意:HTTP请求成功不代表消息已送达,实际发送可能需要一些时间。

说明:

  • 状态码 200 表示服务器成功接收了推送请求

  • 流水号 是消息的唯一标识符,请妥善保存用于后续查询

  • 消息实际送达可能需要几秒到几分钟的时间

  • 如需确认消息是否真正送达,可使用流水号查询消息状态

4. 配置文件问题

❌ 配置验证失败: 缺少 PUSHPLUS_TOKEN 环境变量

解决方案:

  • 确保 .env 文件存在并包含正确的配置

  • 或者通过环境变量直接设置 PUSHPLUS_TOKEN(如 Claude Desktop 配置)

  • 检查环境变量是否正确传递到 MCP 服务器

5. MCP 连接失败

解决方案:

  • 确认 Claude Desktop 配置正确

  • 检查命令和参数是否正确

  • 重启 Claude Desktop

  • 确认 NPM 包已正确安装

6. NPM 包无法找到

解决方案:

# 重新安装
npm uninstall -g @perk-net/pushplus-mcp-server
npm install -g @perk-net/pushplus-mcp-server

# 验证安装
pushplus-mcp --version

👨‍💻 开发

项目结构

pushplus-mcp-server/
├── src/
│   ├── index.ts          # 程序入口
│   ├── server.ts         # MCP 服务器实现
│   ├── pushplus.ts       # pushplus API 客户端
│   └── config.ts         # 配置管理
├── dist/                 # 编译输出目录
├── package.json          # 项目配置
├── tsconfig.json         # TypeScript 配置
└── README.md            # 项目文档

开发脚本

# 构建项目
npm run build

# 监听模式构建
npm run watch

# 清理构建文件
npm run clean

# 重新构建
npm run rebuild

# 开发模式(构建并启动)
npm run dev

TypeScript 支持

项目使用 TypeScript 开发,提供完整的类型支持:

  • 严格类型检查: 启用 TypeScript 严格模式

  • Zod 验证: 使用 Zod 进行运行时类型验证

  • 完整类型定义: 所有 API 和配置都有完整的类型定义

贡献指南

  1. Fork 项目

  2. 创建功能分支

  3. 提交更改

  4. 推送到分支

  5. 创建 Pull Request

许可证

MIT License - 详见 LICENSE 文件

相关链接


🎉 享受使用 pushplus mcp server!

如有问题,欢迎提交 Issue 或 Pull Request

Available Tools

107 tools
batch_send_message多渠道批量发送消息A

通过 pushplus /batchSend 接口同时向多个渠道发送消息。channel 用逗号隔开(最多5个),option 与 channel 一一对应。form/doc/excel/webdiff 模板必须传 pushId。

NameRequiredDescriptionDefault
toNo好友令牌,多人用逗号隔开
preNo预处理编码,仅供会员使用
iconNo消息图标
titleNo消息标题
topicNo群组编码,不填仅发送给自己;channel为webhook时无效
optionNo渠道配置参数(原webhook参数),多个渠道时用逗号隔开,与channel一一对应。如:",config1,"
pushIdNoform/doc/excel/webdiff 模板必填的详情页ID
channelNo发送渠道,多个用逗号隔开。如:"wechat,webhook,mail"wechat
contentYes具体消息内容,根据不同template支持不同格式
templateNo发送模板
timestampNo毫秒时间戳。服务器时间戳大于此时间戳,则消息不会发送
callbackUrlNo发送结果回调地址

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It adds useful behavioral details: batch semantics, comma-separated channels, the 5-channel maximum, one-to-one option mapping, and pushId requirements. But it does not disclose failure behavior, partial-send outcomes, return value shape, or any authorization/rate-limit considerations.

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 three short sentences with no filler. The primary action is front-loaded, and the key constraints are stated directly and compactly.

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?

This is a 12-parameter tool with no annotations and no output schema, yet the description only elaborates channel, option, and pushId. It omits guidance around result/error responses, how content interacts with templates, timestamp/callback behavior, and prerequisites for successful batch sending—leaving a significant completeness gap for an agent invoking it correctly.

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 coverage is 100%, so the baseline is 3. The description adds value beyond the schema by clarifying the 5-channel maximum, the strict one-to-one matching between channel and option, and the pushId requirement for specific templates—details not fully captured in the input 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 the action: using the pushplus /batchSend interface to send messages to multiple channels at once. This distinguishes it from the single-message sibling tools (send_text_message, send_push_message, etc.) by emphasizing multi-channel batch behavior, though it does not explicitly name the alternatives.

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?

Usage context is implied: it is for multi-channel batch sends, with concrete constraints such as a 5-channel limit, comma-separated channels, option-to-channel pairing, and mandatory pushId for certain templates. However, it never explicitly says when to prefer this tool over the single-send siblings 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.

open_clawbot_bot_infoClawBot 绑定详情A

GET /open/clawBot/botInfo - 获取已绑定机器人详情。 请求参数: 无。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: createTime(绑定时间), haveContextToken(是否有对话令牌)。

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/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 behavioral burden. It clarifies that the operation is a GET with no request parameters and describes the unified response shape, which implies a read-only info lookup. However, it does not explicitly state side-effect safety, preconditions, or error behavior beyond the generic code field.

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 compact and front-loaded with the resource and action. Every sentence adds meaningful information: endpoint, purpose, parameter absence, and response structure, with no filler or repetition.

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?

With no output schema, the description appropriately documents the unified response and the two data fields. It is sufficient for a zero-parameter, simple info query, though it could be slightly stronger by stating the expected data types for createTime and haveContextToken.

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 is an empty object, so there are no parameters to document. The description reinforces this with '请求参数: 无' (no request parameters), which removes any ambiguity for the agent.

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 states the HTTP method and exact endpoint, then gives a clear verb-resource pair: '获取已绑定机器人详情' (get bound bot details). This is specific enough to distinguish it from sibling ClawBot tools like qrcode, message, or unbind operations.

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?

There is no guidance about when to choose this tool over alternatives. It does not mention related sibling tools such as open_clawbot_get_msg or open_qqbot_bot_info, nor any conditions that would make this the right call.

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

open_clawbot_get_bot_qrcodeClawBot 绑定二维码A

GET /open/clawBot/getBotQrcode - 获取微信 ClawBot 绑定二维码。 请求参数: 无。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: url(二维码地址), qrcode(二维码编号,用于查询扫码状态)。

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavior disclosure. It discloses the HTTP method, the fact that no parameters are needed, the unified response envelope, and the semantic difference between url and qrcode. However, it does not mention authentication requirements, failure modes, or whether any side effects occur, which leaves some behavioral uncertainty.

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 compact, well-structured, and front-loaded with the endpoint and purpose. Every sentence adds useful information: endpoint, purpose, parameter count, unified response format, and data field meanings. There is no redundancy or filler.

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 zero-parameter GET tool with no output schema and no annotations, the description adequately covers the endpoint, request expectations, and response structure including the meaning of the data fields. It stops short of documenting error cases beyond the generic code/msg envelope, but this is a minor gap for such a simple 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?

There are zero parameters, and the description explicitly confirms this with '请求参数: 无.' Since there are no parameters to document, the explicit no-parameter statement adds clarity beyond the empty schema and earns above the baseline for a schema-covered case.

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 names a specific verb and resource: '获取微信 ClawBot 绑定二维码' via GET /open/clawBot/getBotQrcode. This clearly distinguishes the tool's role from sibling tools like open_clawbot_get_qrcode_status, and the mention that qrcode is for querying scan status reinforces the distinction without ambiguity.

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 provides no explicit guidance about when to use this tool versus alternatives such as open_clawbot_get_qrcode_status or open_friend_get_qr_code. It states that there are no request parameters and describes the response, but it never says 'use this when you need the binding QR code' or 'use the status tool to check after scanning.'

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

open_clawbot_get_msgClawBot 获取发送消息A

GET /open/clawBot/getMsg - 获取 ClawBot 侧消息(可能耗时较长)。 请求参数: 无。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 数组,项含 type(1文字/3语音), text(消息内容)。

NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description itself carries the burden. It explicitly warns that the call '可能耗时较长' (may take a long time), and it describes the unified response envelope and data item shape. This covers the main non-obvious behavior for a no-parameter GET operation.

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 compact and logically ordered: endpoint, behavior warning, parameters, and response format. Every clause conveys useful information and nothing is redundant.

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?

For a simple parameter-free retrieval tool with no output schema, the description is complete: it states the resource, latency risk, and the exact response structure including success code and item type/text fields. No additional context is necessary to invoke it correctly.

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 zero parameters and the schema already reflects that. The description confirms '请求参数: 无' and adds no misleading parameter expectations, which satisfies the baseline for a parameter-free 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?

The description uses a specific verb ('获取' / get) and resource ('ClawBot 侧消息'), and names the exact HTTP endpoint. This is distinct from sibling tools such as open_clawbot_get_bot_qrcode or open_clawbot_unbind, so an agent can tell what it operates on.

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 gives no when-to-use guidance and does not mention alternatives or exclusions. With many sibling message/message-list tools (e.g. open_message_list), an agent gets no explicit help choosing this tool over them.

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

open_clawbot_get_qrcode_statusClawBot 扫码结果查询A

GET /open/clawBot/getQrcodeStatus - 查询扫码绑定状态。 请求(url): qrcode(二维码编号,必填;来自 getBotQrcode 的 data.qrcode)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
qrcodeYes二维码编号(getBotQrcode 返回的 qrcode)

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It discloses an HTTP GET operation, a non-mutating query intent, and gives the unified response envelope with code, msg, and data. This is useful transparency, though it stops short of explaining specific status values or error 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?

The description is compact and well structured: operation first, then parameter explanation, then response format. Every sentence adds information, with no filler or repetition of schema details beyond the necessary connection to getBotQrcode.

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?

For a one-parameter GET query, the description covers the required input, its source, and a generic response envelope. However, without an output schema, the core value—what the binding status data actually contains or what possible values appear—is left to the vague 'data(业务数据)', so an agent cannot fully interpret the result.

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 the schema already documents qrcode as '二维码编号(getBotQrcode 返回的 qrcode)'. The description mostly restates this and adds that it is required, which is already encoded in the schema. The value-add is minimal but consistent.

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 operation: '查询扫码绑定状态' (query scan-binding status) on a specific ClawBot resource, and includes the exact HTTP path. It also references getBotQrcode as the source of the qrcode parameter, which indirectly distinguishes it from the QR-code generation sibling, though it does not explicitly name the alternative.

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 when to use the tool by noting that qrcode comes from getBotQrcode's data.qrcode, suggesting this status-check call follows QR-code generation. However, it does not explicitly state when to choose this over sibling tools such as open_clawbot_unbind or open_clawbot_get_msg, nor does it provide when-not-to-use guidance.

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

open_clawbot_unbind解绑 ClawBotA

GET /open/clawBot/unbind - 高风险:解绑微信 ClawBot。 请求参数: 无。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does flag the operation as high-risk and states the response envelope (code, msg, data), but it does not disclose the actual consequences of unbinding, such as whether it is irreversible, whether the bot disconnects immediately, or what side effects occur.

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 compact and front-loaded, covering endpoint, risk level, absence of parameters, and response format in a few clauses. No filler or redundant explanation is present.

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?

For a 0-parameter tool, the description is mostly adequate: it gives the endpoint, risk flag, and unified response shape. However, given that this is a high-risk unbind operation with no annotations, it should explain what 'unbind' actually does and what the agent should expect afterward.

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 zero parameters, and the schema confirms this. The description explicitly states '请求参数: 无', so there is no parameter semantics burden beyond confirming the absence of inputs.

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 states a specific verb ('解绑' / unbind), an explicit HTTP endpoint, and the target resource ('微信 ClawBot'). This clearly distinguishes it from sibling tools like open_qqbot_unbind or other ClawBot utilities.

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 provides no when-to-use guidance or exclusions. It warns '高风险' but does not explain under what circumstances unbinding is appropriate, nor does it mention alternatives such as open_qqbot_unbind for the QQBot equivalent.

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

open_cmcc_bind绑定新消息ClawBotA

POST /open/cmcc/bind - 绑定新消息ClawBot。 请求(body): apiKey(必填;中国移动新消息 Channel API Key,必须以 ak_ 或 app_ 开头)。 需先在手机 5G 消息「新消息ClawBot」应用号中获取 API Key。仅支持中国移动用户。 绑定成功后可用 /send 且 channel=cmcc,无需 option。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
apiKeyYes中国移动新消息 Channel API Key,必须以 ak_ 或 app_ 开头

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral burden. It discloses the authentication requirement, user restriction, binding consequence, and unified response format. It does not cover repeated-binding behavior or side effects, but key behavioral information is present.

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 compact and well-structured: endpoint, parameter, prerequisites, support scope, postcondition, and response format. Every sentence adds useful information with no filler.

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?

For a simple one-parameter binding operation with no output schema, the description covers the request shape, prerequisites, restrictions, success consequence, and response envelope. Nothing critical is missing for an agent to invoke it correctly.

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?

The input schema already documents apiKey with 100% coverage including the required prefix constraint. The description adds the source of the API Key and emphasizes that it is required, providing marginal value beyond the schema. Baseline 3 is appropriate.

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 starts with 'POST /open/cmcc/bind - 绑定新消息ClawBot', stating a specific action (bind) and a specific resource (China Mobile new-message ClawBot). It is clearly distinguishable from sibling tools like open_cmcc_unbind, open_cmcc_test, and open_cmcc_info.

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?

The description provides clear prerequisites (obtain API Key from the 5G message app), a support restriction (China Mobile users only), and postconditions (can use /send with channel=cmcc). It does not explicitly name alternative tools or when not to use this tool, but the usage context is well defined.

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

open_cmcc_info查询新消息ClawBot绑定状态A

GET /open/cmcc/info - 查询新消息ClawBot绑定状态。 请求参数: 无。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: bound(0未绑定/1已绑定), apiKeyMasked(脱敏后的API Key), createTime(绑定时间)。

NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/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 burden of behavioral disclosure. It discloses the HTTP method, response envelope (code/msg/data), and data field semantics including bound=0/1 and masked API key. However, it does not mention authentication requirements, error behavior beyond 200 success, or explicitly state that this is a read-only operation.

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 compact and well-structured: endpoint, no-parameter note, unified response envelope, and data fields. It is front-loaded with the purpose and contains no filler or redundant information.

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?

For a zero-parameter GET status query, the description is complete. There is no output schema, so the description appropriately explains the response envelope and the data fields an agent needs to interpret the result. No critical information appears missing for correct invocation.

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 is empty and schema coverage is 100%, so there are no parameter semantics for the description to clarify. The description explicitly confirms '请求参数: 无' (no request parameters), which removes any ambiguity. With zero params, this meets the baseline-4 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?

Description states a specific operation (GET) and resource (ClawBot binding status), with the title reinforcing '查询新消息ClawBot绑定状态'. It is clearly distinguishable from sibling tools like open_cmcc_bind, open_cmcc_unbind, and open_cmcc_test, which are mutation/action tools rather than a status query.

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 intended use—querying binding status—is implied by the title and description, but no explicit when-to-use, when-not-to-use, or alternative tool guidance is provided. An agent can infer the purpose, but the description does not actively route away from bind/unbind/test siblings.

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

open_cmcc_test发送新消息ClawBot测试消息A

GET /open/cmcc/test - 发送新消息ClawBot测试消息。 请求参数: 无。未绑定会返回「未绑定新消息ClawBot」。 测试成功后请到手机 5G 消息应用号中查看。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden, and it does well: it discloses that the tool sends a test message, explains the unbound error response, and describes the unified response format. It does not cover authentication or rate limits, but for a zero-parameter test endpoint the key behaviors are transparent.

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 compact and well structured: endpoint and purpose, parameter clarification, error condition, verification step, and response format. Every sentence adds useful information without unnecessary padding.

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?

For a zero-parameter, no-output-schema tool, the description is remarkably self-contained. It includes the operation, error case, success verification path, and response structure, so an agent has enough context to call and interpret the tool correctly.

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 is empty and the description confirms '请求参数: 无', so there is no parameter ambiguity. This matches the baseline of 4 for tools with zero parameters and complete schema coverage.

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 action (sends a ClawBot test message), the resource (GET /open/cmcc/test), and the overall purpose. It does not explicitly differentiate itself from sibling test or CMCC tools, but the endpoint and action make its role understandable.

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 this is a binding test: it mentions the unbound error and tells the user to check the phone's 5G message app after success. However, it never explicitly says when to use this tool versus alternatives such as open_cmcc_bind, open_cmcc_unbind, or open_cmcc_info.

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

open_cmcc_unbind解绑新消息ClawBotB

GET /open/cmcc/unbind - 高风险:解绑新消息ClawBot。 请求参数: 无。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault

No parameters

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 carries the full burden and only states 'high-risk unbind' plus the generic response format. It does not disclose side effects, irreversibility, prerequisites, or post-condition of the unbind operation.

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 compact line that front-loads the endpoint and risk level, then covers parameters and response format with no filler.

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 operation is simple (no parameters) and the response format is described, which is adequate for invoking the endpoint. However, as a high-risk unbind operation with no annotations, it should explain what the unbind does and what happens after calling it.

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 zero parameters and the schema is fully covered at 100%. The description explicitly states '请求参数: 无', which satisfies the baseline for a no-parameter tool.

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 action (解绑/unbind) and resource (新消息ClawBot) with the endpoint and a high-risk flag. However, it does not explicitly differentiate this from the sibling open_clawbot_unbind, which also appears to unbind a ClawBot.

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 given on when to call this tool versus alternatives such as open_cmcc_bind or open_clawbot_unbind. The 'high-risk' label is a warning, not usage context.

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

open_cp_list企业微信应用渠道列表A

POST /open/cp/list - 获取企业微信应用列表。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: id(编号), cpName(应用名称), cpCode(应用编码)。

NameRequiredDescriptionDefault
currentNo当前所在分页数,默认1
pageSizeNo每页大小,默认20,最大50

TDQS

A4.2/5.0
Behavior4/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 discloses the HTTP method, pagination defaults and limits, the unified response envelope, and the paginated data shape with list item fields. It does not explicitly state that the operation is read-only or describe auth requirements, but the list semantics imply a non-mutating call.

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 compact and well organized into endpoint, request pagination, unified response, pagination response, and item fields. Every sentence adds operational detail such as defaults, maximum page size, or response structure, with no filler or redundancy.

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 two-parameter list tool with no output schema and no annotations, the description covers pagination request fields, the standard response envelope, the paginated data structure, and the fields inside each list item. It lacks only broader context like authentication or placement of parameters in the request body, but nothing essential to invoking the call correctly is missing.

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?

The input schema already documents both current and pageSize with descriptions, and schema coverage is 100%. The description restates these parameters and adds default/max values, but those are already in the schema, so the description adds little beyond what the structured data provides.

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?

States a specific verb and resource: '获取企业微信应用列表' and the exact endpoint 'POST /open/cp/list'. The phrase '企业微信应用列表' clearly distinguishes this from sibling list tools like open_mp_list or open_mail_list.

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?

The description makes it clear this is the tool for paginated enterprise WeChat application list retrieval. It does not explicitly name alternatives or exclusions, but the resource scope is specific enough for an agent to infer when to select it among many sibling list tools.

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

open_file_upload_image通过开放接口上传图片A

POST /open/file/uploadImage - 使用 access-key 直接上传图片(multipart file)。 本工具入参为 filename + contentBase64,由 MCP 组装 multipart。 若需官方文档推荐的七牛直传流程,请先调用 open_user_image_upload_token。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 成功时 data 一般为图片 URL 字符串。

NameRequiredDescriptionDefault
filenameYes文件名,如 image.png
contentBase64Yes图片 Base64 内容(不含 data: 前缀)

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses the HTTP method, the fact that MCP assembles the multipart body, the unified response envelope (code/msg/data), and the typical success payload (image URL string). It does not mention side effects beyond creating an uploaded image, but it is substantially transparent.

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 compact and front-loaded: endpoint and invocation first, then parameters, then the alternative flow, then the response format. Every sentence contributes information relevant to calling the tool correctly, with no padding.

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?

Given two simple parameters and no output schema, the description is complete: it documents auth method, multipart assembly, the alternative sibling, and the full response envelope including success code and data meaning. An agent has enough to invoke and interpret the result.

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 coverage is 100%, so the baseline is 3, but the description adds meaningful context: 'filename + contentBase64,由 MCP 组装 multipart' tells the agent it does not need to build multipart encoding itself. It also reinforces that contentBase64 should exclude the data: prefix, though the schema already states this.

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 states a specific verb and resource: '通过开放接口上传图片' and 'POST /open/file/uploadImage - 使用 access-key 直接上传图片(multipart file)'. It also names the sibling flow it is not (七牛直传流程/open_user_image_upload_token), making selection unambiguous.

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?

It gives a clear context: this tool directly uploads with access-key and MCP assembles the multipart request. It explicitly routes to open_user_image_upload_token when the official Qiniu flow is needed, but does not cover other exclusions such as file size limits or unsupported image formats.

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

open_forward_log_detail消息规则触发记录详情A

GET /open/forwardLog/detail - 查看触发记录详情。 请求(url): logId(记录编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: id, ruleId, ruleName, sourceType, sourceTypeName, requestIp, requestMethod, requestHeaders, requestQuery, requestBody, variables, matchResult(匹配结果;0-条件不满足,1-已转发,2-频率限制,3-不在触发时间段,4-执行异常), matchResultName, shortCodes, errorMessage, createTime。

NameRequiredDescriptionDefault
logIdYes记录编号

TDQS

A3.7/5.0
Behavior4/5

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

No annotations exist, so the description carries the full disclosure burden, and it does reasonably well: the 'GET' verb signals a read-only, non-mutating call, the unified response envelope (code 200 = success) is described, and the matchResult enum values (0-条件不满足,1-已转发,2-频率限制,3-不在触发时间段,4-执行异常) explain how to interpret results. It omits auth requirements and any non-200 error behavior, keeping it short of a 5.

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 endpoint and required parameter are front-loaded, and the remaining bulk is a compact enumeration of response fields that replaces a missing output schema. It is dense and slightly run-on, but every listed field earns its place given no output schema exists.

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?

With no output schema and no annotations, the description compensates by enumerating the full data payload and interpreting the matchResult values, which is exactly what an agent needs. It stops short of covering error conditions or how to obtain a logId, so it is not fully 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% for the single logId parameter, so the schema already documents its type and meaning; the description only restates 'logId(记录编号,必填)'. No additional format, range, or sourcing guidance is added, so the baseline of 3 applies.

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 states a specific verb+resource (GET /open/forwardLog/detail - 查看触发记录详情), making it clear this fetches a single forward-rule trigger record. The 'detail' vs the sibling 'open_forward_log_list' distinction is implied by the resource name but never made explicit in the text.

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?

Usage is only implied: the mandatory logId parameter signals that a specific record's identifier must already be known (presumably obtained from open_forward_log_list), but the description never names that sibling or states when to prefer this tool. No exclusions or prerequisites are given.

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

open_forward_log_list消息规则触发记录列表A

POST /open/forwardLog/list - 获取触发记录列表。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 可按 ruleId、matchResult 筛选。 匹配结果;0-条件不满足,1-已转发,2-频率限制,3-不在触发时间段,4-执行异常。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: id, ruleId, ruleName, sourceType, sourceTypeName, requestIp, matchResult, matchResultName, shortCodes, errorMessage, createTime。

NameRequiredDescriptionDefault
ruleIdNo按规则编号筛选
currentNo当前所在分页数,默认1
pageSizeNo每页大小,默认20,最大50
matchResultNo匹配结果;0-条件不满足,1-已转发,2-频率限制,3-不在触发时间段,4-执行异常

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses pagination defaults (current=1, pageSize=20, max 50), the meaning of each matchResult code, and the full response envelope. It omits auth requirements and error/rate-limit behavior, but the operational behavior is largely covered.

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?

Content is front-loaded with endpoint and purpose, then pagination, filters, and return format. The description is dense and enumerates the full list item fields, but since no output schema exists these details earn their place rather than being padding.

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?

There is no output schema, so the description responsibly documents the response envelope (code/msg/data), pagination fields, and the per-item list fields, plus filter semantics. Combined with the schema, an agent has everything needed to call and interpret the 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 description coverage is already 100%, so the schema fully documents all four parameters, including the matchResult enum. The description only restates the same parameter meanings, adding no syntax or format detail beyond the structured field. Baseline 3 applies.

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?

States a specific verb+resource combos (POST /open/forwardLog/list - 获取触发记录列表) so the agent knows this returns trigger records. It does not explicitly distinguish itself from the sibling open_forward_log_detail (singular detail view), which the description leaves to the agent to infer.

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?

It mentions that results can be filtered by ruleId and matchResult, implying a listing/filter workflow, but gives no explicit when-to-use, when-not-to-use, or named alternative such as open_forward_log_detail. Usage is inferred rather than stated.

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

open_forward_rule_add新增消息规则A

POST /open/forwardRule/add - 新增消息规则(需会员才能开启)。 必填: ruleName。variables/targets/condition 传 JSON 字符串。 触发来源;0-全部,1-消息接口,2-邮件。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
preNo预处理编码;支持{{变量名}}
sortNo匹配顺序,越小越先匹配
remarkNo备注
statusNo状态;1-启用,0-停用
targetsNo发送目标JSON数组。项含channel,option,messageType(one/topic/friend),topic,to,sort
tokenIdNo绑定令牌;-1全部令牌,0用户令牌,大于0为消息令牌id
ruleNameYes规则名称
templateNo消息模板;html/markdown/txt/json,或{{变量名}}
conditionNo图形化触发条件JSON,如 {"logic":"and","items":[{"varName":"alertState","operator":"eq","value":"ALERT"}]}
variablesNo模板变量JSON数组。项含varName,sourceType(变量来源;1-请求头,2-Query,3-请求体,4-URL路径,5-主题(邮件)),extractType(提取方式;1-序列化数据,2-正则,3-JSONPath,4-原始全文),extractKey,defaultValue,sort
limitCountNo频率限制周期内最大触发次数;0不限制
sourceTypeNo触发来源;0-全部,1-消息接口,2-邮件
limitPeriodNo频率限制周期,单位秒;0不限制
stopOnMatchNo命中后是否不再匹配后续规则;1-是,0-否
activeEndTimeNo触发时间段结束,HH:mm
conditionExprNo手写触发条件表达式;仅在没有图形化条件时使用
titleTemplateNo消息标题模板;为空则用原始标题。支持{{变量名}}
activeWeekdaysNo触发星期,逗号分隔1-7,例如1,2,3,4,5
activeStartTimeNo触发时间段开始,HH:mm
contentTemplateNo消息内容模板;为空则用原始内容。支持{{变量名}}

TDQS

A3.6/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 usefully discloses the membership requirement, that variables/targets/condition must be passed as JSON strings, and the unified response envelope (code/msg/data). However, it does not cover broader mutation behavior such as permission requirements beyond membership, duplicate handling, or 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.

Conciseness4/5

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

Front-loaded with the endpoint and purpose, then key requirements. It is compact and mostly earns its place, though repeating the sourceType enum values already documented in the schema is slightly redundant.

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?

For a 20-parameter mutation tool with no annotations and no output schema, the description is adequate but incomplete. It covers the required field, JSON string encoding for complex parameters, membership prerequisite, and response envelope, but omits guidance on alternatives and deeper behavioral context.

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 the schema already documents all 20 parameters well. The description adds only the required field (ruleName) and the fact that variables/targets/condition are JSON strings, plus repeats sourceType enum values already in the schema. Baseline 3 is appropriate.

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?

States a specific verb ('新增') and resource ('消息规则'), plus the endpoint POST /open/forwardRule/add. The verb clearly distinguishes this create tool from sibling edit/delete/list/detail 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?

Gives a prerequisite ('需会员才能开启'), which is useful usage context, but does not explicitly say when to use this versus open_forward_rule_edit, open_forward_rule_test, or other sibling tools. Usage is only implied by the create verb.

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

open_forward_rule_change_status启用停用消息规则B

GET /open/forwardRule/changeStatus - 启用或停用消息规则。 请求(url): ruleId, status(1启用/0停用)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
ruleIdYes规则编号
statusYes状态;1-启用,0-停用

TDQS

B3.2/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 usefully discloses that this is a GET call and describes the unified response envelope (code/msg/data, 200 = success), which is real behavioral context since there is no output schema. However, it says nothing about idempotency, side effects on forwarding behavior, or required authorization for a state mutation.

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?

Compact and front-loaded, leading with the endpoint and the enable/disable purpose, then parameters, then response shape. The HTTP method/URL prefix is mildly redundant but functions as useful endpoint context; no sentence is wasted.

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?

For a two-parameter toggle the description covers purpose, both params, and the response envelope, which is adequate. It stops short of routing the agent away from the sibling edit/delete tools and omits any authorization or side-effect context, leaving real gaps for a mutation.

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% and both parameters are already documented as 规则编号 and 状态;1-启用,0-停用. The description's restatement of ruleId and status(1启用/0停用) adds no meaning beyond the schema, so the baseline of 3 applies.

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 names a specific action pair (启用或停用) and a specific resource (消息规则), so an agent knows exactly what the tool mutates. It is implicitly distinct from open_forward_rule_edit/delete, though it never explicitly names those siblings to draw the boundary.

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?

There is no guidance on when to use this status toggle versus open_forward_rule_edit (which presumably changes other fields), and no mention of prerequisites or permissions. The agent must infer that this is the dedicated enable/disable path from the name alone.

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

open_forward_rule_delete删除消息规则B

DELETE /open/forwardRule/delete - 高风险:删除消息规则。 请求(url): ruleId(规则编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
ruleIdYes规则编号

TDQS

B3.2/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 does signal the high-risk/mutating nature of the operation and shows the unified response shape (code/msg/data), which is useful. But it omits critical behavioral details such as whether deletion is reversible, permission requirements, or cascading effects on associated forwarding logs.

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?

Compact single paragraph that front-loads the HTTP method/path and the risk flag. Efficient, though it mixes endpoint notation, risk, request params, and response format into one dense string.

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?

For a simple 1-param mutation with no output schema, the essentials (endpoint, required param, response envelope) are present. However, given zero annotations and the high-risk nature, more guidance on consequence/permission/auth would make it 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?

The single parameter ruleId is fully documented in the schema (100% coverage) as '规则编号', and the description merely restates it as '规则编号,必填'. The schema already carries this, so the description adds no new semantic meaning. Baseline 3 for high coverage.

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?

States a specific verb and resource ('删除消息规则', delete message rule) plus the concrete endpoint. It's clear what the tool does and it is distinguishable from the other forward_rule siblings (add, edit, list, detail), though it doesn't explicitly name them.

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 '高风险' (high-risk) warning hints at caution, but there is no explicit when-to-use guidance, no statement of irreversible effects, and no reference to alternatives. An agent must infer that this permanently removes a rule.

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

open_forward_rule_detail消息规则详情A

GET /open/forwardRule/detail - 消息规则详情(需会员才能开启)。 请求(url): ruleId(规则编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data 含规则字段、condition、variables、targets。触发来源;0-全部,1-消息接口,2-邮件;变量来源;1-请求头,2-Query,3-请求体,4-URL路径,5-主题(邮件);提取方式;1-序列化数据,2-正则,3-JSONPath,4-原始全文。

NameRequiredDescriptionDefault
ruleIdYes规则编号

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does substantial work: it declares the membership gating, the unified response envelope (code 200 = success, msg, data), and enumerates the meaning of trigger-source, variable-source, and extraction-method codes. It omits pagination/error behavior, but for a simple read detail call this is solid disclosure.

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?

Front-loaded with the endpoint and purpose, followed by request and response contract. The dense enum listing is justified because no output schema exists, though the generic '统一响应' boilerplate is somewhat repetitive.

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 output schema, the description usefully explains the return envelope and the semantics of returned field codes, which is the missing piece for an agent to interpret results. It falls short only on sibling routing and error handling.

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% and the single ruleId parameter is fully documented in the schema; the description repeats 'ruleId(规则编号,必填)' without adding syntax or format beyond it. Baseline 3 is correct when the schema does the heavy lifting.

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?

States a specific endpoint and resource (GET /open/forwardRule/detail – 消息规则详情), so an agent knows it retrieves a single rule's detail. However, it never distinguishes itself from the many sibling rule tools (open_forward_rule_list, open_forward_rule_get_setting, etc.), relying on the name alone to convey 'detail vs list'.

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 when-to-use guidance and no alternative named. It notes a membership prerequisite ('需会员才能开启') but never says when to pick this over open_forward_rule_list or open_forward_rule_get_setting, leaving routing to inference.

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

open_forward_rule_edit修改消息规则A

POST /open/forwardRule/edit - 修改消息规则(需会员才能开启);会整体覆盖变量和发送目标。 必填: id, ruleName。其余同新增。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
idYes规则编号
preNo预处理编码;支持{{变量名}}
sortNo匹配顺序,越小越先匹配
remarkNo备注
statusNo状态;1-启用,0-停用
targetsNo发送目标JSON数组。项含channel,option,messageType(one/topic/friend),topic,to,sort
tokenIdNo绑定令牌;-1全部令牌,0用户令牌,大于0为消息令牌id
ruleNameYes规则名称
templateNo消息模板;html/markdown/txt/json,或{{变量名}}
conditionNo图形化触发条件JSON,如 {"logic":"and","items":[{"varName":"alertState","operator":"eq","value":"ALERT"}]}
variablesNo模板变量JSON数组。项含varName,sourceType(变量来源;1-请求头,2-Query,3-请求体,4-URL路径,5-主题(邮件)),extractType(提取方式;1-序列化数据,2-正则,3-JSONPath,4-原始全文),extractKey,defaultValue,sort
limitCountNo频率限制周期内最大触发次数;0不限制
sourceTypeNo触发来源;0-全部,1-消息接口,2-邮件
limitPeriodNo频率限制周期,单位秒;0不限制
stopOnMatchNo命中后是否不再匹配后续规则;1-是,0-否
activeEndTimeNo触发时间段结束,HH:mm
conditionExprNo手写触发条件表达式;仅在没有图形化条件时使用
titleTemplateNo消息标题模板;为空则用原始标题。支持{{变量名}}
activeWeekdaysNo触发星期,逗号分隔1-7,例如1,2,3,4,5
activeStartTimeNo触发时间段开始,HH:mm
contentTemplateNo消息内容模板;为空则用原始内容。支持{{变量名}}

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and delivers the single most important behavioral fact: "会整体覆盖变量和发送目标" — an update fully overwrites variables and targets, which an agent must know before calling. It also notes the membership requirement, though it says nothing about auth scope, reversibility, or what happens to fields omitted from the payload.

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 compact block that front-loads the route, the action, and the overwrite warning before the field/response details. The generic "统一响应" boilerplate is low-value but short and does not bury the important content.

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 21-parameter mutation tool with no annotations and no output schema, the description covers the critical gaps: overwrite semantics, membership prerequisite, required fields, and a response envelope description. Remaining gaps (auth scope, effect of omitted fields) are real but modest given that the schema documents every parameter.

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% across 21 parameters, so the schema already documents each field in detail; the baseline is 3. The description only restates the two required fields (already in the schema's required list) and defers the rest to the add tool, adding minimal semantic value.

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 states a specific verb+resource ("修改消息规则") and the concrete HTTP route, which makes the intent unmistakable. It implicitly distinguishes itself from siblings like open_forward_rule_add by pointing to that tool for unspecified fields ("其余同新增"), but it never explicitly contrasts with rule_change_status or rule_save_setting, so sibling differentiation is only partial.

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?

It gives a usable precondition ("需会员才能开启") and names the required fields, plus routes unknown field semantics to open_forward_rule_add. However, it never says when to choose this edit tool over open_forward_rule_change_status or open_forward_rule_save_setting, so the usage guidance is implied rather than explicit.

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

open_forward_rule_get_setting获取消息规则模式A

GET /open/forwardRule/setting - 获取消息规则总开关。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data.mode: 消息规则总开关;0-关闭(推送与原来一致),1-开启且未命中仍按默认推送,2-开启且未命中不推送。

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it does disclose the response envelope (code/msg/data) and the meaning of each data.mode value (0/1/2), which is genuinely useful behavior beyond the schema. It does not mention permissions or error conditions, but for a read-only master-switch lookup this is solid.

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?

Three compact sentences: endpoint, response envelope, then field semantics. The critical enumeration of mode values is front-loaded after the endpoint and nothing is padded.

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?

No input params exists, no output schema exists, so the description must (and does) explain the return shape and the mode enum. It is adequate for a simple read tool, though it stops short of stating prerequisites or how this setting interacts with the save_setting sibling.

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 zero input parameters, so the 4-baseline applies. The description does, however, document the return-field semantics of data.mode, which is extra value even though it concerns output rather than input.

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 names a specific verb (获取/get) and resource (消息规则总开关/message-rule master switch), and the HTTP endpoint 'GET /open/forwardRule/setting' pins the operation down. This clearly distinguishes it from siblings like open_forward_rule_list or open_forward_rule_save_setting.

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 endpoint and the fact that this is a read of the master switch imply usage, but there is no explicit guidance on when to call this versus open_forward_rule_list, open_forward_rule_detail, or open_forward_rule_save_setting. A one-line routing cue would have earned a higher score.

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

open_forward_rule_list消息规则列表A

POST /open/forwardRule/list - 获取消息规则列表(需会员才能开启)。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: id, tokenId(-1全部令牌/0用户令牌/>0消息令牌id), tokenName, ruleName, sourceType(触发来源;0-全部,1-消息接口,2-邮件), sourceTypeName, status(1启用/0停用), sort, conditionExpr, targetCount, createTime。

NameRequiredDescriptionDefault
currentNo当前所在分页数,默认1
pageSizeNo每页大小,默认20,最大50

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does a good job: it discloses the membership precondition, the pagination ceiling (max 50), and the complete success/response envelope including business-data fields. It does not discuss auth header requirements or failure modes, but the behavioral picture is substantially richer than the schema alone.

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 purpose and pagination parameters are front-loaded before the response-field enumeration, so the most important information is immediately visible. The long list-item breakdown (id, tokenId, sourceType, status, etc.) is dense and reads as a data dictionary, but it earns its place given the absence of an output schema.

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 2-parameter read-only list tool with no output schema and no annotations, the description supplies the endpoint, pagination contract, response envelope, and every list-item field — enough for an agent to call it and interpret the result. Only the auth mechanics and the relative role of the sibling rule tools are left unspecified.

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% and both parameters (current, pageSize) are already documented in the schema with their defaults. The description repeats the same defaults and the 20/max-50 constraint, adding essentially no meaning beyond the structured field definitions, which is the baseline-3 case.

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 states a specific verb+resource (获取消息规则列表) and the underlying endpoint POST /open/forwardRule/list, making the operation unambiguous. It does not, however, explicitly distinguish this list operation from siblings such as open_forward_rule_detail or open_forward_rule_test, so sibling differentiation relies on the name alone.

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?

It notes the membership requirement (需会员才能开启), which is a useful prerequisite. But it never says when to use this list tool versus open_forward_rule_detail (single rule) or open_forward_rule_add/edit, leaving usage context implied by the name rather than stated.

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

open_forward_rule_save_setting设置消息规则模式B

GET /open/forwardRule/setting - 设置消息规则总开关。 mode为1或2时需开通会员,否则返回「消息规则需开通会员后才能开启」。 请求(url): mode(消息规则总开关;0-关闭(推送与原来一致),1-开启且未命中仍按默认推送,2-开启且未命中不推送)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
modeYes消息规则总开关;0-关闭(推送与原来一致),1-开启且未命中仍按默认推送,2-开启且未命中不推送

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose the membership gate, the exact failure message, and the unified response envelope (code/msg/data), which is genuine value. It says nothing about side effects, whether this overrides existing rule settings, or reversibility, so it is only partially complete for a mutation tool.

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 text is a single dense paragraph mixing HTTP verb, effect, membership rule, a verbatim restatement of the mode parameter, and the response envelope. It is front-loaded on the core purpose, but the duplicated mode text and response boilerplate dilute it.

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?

With one required integer parameter, no annotations, and no output schema, the definition supplies the missing pieces an agent needs: the membership prerequisite and the return envelope (code/msg/data). Nothing critical for correct invocation is absent, though the relationship to the per-rule forward-rule tools remains unstated.

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% and the only parameter (mode) is documented in the schema with the same enumeration text. The description merely repeats that text verbatim, adding no syntax, default, or interaction detail beyond the schema, so the baseline of 3 is appropriate.

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 names a specific verb and resource — 设置消息规则总开关 (set the forward-rule master switch) — and describes the three modes, so the agent knows exactly what state this tool changes. It does not, however, distinguish it from close siblings such as open_forward_rule_change_status or open_forward_rule_get_setting, leaving that to inference.

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?

There is a real precondition disclosed: modes 1 and 2 require membership, otherwise the API returns 「消息规则需开通会员后才能开启」. That is useful usage context, but there is no explicit when-to-use-this-vs-alternatives guidance (e.g. versus change_status or the per-rule edit tools), so usage is only implied.

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

open_forward_rule_test测试消息规则A

POST /open/forwardRule/test - 用模拟请求测试规则,不会真正发送(需会员才能开启)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: variables, matched, conditionExpr, errorMessage, title, content, template。

NameRequiredDescriptionDefault
preNo预处理编码
bodyNo模拟请求体;邮件来源时作为邮件正文
queryNo模拟Query参数JSON对象
titleNo模拟原始标题;邮件来源时作为邮件主题
mailCcNo模拟抄送,邮件来源时使用
mailToNo模拟收件人,邮件来源时使用
headersNo模拟请求头JSON对象
mailFromNo模拟发件人,邮件来源时使用
templateNo消息模板
conditionNo图形化触发条件JSON
variablesNo模板变量JSON数组
sourceTypeNo模拟来源;1-消息接口,2-邮件
contentTypeNo模拟请求的Content-Type
conditionExprNo手写触发条件表达式
titleTemplateNo通知标题模板
contentTemplateNo通知正文模板

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose key behavioral traits: the operation is non-destructive ('不会真正发送') and gated on membership ('需会员才能开启'). It also spells out the response envelope (code/msg/data) and the fields inside data, which is real added value beyond structured fields.

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?

Front-loaded with the purpose and endpoint, then the important no-send/membership caveat, then the response shape. It is dense but every element earns its place, especially the response description given there is no output schema.

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 16-parameter tool with no annotations and no output schema, the description compensates well by documenting the return envelope and data fields and by flagging the membership prerequisite and non-sending behavior. Parameter-level usage is left to the schema, which is fully covered.

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 all 16 parameters are already documented in the schema. The description adds no per-parameter meaning beyond what the schema provides, so the baseline of 3 applies.

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 gives a specific verb and resource ('用模拟请求测试规则' – test a rule with a simulated request) and adds the crucial qualifier that nothing is actually sent. This clearly distinguishes it from the surrounding open_forward_rule_add/edit/delete/list siblings, though it does not name a specific alternative.

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?

It provides context (simulated request, no real send, membership required to enable) which implies when to use it, but there is no explicit when-to-use vs. alternatives or when-not-to-use guidance relative to the other forward_rule tools.

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

open_friend_add_blacklist将好友加入黑名单A

POST /open/friend/addBlacklist - 高风险:将好友加入黑名单。 加入后将解除双方好友关系,对方无法再添加你。不能将自己加入黑名单,仅可将已有好友加入黑名单。 请求(url): friendId(好友id,必填;来自好友列表 friendId)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
friendIdYes好友id(好友列表的 friendId 字段)

TDQS

A4.5/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full transparency burden. It explicitly discloses high risk, the fact that both sides of the friendship are dissolved, the other person can no longer add you, and that self-blacklisting is impossible. This fully informs the agent about the destructive 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?

The description is compact and well-structured: risk is front-loaded first, followed by behavioral consequences, eligibility constraints, request parameter, and response format. Every sentence contributes useful information without fluff.

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?

For a single-parameter mutation tool with no output schema, the description covers the endpoint, risk level, side effects, eligibility rules, request parameter, and unified response fields. Nothing essential is missing for an agent to invoke it correctly.

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 friendId and its source from the friend list. The description repeats this information without adding materially new semantics, so a baseline score of 3 is appropriate.

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: adding an existing friend to the blacklist via the POST endpoint. It also differentiates itself from siblings like open_friend_remove_blacklist and open_friend_blacklist_list by specifying the exact scope and effect.

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?

The description provides strong usage context: use it to blacklist an existing friend, not yourself, and only for people already in your friend list. It does not explicitly name alternatives such as open_friend_remove_blacklist for undoing the action, but the conditions are clear enough for correct selection.

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

open_friend_blacklist_list好友黑名单列表A

POST /open/friend/blacklistList - 获取好友黑名单列表。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: id(黑名单记录ID,解除黑名单时使用), friendId(被拉黑好友ID), nickName, headImgUrl, createTime(拉黑时间)。

NameRequiredDescriptionDefault
currentNo当前所在分页数,默认1
pageSizeNo每页大小,默认20,最大50

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and covers behavior well: it documents pagination defaults, max page size, the uniform response envelope (code/msg/data), and the exact fields in each blacklist entry. It doesn't mention auth or rate limits, but the read-only nature is clear from '获取' and there are no mutation hints.

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 dense and well organized: purpose first, then request parameters, response envelope, pagination structure, and list item fields. Every sentence carries useful information and there is no filler.

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 list tool with two optional parameters and no output schema, the description provides enough to invoke it and interpret results, including list item semantics and the note that id is used for解除黑名单. It omits error handling and authentication details, but those are not critical for a paginated read-only list call.

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%, and the schema already documents current's default and pageSize's default/maximum. The description repeats these constraints without adding new semantic meaning, so it meets the baseline but contributes no extra parameter insight.

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 operation and resource: '获取好友黑名单列表' via POST /open/friend/blacklistList. This distinguishes it from sibling tools such as open_friend_list (regular friend list) and open_friend_add_blacklist/remove_blacklist (mutating blacklist operations).

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 the tool is for retrieving a paginated list of blacklisted friends, which is enough for basic selection. However, it gives no explicit when-to-use guidance and does not contrast it with similar siblings like open_topic_user_blacklist_list, so the agent must infer the right choice largely from the name.

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

open_friend_delete删除好友A

GET /open/friend/deleteFriend - 高风险:删除好友。 请求(url): friendId(好友id,必填;来自好友列表 friendId)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
appIdNo微信公众号Id(可选)
friendIdYes好友id(好友列表的 friendId 字段)

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. It does label the operation '高风险' (high risk), exposing its destructive nature, and it documents the unified response format (code/msg/data). It does not go further to state irreversibility, authorization requirements, or consequences beyond deleting the friendship, so it is adequate but not rich.

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 compact and front-loaded: endpoint, risk label, required parameter, and response contract each in logical order. It avoids fluff, though the response-format sentence is generic and could be considered unnecessary; overall this is efficient and well structured.

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?

This is a low-complexity, two-parameter destructive tool with no output schema. The description compensates for the missing output schema by defining the unified response contract and flags high risk. It could mention irreversibility or require additional confirmation, but for a simple delete-friend call the provided context is sufficient to invoke correctly.

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 the schema already documents both friendId and appId. The description adds the '必填' (required) marker and says friendId comes from the friend list, which repeats the schema's meaning rather than adding new semantics. The baseline of 3 is appropriate because the schema carries the parameter load.

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 and resource combination: '删除好友' (delete friend), preceded by the exact endpoint. Even without opening the schema, an agent can distinguish it from sibling friend-management tools like open_friend_list, open_friend_edit_remark, and open_friend_add_blacklist. The endpoint and risk label add no ambiguity.

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 by requiring friendId '来自好友列表 friendId', which points the agent to fetch a valid friendId from a friend-list source first. However, it does not explicitly say when to choose this tool over related friend operations or when not to use it, so the guidance remains implicit rather than explicit.

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

open_friend_edit_remark修改好友备注A

POST /open/friend/editRemark - 修改好友备注。 请求: id(好友编号,必填;列表 id 字段), remark(备注,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
idYes好友编号(列表 id 字段)
remarkYes好友备注

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the HTTP method (POST), required parameters, and the unified response format (code, msg, data), which provides some behavioral context. However, it does not detail side effects, idempotency, error conditions, or prerequisites beyond the id originating from a list. The description adequately conveys it is a write operation but lacks deeper behavioral 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?

The description is a compact, front-loaded statement: endpoint and purpose first, then parameters, then response format. Every sentence earns its place with no filler. It is appropriately sized for a simple two-parameter edit operation.

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 a simple operation with two fully documented parameters and no output schema, the description covers the essentials: endpoint, purpose, required fields, and response envelope. It lacks a detailed data shape for the response, but for an edit-remark action the success/failure code is likely sufficient. The context is complete enough for correct invocation.

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 the schema already documents both parameters. The description essentially repeats the schema: id is the friend number from the list, remark is the note. It adds no new semantic meaning beyond what's already in the input schema, meriting the baseline score.

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 operation '修改好友备注' (modify friend remark) with the specific resource '好友备注'. It names the endpoint and explicitly identifies the target as '好友', distinguishing it from sibling tools like open_topic_user_edit_remark. An agent can immediately understand what this tool does without opening the schema.

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?

Usage is implied by the description: it is for editing a friend's remark, and the mention '列表 id 字段' hints that the id comes from a friend list operation. However, there is no explicit when/when-not guidance or reference to alternative tools such as open_friend_list or open_topic_user_edit_remark. The description leaves the agent to infer the context.

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

open_friend_get_qr_code获取个人二维码A

GET /open/friend/getQrCode - 获取个人二维码(用于添加好友)。 请求(url): appId(微信公众号Id,可选), content(自定义参数,扫描后回调,可选), second(有效期秒,默认604800/7天,最长30天), scanCount(1-999或-1无限,默认-1)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: qrCodeImgUrl(二维码图片地址)。

NameRequiredDescriptionDefault
appIdNo微信公众号Id
secondNo二维码有效期(秒);默认604800,最长30天
contentNo自定义参数,扫描后回调(可用于区分扫描渠道)
scanCountNo可扫码次数;1-999,-1无限;默认-1

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does a solid job: it reveals the operation is a GET request, documents the unified response shape (code/msg/data), and names the returned data field qrCodeImgUrl. It could add more detail about auth requirements or error cases, but the core behavior is transparent.

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 compact and organized: endpoint, purpose, parameter list, unified response, and data field. It front-loads the key purpose and does not include filler, though it reads as a dense paragraph rather than structured bullets.

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?

There is no output schema, so the description correctly compensates by explaining the unified response and the qrCodeImgUrl field. All four optional parameters are covered with defaults and ranges, and the endpoint and purpose are clear. Nothing essential is missing for an agent to invoke this tool correctly.

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 the schema already documents all four parameters. The description adds defaults and ranges (604800, 30 days, -1, 1-999) which mostly mirror the schema descriptions; it does not materially expand semantics beyond the structured definitions. Baseline 3 is appropriate.

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 names a specific HTTP method and resource (GET /open/friend/getQrCode) and states the exact purpose: 获取个人二维码(用于添加好友). The explicit '个人' scope distinguishes it from sibling QR-code tools like open_topic_qr_code and open_clawbot_get_bot_qrcode, so an agent can tell them apart.

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 when to use the tool by saying it is for adding friends, but it does not explicitly state when to use it over alternatives, nor does it mention any exclusions or prerequisites. The usage context is inferable, not spelled out.

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

open_friend_list好友列表A

POST /open/friend/list - 获取好友列表。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: id(好友编号), friendId(好友id), token(好友令牌,发送好友消息使用), headImgUrl, nickName, emailStatus(0/1/2), havePhone(0/1), isFollow(0/1), remark, createTime。

NameRequiredDescriptionDefault
currentNo当前所在分页数,默认1
pageSizeNo每页大小,默认20,最大50

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the burden of explaining behavior, and it does so by documenting pagination behavior, the unified response envelope, paginated data shape, and each list item's fields including the token's purpose. It does not explicitly mention authentication or confirm there are no side effects, but '获取' strongly implies a read operation and the response contract is well detailed.

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 front-loaded with endpoint and purpose, then moves into pagination, response envelope, paginated data, and list item fields in a logical order. It is dense but not bloated; the field enumeration is justified because no output schema exists.

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?

Given the tool's simplicity (two optional parameters, no output schema, no annotations), the description is complete: it specifies request parameters, defaults, limits, the uniform response envelope, pagination fields, and the full set of list item fields. An agent has enough information to invoke the tool and interpret its response correctly.

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%: both current and pageSize already have meaningful descriptions with defaults and the 50 maximum. The tool description mostly repeats this information rather than adding new semantic context beyond the schema, so the baseline of 3 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 opens with the exact HTTP method and path plus the Chinese action '获取好友列表' (get friend list), making the verb and resource explicit. It distinguishes itself from sibling friend-related tools like open_friend_delete and open_friend_edit_remark by clearly naming the list operation.

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 pagination usage (current, pageSize, defaults, max) but never states when to prefer this tool over alternatives or when not to use it. However, the name and purpose make the intended use obvious, and no sibling tool appears to be a competing friend-list endpoint.

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

open_friend_remove_blacklist解除好友黑名单A

POST /open/friend/removeBlacklist - 高风险:解除好友黑名单。 解除后不会自动恢复好友关系,需重新扫码添加。 请求(url): id(黑名单记录ID,必填;来自黑名单列表 id)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
idYes黑名单记录ID(黑名单列表的 id 字段)

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly warns that the operation is high-risk and that removing the blacklist entry will not automatically restore the friend relationship, requiring a new QR-code scan. This is valuable behavior beyond the schema and adequately prepares the agent for the side effect.

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 compact and front-loaded with the endpoint and risk warning. Each sentence earns its place: risk, side effect, parameter explanation, and response format. It conveys the necessary information without fluff.

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 single-parameter tool with no output schema, the description covers the critical aspects: the operation, its risk, the parameter source, and the unified response format. It does not describe the exact content of 'data', but this is not essential for invoking a simple removal operation.

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%: the schema already documents 'id' as the blacklist record ID from the blacklist list's id field. The description largely restates this and adds the 'required' flag, which is already in the schema. No significant new parameter meaning is added.

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 states a specific action ('解除好友黑名单' / remove friend blacklist) and the exact REST endpoint, making the resource and verb unambiguous. It is clearly distinct from sibling tools like open_friend_add_blacklist or open_friend_blacklist_list.

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?

The description clearly indicates when the tool is appropriate: to remove a friend from the blacklist. It also provides important cautionary context by warning that removal is high-risk and does not restore the friend relationship automatically. It does not explicitly name alternatives or exclusions, but the use case is clear.

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

open_get_access_key获取开放接口 AccessKeyA

POST /common/openApi/getAccessKey - 获取开放接口调用凭证。 使用环境变量 PUSHPLUS_TOKEN(用户token,不支持消息token) + PUSHPLUS_SECRET_KEY。 AccessKey 有效期约 7200 秒,重复获取会使上次失效;其他 open_* 工具会自动换取并缓存。 调用前需在官网开启开放接口,并配置安全IP(否则可能返回403)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: accessKey(访问令牌,后续请求放 header access-key), expiresIn(过期秒数)。

NameRequiredDescriptionDefault

No parameters

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description takes the full burden and does so thoroughly: it discloses the ~7200-second validity, notes that repeated acquisition invalidates the previous key, warns of 403 when prerequisites aren't met, and documents the unified response fields including accessKey and expiresIn. This is rich behavioral disclosure beyond a bare 'get credential' statement.

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 compact yet dense, starting with the endpoint and purpose, then covering prerequisites, behavior, and response format. Each sentence contributes essential operational information and there is no filler or repetition.

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?

For a zero-parameter, no-output-schema tool with no annotations, this description is fully self-sufficient. It covers prerequisites, authentication variables, token lifecycle, response structure, and how to use the result, so an agent has everything needed to call and consume it correctly.

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

Parameters5/5

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

The input schema has zero parameters, so the baseline is 4; the description exceeds it by explaining how authentication is supplied via environment variables PUSHPLUS_TOKEN and PUSHPLUS_SECRET_KEY, and how the returned accessKey should be placed in the 'access-key' header. This adds meaning that the empty schema cannot convey.

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 states a specific verb and resource: '获取开放接口调用凭证' (obtain open interface access credential), and names the exact endpoint POST /common/openApi/getAccessKey. It clearly distinguishes this from the many sibling open_* tools by framing it as the credential-issuing tool.

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?

The description gives clear context: which environment variables are required, that the open interface must be enabled, that a security IP must be configured, and that other open_* tools automatically exchange and cache the key. It stops short of an explicit when-to-use/when-not-to-use rule, but the guidance is strong enough for an agent to decide correctly.

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

open_mail_detail邮箱渠道详情A

GET /open/mail/detail - 邮箱渠道详情。 请求(url): mailId(邮箱编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: id, mailName, mailCode, account(邮箱账户), password(邮箱密码), smtpServer, smtpSsl(1启用/0不启用), smtpPort, createTime。

NameRequiredDescriptionDefault
mailIdYes邮箱编号

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the HTTP method (GET), the unified response shape (code/msg/data), and the returned data fields, including smtpSsl semantics. However, it does not mention authentication requirements, error behavior, or whether the password field is sensitive/redacted.

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 compact and front-loaded with the endpoint and purpose, then lists the request parameter and response fields in a structured way. Every sentence adds necessary information with no filler.

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 single-parameter GET detail tool with no output schema, the description covers the request, required parameter, and response data fields. It is sufficiently complete to call correctly, though it lacks explicit usage guidance and auth context.

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?

The input schema already fully documents mailId with a description and required flag. The description restates mailId as '必填' and mentions it in the URL, but adds no additional meaning beyond the 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?

The description clearly states this is a GET endpoint for mail channel details ('邮箱渠道详情') and specifies the resource via mailId. It is easily distinguishable from the sibling open_mail_list, since this is the detail variant.

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?

Usage is implied by the '详情' (detail) wording and the requirement of a mailId, but the description does not explicitly say when to use this tool versus open_mail_list or other detail tools. No exclusions or alternatives are named.

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

open_mail_list邮箱渠道列表A

POST /open/mail/list - 获取邮箱渠道列表。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: id(邮箱编号), mailName(邮箱名称), mailCode(邮箱编码)。

NameRequiredDescriptionDefault
currentNo当前所在分页数,默认1
pageSizeNo每页大小,默认20,最大50

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full disclosure burden and does well by documenting the unified response envelope, pagination fields, and list item fields. The only minor omission is auth requirements and error-code behavior beyond the generic 200 success case.

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 well-structured and front-loaded with the endpoint and resource, followed by compact request and response sections. It is detailed rather than verbose, and every sentence carries functional information. A short example would be a minor improvement.

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 2-parameter list endpoint with no output schema and no annotations, the description is unusually complete: it covers request parameters, pagination behavior, the response envelope, and list item fields. It lacks only optional extras like authentication prerequisites and non-success error variants.

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 defines current and pageSize. The description adds useful context around defaults and maximums, but mostly repeats schema information and contributes no new parameter-level semantics.

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 endpoint, HTTP method, and resource: 'POST /open/mail/list - 获取邮箱渠道列表'. It is immediately distinguishable from sibling tools like open_mail_detail and open_message_list because it explicitly names the resource (mail channel list) and the list operation.

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?

The purpose of retrieving a paginated mail channel list is clearly conveyed, so an agent can infer when to use this tool. It does not explicitly name alternatives or when-not-to-use conditions, but no exclusions are needed given the straightforward list semantics.

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

open_message_delete删除消息A

DELETE /open/message/deleteMessage - 高风险:删除后所有接收人均无法查看,且无法撤销。 请求: shortCode(消息短链码,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
shortCodeYes消息短链码

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries full responsibility for disclosing behavior. It explicitly states the high-risk nature, that all recipients lose access after deletion, and that the action cannot be undone. It also discloses the unified response structure. This goes beyond what the raw schea or endpoint alone would convey.

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?

Every sentence carries meaningful information: the endpoint, the high-risk/irreversibility warning, the required parameter, and the response format. It is compact, well-organized, and front-loads the most critical safety information before procedural details.

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?

For a single-parameter delete operation with no output schema, the description covers the essential behavioral details: what gets deleted, the consequences, irreversibility, how to supply the parameter, and the shape of the response. No critical knowledge needed to invoke or understand the tool is missing.

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?

The input schema has 100% parameter description coverage for shortCode, and the description simply repeats the parameter name and required flag. While it confirms the field is mandatory, it adds no format, length, origin, or relationship to other messages beyond what the schema already provides. Baseline 3 is appropriate.

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 states a specific verb+resource via the HTTP method and endpoint ('DELETE /open/message/deleteMessage') and clearly communicates the destructive intent: deleting a message so all recipients can no longer see it. This distinguishes it from non-delete sibling tools such as open_message_list and open_message_send_result, and from delete tools targeting other resourcesses like topics or friends.

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?

The description makes the usage context unmistakable: use this when you need to permanently remove a message from all recipients. It does not nae alternative tools or exclusions, but given that no sibling tool offers message deletion, the context is clear enough. The high-risk warning also advises againt casual use.

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

open_message_list消息列表A

POST /open/message/list - 分页查询消息列表。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: channel(wechat/mail/cp/webhook/clawbot/cmcc/qq等), messageType(1一对一/2一对多), shortCode(消息短链码,可查发送结果), title(标题), topicName(群组名称,一对多才有), updateTime(更新时间)。

NameRequiredDescriptionDefault
isReadNo是否已读(扩展筛选,可选)
channelNo发送渠道筛选,如 wechat/mail/cp/webhook/clawbot/cmcc/qq
currentNo当前所在分页数,默认1
pageSizeNo每页大小,默认20,最大50
messageTypeNo消息类型;1-一对一,2-一对多

TDQS

A3.6/5.0
Behavior4/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 discloses the standard response envelope (code/msg/data), the pagination response shape (pageNum/pageSize/total/pages/list), and the list item fields, as well as defaults and limits for page and pageSize. It does not mention authentication, side effects, or error behavior, but the read/query nature and response detail provide solid 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?

The description is front-loaded with its purpose, then compacts request parameters, response envelope, pagination fields, and list item fields into a dense but clearly structured block. Every sentence earns its place, especially because there is no output schema to fall back on for return-value documentation. No redundant or filler content is present.

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 5-parameter optional-input list endpoint with no output schema, the description is quite complete: it covers all request parameters, defaults, max values, response wrapper, pagination structure, and list item fields. The only gaps are explicit sorting behavior, error-code semantics beyond 200, and a clearer pointer to sibling tools for send-result or delete operations.

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 the baseline is 3. The description largely repeats parameter meanings already in the schema, such as current default 1, pageSize default 20/max 50, and channel examples. It adds no significant new parameter-level meaning beyond what the input schema already provides.

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 states a clear verb and resource: '分页查询消息列表' (paginated query of message list), and gives the endpoint path POST /open/message/list. It is clearly a list/query operation, but it does not explicitly differentiate itself from siblings like open_message_send_result or open_message_delete, so it stops short of a 5.

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?

There is no guidance on when to use this tool versus alternatives such as open_message_send_result or open_message_delete. The description only mentions that shortCode can be used to check send results, but it never names an alternate tool or states when this list endpoint is preferred. Usage context is merely implied by the verb 'query'.

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

open_message_send_result查询消息发送结果A

GET /open/message/sendMessageResult - 按 shortCode 查询投递结果。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: status(0未投递/1发送中/2已发送/3发送失败), errorMessage(失败原因), updateTime(更新时间)。

NameRequiredDescriptionDefault
shortCodeYes消息短链码;发送消息接口同步返回的短链码

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the HTTP method, unified response shape, data fields, and the status enum with meanings, which is substantial. It does not discuss authentication or rate limits, but for a simple GET-style query the provided behavioral detail is strong.

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?

Concise and front-loaded: endpoint and purpose first, then a compact response spec. Every sentence carries useful information and there is no filler.

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 one-parameter, low-complexity query tool with no output schema, the description covers the necessary operational details: endpoint, status meanings, error field, and update time. It could slightly improve by explicitly routing the agent to use this after send-message calls, but the parameter schema already supplies that context.

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%; the schema already defines shortCode as the short link code returned by the send-message interface. The description adds no new param semantics beyond confirming the lookup key, so baseline 3 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?

States a specific verb, resource, and scope: 'GET /open/message/sendMessageResult - 按 shortCode 查询投递结果'. This clearly distinguishes it from message-sending, message-listing, and message-deleting siblings.

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?

Usage is implied rather than explicit: querying by shortCode after a send operation. The schema parameter adds that the shortCode is returned synchronously by the send-message interface, but the description does not state when to use this tool instead of alternatives or provide exclusions.

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

open_mp_detail公众号详情A

GET /open/mp/detail - 公众号详情。 请求(url): id(微信公众号编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 公众号配置详情字段(同列表并可能更完整)。

NameRequiredDescriptionDefault
idYes微信公众号编号

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden. It discloses the HTTP method, the unified response envelope, and the relationship between detail fields and list fields, which is useful. It does not mention authentication, error behavior, rate limits, or explicitly guarantee non-destructiveness.

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 compact, front-loaded with the endpoint and purpose, and then covers request, response, and data semantics in three concise clauses. No filler or redundant prose.

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?

For a simple one-parameter read endpoint with no output schema, the description gives the response envelope and hints at field completeness relative to the list. It lacks exact detail fields and error handling, which leaves some ambiguity but is adequate for basic invocation.

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%, and the schema already explains id as 微信公众号编号. The description repeats the parameter name and required status but adds little semantic value 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 identifies the resource as 公众号详情 and the operation as GET /open/mp/detail, implying retrieval of official account details by id. It is semantically distinguishable from sibling open_mp_list, though it does not explicitly call out the distinction.

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 usage context is implied: this is a detail endpoint keyed by an id, so it should be used when a specific 公众号's details are needed. However, it does not explicitly state when to prefer it over open_mp_list or provide exclusion criteria.

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

open_mp_list微信公众号渠道列表A

POST /open/mp/list - 获取微信公众号渠道列表。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: id, nickName, headImg, principalName(主体名称), authorizationAppid, funcInfo(权限集), serviceType(0订阅号/1历史升级订阅号/2服务号), verifyType(-1未认证/0微信认证), alias(微信号), updateTime。

NameRequiredDescriptionDefault
currentNo当前所在分页数,默认1
pageSizeNo每页大小,默认20,最大50

TDQS

A3.7/5.0
Behavior4/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 of behavioral disclosure. It discloses the response envelope (code/msg/data), pagination semantics, and detailed list item fields with enum meanings. It does not mention authentication, error cases beyond code 200, or whether the operation has side effects, but for a list operation the provided detail is strong.

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 dense and every clause adds useful information: endpoint, purpose, request parameters, response envelope, pagination fields, and list item fields. It is somewhat long and could benefit from line breaks, but it avoids filler and is appropriately front-loaded with purpose and usage.

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 there is no output schema, the description compensates well by explaining the full response shape, pagination fields, and list item attributes including enum values. It is complete enough for an agent to call the tool and interpret results, though it omits non-200 error handling and authentication prerequisites.

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?

The input schema already describes both parameters with defaults and max values, giving 100% schema coverage. The description repeats this information and adds response-level pagination details, but does not add meaning to the parameters themselves beyond what the schema already states.

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 action ('获取') and resource ('微信公众号渠道列表'), and specifies the HTTP method and endpoint. It is distinct from siblings like open_mp_detail because it explicitly describes a paginated listing operation, though it does not explicitly name or contrast sibling 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 intended use is implied by the description: retrieve the WeChat official account channel list with pagination. It provides concrete pagination usage (current, pageSize defaults and max), but gives no explicit guidance about when to choose this tool over alternatives such as open_mp_detail or open_cp_list.

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

open_pay_transfer_order积分提现A

POST /open/pay/transferOrder - 高风险:发起积分提现。 请求: accountId(收款账户ID,必填), points(提现积分,可选)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 提现业务结果对象。

NameRequiredDescriptionDefault
pointsNo提现积分
accountIdYes收款账户ID

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that this is a mutating, high-risk operation and describes the unified response format. However, it does not mention side effects such as irreversible point deduction, authorization/permission needs, or failure behavior beyond a 200 success code.

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 compact and efficient: it front-loads the endpoint and risk level, then covers request parameters and response structure in two sentences. No unnecessary words; every part earns its place.

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?

For a two-parameter tool, the description includes both request and response contracts, which is reasonable. However, 'data: 提现业务结果对象' is vague, and there is no elaboration on error cases or the consequences of the withdrawal. A high-risk operation would benefit from more detail about what could go wrong and what the agent should communicate to the user.

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?

The schema already provides descriptions for both parameters ('收款账户ID' and '提现积分'), and the description simply restates them without adding new constraints or context. There is no mention of value ranges, positivity requirements, or interactions between accountId and points, so the description adds little beyond the 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?

The description clearly identifies the action and resource: '发起积分提现' (initiate points withdrawal) with the endpoint POST /open/pay/transferOrder. The high-risk warning immediately signals the nature of the operation, and no sibling tool appears to perform a similar function, so distinction is inherent.

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 versus alternatives or provide exclusions. The '高风险' (high-risk) label implies caution, but there is no guidance on prerequisites, confirmation requirements, or scenarios where this tool should be avoided. Given the long sibling list, an explicit usage note would be valuable.

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

open_pre_add新增预处理信息A

POST /open/pre/add - 新增预处理(需会员)。 请求: content(预处理代码,必填), preName(名称,必填), preCode(编码,必填), contentType(编程语言;1-JavaScript,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 新建预处理编号(数字)。

NameRequiredDescriptionDefault
contentYes预处理代码
preCodeYes预处理编码
preNameYes预处理名称
contentTypeYes编程语言类型;1-JavaScript

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and discloses important behavioral details: the HTTP method is POST, membership is required, the unified response format is described, and the data returned is the newly created preprocessing ID. It could add more about possible failures or side effects, but it covers the essential behavior.

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 compact and front-loaded: it opens with the endpoint and purpose, then lists required parameters, then closes with the unified response shape. Every sentence earns its place without redundant fluff.

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?

For a simple create endpoint with four required scalar parameters and no output schema, the description is complete: it states the action, the membership prerequisite, all required inputs, and the response structure including the data field. An agent has enough information to invoke the tool correctly.

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 the baseline is 3. The description repeats the parameter meanings already present in the schema and adds only the '必填' markers and the contentType enum value, which are also inferable from the schema. It does not meaningfully expand parameter semantics.

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 '新增预处理' with the specific resource and endpoint 'POST /open/pre/add'. It is immediately distinguishable from sibling tools like open_pre_list, open_pre_detail, open_pre_edit, and open_pre_delete because it uniquely identifies the create operation.

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?

The description provides clear usage context: this tool is for adding new preprocessing information and requires membership ('需会员'). It does not explicitly mention alternatives or when not to use it, but the '新增' verb and the sibling tool names make the intended use obvious.

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

open_pre_delete删除预处理信息A

DELETE /open/pre/delete - 高风险:删除预处理(需会员)。 请求(url): preId(预处理编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 如「删除成功」。

NameRequiredDescriptionDefault
preIdYes预处理信息编号

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden of disclosing behavior. It explicitly flags the operation as high risk, states that membership is required, and documents the unified response format. It does not detail irreversibility or side effects, but the high-risk warning partially covers that.

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 compact and structured: endpoint, risk level, membership requirement, request parameter, and response format are all included with no filler. Each sentence carries useful information.

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 single-parameter delete operation with no output schema, the description covers the essential invocation details: endpoint, required parameter, risk, membership, and response shape. It could add error cases or authentication specifics, but nothing critical is missing for basic 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% and the schema already describes preId as the preprocessing information ID. The description adds that it is required and labels it as 预处理编号, but this largely repeats the schema rather than providing deeper semantic 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 states a specific verb ('删除' / DELETE), a clear resource ('预处理'), and the endpoint path. It also adds high-risk and membership context, making it easy to distinguish from sibling operations like open_pre_add, open_pre_edit, open_pre_list, and open_pre_detail.

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?

The description makes clear this tool is for deleting preprocessing information and that membership is required. It does not explicitly name alternatives or when-not-to-use scenarios, but the usage context is unambiguous given the DELETE verb and resource.

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

open_pre_detail预处理信息详情A

GET /open/pre/detail - 预处理详情(需会员)。 请求(url): preId(预处理编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: id, preName, preCode, contentType(1-JavaScript), content(预处理代码)。

NameRequiredDescriptionDefault
preIdYes预处理信息编号

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It reveals that this is a GET request, requires membership, and documents the unified response shape including code, msg, data, and the data fields. It does not describe non-200 errors or authorization details, but for a simple detail-read tool this is reasonably transparent.

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 compact and front-loaded, starting with the endpoint and membership requirement, then giving the request parameter and response structure. Every sentence contributes useful information without redundancy or fluff.

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?

For a tool with a single parameter and no output schema, the description is complete: it covers the endpoint, required auth, the input, and the full response data shape including contentType mapping. An agent has enough context to call the tool and interpret its result.

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?

The schema already covers 100% of the parameter with type, required status, and a Chinese description. The tool description essentially repeats the same preId meaning without adding new format, constraints, or usage detail, so it provides no additional semantic value beyond the 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?

The description clearly identifies a GET endpoint that retrieves the detail of a preprocessing (预处理) record by preId, and lists the fields contained in the response. This differentiates it from sibling tools such as open_pre_list, open_pre_add, and open_pre_delete because it is specifically about retrieving one record's detail.

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 states that membership is required and that preId is mandatory, providing some usage context. However, it does not explicitly explain when to use this tool instead of open_pre_list or other preprocessing tools, so the usage is implied rather than clearly directed.

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

open_pre_edit修改预处理信息A

POST /open/pre/edit - 修改预处理(需会员)。 请求: id(编号,必填), content/preName/preCode/contentType(均为必填;contentType=1 JavaScript)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 如「修改成功」。

NameRequiredDescriptionDefault
idYes预处理信息编号
contentYes预处理代码
preCodeYes预处理编码
preNameYes预处理名称
contentTypeYes编程语言类型;1-JavaScript

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the HTTP method, membership requirement, required parameters, unified response format, and sample response data. However, it does not cover side effects like overwrite behavior or failure details.

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 compact and front-loaded with the endpoint and purpose. It packs necessary request and response details into one dense paragraph, though bullet-style structure could improve scannability.

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?

Since there is no output schema, the description compensates by explaining the unified response format and example data. It covers request requirements and the membership prerequisite, but lacks error-case details and field value examples.

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 the schema already documents all parameters. The description repeats requiredness and content type mapping without adding new parameter-specific meaning beyond the 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 states a specific verb and resource: '修改预处理' via POST /open/pre/edit. This clearly distinguishes it from sibling CRUD tools like open_pre_add, open_pre_list, open_pre_detail, and open_pre_delete.

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 given on when to use this tool versus alternatives. It mentions the membership requirement but does not explain when to prefer this over open_pre_add or other pre-processing tools.

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

open_pre_list预处理信息列表A

POST /open/pre/list - 获取预处理列表(需会员)。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: id, preName, preCode, contentType(1-JavaScript), createTime。

NameRequiredDescriptionDefault
currentNo当前所在分页数,默认1
pageSizeNo每页大小,默认20,最大50

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and largely meets it: it specifies POST, membership requirement, unified response envelope, pagination fields, and item fields. It does not address rate limits or explicitly state side-effect-free/read-only behavior, though '获取列表' strongly implies a read-only retrieval.

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 compact, front-loaded with endpoint and purpose, then efficiently packs request and response details. Every clause contributes; minor density from semicolon-separated enumerations keeps it from the top score.

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 two-optional-param list tool with no output schema, the description explains the pagination request, unified response, paginated data envelope, and list item fields. It stops short of indicating whether the parameters are sent in the query string or body, and no auth-header details are given beyond '需会员'.

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% and the description merely restates the defaults and max for current/pageSize. It adds no information beyond the schema, so the baseline 3 applies.

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 names a specific HTTP endpoint and a clear action (获取预处理列表, get pre-processing list), with pagination semantics. It is distinguishable from the sibling detail/add/edit tools via the 'list' resource, but it does not explicitly call out the contrast with open_pre_detail.

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?

It states that membership is required and shows how to paginate, so the agent knows the basic precondition and request shape. However, it provides no when-not-to-use guidance or explicit pointer to alternatives such as open_pre_detail for a single item.

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

open_pre_test测试预处理代码A

POST /open/pre/test - 测试预处理代码(需会员)。 请求: content(预处理代码,必填), contentType(1-JavaScript,必填), message(测试消息内容,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 预处理后的消息内容字符串。

NameRequiredDescriptionDefault
contentYes预处理代码
messageYes测试消息内容
contentTypeYes编程语言类型;1-JavaScript

TDQS

A3.7/5.0
Behavior4/5

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

没有提供 annotations,因此描述承担了行为透明度的主要责任。描述披露了“需会员”的权限要求、请求参数、统一响应结构和返回的 data 为“预处理后的消息内容字符串”,让智能体知道调用后会得到处理结果。虽然没有明确说明该操作是否只读、是否执行用户代码,但“测试”和返回结果已经提供了足够的操作语义。

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?

描述由三句话组成:第一句点明端点与用途,第二句罗列参数,第三句说明响应结构,信息组织清晰且没有冗余展开。请求参数部分与 schema 有少量重复,但整体仍属于紧凑高效的描述。

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?

工具参数简单且无嵌套对象,没有输出 schema,但描述明确解释了 data 为“预处理后的消息内容字符串”,弥补了返回值的说明缺失。同时包含了“需会员”这一关键调用前提;虽然未给出错误码细节,但统一响应中的 code/msg 已提供了基本错误信息框架。

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 为 100%,因此按校准基线应打 3 分。描述只是重复了 content、contentType、message 的中文含义,几乎没有补充超出 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?

明确说明了该工具用于“测试预处理代码”,并给出了具体的 HTTP 端点“POST /open/pre/test”,属于“特定动词+资源”的清晰表述。虽然没有像“与 open_pre_add 等工具对比”那样显式区分兄弟工具,但“测试”这一动作与预处理的增删改查兄弟工具在语义上已经明显不同。

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?

描述点明了使用前提“需会员”,并说明该工具用于测试预处理代码,暗含了与预处理增删改查工具的区别。但没有明确说明何时应使用本工具而非 open_pre_add、open_pre_edit 等其他兄弟工具,也没有明确的排除条件。

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

open_qqbot_add新增 QQ 机器人配置A

POST /open/qqBot/add - 新增 QQ 机器人配置:发到指定QQ群(sendType=2),或用指定机器人发给自己(sendType=1)。 只用默认机器人发给自己时无需配置。 请求: qqName(配置名称,必填,最多64字符), qqCode(配置编码,必填,最多32字符,仅字母/数字/下划线/中划线,创建后不可修改), sendType(1发给自己/2发到QQ群,可选,默认2), qqGroupId(QQ群编号,sendType=2时必填,取自 groupList 的 id;该群需允许机器人主动消息), botAppId(机器人appId,sendType=1时必填且需已绑定;sendType=2时可不填,以群所在机器人为准)。 限制: 同一QQ群、同一机器人的“发给自己”均不可重复创建。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
qqCodeYes配置编码,最多32个字符,仅字母、数字、下划线和中划线
qqNameYes配置名称,最多64个字符
botAppIdNo发送使用的机器人appId,sendType=1时必填
sendTypeNo发送类型:1发给自己,2发到QQ群;默认2
qqGroupIdNoQQ群编号,sendType=2时必填,取自 open_qqbot_group_list 的 id

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does well: it discloses the uniqueness constraint against duplicate creation, that qqCode is immutable after creation, that the group must permit proactive bot messages, and that botAppId must already be bound. It omits any auth/permission requirement or rate-limit context, keeping it short of a 5.

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?

Front-loaded with the HTTP route and one-line purpose, then structured into 请求 / 限制 / 统一响应 blocks, so an agent can scan to the relevant clause. It is dense and repeats some facts already present in the schema (e.g. qqCode character rules), which costs it a point.

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?

No output schema exists, and the description compensates by documenting the response envelope (code/msg/data). Combined with per-parameter conditions and the duplicate-creation restriction, the definition is nearly complete; only authentication and error-case behavior are unaddressed.

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 coverage is already 100%, so the baseline is 3; the description adds real value on top by spelling out cross-field conditions (qqGroupId required only when sendType=2, botAppId required only when sendType=1 and ignored otherwise, group's bot takes precedence for sendType=2) and format/immutability rules for qqCode.

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?

States a specific verb and resource (新增 QQ 机器人配置) and immediately explains the two operating modes (sendType=1 to self, sendType=2 to a QQ group) plus the no-config-needed case. However, it never distinguishes this tool from nearby siblings like open_qqbot_edit or open_qqbot_custom_bot_add, which an agent could easily confuse with 'add a QQ bot'.

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?

Provides clear conditional usage for each sendType and a genuine when-not-to-use hint ('只用默认机器人发给自己时无需配置'). It stops short of routing to alternatives (e.g. open_qqbot_edit for modification, open_qqbot_list for enumeration), which would make it a 5.

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

open_qqbot_bot_infoQQ 机器人绑定状态A

GET /open/qqBot/botInfo - 查询 QQ 机器人绑定状态。 请求(url): botAppId(可选,不填为默认机器人)。botAppId 取自 open_qqbot_my_bots 返回的 bots[].botAppId。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: isBind(0未绑定/1已绑定), receiveStatus(1可接收/0用户已关闭单聊接收), createTime(绑定时间), botInfo(机器人详情: botId, username, avatar, botAppId, shareUrl(可用于拉机器人进群), botType(1官方机器人/2自有机器人))。

NameRequiredDescriptionDefault
botAppIdNo机器人appId,不填为默认机器人

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well by documenting the uniform response envelope and every data field with their enums (isBind 0/1, receiveStatus 0/1, botType 1/2, shareUrl purpose). It does not state that this is a read-only query or mention auth/permission needs, which is the remaining gap.

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?

Front-loaded with endpoint and purpose, then parameters, then response shape. The response enumeration is dense but each field earns its place because no output schema exists to carry it; only the redundant restatement of code/msg/data envelope is borderline filler.

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 single-optional-parameter read tool with no output schema, the description covers input sourcing, defaults, and the full return contract. Missing only ancillary context such as authentication requirements or rate limits, which are minor here.

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 already 100% for the single botAppId parameter, so the baseline is 3; the description earns an extra point by explaining the default behavior and, more valuably, citing the sibling tool and JSON path (bots[].botAppId) that supplies the value.

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?

States a specific verb and resource ('查询 QQ 机器人绑定状态') plus the underlying endpoint GET /open/qqBot/botInfo, so the agent knows exactly what this returns. It does not explicitly differentiate itself from close siblings like open_qqbot_my_bots or open_qqbot_list, which keeps it out of the top band.

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?

It notes botAppId is optional and defaults to the default bot, and tells the agent where to source the value ('取自 open_qqbot_my_bots 返回的 bots[].botAppId'). That is useful context, but there is no explicit when-to-use versus alternatives (e.g. my_bots vs list vs bind_link) or any stated prerequisite.

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

open_qqbot_custom_bot_add添加自有 QQ 机器人A

POST /open/qqBot/customBot/add - 添加自有 QQ 机器人,凭证校验通过才保存。 限制: 普通用户最多1个,会员最多5个;官方机器人和已被其他账号添加的机器人不可添加。 添加后需用 open_qqbot_get_bind_link(传 botAppId) 完成绑定。 请求: botAppId(必填), appSecret(必填,敏感凭证,不要在回复中回显)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
botAppIdYesQQ开放平台机器人AppID,最多32个字符
appSecretYesQQ开放平台机器人AppSecret,最多64个字符

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses credential-verification gating, quota limits, which bots are ineligible, the required post-add binding step, and that appSecret is a sensitive credential that must not be echoed. It stops short of auth/permission semantics or rollback behavior, but the behavioral surface is well covered.

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?

Content is front-loaded with the operation, then constraints, follow-up step, parameters, and response shape. It is dense and slightly over-packed into one block, but every clause conveys actionable information.

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?

With no output schema, the description compensates by describing the uniform response envelope (code/msg/data with 200 success). Combined with the quota rules and the mandatory binding follow-up, an agent has enough to invoke and sequence the call correctly.

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 coverage is 100%, so baseline is 3, but the description adds real value beyond the schema by flagging appSecret as a sensitive credential that must not be echoed in replies, guiding safe handling of the parameter.

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 states a specific verb and resource ('添加自有 QQ 机器人' / add your own QQ bot) and scopes it with '自有' (custom/self-owned), which distinguishes it from the generic sibling open_qqbot_add without requiring the agent to open either schema.

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?

It gives concrete usage conditions: validation must pass before saving, normal users are capped at 1 bot and members at 5, and official bots or bots already claimed by another account cannot be added. It also names the required follow-up tool open_qqbot_get_bind_link. No explicit 'use X instead of Y' routing, but the when-to-use conditions are clear.

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

open_qqbot_custom_bot_delete删除自有 QQ 机器人A

DELETE /open/qqBot/customBot/delete - 高风险:删除自有 QQ 机器人, 同时解除其绑定并删除其QQ群和使用该机器人的配置,相关 option 将失效。 请求(url): botAppId(自有机器人AppID,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
botAppIdYes自有机器人AppID

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does so well: it discloses that deleting the bot also unbinds it, deletes its QQ groups, deletes configs that use it, and invalidates related options. It stops short of stating irreversibility, permission requirements, or rate limits.

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?

Front-loaded with the HTTP route and the high-risk warning, followed by the parameter and response shape; each sentence serves a purpose. The raw 'DELETE /open/qqBot/customBot/delete' route string is somewhat redundant but cheap.

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 one-parameter destructive tool with no output schema, the description covers the cascading side effects and describes the unified response envelope (code/msg/data), including the success code 200. Missing only permission/irreversibility context.

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% and the single botAppId parameter is already documented in the schema. The description only restates it as '(自有机器人AppID,必填)', adding the required flag but no new format or constraint detail, so baseline 3 applies.

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 states a specific verb and resource (删除自有 QQ 机器人) and scopes it to '自有' custom bots, which separates it from the many open_qqbot_* siblings. It stops short of naming a specific sibling (e.g. open_qqbot_delete vs open_qqbot_custom_bot_delete ambiguity), so it does not reach full sibling differentiation.

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 '高风险' label signals caution, but the description never states when to choose this tool over alternatives such as open_qqbot_unbind or open_qqbot_delete, nor any prerequisite or confirmation condition. Only implied usage is present.

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

open_qqbot_custom_bot_edit修改自有 QQ 机器人 AppSecretA

POST /open/qqBot/customBot/edit - 修改自有 QQ 机器人的 AppSecret(在QQ开放平台重置后同步),新凭证校验通过才保存。 请求: botAppId(已添加的机器人AppID,必填), appSecret(新AppSecret,必填,不要在回复中回显)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
botAppIdYesQQ开放平台机器人AppID,最多32个字符
appSecretYesQQ开放平台机器人AppSecret,最多64个字符

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and delivers meaningful behavior: the new credential is saved only after validation passes ('新凭证校验通过才保存'), and the agent is told not to echo appSecret in its reply. It omits auth/permission requirements and what happens to the previous secret, so it is strong but not exhaustive.

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 dense block that front-loads the endpoint and the operation, then the parameters, then the response envelope. Every clause carries information and nothing is repeated from the schema verbatim.

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 no-annotation mutation tool with no output schema, the description covers purpose, required inputs, validation semantics, the security caveat, and the code/msg/data response shape. Auth prerequisites and downstream effects on the bot's existing bindings are the only notable gaps.

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 coverage is 100% and both parameters are typed and length-bounded in the schema, so the baseline is 3. The description adds genuine value on top: it marks both as required and adds the security instruction not to echo appSecret back to the user.

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?

States a specific verb and resource: modifies the AppSecret of a self-owned QQ bot, with the trigger condition (re-sync after resetting on the QQ open platform). This implicitly separates it from open_qqbot_edit and open_qqbot_custom_bot_add/delete, but no sibling is named explicitly, so it stops short of a 5.

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?

The parenthetical '在QQ开放平台重置后同步' gives a concrete when-to-use condition, which is more than most definitions offer. It gives no when-not-to-use guidance or pointer to alternatives such as open_qqbot_custom_bot_refresh, so it stays at 4.

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

open_qqbot_custom_bot_preview校验自有 QQ 机器人凭证A

POST /open/qqBot/customBot/preview - 用 AppID 与 AppSecret 校验自有机器人并返回头像昵称,仅校验不保存。 需先在QQ开放平台把 open_qqbot_my_bots 返回的 serverIps 加入IP白名单。 请求: botAppId(必填), appSecret(必填,敏感凭证,不要在回复中回显)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: botId, username, avatar, botAppId, shareUrl(可用于拉机器人进群), botType(1官方机器人/2自有机器人)。

NameRequiredDescriptionDefault
botAppIdYesQQ开放平台机器人AppID,最多32个字符
appSecretYesQQ开放平台机器人AppSecret,最多64个字符

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations present, the description carries the full burden and does so well: it discloses the non-persistent nature of the call, the IP-whitelist prerequisite, and that appSecret is sensitive and must not be echoed back in replies. It omits failure modes or rate limits, but covers the behaviors an agent most needs.

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?

Front-loaded with the endpoint and its purpose, then prerequisites, request fields, and response shape in compact sentences. It is information-dense with little waste, though the response-envelope boilerplate (code/msg/data) adds some bulk.

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?

No output schema exists, yet the description enumerates the returned data fields (botId, username, avatar, botAppId, shareUrl, botType) and explains the shareUrl use case. Combined with the prerequisite and sensitive-parameter note, an agent has everything needed to call and interpret this 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?

Schema coverage is already 100%, so baseline is 3, but the description adds meaning beyond the schema: it marks appSecret as a sensitive credential that must not be echoed, and labels both fields as required. That is genuine added semantics, not repetition.

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?

States a precise verb+resource: validates a custom QQ bot using AppID/AppSecret and returns avatar/nickname. The qualifier '仅校验不保存' cleanly distinguishes it from the sibling write tools open_qqbot_custom_bot_add/edit/delete, so an agent can route without opening schemas.

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?

Provides an explicit precondition (add serverIps returned by open_qqbot_my_bots to the QQ open-platform IP whitelist) and the key distinction that this validates without persisting. It does not explicitly say to call this before open_qqbot_custom_bot_add, but the 'only validate, do not save' constraint makes the use case clear.

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

open_qqbot_custom_bot_refresh刷新自有 QQ 机器人信息B

GET /open/qqBot/customBot/refresh - 从QQ开放平台重新拉取自有机器人的头像昵称。 请求(url): botAppId(自有机器人AppID,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
botAppIdYes自有机器人AppID

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses the HTTP verb (GET) and the unified response envelope fields (code=200 success, msg, data), but says nothing about whether it mutates locally stored bot info, what permissions are required, or any rate limits on refresh.

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?

Front-loaded with the endpoint, then the purpose, then the request parameter and response shape — a compact, information-dense layout. The raw path prefix is mildly redundant but takes almost no space.

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 one-parameter tool with no output schema, the description covers purpose, request parameter, and the response envelope, which compensates for the missing output schema. It is nearly complete for an agent to call it correctly, lacking only side-effect and permission context.

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% for the single required botAppId, so the schema already documents it; the description only restates 'AppID, required' without adding format or sourcing detail. Baseline 3 is appropriate.

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?

States a specific verb+resource: re-pull the custom bot's avatar/nickname from the QQ open platform, with the HTTP endpoint given. It is distinguishable from siblings like open_qqbot_custom_bot_edit (which changes stored fields) and open_qqbot_custom_bot_preview, though it never explicitly names them.

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 when-to-use, when-not-to-use, or alternative guidance is given. The only hint is the implied context 're-pull from QQ open platform', leaving the agent to infer that this is for re-syncing stale avatar/nickname data rather than editing them.

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

open_qqbot_delete删除 QQ 机器人配置A

DELETE /open/qqBot/delete - 高风险:删除 QQ 机器人配置,删除后使用该编码的 option 将失效。 请求(url): id(配置编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
idYes配置编号

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It explicitly flags the operation as high-risk and explains that deleting the config will cause options using its code to become invalid—useful impact disclosure. It omits any mention of permissions, irreversibility confirmation, or rate limits, but the core destructive effect is communicated.

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 compact and front-loads the HTTP method/endpoint and risk warning. It includes some boilerplate about the unified response format (code/msg/data) which adds minor noise, but overall every part is reasonably tight.

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?

For a single-param destructive tool with no output schema and no annotations, the description covers the endpoint, required parameter, risk, and side effect. However, it does not explain the response data structure (data is not described beyond '业务数据') or offer guidance on safely confirming deletion, leaving some gaps for a high-risk mutation.

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 the single required parameter 'id' is already fully documented as '配置编号' in the schema. The description repeats this ('id(配置编号,必填)') without adding format, range, or lookup guidance, matching the baseline 3 for high-coverage schemas.

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?

States a specific verb (DELETE) and resource (QQ 机器人配置), and explicitly names the consequence (options using this code will fail). It clearly distinguishes the destructive operation from siblings like open_qqbot_edit or open_qqbot_add.

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 by marking it high-risk and describing the consequence, but it does not explicitly tell the agent when to choose this versus alternatives such as open_qqbot_unbind or open_qqbot_custom_bot_delete. Usage context is only implied.

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

open_qqbot_edit修改 QQ 机器人配置A

POST /open/qqBot/edit - 修改 QQ 机器人配置。配置编码(qqCode)不允许修改,但需传原值。 请求: id(配置编号,必填), qqName(配置名称,必填), qqCode(原配置编码,必填), sendType(1发给自己/2发到QQ群,可选,默认2), qqGroupId(QQ群编号,sendType=2时必填,取自 groupList 的 id;该群需允许机器人主动消息), botAppId(机器人appId,sendType=1时必填且需已绑定;sendType=2时可不填,以群所在机器人为准)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
idYes配置编号
qqCodeYes原配置编码,不会被修改
qqNameYes配置名称,最多64个字符
botAppIdNo发送使用的机器人appId,sendType=1时必填
sendTypeNo发送类型:1发给自己,2发到QQ群;默认2
qqGroupIdNoQQ群编号,sendType=2时必填,取自 open_qqbot_group_list 的 id

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations the description carries the full burden, and it does disclose key behavior: qqCode is immutable yet must be re-sent, the target group must permit bot-initiated messages, and botAppId must already be bound when sendType=1. Auth/permission requirements and side-effect scope are not covered, keeping it short of a 5.

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?

Front-loads the endpoint and purpose, then groups field semantics in one dense but well-ordered block. The redundant 'POST /open/qqBot/edit' path prefix is the only real overhead.

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?

With no output schema and no annotations, the description compensates by documenting the uniform response envelope (code/msg/data) as well as every conditional parameter rule. Nothing an agent needs to invoke this correctly is missing.

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 coverage is already 100%, so baseline is 3; the description goes beyond it by spelling out the sendType-driven requiredness matrix, the provenance of qqGroupId, and the '以群所在机器人为准' override rule for botAppId. That extra conditional logic meaningfully aids correct parameter construction.

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?

States a specific verb+resource ('修改 QQ 机器人配置') and even names the HTTP endpoint, making it unambiguously distinct from siblings like open_qqbot_add, open_qqbot_delete and open_qqbot_list. An agent can identify the operation without opening the schema.

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?

Gives conditional usage rules (sendType=1 requires botAppId, sendType=2 requires qqGroupId) and points to the sibling source of the group id (groupList 的 id). It never names an explicit alternative for creating vs editing, but the context for correct invocation is clear.

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

open_qqbot_group_listQQ 机器人已加入群列表A

GET /open/qqBot/groupList - 获取机器人已加入的 QQ 群列表。 请求(url): botAppId(可选,填写时只返回该机器人所在的群,不填返回全部)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 数组,项含 id(QQ群编号,新增群配置时作为 qqGroupId), groupOpenId, groupRemark, status(1在群/0已退群/2群消息接收关闭), groupName(接口未授权时为空), groupFingerMemo(群简介), groupClassText(群分类), groupTags(群标签), groupMemberNum(群成员数), createTime。

NameRequiredDescriptionDefault
botAppIdNo机器人appId,不填返回全部机器人的群

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does well: it discloses the unified response envelope (code/msg/data), enumerates the returned fields, and decodes status values (1 in group / 0 left / 2 messages disabled) plus the unauthorized-empty groupName case. It omits auth/permission requirements and rate limits, keeping it out of the top score.

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?

Purpose is front-loaded in the first clause, followed by the parameter note and response shape. The long field enumeration is dense but earns its place since there is no output schema.

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 single-optional-param read tool with no annotations and no output schema, the description supplies the endpoint, the parameter behavior, and the full return contract including enum meanings, which is enough for correct invocation. Missing auth expectations is the only notable gap.

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 the schema already documents botAppId; the description largely restates it ('不填返回全部'). It does add a cross-tool hint that the returned id is used as qqGroupId when configuring a new group, but that concerns the response, not the input parameter.

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 states a specific verb+resource ('GET /open/qqBot/groupList - 获取机器人已加入的 QQ 群列表'), which is clearly distinguishable from siblings like open_qqbot_list (list of bots) or open_message_list. It does not explicitly name an alternative tool, so it stops short of a 5.

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?

Usage is implied by the resource ('groups the bot has joined'), and the optional botAppId is explained as a filter, but there is no explicit when-to-use guidance or comparison against related siblings such as open_qqbot_list or open_qqbot_bot_info. No prerequisites or exclusions are stated.

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

open_qqbot_listQQ 机器人配置列表A

POST /open/qqBot/list - 获取 QQ 机器人配置列表(发到QQ群或用指定机器人发给自己)。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: id(配置编号), qqName(配置名称), qqCode(配置编码,发送消息时作为 option 传入), sendType(1发给自己/2发到QQ群), qqGroupId(QQ群编号,sendType=2时返回), groupRemark, groupOpenId, groupName, botAppId(发送使用的机器人appId), botName, botAvatar, updateTime。

NameRequiredDescriptionDefault
currentNo当前所在分页数,默认1
pageSizeNo每页大小,默认20,最大50

TDQS

A3.6/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 burden. It discloses the pagination behavior (default 1/20, max pageSize 50) and the analytical '获取' read intent, but never states auth requirements or explicitly that this is a non-mutating read 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.

Conciseness4/5

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

Front-loaded with the HTTP route and purpose, then parameters, then response shape. It is dense and run-on for a single block, but every clause (pagination limits, sendType enum, list fields) carries information the agent cannot get elsewhere.

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?

With no output schema, the description fully compensates by documenting the envelope (code/msg/data), the pagination block, and every list-item field including the sendType 1/2 semantics and qqCode send usage. Nothing needed to call and interpret the result is missing.

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% and both parameters (current, pageSize) are already documented in the schema. The description restates the same defaults and max without adding syntax or meaning beyond the schema, so the baseline 3 applies.

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?

Specific verb+resource: '获取 QQ 机器人配置列表' (get the list of QQ bot send-configs), sharpened by the parenthetical use case. However it does not explicitly differentiate itself from close siblings like open_qqbot_my_bots or open_qqbot_group_list, so an agent must infer the distinction.

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?

Usage is implied by the parenthetical '(发到QQ群或用指定机器人发给自己)', which hints this lists the send-target configs needed for messaging. But there is no explicit when-to-use, when-not-to-use, or named alternative among the many qqbot siblings.

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

open_qqbot_my_bots我的 QQ 机器人列表A

GET /open/qqBot/myBots - 我的 QQ 机器人列表:官方机器人与自有机器人及其绑定状态,附带接入自有机器人需要的信息。 请求参数: 无。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: bots(数组,官方在前自有在后;项含 botAppId, botId, username, avatar, shareUrl, botType(1官方/2自有), isBind(0/1), receiveStatus(1可接收/0已关闭单聊接收), isDefault(1默认机器人), bindTime), customBotCount(已添加自有机器人数), customBotLimit(可添加上限,普通1个/会员5个), webhookUrl(需在QQ开放平台配置的回调地址), serverIps(需加入QQ开放平台IP白名单的IP), events(需订阅的事件)。

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it declares the operation is a GET with no parameters, enumerates every returned field, and decodes semantics an agent cannot infer (botType 1 official / 2 custom, isBind, receiveStatus, isDefault). It also flags integration requirements — webhookUrl must be configured on the QQ open platform, serverIps must be whitelisted, events must be subscribed — which is real operational 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?

Front-loaded with method, path, and purpose, then a structured enumeration of the response fields. It is long, but the density is spent on field semantics rather than filler, and the delimiting is easy to scan.

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?

There is no output schema, so the description must document the return contract itself — and it does, covering the unified code/msg/data envelope and every data field with its enum meanings. Given a parameterless read tool, an agent has everything needed to call it and interpret the result.

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 input parameters, so the baseline of 4 applies. The description corroborates this with '请求参数: 无', leaving no ambiguity about whether filters can be passed.

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?

States a specific verb+resource (GET /open/qqBot/myBots – my QQ bot list) and the content scope is distinctive: official and custom bots with binding status plus the integration info needed to onboard a custom bot. That scope implicitly separates it from open_qqbot_list and open_qqbot_bot_info, but no sibling is named explicitly.

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 never says when to call this versus open_qqbot_list, open_qqbot_bot_info, or open_qqbot_custom_bot_* siblings, nor does it state any preconditions. It only confirms there are no request parameters, which is a fact about invocation, not usage guidance.

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

open_qqbot_set_default设置默认 QQ 机器人A

GET /open/qqBot/setDefault - 设置默认 QQ 机器人;发送消息 channel=qq 且不填 option 时由默认机器人发给自己。 请求(url): botAppId(必填,须已绑定)。botAppId 取自 open_qqbot_my_bots 返回的 bots[].botAppId。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
botAppIdYes已绑定的机器人appId

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the behavioral burden. It usefully discloses the routing consequence of setting a default and the prerequisite that the bot be already bound, but it does not say whether this replaces a previously set default, whether it is idempotent, what error occurs for an unbound botAppId, or what permissions are needed.

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?

Front-loaded with the endpoint and purpose, then the effect, then the parameter provenance and response shape. The generic '统一响应' boilerplate is low-value but brief, so the text stays reasonably tight for the amount of information conveyed.

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 single-parameter mutation with no annotations and no output schema, the description covers purpose, effect, parameter sourcing, and the unified response envelope. The main remaining gap is the semantics of replacing an existing default and failure behavior.

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 coverage is 100%, so baseline is 3, but the description adds real value beyond the schema: it states botAppId must already be bound and specifies the exact retrieval path (open_qqbot_my_bots -> bots[].botAppId), which the schema does not.

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?

States a specific verb+resource ('设置默认 QQ 机器人') and pairs it with the endpoint, so the agent knows exactly what state change occurs. It is clearly separable from siblings like open_qqbot_add/edit/delete/my_bots, which manage bots rather than selecting a default one.

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 the downstream effect (messages sent with channel=qq and no option will be delivered by the default bot to the user), which implies when this tool matters. It also points to open_qqbot_my_bots as the source of botAppId, but it never states when to prefer this over other bot-configuration siblings or when not to call it.

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

open_qqbot_unbind解绑 QQ 机器人A

GET /open/qqBot/unbind - 高风险:解绑 QQ 机器人。 请求(url): botAppId(可选,不填解绑官方机器人)。解绑默认机器人后会自动把其他已绑定机器人设为默认。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
botAppIdNo要解绑的机器人appId,不填解绑官方机器人

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does include real behavioral context: the '高风险' risk label, the side effect that unbinding the default bot auto-promotes another bound bot to default, and the response envelope (code/msg/data). It still omits authorization requirements and whether the operation is reversible.

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?

Compact and front-loaded, leading with the risk level and action before the parameter and response notes. The run-on formatting and generic '统一响应' boilerplate are slightly noisy but each clause carries information.

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 single-parameter destructive tool with no annotations and no output schema, the description supplies the essentials: risk level, parameter optionality, the default-bot reassignment side effect, and the response shape. The missing pieces (permissions/auth requirements, irreversibility, sibling disambiguation) are the main gaps.

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 the schema already documents botAppId and its '不填解绑官方机器人' semantics; the description merely restates this. Baseline 3 is appropriate when the schema does the heavy lifting and the description adds no syntax or format detail beyond it.

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?

Names a specific verb+resource ('解绑 QQ 机器人') and includes the endpoint path 'GET /open/qqBot/unbind', so the operation is unambiguous. However, it gives no differentiation from close siblings like open_qqbot_delete or open_clawbot_unbind, which an agent could easily confuse with this tool.

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?

It discloses the conditional behavior of the sole parameter ('botAppId 可选, 不填解绑官方机器人'), which implicitly tells the agent when to omit it. But there is no guidance on when to choose unbind over sibling tools such as open_qqbot_delete or open_clawbot_unbind, and no stated prerequisites or permissions.

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

open_setting_add_user_default新增默认配置A

POST /open/setting/addUserDefault - 新增默认推送配置。 请求: channel(渠道编码;wechat微信公众号,cp企业微信应用,webhook第三方webhook,mail邮件,sms短信,voice语音,extension插件,clawbot微信ClawBot,cmcc新消息ClawBot,qq QQ机器人,必填), option(渠道参数,必填), pre(预处理编码,必填可空串), tokenId(消息令牌id,必填;用户令牌填0)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
preYes预处理编码;无则传空字符串
optionYes渠道参数;webhook/cp 等需填具体编码
channelYes渠道编码;wechat微信公众号,cp企业微信应用,webhook第三方webhook,mail邮件,sms短信,voice语音,extension插件,clawbot微信ClawBot,cmcc新消息ClawBot,qq QQ机器人
tokenIdYes消息令牌id;用户令牌为0

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full disclosure burden, and it does reveal the side-effecting nature (POST/add), the required-field contract, the explicit note that pre is required but may be an empty string, and the unified response envelope (code 200 = success, msg, data). It does not disclose what happens on duplicate creation, whether an existing default is overwritten, or any permission prerequisites, so transparency is adequate but not rich.

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 dense paragraph ordered as purpose → parameters → response, with the endpoint and action front-loaded. Every clause carries information and there is no filler, though the semicolon-dense Chinese style makes parsing slightly harder than a structured layout would.

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 flat 4-parameter tool with 100% schema coverage and no output schema, the description covers the call contract well: endpoint, all parameter semantics, requiredness, and the unified response envelope. The remaining gaps are minor for this complexity level — the concrete shape of the data field for this endpoint and duplicate/conflict behavior are not described.

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 per the rubric the baseline is 3 and the description need not add much. The description mostly duplicates the schema, restating the channel enum list and the tokenId semantics nearly verbatim; the only marginal additions are the 必填 (required) flags, which the schema's required array already conveys, and the 可空串 (nullable string) hint for pre.

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 leads with 'POST /open/setting/addUserDefault - 新增默认推送配置' (add default push configuration), a specific verb plus resource, and the POST method plus the add/新增 verb distinguish it from the CRUD siblings open_setting_edit_user_default, open_setting_delete_user_default, open_setting_list_user_default, and open_setting_detail_user_default. It falls short of 5 because it drops the 'user' qualifier from the tool name (add_user_default) and never clarifies what 'default' means in relation to tokenId (user token = 0), leaving ambiguity between a user-level and a global default.

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?

Usage context is only implied: the POST method and the verb 新增 (add) signal a creation operation within the recognizable CRUD family of open_setting_*_user_default siblings. The description never states when to use this tool versus open_setting_edit_user_default or open_setting_delete_user_default, and no exclusions or alternatives are named.

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

open_setting_change_default_channel修改默认渠道(已废弃)A

POST /open/setting/changeDefaultChannel - 已废弃,请改用 add/editUserDefault。请求: defaultChannel, defaultWebhook(可选)。统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
defaultChannelYes默认渠道编码
defaultWebhookNo默认 webhook/渠道参数

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose the HTTP method/endpoint, deprecation status, request fields, and unified response shape. However, it does not disclose side effects, whether the deprecated endpoint still functions, permissions needed, or what the business data in the response contains.

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 compact and information-dense: endpoint, deprecation notice, replacement tool, parameter summary, and response format are all packed into one sentence. It could be slightly more structured, but it earns its place with no filler.

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?

For a simple deprecated tool with two parameters and no output schema, this description provides the essential routing information and response shape. It is missing clarity on what 'defaultChannel' refers to in the domain and what side effects/caveats remain for callers who ignore the deprecation, so it's adequate but not 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 description coverage is 100%, so the baseline is 3. The description merely restates the parameter names and marks defaultWebhook as optional, which adds no meaning beyond the schema's own descriptions of these fields.

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 identifies the resource (default channel) and the action (change/modify), reinforced by the Chinese title '修改默认渠道'. It also immediately signals deprecated status and points to add/editUserDefault, helping distinguish it from the sibling add/edit tools. It doesn't further explain what the default channel semantically controls, but the core purpose is unambiguous.

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

Usage Guidelines5/5

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

The description explicitly states '已废弃,请改用 add/editUserDefault' (deprecated, please use add/editUserDefault instead). This is a crisp when-not-to-use directive with a named alternative, which is exactly what an agent needs to route around this tool.

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

open_setting_change_is_send开启/关闭发送消息功能A

GET /open/setting/changeIsSend - 开启或禁用发送消息功能。 请求(url): isSend(0禁用/1启用,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
isSendYes发送消息功能;0-禁用,1-启用

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral burden. It does disclose the mutation ('开启或禁用'), the required parameter values, and the unified response format (code/msg/data). However, it does not explain whether changes are reversible (beyond calling the opposite value), whether authentication is required, or whether this setting is scoped to a particular user, bot, or channel.

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 compact and front-loaded: it names the endpoint and purpose first, then the single required parameter, then the response envelope. Every sentence earns its place, and there is no redundant or filler content.

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 one-parameter toggle with no output schema, the description covers the essential information: purpose, endpoint, parameter values, and a unified response format. It is slightly incomplete in that it omits authentication requirements and the precise scope of the 'send message function', but these are minor gaps 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.

Parameters3/5

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

The input schema already fully documents isSend as an integer with 0=disabled and 1=enabled, so schema coverage is 100%. The description repeats this mapping but does not add new parameter-level meaning beyond the schema, which warrants the baseline score.

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 specific action: '开启或禁用发送消息功能' (enable/disable the send-message function), tied to the endpoint 'GET /open/setting/changeIsSend'. This differentiates it from sibling settings tools like open_setting_change_open_message_type and open_setting_change_receive_limit, which concern different aspects of message settings.

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 intended usage is implied by the action phrase: call this when you need to turn sending on or off, with isSend=0/1. However, there is no explicit guidance about when not to use it, no mention of alternatives, and no context about prerequisites such as authentication or the scope of the setting (e.g., per-user vs global).

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

open_setting_change_open_message_type修改打开消息方式B

GET /open/setting/changeOpenMessageType - 修改消息打开类型。 请求(url): openMessageType(0:H5,1:小程序,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
openMessageTypeYes消息打开类型;0:H5,1:小程序

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses the HTTP method (GET on a state-modifying operation), the mutation intent, and the unified response contract (code 200=success, msg, data), which compensates for the missing output schema. However, it does not disclose what the change affects (new messages? existing behavior?), reversibility, or any error semantics beyond the success code.

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 compact and well-ordered: endpoint+purpose first, then parameter specification, then response specification. Each of the three short sentences earns its place with no fluff or repetition.

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 low-complexity tool — one fully documented parameter, no nested objects — the description covers purpose, parameter format, and response shape (compensating for the absent output schema). The remaining gaps are minor for this simplicity level: no usage scenario context and no note on side effects or behavior beyond 200=success.

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% (the schema already documents openMessageType as integer with the 0:H5/1:小程序 mapping), so the baseline is 3. The description only repeats the schema's own parameter text and the '必填' flag that the required array already encodes; it adds no new meaning beyond the structured data.

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 states a specific verb+resource: '修改消息打开类型' (modify message opening type) with concrete value semantics (0:H5, 1:小程序), so an agent can tell what target is being changed. It does not explicitly differentiate itself from the sibling change_* tools (e.g., open_setting_change_default_channel, open_setting_change_receive_limit), though the named resource is specific enough that confusion is limited.

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 the many sibling settings tools, including the three other open_setting_change_* mutations. There is no when-not-to-use, no alternative routing, and no scenario context that would help an agent decide between changing message-open type versus default channel or receive limit.

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

open_setting_change_receive_limit修改接收消息限制A

GET /open/setting/changeRecevieLimit - 修改接收消息限制。 请求(url): recevieLimit(0接收全部/1不接收消息,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
recevieLimitYes接收消息限制;0-接收全部,1-不接收消息

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral disclosure burden. It does reveal that this is a GET request that changes state and gives the unified response envelope, but it omits auth requirements, reversibility, and error semantics beyond stating that code 200 means success.

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 compact and front-loaded: endpoint and action first, then the parameter, then the response envelope. It contains a slight redundancy with the title, but no unnecessary filler.

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 one-parameter setter with no output schema, the description provides the endpoint, the required argument with domain values, and the generic response structure. It does not cover authentication or non-success handling, but the unified response description partially compensates for the missing output schema.

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 the schema already fully documents recevieLimit. The description only restates the same meaning ('0接收全部/1不接收消息') and required flag without adding extra semantic detail.

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 specific action (修改/change) and the specific resource (接收消息限制/receive message limit). This distinguishes it from sibling settings tools even without naming alternatives.

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 given about when to use this tool versus settings siblings such as open_setting_change_is_send or open_setting_change_open_message_type. It states what it does but not the decision context, prerequisites, or exclusions.

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

open_setting_delete_user_default删除默认配置A

DELETE /open/setting/deleteUserDefault - 高风险:删除默认配置。 请求(url): id(默认配置编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 如「默认配置删除成功」。

NameRequiredDescriptionDefault
idYes默认配置编号

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the burden and explicitly labels the operation as '高风险' (high risk), signaling destructive behavior. It also discloses the response format with an example, but does not mention irreversibility or permission requirements.

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 compact and front-loaded: endpoint, risk warning, required parameter, and response format are each covered in a few short clauses with no filler or redundancy.

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?

For a one-parameter delete tool with no output schema, the description covers the request URL, required parameter, high-risk nature, and unified response example. Nothing essential for a correct call is missing.

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% for the single parameter id, which already includes type and description. The description simply repeats 'id(默认配置编号,必填)' without adding new semantic detail, so baseline 3 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?

Description states the HTTP method DELETE, the endpoint, and the resource '默认配置' (default configuration), making the tool's purpose unmistakable. The deletion action clearly distinguishes it from sibling CRUD tools like list/detail/add/edit.

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?

Usage is implied by the phrase '删除默认配置' and the sibling tool set, but there is no explicit when-to-use vs. alternative guidance, such as when to prefer edit over delete or any constraints on deleting defaults.

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

open_setting_detail_user_default默认配置详情B

GET /open/setting/detailUserDefault - 默认配置详情。 请求(url): id(默认配置编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: id, channel(渠道编码;wechat微信公众号,cp企业微信应用,webhook第三方webhook,mail邮件,sms短信,voice语音,extension插件,clawbot微信ClawBot,cmcc新消息ClawBot,qq QQ机器人), option(渠道参数), pre(预处理编码), updateTime, name, tokenId(消息令牌id;用户令牌为0)。

NameRequiredDescriptionDefault
idYes默认配置编号

TDQS

B3.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It explicitly states the HTTP method (GET), the unified response structure (code, msg, data), and clarifies success semantics ('200成功'). This sufficiently conveys that the operation is a non-destructive read, though error behavior and authentication requirements are not detailed.

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 compact and front-loaded with the endpoint and resource. The channel enum list adds useful context without being redundant, and every part contributes to understanding the request or response. It is slightly dense but not padded.

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 only one parameter and no output schema, so the description's listing of data fields (id, channel, option, pre, updateTime, name, tokenId) is valuable and mostly sufficient. However, it omits types for several fields, does not explain null/not-found behavior, and gives no error-case details, leaving some ambiguity for an agent.

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 the schema already documents the id parameter. The description adds that id is required and refers to it as '默认配置编号', matching the schema; it does not introduce significant new semantic meaning beyond the schema, so a baseline score of 3 is appropriate.

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 identifies the resource ('默认配置详情') and the operation ('GET /open/setting/detailUserDefault'), making it evident this tool retrieves details of a default configuration by id. It does not explicitly contrast itself with sibling tools like list/add/edit/delete, so it falls short of full differentiation.

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 explains the request URL and required parameter, but provides no guidance on when to choose this tool over alternatives such as open_setting_list_user_default or open_setting_edit_user_default. No exclusions or alternative routing are mentioned, leaving the agent to infer the appropriate context from the name alone.

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

open_setting_edit_user_default修改默认配置C

POST /open/setting/editUserDefault - 修改默认推送配置。 请求: id(必填), channel(必填), tokenId(必填;用户令牌0), option/pre(可选)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 如「修改成功」。

NameRequiredDescriptionDefault
idYes默认配置编号
preNo预处理编码
optionNo渠道参数;webhook和cp渠道需填具体编码
channelYes渠道编码;wechat微信公众号,cp企业微信应用,webhook第三方webhook,mail邮件,sms短信,voice语音,extension插件,clawbot微信ClawBot,cmcc新消息ClawBot,qq QQ机器人
tokenIdYes消息令牌id;用户令牌为0

TDQS

C2.9/5.0
Behavior2/5

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

There are no annotations, so the description must disclose behavioral traits itself. It does state the HTTP method and a unified response format, but it does not mention side effects, idempotency, permission/auth needs, or error behavior. The fact that this mutates data is only implied by '修改'.

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 compact and front-loaded with the endpoint and action, followed by parameter requirements and response format. It contains no filler, though some content redundantly echoes the schema.

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?

It gives enough to attempt a call: endpoint, required/optional parameters, and response envelope. However, it omits usage context, side effects, auth expectations, and alternative routing, and since there is no output schema the response description is only minimally helpful.

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?

The input schema already documents all five parameters with 100% coverage. The description mostly repeats the required/optional status and '用户令牌0', adding little beyond what the schema already provides.

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 a concrete action ('修改默认推送配置') and names the endpoint 'editUserDefault'. It makes clear this is an edit operation, though it does not explicitly contrast with sibling add/list/detail/delete 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 when-to-use or when-not-to-use guidance is provided, and no alternative siblings are mentioned. The intended use is only implied by the verb '修改' and the endpoint name, with no prerequisites or routing guidance.

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

open_setting_extension修改插件渠道转发C

GET /open/setting/extension - 微信渠道消息是否同步浏览器扩展/桌面应用。 请求(url): forward(0否/1是,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
forwardYes是否同步插件/桌面应用接收;0:否,1:是

TDQS

C2.9/5.0
Behavior2/5

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

There are no annotations, so the description bears full responsibility for behavior. It discloses the HTTP method and generic response envelope but does not clearly state that calling this endpoint performs a state-changing update; in fact, the GET verb and phras? –是否同步'' make it sound like a query, while the title says modify. Auth, side effects, and idempotency are not addressed.

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 compact and front-loaded with the endpoint and purpose, followed by the parameter and response format. There is little fluff, though the generic uniform-response sentence is somewhat boilerplate and the ambiguous GET/modify framing costs it a perfect score.

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?

For a one-parameter endpoint with no output schema, the description provides the URL, required parameter, and response envelope, making the call technically invocable. However, it omits the state-change nature, what data actually contains, and any auth or side-effect context, which is a meaningful gap for an agent deciding whether calling is appropriate.

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%, with the schema already defining forward as required integer 0/1. The description merely restates 'forward(0否/1是,必填)' and adds that it appears in the URL, which adds no substantive meaning 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 identifies the exact endpoint, the setting being modified (WeChat channel message sync to browser extension/desktop apps), and the control parameter. It is distinct from sibling setting tools by the extension-specific resource, though it never states an explicit action verb in the description itself and relies on the title for 'modify' semantics.

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 given about when to use this tool versus related setting-change siblings such as open_setting_change_is_send, open_setting_change_receive_limit, or open_setting_change_default_chanel. An agent is left to infer applicability solely from the resource-specific name.

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

open_setting_get_user_settings获取默认渠道(已废弃)A

GET /open/setting/getUserSettings - 已废弃,请改用 listUserDefault/detailUserDefault。统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations exist, so the description must carry behavioral disclosure. It discloses the deprecation status and the unified response envelope (code/msg/data), which is useful. It does not mention response data shape, failure behavior, or side effects, though GET semantics imply a read-only call.

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 dense sentence that packs endpoint, deprecation warning, replacement tools, and response format with no filler. The most actionable information—deprecation and alternatives—appears early.

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 deprecated zero-parameter GET whose alternatives are named, the description gives enough to route an agent away and interpret the basic response. It stops short of describing the business data inside 'data', but that gap is mitigated by the explicit recommendation to use another endpoint.

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 zero parameters, so there is nothing for the description to explain beyond the schema. The schema already covers all parameters vacuously. The response-envelope note adds useful context but parameter meaning is not a concern here.

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 identifies the operation via the endpoint 'GET /open/setting/getUserSettings' and the title '获取默认渠道' (get default channel), so the resource is clear. It also marks the tool as deprecated, which separates it from active siblings. However, the description itself never spells out the behavior in its own words—it relies on the endpoint and title.

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

Usage Guidelines5/5

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

Explicitly states the tool is deprecated and tells the agent to use listUserDefault/detailUserDefault instead. This is an unambiguous when-not-to-use instruction with named alternatives.

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

open_setting_list_user_default默认配置列表A

POST /open/setting/listUserDefault - 按消息token配置的默认推送渠道列表。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: id(默认配置编号), channel(渠道编码;wechat微信公众号,cp企业微信应用,webhook第三方webhook,mail邮件,sms短信,voice语音,extension插件,clawbot微信ClawBot,cmcc新消息ClawBot,qq QQ机器人), channelTxt(渠道名称), updateTime, name(令牌名称)。

NameRequiredDescriptionDefault
currentNo当前所在分页数,默认1
pageSizeNo每页大小,默认20,最大50

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the burden for behavioral disclosure. It thoroughly documents the unified response envelope, pagination fields, and list item structure including channel codes, which helps callers interpret results. However, it never explicitly states that this is a read-only operation or mentions any authorization requirements.

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 front-loaded with the primary purpose, followed by request parameters and a structured response guide. It is compact relative to the information density, though it duplicates schema content rather than referencing it.

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 two-optional-parameter list endpoint with no output schema, the description provides complete response semantics and enumerates all channel codes. It lacks authorization context and error-code specifics, but for a simple paginated list, the coverage is nearly 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?

The description repeats the parameter defaults and max values that are already present in the input schema ('current(当前页,默认1), pageSize(每页大小,默认20,最大50)'). Since schema coverage is 100%, the description adds no new semantic value beyond what the schema already provides.

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 opens with 'POST /open/setting/listUserDefault - 按消息token配置的默认推送渠道列表', which clearly states a list operation on default push channels. It distinguishes itself from siblings like open_setting_detail_user_default (detail) and open_setting_add_user_default (add) by using the verb 'list'.

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 mention when to use this tool versus alternatives like open_setting_add_user_default or open_setting_change_default_channel. Usage is implied by the 'list' verb and the sibling names, but no direct guidance or conditions are provided.

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

open_token_add新增消息 tokenA

POST /open/token/add - 新增消息 token。 请求: name(令牌名称,必填), expireTime(过期时间,可选,默认2999-12-31)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 新建的消息 token 字符串。

NameRequiredDescriptionDefault
nameYes令牌名称,必填
expireTimeNo过期时间,如 2035-05-09 22:34:00;默认 '2999-12-31'

TDQS

A3.6/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 behavioral disclosure burden. It does disclose that this creates a token, that expireTime defaults to '2999-12-31', and that the response follows a unified code/msg/data structure. However, it does not mention authentication requirements, error behavior, or side effects beyond creating a new token.

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 compact and front-loaded with the endpoint and action, then covers request parameters and the response format in three short sentences. Every sentence contributes useful information, with no repetition or filler.

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 two-parameter creation tool with no output schema and no annotations, the description is largely complete: it specifies required parameters, defaults, and the unified response including the returned token string. Minor gaps remain around authentication context and error cases, but these do not block correct invocation.

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 the schema already documents both parameters. The description mirrors the schema by stating name is required and expireTime is optional with a default, but it adds no meaning beyond what the structured schema already provides.

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 opens with the HTTP method and endpoint and clearly states the action as '新增消息 token' (add message token). This specific verb+resource combination distinguishes it from sibling token tools such as open_token_list, open_token_edit, and open_token_delete without needing to inspect schemas.

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 explains what the tool does but gives no guidance on when to use it versus the many sibling token/message tools. There are no explicit alternatives, exclusion conditions, or scenarios that would make another tool more appropriate.

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

open_token_delete删除消息 tokenA

DELETE /open/token/deleteToken - 高风险:删除消息 token。 请求(url): id(消息token编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 如「删除成功」。

NameRequiredDescriptionDefault
idYes消息 token 编号

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the transparency burden. It discloses the DELETE method, labels the action as high risk, and provides the unified response shape including success data. However, it does not explain irreversibility, side effects on associated messages/tokens, or permission requirements.

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?

Description is compact and well-organized: endpoint, risk level, request parameter, and response format. It is front-loaded with method and high-risk warning, and every sentence contributes useful information.

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 single-parameter delete endpoint, the description covers the endpoint, required id, and response format. It lacks deeper context about what deletion affects or authorization needs, but the title and schema provide enough for a straightforward invocation.

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?

The schema already describes id as '消息 token 编号' and marks it required, so schema coverage is 100%. The description only repeats id with a 'required' label and ties it to the URL, adding no meaningful semantic value beyond the baseline.

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 states explicit verb 'delete' and resource 'message token', plus the HTTP method and endpoint. This distinguishes it from siblings like open_message_delete (message deletion) and open_token_edit/list.

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 when-to-use or when-not-to-use guidance is provided. The 'high risk' warning implies caution, but there is no contrast with alternatives such as open_token_edit or open_message_delete, so usage context must be inferred.

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

open_token_edit修改消息 tokenA

POST /open/token/edit - 修改消息 token。 请求: id(编号,必填), name(令牌名称,必填), expireTime(过期时间,可选,默认2999-12-31)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 如「修改成功」。

NameRequiredDescriptionDefault
idYes消息 token 编号
nameYes令牌名称
expireTimeNo过期时间;默认 '2999-12-31'

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden. It discloses that this is a modification operation, lists required/optional parameters, provides a default for expireTime, and explains the response structure. However, it does not mention permissions, side effects, or what happens when the token does not exist — limited for a mutation tool.

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 concise and well-structured: endpoint and purpose first, then request params, then response format. Every sentence carries relevant information with no fluff. The formatting is dense but clear.

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 3 flat parameters, full schema coverage, and no output schema, the description is adequate. It covers the operation, parameter details, and response format, including a data example. Missing annotation-driven safety context is offset by the clarity of the 'edit' verb.

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%, with all three parameters already documented in the schema. The description merely restates the same information (id, name, expireTime with default), adding no new meaning beyond the schema. Baseline 3 applies.

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 states a specific verb and resource: '修改消息 token' (modify message token), with the HTTP endpoint included. This clearly identifies the action and the target resource, distinguishing it from sibling tools by the edit semantics. However, it does not explicitly contrast itself with the add/delete token siblings.

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?

Usage is implied by the verb '修改' (modify) — an agent can infer this is for updating an existing token's name or expiration. But there is no explicit guidance on when to choose this over open_token_add or open_token_delete, nor any stated conditions or exclusions.

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

open_token_list消息 token 列表A

POST /open/token/list - 分页获取消息 token 列表。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: id(消息token编号), name(令牌名称), expireTime(过期时间), token(消息token字符串)。

NameRequiredDescriptionDefault
currentNo当前所在分页数,默认1
pageSizeNo每页大小,默认20,最大50

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description must carry the behavioral disclosure burden. It does so well by documenting the unified response envelope (code/msg/data), the paginated data shape (pageNum/pageSize/total/pages/list), and the list item fields, plus constraints like default page size and a maximum of 50. It omits authentication and error-code specifics, but those are not essential for a basic read-only list call.

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 compact and front-loaded with the HTTP method, endpoint, and purpose, then systematically covers request parameters and response fields. Every sentence carries useful information with no repetition or filler.

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?

For a simple two-optional-parameter list operation with no output schema, the description fully explains how to invoke it and what the response will contain, including the envelope, pagination metadata, and item attributes. Nothing required to correctly call and interpret this tool is missing.

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%, and the description essentially restates the same parameter meanings: current defaults to 1 and pageSize defaults to 20 with a maximum of 50. While the response structure adds value, it does not add semantic information about the parameters beyond what the input schema already provides, so baseline 3 is appropriate.

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 opens with '分页获取消息 token 列表', a specific verb (分页获取) plus resource (消息 token 列表), and includes the exact HTTP endpoint. It clearly differentiates from sibling tools like open_token_add, open_token_delete, and open_token_edit, which are mutations rather than list operations.

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?

The description clearly implies this tool is for paginated retrieval of message tokens, which is distinguishable from token creation/edit/delete siblings. It gives pagination request details and response structure, so an agent understands the context in which to use it, though it never explicitly states when not to use it or names an alternative.

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

open_topic_add新增群组A

POST /open/topic/add - 新增群组。 请求: topicCode(编码,必填), topicName(名称,必填), contact(联系方式,必填), introduction(简介,必填), receiptMessage(加入后回复,可选), appId(绑定公众号Id,可选,默认pushplus公众号), icon(可选), topicType(可选,默认0;群组类型;0普通群组;1积分群组;2公开群组), price(可选,默认0), topicDescribe(一句话介绍,可选)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 新建群组编号(数字)。

NameRequiredDescriptionDefault
iconNo群组图标
appIdNo微信公众号Id;填写绑定后的公众号Id,默认使用pushplus公众号
priceNo积分群组订阅积分;按月;默认0
contactYes联系方式,必填
topicCodeYes群组编码,必填
topicNameYes群组名称,必填
topicTypeNo0普通群组;1积分群组;2公开群组;默认0
introductionYes群组简介,必填
topicDescribeNo一句话介绍
receiptMessageNo加入后回复内容

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden, and it partially fulfills it by exposing the HTTP method POST and the unified response format, including the success code and 'data' as the new group ID. It also surfaces key defaults such as topicType=0 and appId=pushplus公众号. However, it does not mention side effects beyond creation, idempotency, or permission requirements.

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 dense paragraph but wastes no words: it enumerates all 10 parameters with required/optional markers and closes with the response format. It could be improved with line breaks for readability, but the length is appropriate for the parameter count.

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 10-parameter creation tool with no output schema, the description covers required and optional fields, defaults, and the response data type, which is enough for an agent to construct a request and interpret the result. It omits error cases and auth prerequisites, but those are not critical for the primary call sequence.

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 every parameter is already documented in the schema. The description essentially restates the same meanings, required/optional flags, and defaults, adding no new syntactic or semantic detail beyond what the schema provides. The baseline of 3 applies because the description adds no real parameter insight.

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 states the endpoint and operation in the first phrase, 'POST /open/topic/add - 新增群组', making the verb-resource pair explicit. This clearly identifies a creation action, and it is distinguishable from sibling tools such as open_topic_edit and open_topic_delete, though those alternatives are not named.

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 gives no explicit guidance about when to use this tool over alternatives; it only states '新增群组' and lists parameters. There is no mention of prerequisites, such as authentication or required prior steps, and no exclusions that would route an agent to open_topic_edit or open_topic_delete. Usage is only implicit from the name and opening phrase.

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

open_topic_delete删除群组B

GET /open/topic/delete - 高风险:删除群组。 请求(url): topicId(群组编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 如「群组删除成功」。

NameRequiredDescriptionDefault
topicIdYes群组编号

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 carries the full burden of behavioral disclosure. It warns that the operation is high-risk and states the success message, but it does not mention whether deletion is permanent, what side effects occur (e.g., members removed, data lost), permission requirements, or reversibility. The '高风险' label is generic and lacks specifics.

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 compact and front-loaded, immediately stating the endpoint and risk level, followed by the parameter and unified response format. Every segment adds necessary information with no filler, though it could be slightly better structured to separate metadata from usage instructions.

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?

For a single-parameter tool with no output schema and no annotations, the description covers the endpoint, required parameter, and response shape. However, it lacks critical side-effect information for a destructive operation, such as irreversibility and downstream impacts, which leaves the description only marginally adequate.

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%, and the description merely restates the single parameter 'topicId(群组编号,必填)' without adding new semantics. It does not explain value ranges, additional format requirements, or context beyond what the schema already provides, so the baseline of 3 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 action with a specific verb and resource: '删除群组' (delete group), and includes the endpoint and a high-risk marker. This distinguishes it from siblings like open_topic_exit (exit group) and open_topic_user_delete (delete user from group), because the target is the group itself.

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 provides no explicit guidance on when to use this tool versus alternatives such as open_topic_exit or open_topic_edit. The only usage-related hint is the vague '高风险' warning; there are no exclusions, prerequisites, or conditions for choosing this over other topic operations.

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

open_topic_detail我创建的群组详情A

GET /open/topic/detail - 获取我创建的群组详情。 请求(url): topicId(群组编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: topicId, topicCode, topicName, qrCodeImgUrl(永久二维码), contact, introduction, receiptMessage(加入后回复), nickName, createTime, topicUserCount, icon, appId, topicType(群组类型;0普通群组;1积分群组;2公开群组), price(积分群组订阅积分/月), topicDescribe, userNickName, isApproved/firstIsApproved(是否审核通过;0未审核,1审核不通过,2审核通过), approveReason, isOpen(0否/1是)。

NameRequiredDescriptionDefault
topicIdYes群组编号

TDQS

A3.9/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It discloses the response envelope, a detailed data payload, enum meanings, and ownership scope via '我创建的'. It does omit auth requirements and error behavior for invalid or non-owned topicId values, but the GET method and detailed response contract cover the main behavior.

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 purpose and endpoint are front-loaded, and the response field enumeration is useful because there is no output schema. The description is dense and partly redundant with the schema's parameter documentation, but every piece contributes to understanding the response contract.

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 single-parameter detail GET with no output schema, the description provides a full response contract including field meanings and enum values. Minor gaps remain around non-200 error semantics and authentication expectations, but the tool is otherwise callable with the information provided.

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%, and the description's parameter line ('topicId(群组编号,必填)') largely repeats what the schema already provides in the required field and its description. It adds no format, constraints, or behavioral nuance beyond the 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?

The description opens with the exact HTTP verb and endpoint and states a specific operation: retrieving details of a group the caller created. The '我创建的' scope helps distinguish it from list and join-detail sibling tools, even though no sibling is explicitly named.

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 intended use is implied by the title and the phrase '我创建的群组详情', but there is no explicit guidance about when to choose this tool over alternatives like open_topic_list or open_topic_join_detail, nor any mention of prerequisites or exclusions.

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

open_topic_edit修改群组A

POST /open/topic/editTopic - 修改群组信息。 请求: topicId(群组编号,必填), topicCode(编码,必填), topicName(名称,必填), contact/introduction/receiptMessage/icon/price/topicDescribe(可选)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 如「修改成功」。

NameRequiredDescriptionDefault
iconNo群组图标
priceNo积分群组订阅积分;按月
contactNo联系方式
topicIdYes群组编号
topicCodeYes群组编码
topicNameYes群组名称
introductionNo群组简介
topicDescribeNo一句话介绍
receiptMessageNo加入后回复内容

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral disclosure burden. It clearly states this is a modify operation and documents the unified response format, including code/msg/data and a sample success value. However, it does not mention side effects, permission requirements, or what happens if the topic does not exist.

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 compact and front-loaded: it opens with the endpoint and action, then lists required and optional parameters, then gives the response contract. Every sentence contributes useful information with no filler.

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 request shape, required versus optional fields, and the unified response format, which is important because there is no output schema. It could be more complete with usage conditions or failure behavior, but for a straightforward edit operation it covers the essential calling context adequately.

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%, and the schema already documents each parameter with Chinese labels like 群组编号 and 群组名称. The description merely restates the required/optional grouping without adding meaning beyond the schema, so the baseline of 3 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 states a specific action and resource: '修改群组信息' (modify group information), backed by the endpoint POST /open/topic/editTopic. This clearly distinguishes it from sibling tools like open_topic_add, open_topic_delete, and open_topic_detail.

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 this tool is for modifying existing group information, but it never explicitly states when to use it versus alternatives such as open_topic_add or open_topic_delete. No when-not-to-use conditions or alternative tool names are provided.

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

open_topic_exit退出群组B

GET /open/topic/exitTopic - 高风险:退出/退订群组。 请求(url): topicId(群组编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 如「退订成功」。

NameRequiredDescriptionDefault
topicIdYes群组编号

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It does disclose that the operation is high-risk and provides the unified response shape including the expected data value '退订成功'. However, it does not explain irreversibility, permissions, or side effects beyond the warning.

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 compact and well-structured: endpoint, risk warning, action, required parameter, and response format. Every element earns its place, and the key information is front-loaded.

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?

For a one-parameter tool with no annotations and no output schema, the description covers the request and response adequately. However, the high-risk warning is vague and no alternative operations or consequences are mentioned, so some contextual gaps remain.

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 the schema already documents topicId fully. The description repeats 'topicId(群组编号,必填)' but adds no additional semantic details beyond the schema, so the baseline score of 3 applies.

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 action '退出/退订群组' (exit/unsubscribe from group) and identifies the resource as a group. It is specific enough to distinguish from delete-related siblings, though it does not explicitly name the difference.

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 provides no guidance on when to use this tool versus alternatives such as open_topic_delete or open_topic_user_delete. It only labels the operation as high-risk and gives the required parameter, leaving usage decisions to the agent.

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

open_topic_is_open上下架积分群组A

POST /open/topic/isOpen - 积分群组上下架。 请求: topicId(群组编号,必填), isOpen(1上架/0下架,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 如「操作成功」。

NameRequiredDescriptionDefault
isOpenYes是否上架;1是,0否
topicIdYes群组编号

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations to carry the behavior burden, the description discloses the POST endpoint, the required mutation (1上架/0下架), and the unified response contract (code/msg/data with a sample data value). It does not discuss permissions or broader side effects, but the core behavioral effect is explicit.

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 compact and front-loaded: operation first, then the two required parameters, then the unified response. Every sentence provides necessary information and there is no filler.

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 two-parameter state-toggle operation with no output schema, the description is largely complete: it specifies request, required fields, state semantics, and response shape. It could go further with error behavior or permissions, but those are not critical for invoking this simple endpoint correctly.

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?

The schema already documents both parameters with 100% coverage, and the description merely repeats the same meanings ('群组编号', '1上架/0下架') plus '必填', which duplicates the required constraint already in the schema. No additional parameter semantics are added.

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 states a specific operation, '积分群组上下架' (put a points group on/off shelf), names the exact endpoint, and clarifies the semantic of isOpen (1上架/0下架). This is unique among the open_topic_* siblings, which handle listing, adding, editing, deleting, or subscriber management, so the agent can reliably distinguish this tool.

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?

The operation is unambiguously scoped: use this tool to toggle the on/off-shelf state of a points group via topicId and isOpen. It does not explicitly name alternative tools or exclusions, but no sibling performs this toggle, so the usage context is clear enough.

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

open_topic_join_detail我加入的群组详情B

GET /open/topic/joinTopicDetail - 获取我加入的群详情。 请求(url): topicId(群组编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: topicId, topicCode, topicName, contact, introduction, nickName, createTime(加入时间), icon, topicUserCount, topicType(群组类型;0普通群组;1积分群组;2公开群组), price, topicDescribe, userNickName。

NameRequiredDescriptionDefault
topicIdYes群组编号

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It discloses the unified response envelope and enumerates the business data fields, including the meaning of topicType values, which is useful. However, it does not mention authentication requirements, error conditions, or any caveats about the joined-group view.

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 packs endpoint, purpose, required parameter, response envelope, and data field definitions into a few sentences with useful details front-loaded. It is dense but not padded; the field list could be better structured, but it remains readable.

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 single-parameter GET-style detail tool with no output schema, the description provides a complete response contract and the key business data fields. Missing pieces are minor: no explicit error semantics or authentication notes, but the operation is simple and the response contract is well covered.

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%, and both schema and description document topicId as the required group number. The description adds only the required marker and URL placement, which is marginal because the schema already carries the core meaning.

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 states a clear verb-object pair ('获取我加入的群详情') and includes the exact endpoint path, so an agent can recognize this as a read operation for group details that the current user has joined. It does not explicitly contrast with siblings like open_topic_detail, but the '我加入的' qualifier provides some differentiation.

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 given on when to choose this tool over alternatives such as open_topic_detail or open_topic_list. The description only restates the operation; it lacks explicit conditions, exclusions, or references to sibling tools.

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

open_topic_list群组列表A

POST /open/topic/list - 获取群组列表。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 params.topicType(必填语义:0我创建的/1我加入的,默认0)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: icon, topicId, topicCode, topicName, nickName(所属公众号), createTime, topicUserCount, topicType(群组类型;0普通群组;1积分群组;2公开群组), isApproved(是否审核通过;0未审核,1审核不通过,2审核通过), firstIsApproved(是否审核通过;0未审核,1审核不通过,2审核通过), approveReason(审批拒绝理由), isOpen(积分群组是否上架;0否/1是)。

NameRequiredDescriptionDefault
currentNo当前所在分页数,默认1
pageSizeNo每页大小,默认20,最大50
topicTypeNo群组筛选类型;0-我创建的,1-我加入的;默认0

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and it delivers: it specifies the HTTP method/endpoint, request pagination bounds, the unified response envelope (code/msg/data), the pagination shape (pageNum/pageSize/total/pages/list), and the meaning of all list-item fields including enum-like values for topicType, isApproved, firstIsApproved, and isOpen. This goes well beyond the request-only schema and gives the agent a complete mental model of the call's behavior, including error semantics via code 200成功.

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 dense block with no wasted sentences — endpoint, pagination, filter, response envelope, and item fields each earn their place. Minor redundancy is that pagination and topicType defaults duplicate the schema, and the wall-of-text format reduces scanability, but the field dictionary is unusually information-dense.

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?

There is no output schema, so full return-value documentation is essential — and the description provides it end-to-end, from envelope to pagination wrapper to every list-item field with value meanings. Combined with parameter defaults and filter semantics, an agent has everything needed to call and interpret the tool correctly; auth or rate-limit caveats are the only niche omissions.

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?

The input schema already describes all three parameters at 100% coverage, so the baseline is 3. The description's contribution is modest — restating the same defaults and max pageSize, plus the semantic nuance that topicType is 必填 in meaning though it defaults to 0. It adds no format or edge-case detail that is absent from the 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?

The description opens with 'POST /open/topic/list - 获取群组列表', an explicit verb (get) plus resource (群组列表) plus the HTTP endpoint, making the operation unambiguous. Against siblings like open_topic_detail, open_topic_add, open_topic_edit, open_topic_delete, 'list' is clearly the collection operation, so an agent can distinguish it without opening schemas.

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 and filter (current/pageSize/topicType default and max values, 0我创建的/1我加入的), which tells an agent what parameters to set. However, it never states when to choose this tool over alternatives such as open_topic_detail or open_qqbot_group_list, nor gives exclusions. Usage is therefore implied by the filter semantics rather than explicitly routed.

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

open_topic_qr_code获取群组二维码A

GET /open/topic/qrCode - 获取群组二维码。 请求(url): topicId(必填), second(有效期秒,默认604800即7天,最长30天), scanCount(可扫码次数1-999,-1无限,默认-1)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: qrCodeImgUrl(二维码图片路径), forever(0临时二维码/1永久二维码)。

NameRequiredDescriptionDefault
secondNo二维码有效期(秒);默认604800(7天),最长30天
topicIdYes群组编号
scanCountNo可扫码次数;1-999,-1代表无限次;默认-1

TDQS

A4.1/5.0
Behavior4/5

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

No annotations exist, so the description fully carries the behavioral disclosure burden. It discloses the unified response envelope (code/msg/data), data fields (qrCodeImgUrl, forever), and parameter constraints (second default/max, scanCount range/default). Side effects and auth are not mentioned, but as a GET retrieval operation this is adequate.

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?

Compact and front-loaded: endpoint, purpose, parameters, and response format all appear in a single efficient block. Every sentence carries distinct, useful information with no redundant filler.

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?

Even though there is no output schema, the description fully specifies the response shape and data fields (qrCodeImgUrl, forever) plus all parameter behaviors and defaults. Nothing essential for calling this tool is missing.

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 the baseline is 3. The description restates the schema's parameter details (default 604800 seconds, max 30 days, scanCount 1-999 or -1) without adding significant new meaning beyond labeling topicId as required.

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 states a specific verb and resource: 'GET /open/topic/qrCode - 获取群组二维码' (get group QR code). It clearly differentiates from sibling tools like open_friend_get_qr_code and open_clawbot_get_bot_qrcode by scope (topic/group vs friend/bot).

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?

Usage context is implied by the tool name and description ('获取群组二维码'), but there is no explicit when-to-use guidance or mention of alternatives. Given the large sibling list containing several QR-code tools, explicit routing would have improved clarity.

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

open_topic_user_add_blacklist将订阅人加入黑名单A

POST /open/topicUser/addBlacklist - 高风险:将订阅人加入黑名单。 加入后将移出群组,对方无法再加入该群组。积分群组不支持黑名单。不能将自己加入黑名单。 请求(url): topicRelationId(用户编号,必填;来自订阅人列表 id)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
topicRelationIdYes用户编号(订阅人列表的 id 字段)

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so well. It discloses the high-risk nature, the post-condition of removing the user from the group, the inability to rejoin, and unsupported group types. This exceeds what structured fields would provide.

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 compact and structured: endpoint, risk level, effect, parameter source, and response format. Every sentence earns its place, and the critical behavioral details are front-loaded.

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?

For a single-parameter tool with no output schema and no annotations, the description is fully sufficient. It covers the parameter source, success criteria, side effects, and limitations, enabling correct invocation without additional context.

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% and the description essentially restates the same parameter meaning already found in the schema: topicRelationId is the user ID from the subscriber list. No additional format, constraints, or examples are added beyond the 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?

The description clearly states the action: adding a subscriber to the blacklist via a specific POST endpoint. It distinguishes itself from sibling tools by specifying the target resource (订阅人/topic subscriber) and the topicRelationId source.

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?

The description provides clear context and important usage restrictions: points groups do not support blacklists and the user cannot blacklist themselves. It does not explicitly name alternative tools like remove_blacklist, but the action is unambiguous enough that an agent can select it appropriately.

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

open_topic_user_blacklist_list订阅人黑名单列表A

POST /open/topicUser/blacklistList - 获取群组订阅人黑名单列表。 积分群组不支持黑名单。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 params.topicId(群组编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: id(黑名单记录ID,解除黑名单时使用), userId(被拉黑用户ID), nickName, openId, headImgUrl, createTime(拉黑时间)。

NameRequiredDescriptionDefault
currentNo当前所在分页数,默认1
topicIdYes群组编号,必填
pageSizeNo每页大小,默认20,最大50

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden, and it delivers: it documents the HTTP method, the points-group limitation, the unified response envelope (code/msg/data with 200 meaning success), the paginated data shape (pageNum/pageSize/total/pages/list), and the operational meaning of the id field ('解除黑名单时使用'). The only gap is that it does not say what actually happens for points groups—error code, empty list, or rejection—which would fully close the loop.

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 dense single paragraph but follows a logical order: endpoint → purpose → caveat → request params → response envelope → pagination fields → list item fields. Everything earns its place, and the most decision-relevant facts are front-loaded. Minor redundancy exists because the parameter details duplicate the input schema, which prevents a perfect score.

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 3-parameter list operation with no output schema, the description is thorough: it covers the full request, the full response envelope, pagination metadata, and every list-item field including the purpose of id. Remaining gaps are minor—no explicit error behavior for points groups, no auth or rate-limit note—but nothing an agent needs to successfully invoke and parse this tool is missing.

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 the baseline is 3. The description's parameter notes (current defaults to 1, pageSize defaults to 20 max 50, topicId is required) essentially restate what the schema already declares. It adds no new semantics beyond framing them as pagination parameters, so it neither compensates for a gap nor adds genuine value here.

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 opens with the endpoint and a specific verb-resource pair: '获取群组订阅人黑名单列表' (get group subscriber blacklist list). This is unambiguously distinct from siblings like open_topic_user_subscriber_list (subscriber list), open_topic_user_add_blacklist / remove_blacklist (mutations), and open_friend_blacklist_list (friend scope). An agent can select this tool based on the first line alone.

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 provides a meaningful usage constraint—'积分群组不支持黑名单' (points groups do not support blacklists)—which helps an agent know when the tool will not work. However, it never names sibling alternatives or states when to prefer this over open_friend_blacklist_list or open_topic_user_subscriber_list. Usage context is implied rather than explicit.

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

open_topic_user_delete删除群组内用户A

POST /open/topicUser/deleteTopicUser - 高风险:删除群组订阅用户。 请求(url): topicRelationId(用户编号,必填;来自订阅人列表的 id)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 如「删除成功」。

NameRequiredDescriptionDefault
topicRelationIdYes用户编号(订阅关系ID),来自订阅人列表 id 字段

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden. It explicitly warns '高风险' and states the destructive effect (deleting a group subscription), and it documents the unified response shape. Permission requirements and side effects beyond deletion are not detailed, but the destructive nature is unmistakable.

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 compact and well-structured: endpoint and risk warning first, then the single required parameter, then the response format. It includes a little redundancy with the schema, but it remains tight and readable.

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 tool with one required parameter and no output schema, the description covers the endpoint, parameter source, success code (200), and data example ('删除成功'). It omits explicit alternative routing and side-effect caveats, but these are not critical for invoking this simple deletion 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 description coverage is 100%, and the description mostly restates what the schema already says: topicRelationId is required and comes from the subscriber list id field. No additional parameter semantics such as constraints or format are added, so baseline 3 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 states a specific action ('删除群组订阅用户') with a concrete resource and endpoint (deleteTopicUser), and flags it as high-risk. This clearly distinguishes it from sibling operations like exiting a group or blacklisting a user.

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?

The description gives clear use context: it deletes a group subscriber, and the required topicRelationId comes from the subscriber list ('来自订阅人列表的 id'), which tells the agent where to obtain input. It does not explicitly name alternatives or state when not to use it, so it falls short of full routing guidance.

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

open_topic_user_edit_remark修改订阅人备注B

POST /open/topicUser/editRemark - 修改订阅人备注。 请求: id(用户编号,必填), remark(备注,必填,20字以内)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
idYes用户编号(订阅关系ID)
remarkYes订阅人备注信息;20个字以内

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It does disclose the HTTP method, endpoint, required parameters, and the unified response envelope, which is useful. However, it does not state side effects such as overwriting an existing remark, permission requirements, or failure/error behavior beyond a generic code.

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?

Three short sentences: purpose/endpoint, request fields, and response format. Each sentence earns its place with no fluff or repetition, and the core action is front-loaded.

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 two-parameter mutation with full schema coverage and no output schema, the description covers the invocation essentials: endpoint, required fields, constraints, and response envelope. It lacks sibling differentiation and deeper behavioral context, but it is not severely incomplete.

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 both id and remark already described by types and constraints. The description largely restates the schema (required fields, 20-character limit) and adds no new semantic meaning for either parameter.

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 states a specific verb and resource: '修改订阅人备注' (modify subscriber remark), and gives the endpoint path. It is clearly distinguishable from the sibling open_friend_edit_remark by the 'subscription person' scope, though it does not explicitly differentiate itself.

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 provides no guidance on when to use this tool versus open_friend_edit_remark or other topic-user management tools. It only lists request fields, leaving an agent to infer the appropriate context from the tool name.

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

open_topic_user_remove_blacklist解除订阅人黑名单A

POST /open/topicUser/removeBlacklist - 高风险:解除订阅人黑名单。 解除后不会自动恢复群组订阅,对方可重新加入该群组。 请求(url): id(黑名单记录ID,必填;来自黑名单列表 id)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
idYes黑名单记录ID(黑名单列表的 id 字段)

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It explicitly warns '高风险' (high risk), states that removal does not automatically restore group subscription, and notes that the person may rejoin the group. This goes beyond the raw action and gives the agent meaningful expectations about consequences.

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 compact and front-loaded: it begins with the HTTP method and endpoint, then the risk warning, the behavioral consequence, the parameter, and the unified response format. Every sentence contributes useful information with no filler.

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?

For a single-parameter tool with no output schema, the description is complete: it explains the purpose, the input provenance, the high-risk consequence, and the response envelope. An agent has enough context to invoke the tool correctly and anticipate the outcome.

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?

The schema description coverage is 100%, so the baseline is 3. The description repeats that id is required and clarifies it comes from the blacklist list id, but this largely duplicates the schema's own description ('黑名单列表的 id 字段'). No additional format, range, or semantic nuance is added.

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 states a specific verb (解除, remove) and resource (订阅人黑名单, subscriber blacklist), and the endpoint POST /open/topicUser/removeBlacklist makes the operation concrete. This clearly distinguishes it from the sibling open_topic_user_add_blacklist and open_friend_remove_blacklist even without needing the input schema.

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?

The description gives clear operational context: the tool removes a subscriber from the blacklist, requires an id from the blacklist list, and warns that the action does not restore the group subscription. It does not explicitly name alternatives or exclusion conditions, but the context is sufficient for an agent to decide when this tool applies.

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

open_topic_user_subscriber_list获取群组内用户A

POST /open/topicUser/subscriberList - 获取群组订阅人列表。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 params.topicId(群组编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: id(用户编号,可用于删除), nickName, openId, headImgUrl, userSex(0未设置/1男/2女), havePhone(0未绑定/1已绑定), isFollow(0未关注/1已关注), emailStatus(0未验证/1待验证/2已验证), followTime(关注群组时间), remark(备注)。

NameRequiredDescriptionDefault
currentNo当前所在分页数,默认1
topicIdYes群组编号,必填
pageSizeNo每页大小,默认20,最大50

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does substantial work: it discloses pagination defaults, the unified response envelope, and the meaning of list item fields including enums for userSex, havePhone, isFollow, and emailStatus. It does not explicitly mention authentication needs or error behavior beyond '200成功', but the read-only nature is implied by '获取' and no contradictory behavior is 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 front-loaded with purpose and parameters, then presents structured response details. The length is justified because there is no output schema, so the field enumeration is necessary, but the prose could be slightly tightened without losing value.

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 3-parameter list operation with no annotations and no output schema, the description is near-complete: it covers endpoint, required and optional parameters, pagination behavior, response envelope, and field semantics. The main gaps are omitted auth requirements and explicit error-handling guidance, though these are not essential for a basic invocation.

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?

The schema already documents all three parameters with descriptions, defaults, and max values, so schema coverage is 100% and the baseline is 3. The description only restates these facts in prose, adding minimal new parameter meaning beyond what the schema provides.

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 states the exact POST endpoint and clearly identifies the operation as '获取群组订阅人列表' (retrieve group subscriber list), a specific verb+resource. The endpoint path 'subscriberList' and the term '订阅人' naturally distinguish it from sibling tools like blacklist lists or topic-level operations.

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 through the resource name and provides operational context such as pagination and required topicId, but it does not explicitly state when to use this tool versus alternative sibling tools like open_topic_user_blacklist_list or open_topic_list. No exclusions or explicit alternatives are provided.

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

open_user_image_delete删除图片B

DELETE /open/userImage/delete - 高风险:主动删除图片。 请求(url): id(图片id,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
idYes图片 id

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It does state '高风险:主动删除图片' (high risk: actively delete image), which flags destructive action, and the HTTP DELETE method reinforces this. However, it does not disclose whether deletion is permanent, irreversible, or whether related data is affected.

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 compact and front-loaded with the HTTP method, path, and risk warning, followed by the required parameter and response format. The unified response note is somewhat boilerplate but still useful; overall there is little waste.

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?

For a simple one-parameter delete operation, the description covers the endpoint, required id, risk, and response shape. Missing context includes whether deletion is irreversible, how to obtain a valid image id, and error-specific behavior, which would be valuable for safe invocation.

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 the schema already documents the 'id' parameter as '图片 id' and marks it required. The description merely repeats 'id(图片id,必填)', adding no extra meaning about value range, source, or constraints beyond the 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?

The description explicitly states the verb and resource: 'DELETE /open/userImage/delete' and '主动删除图片' (actively delete image). It is unambiguous and distinct from sibling tools like open_user_image_list or open_user_image_upload_token, which handle listing and upload tokens, not deletion.

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 about when to use this tool versus alternatives, or when not to use it. The high-risk label implies caution, but there is no explicit mention of sibling tools or conditions under which another tool should be chosen.

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

open_user_image_list图片列表A

POST /open/userImage/list - 查询已上传图片列表。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 默认 pageSize 可为10;最大50。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: id(图片id), imgUrl(图片地址), thumbnail(缩略图), createTime。 未删除图片默认 30 天后系统自动清理。

NameRequiredDescriptionDefault
currentNo当前所在分页数,默认1
pageSizeNo每页大小,默认10/20,最大50

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden and mostly succeeds. It documents the unified response envelope (code/msg/data), pagination response fields, list item fields, and the 30-day auto-cleanup behavior. It does not mention authentication or rate limits, but the read-only query nature is clear.

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 compact and well-organized with labeled fields, and it front-loads the endpoint and purpose. However, the pageSize default/max information is repeated with contradictory values, adding noise and reducing structural clarity.

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 list tool with two optional parameters and no output schema, the description covers endpoint, pagination parameters, response envelope, data fields, and lifecycle caveat. An agent has enough to invoke it correctly, aside from the unresolved pageSize default ambiguity.

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 a maximum pageSize of 50 and restates defaults, but it also introduces confusion by saying '默认 pageSize 可为10' after earlier stating '默认20,最大50', so the added semantics are inconsistent rather than clarifying.

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 endpoint and the specific operation: 'POST /open/userImage/list - 查询已上传图片列表' (query uploaded image list). This distinguishes it from sibling image-related tools such as open_user_image_delete and open_user_image_upload_token.

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 this is the list/query counterpart to upload/delete siblings, and it explains pagination usage. However, it does not explicitly state when to use this tool versus alternatives or provide any exclusions.

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

open_user_image_upload_token获取图片上传凭证A

GET /open/userImage/uploadToken - 获取七牛云表单上传凭证(图片服务,30天有效)。 请求参数: 无。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: uploadToken(上传凭证), uploadHost(上传域名), uploadUrl(上传地址), bucket(存储桶), expiresIn(凭证有效秒数)。 拿到凭证后按七牛表单规范向 uploadUrl 提交 token+file(无需 access-key)。

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It discloses 30-day validity, the unified code/msg/data response envelope, all data fields, and that no access-key is needed for the subsequent form upload. It does not mention auth requirements or rate limits, but these are not central for a credential-issuing GET.

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?

Description is front-loaded with the core purpose and endpoint, then compactly lists parameters, response envelope, data fields, and follow-up usage. Every sentence earns its place; no filler.

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?

Given no output schema, the description fully documents the response shape (code/msg/data and each data field) and tells the caller the next action. It is complete enough for a no-parameter credential operation.

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 request parameters, so the empty schema already covers semantics; the description adds explicit confirmation ('请求参数: 无') and clarifies that the later upload needs only token+file, no access-key. Baseline 4 for a 0-param 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 states a specific endpoint and resource ('GET /open/userImage/uploadToken - 获取七牛云表单上传凭证') plus scope ('图片服务') and validity ('30天有效'). It is immediately distinguishable from sibling image tools like open_user_image_list/delete and open_file_upload_image.

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?

Description provides clear workflow context: no request parameters, and after obtaining the token the caller submits token+file to uploadUrl using Qiniu form rules. It does not explicitly name alternatives or when-not conditions, so it stops short of 5.

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

open_user_limit_time获取解封剩余时间A

GET /open/user/userLimitTime - 查询发送限制与解封时间。 请求参数: 无。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: sendLimit(1无限制/2短期限制/3永久限制), userLimitTime(解封时间字符串)。

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and clearly indicates a read-only query via 'GET' and '查询'. It also discloses the response shape, including the sendLimit enum values and userLimitTime string, which is behaviorally useful. Auth requirements and error cases are not mentioned, but for a zero-parameter read endpoint this is a smaller gap.

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 compact and well-structured, starting with the HTTP verb and endpoint, then covering request and response details. Each sentence contributes useful information with no filler or redundancy.

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, parameter-less query, the description provides enough information to call the endpoint and interpret the result, including the meaning of sendLimit values and the userLimitTime field. It omits auth and failure-code details, but the core call-and-interpret flow is complete without an output 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?

The schema has zero parameters and the description explicitly confirms '请求参数: 无'. Since there are no parameters to document, the baseline score of 4 applies.

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 identifies the operation as '查询发送限制与解封时间' (query send limits and unban time) and gives the specific GET endpoint. However, it does not explicitly differentiate itself from sibling tools such as open_user_send_count or open_user_my_info, so it stops short of the highest clarity rating.

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?

There is no explicit guidance about when this tool should be used instead of other open_user_* tools. The intended use must be inferred entirely from the operation name and the description text.

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

open_user_my_info个人资料详情A

GET /open/user/myInfo - 获取个人资料。 请求参数: 无。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data 字段: openId(微信openId), unionId(微信unionId), nickName(昵称), headImgUrl(头像), userSex(0未设置/1男/2女), token(用户令牌), phoneNumber(手机号), email(邮箱), emailStatus(0未验证/1待验证/2已验证), birthday(生日), points(积分), verifyStatus(0未实名/1已实名), vipInfo{isVip(0否/1是), lastDay(会员到期日)}。

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full transparency burden. It discloses the HTTP method (GET), the unified response envelope (code/msg/data), and the complete data field list including enum meanings for userSex and emailStatus. It doesn't mention error cases or authentication requirements, a minor gap.

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 dense paragraph that front-loads the endpoint and purpose. Every listed field adds useful information, though the long inline field list could be visually structured more cleanly. No filler or repetition.

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?

For a zero-parameter read-only endpoint with no output schema and no annotations, this description is complete: it specifies the request (none), the response envelope, and every data field with type and enum semantics. Only non-200 error behavior is unspecified, which is a minor omission for a simple profile getter.

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 zero parameters, and the schema is empty. The description explicitly states '请求参数: 无', matching the schema and leaving no ambiguity. Per the zero-parameter baseline, this is fully adequate.

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 opens with 'GET /open/user/myInfo - 获取个人资料', giving a specific HTTP method, resource path, and clear verb-object purpose. It then enumerates the profile fields returned, which clearly distinguishes it from sibling user/token/message 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 intended use is implied by the name and description: retrieve the current user's personal profile. However, there is no explicit guidance about when to choose this tool over alternatives like open_user_token or open_user_limit_time, and no exclusions are stated.

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

open_user_send_count查询当日消息接口请求次数A

GET /open/user/sendCount - 查询当日各渠道消息接口请求次数。 请求参数: 无。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: wechatSendCount(微信公众号), cpSendCount(企业微信应用), webhookSendCount(webhook), mailSendCount(邮件), smsSendCount(短信), extensionCount(插件), voiceSendCount(语音), appSendCount(App), clawBotSendCount(微信ClawBot), qqBotSendCount(QQ机器人), cmccSendCount(新消息ClawBot)。

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden and discloses that this is a read-only GET with no request parameters, the unified code/msg/data envelope, and the exact returned fields. It does not cover authentication or non-200 error behavior, which are minor for a no-param read query.

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?

Purpose, transport, parameter statement, and response contract are front-loaded, and the channel-to-field mapping is compact. The long list is justified because no output schema exists to carry that information.

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?

For a no-parameter query with no output schema, the description is complete: endpoint, success envelope, and a full mapping from data fields to channels. An agent can invoke the tool and interpret the result without additional lookup.

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 has zero parameters (100% coverage) and the description explicitly confirms '请求参数: 无', leaving no parameter ambiguity. This meets the baseline for a parameterless 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 starts with the exact GET path and a specific verb-resource pair ('查询当日各渠道消息接口请求次数'), then enumerates all ten channel-specific count fields. This makes the tool's purpose unambiguous and distinguishable from the send/list siblings.

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?

The intended use is clear: retrieve today's per-channel message-interface request counts. It provides no explicit when-not-to-use guidance or alternative tool names, but the context is specific enough that no exclusion is needed.

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

open_user_token获取用户 tokenA

GET /open/user/token - 获取当前用户 token。 请求参数: 无。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 字符串,直接为当前用户 token。

NameRequiredDescriptionDefault

No 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 full responsibility. It discloses the HTTP method (GET), the absence of request parameters, and the unified response structure, but it does not state whether the operation has side effects (e.g., token rotation), what error responses look like besides a non-200 code, or any authentication requirements. This leaves some ambiguity for a token endpoint.

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 compact and front-loaded: it opens with the endpoint and purpose, then states the lack of parameters, and finally the response format. Every sentence adds necessary information with no redundancy.

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 tool's low complexity (zero parameters, simple string response), the description is nearly complete: it explains the purpose, the request shape, and the response data type. It falls slightly short by omitting details about non-success codes or token validity, but the 'unified response' convention partially covers that.

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 zero parameters and the schema description coverage is 100%. The description explicitly confirms '请求参数: 无' (no request parameters), which matches the empty schema. With zero parameters, the baseline is 4 and there is little more to add.

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 states a specific verb and resource: 'GET /open/user/token - 获取当前用户 token' (get current user token). This clearly differentiates it from sibling tools like open_token_list and open_get_access_key by specifying it returns the current user's token.

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 by stating it retrieves the current user token, but it provides no explicit guidance on when to prefer this over siblings such as open_token_list or open_token_add. There are no alternatives or exclusions mentioned, leaving the routing to inference.

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

open_webhook_add新增 webhookA

POST /open/webhook/add - 新增 webhook 配置。 请求: webhookCode(编码,必填), webhookName(名称,必填), webhookType(webhook类型;1企业微信机器人,2钉钉,3飞书,4Server酱,50bark,6企业微信应用,7腾讯轻联,8IFTTT,9集简云,10Gotify,11WxPusher,12自定义,必填), webhookUrl(调用url,必填), httpMethod/headers/body(仅自定义类型12需要)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 新建 webhook 编号(数字)。

NameRequiredDescriptionDefault
bodyNobody内容(仅自定义类型需要)
headersNo请求头(仅自定义类型需要)
httpMethodNo请求方法(仅自定义类型需要)
webhookUrlYes调用的url地址
webhookCodeYeswebhook编码
webhookNameYeswebhook名称
webhookTypeYeswebhook类型;1企业微信机器人,2钉钉,3飞书,4Server酱,50bark,6企业微信应用,7腾讯轻联,8IFTTT,9集简云,10Gotify,11WxPusher,12自定义

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the transparency burden and does a solid job: it gives the exact verb/resource, required versus conditional parameters, the unified response shape, and clarifies that data contains the new webhook ID. It does not disclose authentication needs or duplicate/error behavior, but the main side effect and response contract are clearly 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 dense but compact, front-loading the endpoint and creation intent, then covering request parameters and response in a logical order. It could be improved with clearer bullet/list formatting, but every piece of information earns its place.

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 create operation with 7 parameters, no annotations, and no output schema, the description is largely complete: endpoint, required fields, type enum, conditional custom-type fields, and unified response/data format are all present. It lacks explicit guidance on authentication or when to use edit instead, but these are minor for invoking the tool correctly.

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 coverage is 100%, so the baseline is 3. The description adds meaningful value by marking the four required fields explicitly, enumerating the webhookType values, and adding the conditional detail that httpMethod/headers/body are needed only for type 12 (custom), which is more specific than the schema's '仅自定义类型需要'.

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 opens with the HTTP endpoint and an explicit verb+resource: 'POST /open/webhook/add - 新增 webhook 配置' (add webhook configuration). This clearly states the operation and distinguishes it from sibling tools like open_webhook_edit, open_webhook_delete, and open_webhook_list.

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 intended use is implied by '新增 webhook 配置' and the list of required fields, so an agent can infer this is for creating a new webhook. However, the description does not explicitly say when to choose this over open_webhook_edit/open_webhook_delete, nor does it provide exclusions or prerequisites such as token/auth requirements.

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

open_webhook_delete删除 webhookA

GET /open/webhook/delete - 高风险:删除 webhook。 请求(url): webhookId(webhook编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。

NameRequiredDescriptionDefault
webhookIdYeswebhook编号

TDQS

A3.6/5.0
Behavior3/5

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

没有任何注解,描述承担了主要行为披露责任。它至少明确标出'高风险'并指出会删除 webhook,还包含统一响应格式,是有价值的信息。但未说明删除是否可逆、是否需要权限、删除后对消息接收等下游功能的影响,行为透明性仍不完整。

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?

描述非常精炼,先给出接口路径和风险提示,再说明请求参数,最后提供统一响应,信息密度高且没有冗余。每部分都有实际用途,整体结构利于快速阅读。

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?

工具只有一个必填参数且无输出 schema,描述覆盖了端点、参数和响应格式,已满足调用所需的主要信息。虽然缺少错误情况和删除后果的说明,但针对这种简单删除接口,整体已经足够完整,不足以评 5 分。

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 已完整描述 webhookId 的类型和含义,覆盖率达 100%,描述只是重复了参数名、'webhook编号'和'必填'信息,没有在 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?

描述明确指出了具体动作(删除)和资源(webhook),并给出了接口路径,能够与同组的 open_webhook_add/list/detail/edit 明显区分。'删除 webhook' 虽与标题重复,但结合高风险说明,目的清晰无误。

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?

没有说明何时使用该工具、何时避免使用,也没有提供与 open_webhook_edit 或 open_webhook_detail 等替代工具的对比。仅通过动词'删除'隐含使用场景,缺少明确的触发条件和前提要求。

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

open_webhook_detailwebhook 详情A

GET /open/webhook/detail - 查看 webhook 详情。 请求(url): webhookId(webhook编号,必填)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: id, webhookCode, webhookName, webhookType(webhook类型;1企业微信机器人,2钉钉,3飞书,4Server酱,50bark,6企业微信应用,7腾讯轻联,8IFTTT,9集简云,10Gotify,11WxPusher,12自定义), webhookTypeName, webhookUrl, createTime, httpMethod/headers/body(仅自定义类型返回)。

NameRequiredDescriptionDefault
webhookIdYeswebhook编号

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description discloses that this is a GET/read operation with no side effects, and it details the unified response envelope and data fields. It also clarifies that httpMethod/headers/body are only returned for custom webhook types, which is useful behavioral 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?

The description is compact and well-structured: endpoint, required parameter, response envelope, then data fields. The enum list for webhookType is dense but informative and earns its place given there is no output schema.

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 one-parameter detail endpoint with no output schema and no annotations, the description is largely complete: it covers the request parameter and fully describes the response data. It could add more about error handling or auth, but nothing essential for selecting or invoking the tool is missing.

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?

The input schema already provides 100% coverage for webhookId with type and description, so the baseline is 3. The description restates webhookId as required but adds little new parameter-level meaning beyond the schema. The extra enum detail about webhookType is about the response, not the request parameter.

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 explicitly states 'GET /open/webhook/detail - 查看 webhook 详情' with a specific verb and resource. The endpoint and field list clearly distinguish it from sibling tools like open_webhook_list, open_webhook_add, and open_webhook_delete.

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: it is for viewing a single webhook's details and requires a webhookId. However, it does not explicitly contrast with open_webhook_list or state when the detail view is preferable to other webhook operations.

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

open_webhook_edit修改 webhookA

POST /open/webhook/edit - 修改 webhook 配置。 请求: id(编号,必填), webhookCode/Name/Type/Url(必填), httpMethod/headers/body(自定义类型可选)。 webhookType: webhook类型;1企业微信机器人,2钉钉,3飞书,4Server酱,50bark,6企业微信应用,7腾讯轻联,8IFTTT,9集简云,10Gotify,11WxPusher,12自定义。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 data: 如「修改成功」。

NameRequiredDescriptionDefault
idYeswebhook编号
bodyNobody内容(仅自定义类型需要)
headersNo请求头(仅自定义类型需要)
httpMethodNo请求方法(仅自定义类型需要)
webhookUrlYes调用的url地址
webhookCodeYeswebhook编码
webhookNameYeswebhook名称
webhookTypeYeswebhook类型;1企业微信机器人,2钉钉,3飞书,4Server酱,50bark,6企业微信应用,7腾讯轻联,8IFTTT,9集简云,10Gotify,11WxPusher,12自定义

TDQS

A3.7/5.0
Behavior3/5

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

No annotations exist, so the description carries the full disclosure burden. It does disclose the HTTP method (POST), the mutating nature ('修改'), and the unified response envelope (code 200/msg/data with an example '修改成功'), which is genuinely useful beyond the schema. But it does not state whether omited optional fields (httpMethod/headers/body) are overwritten or preserved on update, nor how errors for non-existent ids behave — material for a mutation tool.

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 compact and front-loaded with the operation and endpoint, then req/response in logical order. The only wase is duplicating the full webhookType enum list verbatim from the schema, which is redundant but aids quick scanning.

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 moderate-complexity tool with 8 flat parameters and no output schema, the description is largely complete: it covers the request contract, required vs optional grouping, conditional custom-type fields, and the response format with a success example, compensating for the absent output schema. The remaining gap is edge-case behavior (update semantics for untouched fields, error responses), which keeps it short of a 5.

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 the baseline is 3. The description's parameter content — required set and the custom-type-only conditionals — largely restates what the schema already says per-param (e.g., '仅自定义类型需要'). It adds organizational value but no new meaning beyond condensing the requirements.

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 states a specific operation: '修改 webhook 配置' (modify webhook configuration) with the exact endpoint 'POST /open/webhook/edit'. This clearly distinguishes it from the sibling webhook tools (open_webhook_add/list/detail/delete) by verb and resource.

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?

Usage context is implied rather than stated: the required 'id' parameter and the verb '修改' signal an existing-record edit, and the sibling set makes the create/read/delete alternatives inferable. However, the description never explicitly says when to choose this over open_webhook_add, nor states conditions or exclusions.

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

open_webhook_listwebhook 列表A

POST /open/webhook/list - 获取 webhook 列表。 分页请求: current(当前页,默认1), pageSize(每页大小,默认20,最大50)。 统一响应: code(数字,200成功), msg(字符串), data(业务数据)。 分页响应 data: pageNum(当前页), pageSize(分页大小), total(总行数), pages(总页数), list(列表)。 list 项: id, webhookCode, webhookName, webhookType(webhook类型;1企业微信机器人,2钉钉,3飞书,4Server酱,50bark,6企业微信应用,7腾讯轻联,8IFTTT,9集简云,10Gotify,11WxPusher,12自定义), webhookTypeName, webhookUrl, createTime。

NameRequiredDescriptionDefault
currentNo当前所在分页数,默认1
pageSizeNo每页大小,默认20,最大50

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden and does well: it reveals pagination defaults, max page size, the unified response envelope, and the exact list item fields including webhookType enum values. It does not discuss authentication or error handling, but the disclosed behavior is substantial.

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 compact and front-loaded with purpose and endpoint, then efficiently covers pagination, response format, and list item fields. Every sentence adds necessary information with no filler.

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?

Given there is no output schema and no annotations, the description fully compensates by documenting request parameters, response envelope, pagination structure, and list item schema including webhookType mappings. An agent has enough information to call the tool and interpret its result correctly.

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 the schema already documents current and pageSize. The description repeats the defaults and max value without adding new semantic meaning beyond the schema input, so the baseline score of 3 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 states a specific verb and resource: '获取 webhook 列表' (retrieve webhook list), and includes the exact endpoint. This clearly separates it from sibling webhook operations like detail, add, edit, and delete.

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 the tool is used for paged webhook listing, but it does not explicitly say when to prefer it over open_webhook_detail or other webhook siblings. Usage is inferable from the purpose but not directly contrasted with alternatives.

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

send_html_message发送HTML消息C

发送带有HTML格式的推送消息(template=html)

NameRequiredDescriptionDefault
toNo好友令牌,多人用逗号隔开
preNo预处理编码,仅供会员使用
titleNo消息标题,可选
topicNo群组编码,不填仅发送给自己
channelNo推送渠道
contentYes消息内容(HTML格式)

TDQS

C2.4/5.0
Behavior1/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 of behavioral disclosure. It only notes template=html and format of content; it does not disclose whether this is a mutating action, side effects, recipient limitations, how the HTML is delivered, whether the message is sent to the specified channel, or that it requires authentication. '发送' implies a send operation but does not explain behavior beyond that.

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 only one short sentence and directly states the core behavior. It is front-loaded with the key differentiator (HTML format). It loses a point because it does not mention the several important parameters that affect usage, but it is concise and readable.

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 high number of sibling send tools and the even higher number of total sibling tools, this description is too minimal for an agent to know when to use it. It fails to mention channel requirements, required versus optional parameters, whether the content must be valid HTML, and what the response contains. With no output schema and no annotations, the agent lacks essential context for successful invocation.

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 every parameter has a schema description. The tool description adds the detail that content is HTML-formatted and template=html, which is slightly beyond the schema description '消息内容(HTML格式)'. However, the description adds no new meaning about the other params (to, pre, title, topic, channel) beyond what the schema already states, leaving the baseline at 3.

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

Purpose3/5

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

The description states a specific verb and resource (sending an HTML-formatted push message) and explicitly notes template=html)Skip; however, it does not distinguish itself from the sibling send_push_message or send_text_message/send_markdown_message/send_json_message. The tool is one of several message senders, so without explicit differentiation the agent has to infer that HTML formatting is the unique feature.

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?

There is no guidance about when to use this tool instead of send_text_message, send_markdown_message, send_json_message, or batch_send_message. The description simply implies HTML formatting without stating scenarios or exclusions. Sibling tools share the 'send' domainchended, so the agent is left without routing help.

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

send_json_message发送JSON消息B

发送JSON格式的推送消息(template=json)

NameRequiredDescriptionDefault
toNo好友令牌,多人用逗号隔开
preNo预处理编码,仅供会员使用
titleNo消息标题,可选
topicNo群组编码,不填仅发送给自己
channelNo推送渠道
contentYes消息内容(JSON格式)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It only states the send action and template, but does not disclose side effects, response behavior, failure modes, default channel behavior, or any required authorization context. For a mutating send operation, this is a significant transparency gap.

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 with no filler. It communicates the core action and format clearly, earning its place without unnecessary 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?

With six parameters, no output schema, and no annotations, the description is too terse. It doesn't explain what distinguishes this endpoint from the generic send_push_message, what happens when optional fields like 'to' or 'channel' are omitted, or what the caller can expect in response. An agent may call it correctly based on schema but lacks operational context.

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 all six parameters are already described. The description adds only the 'template=json' context and the JSON-format expectation, which is useful but doesn't substantially enrich the parameter semantics beyond the 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?

The description uses a specific verb ('发送') and resource ('JSON格式的推送消息'), and identifies the exact template ('template=json'). This clearly distinguishes it from sibling tools like send_text_message, send_html_message, and send_markdown_message, which handle other formats.

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 when to use this tool: when sending a JSON-format push message. However, it does not explicitly state when not to use it, nor does it name alternatives or contrast with the generic send_push_message tool, leaving selection partly to inference.

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

send_markdown_message发送Markdown消息C

发送Markdown格式的推送消息(template=markdown)

NameRequiredDescriptionDefault
toNo好友令牌,多人用逗号隔开
preNo预处理编码,仅供会员使用
titleNo消息标题,可选
topicNo群组编码,不填仅发送给自己
channelNo推送渠道
contentYes消息内容(Markdown格式)

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 carries the full burden of behavioral disclosure. It only states that the tool sends a Markdown push message; it does not explain side effects, required permissions, delivery behavior, errors, or response/return values. This is minimal disclosure for an action tool.

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 one short, front-loaded sentence with no redundant wording. It is concise and immediately states the core purpose. However, it is so brief that it sacrifices useful behavioral and usage context, so it does not earn a 5.

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 six parameters, no output schema, no annotations, and many sibling messaging tools, the description is underspecified. It does not explain return values, channel behavior, how 'to' and 'topic' interact, or why template=markdown matters. An agent can identify the tool but not fully understand its runtime behavior.

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 the input schema already documents all six parameters, including the channel enum and content requirement. The description adds little beyond the template=markdown hint, which is already implied by the tool name. Baseline 3 is appropriate because the schema carries the semantic load.

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 states a specific verb and resource: '发送Markdown格式的推送消息' (send Markdown formatted push message), and mentions template=markdown. This is clear about what the tool does, but it does not explicitly differentiate it from sibling tools like send_text_message, send_html_message, or send_json_message, so it loses the top score.

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 offers no guidance on when to choose this tool over send_push_message, send_text_message, send_html_message, or batch_send_message. There is no mention of prerequisites, recipient constraints, or exclusions. The usage context is only implied by the tool name and format type.

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

send_push_message发送推送消息C

通过 pushplus /send 接口发送推送消息。form/doc/excel/webdiff 模板必须传 pushId。

NameRequiredDescriptionDefault
toNo好友令牌/企微用户id,多人用逗号隔开
preNo预处理编码,仅供会员使用
iconNo消息图标
titleNo消息标题,可选
topicNo群组编码,不填仅发送给自己;与to互斥,topic优先
optionNo渠道配置参数(原webhook参数),与webhook等价;qq渠道不填由默认机器人发给自己,填配置编码发到对应QQ群或用指定机器人发给自己
pushIdNoform/doc/excel/webdiff 模板必填的详情页ID
channelNo推送渠道,默认wechat
contentYes消息内容,支持HTML、文本、Markdown等格式
webhookNo第三方webhook编码(非URL)
templateNo消息模板类型,默认html
timestampNo毫秒时间戳,过期则不发送
callbackUrlNo消息回调地址

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations supplied, the description carries the full behavioral burden and largely fails it: sending is an outbound, effectively irreversible action, yet nothing is said about delivery semantics, rate limits, auth/send-limit constraints, or what happens when 'timestamp' has expired. The one behavioral rule it gives (pushId for form/doc/excel/webdiff) merely restates the schema's own pushId description.

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?

Two tight, front-loaded sentences with no filler — the purpose is stated first and the constraint second. It is arguably under-specified for a 13-parameter tool, but on pure conciseness and structure it is efficient.

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 13-parameter, high-branching send tool with no annotations and no output schema, the description is far too thin: it does not help the agent choose among the many send_* siblings or explain the interaction between to/topic/channel/webhook/option, all of which the agent must reconstruct from schema text alone.

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% across all 13 parameters, so the schema already documents channel enums, topic/to mutual exclusion, webhook option equivalence, and the pushId condition. The description adds nothing beyond what the schema says, so the baseline 3 is appropriate.

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?

It names a specific verb+resource ('发送推送消息') and the backing endpoint ('通过 pushplus /send 接口'), so an agent knows exactly what the tool does. However, it never distinguishes itself from the specialized siblings send_text_message, send_html_message, send_markdown_message, or send_json_message, leaving the generic-vs-specialized choice implicit.

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 only conditional given is 'form/doc/excel/webdiff 模板必须传 pushId', which is a parameter rule rather than usage guidance. There is no statement of when to pick this tool over the sibling send_* tools, no prerequisites, and no exclusions.

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

send_text_message发送文本消息A

快速发送纯文本推送消息(template=txt)

NameRequiredDescriptionDefault
toNo好友令牌,多人用逗号隔开
preNo预处理编码,仅供会员使用
titleNo消息标题,可选
topicNo群组编码,不填仅发送给自己
channelNo推送渠道
contentYes消息内容(纯文本)

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden of explaining behavior. It only says 'send plain-text push message' and adds no details about side effects, authentication requirements, delivery semantics, rate limits, or what happens on success or failure. This is a minimal statement of intent with no meaningful behavioral disclosure.

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 with no wasted words. It immediately communicates the tool's core purpose and technical template identifier, making it easy to scan and parse.

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 six parameters, no annotations, and no output schema, the description is adequate but not complete. The schema documents all parameters, but the description does not address invocation expectations such as default recipients, channel behavior, or return values. It is sufficient for basic selection but leaves behavioral gaps for an agent to discover elsewhere.

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 the baseline is 3. The description adds only the global 'template=txt' context, which is somewhat redundant with the schema's 'content' field description ('纯文本'). It does not meaningfully enrich the parameter-level meaning beyond what the schema already provides.

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: '快速发送纯文本推送消息' (quickly send plain-text push messages) and identifies the format via 'template=txt'. This distinguishes it from sibling tools like send_html_message, send_markdown_message, and send_json_message.

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?

The description provides clear context by specifying that this tool is for pure text messages with template=txt, implying it should be used when the payload is plain text. It does not explicitly exclude other formats or name alternatives, but the sibling naming and the 'txt' marker make the intended use reasonably clear.

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.

  1. 14 tool updatesv1.1.0
    • Changedopen_qqbot_add4 fields changed
      • addedInput schema / properties / botAppId
        Added value: +{
        +  "description": "发送使用的机器人appId,sendType=1时必填",
        +  "type": "string"
        +}
      • changedInput schema / properties / qqGroupId / description
        Previous value: -"QQ群编号,取自 open_qqbot_group_list 的 id"New value: +"QQ群编号,sendType=2时必填,取自 open_qqbot_group_list 的 id"
      • addedInput schema / properties / sendType
        Added value: +{
        +  "description": "发送类型:1发给自己,2发到QQ群;默认2",
        +  "type": "integer"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "qqName",
        -  "qqCode",
        -  "qqGroupId"
        -]New value: +[
        +  "qqName",
        +  "qqCode"
        +]
    • Changedopen_qqbot_bot_info3 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / botAppId
        Added value: +{
        +  "description": "机器人appId,不填为默认机器人",
        +  "type": "string"
        +}
    • Addedopen_qqbot_custom_bot_add
    • Addedopen_qqbot_custom_bot_delete
    • Addedopen_qqbot_custom_bot_edit
    • Addedopen_qqbot_custom_bot_preview
    • Addedopen_qqbot_custom_bot_refresh
    • Changedopen_qqbot_edit5 fields changed
      • addedInput schema / properties / botAppId
        Added value: +{
        +  "description": "发送使用的机器人appId,sendType=1时必填",
        +  "type": "string"
        +}
      • addedInput schema / properties / qqCode
        Added value: +{
        +  "description": "原配置编码,不会被修改",
        +  "type": "string"
        +}
      • changedInput schema / properties / qqGroupId / description
        Previous value: -"QQ群编号"New value: +"QQ群编号,sendType=2时必填,取自 open_qqbot_group_list 的 id"
      • addedInput schema / properties / sendType
        Added value: +{
        +  "description": "发送类型:1发给自己,2发到QQ群;默认2",
        +  "type": "integer"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "qqName",
        -  "qqGroupId"
        -]New value: +[
        +  "id",
        +  "qqName",
        +  "qqCode"
        +]
    • Changedopen_qqbot_get_bind_link1 field changed
      • addedInput schema / properties / botAppId
        Added value: +{
        +  "description": "要绑定的机器人appId,不填为官方机器人",
        +  "type": "string"
        +}
    • Changedopen_qqbot_group_list3 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / botAppId
        Added value: +{
        +  "description": "机器人appId,不填返回全部机器人的群",
        +  "type": "string"
        +}
    • Addedopen_qqbot_my_bots
    • Addedopen_qqbot_set_default
    • Changedopen_qqbot_unbind3 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / botAppId
        Added value: +{
        +  "description": "要解绑的机器人appId,不填解绑官方机器人",
        +  "type": "string"
        +}
    • Changedsend_push_message1 field changed
      • changedInput schema / properties / option / description
        Previous value: -"渠道配置参数(原webhook参数),与webhook等价;qq渠道不填发给自己,填群配置编码发到对应QQ群"New value: +"渠道配置参数(原webhook参数),与webhook等价;qq渠道不填由默认机器人发给自己,填配置编码发到对应QQ群或用指定机器人发给自己"
  2. 12 tool updatesv1.0.11
    • Addedopen_cmcc_bind
    • Addedopen_cmcc_info
    • Addedopen_cmcc_test
    • Addedopen_cmcc_unbind
    • Changedopen_message_list1 field changed
      • changedInput schema / properties / channel / description
        Previous value: -"发送渠道筛选,如 wechat/mail/cp/webhook"New value: +"发送渠道筛选,如 wechat/mail/cp/webhook/clawbot/cmcc/qq"
    • Changedopen_setting_add_user_default1 field changed
      • changedInput schema / properties / channel / description
        Previous value: -"渠道编码;wechat微信公众号,cp企业微信应用,webhook第三方webhook,mail邮件,sms短信,voice语音,extension插件"New value: +"渠道编码;wechat微信公众号,cp企业微信应用,webhook第三方webhook,mail邮件,sms短信,voice语音,extension插件,clawbot微信ClawBot,cmcc新消息ClawBot,qq QQ机器人"
    • Changedopen_setting_edit_user_default1 field changed
      • changedInput schema / properties / channel / description
        Previous value: -"渠道编码;wechat微信公众号,cp企业微信应用,webhook第三方webhook,mail邮件,sms短信,voice语音,extension插件"New value: +"渠道编码;wechat微信公众号,cp企业微信应用,webhook第三方webhook,mail邮件,sms短信,voice语音,extension插件,clawbot微信ClawBot,cmcc新消息ClawBot,qq QQ机器人"
    • Changedsend_html_message1 field changed
      • changedInput schema / properties / channel / enum
        Previous value: -[
        -  "wechat",
        -  "webhook",
        -  "cp",
        -  "mail",
        -  "sms",
        -  "voice",
        -  "extension",
        -  "app",
        -  "clawbot",
        -  "qq"
        -]New value: +[
        +  "wechat",
        +  "webhook",
        +  "cp",
        +  "mail",
        +  "sms",
        +  "voice",
        +  "extension",
        +  "app",
        +  "clawbot",
        +  "cmcc",
        +  "qq"
        +]
    • Changedsend_json_message1 field changed
      • changedInput schema / properties / channel / enum
        Previous value: -[
        -  "wechat",
        -  "webhook",
        -  "cp",
        -  "mail",
        -  "sms",
        -  "voice",
        -  "extension",
        -  "app",
        -  "clawbot",
        -  "qq"
        -]New value: +[
        +  "wechat",
        +  "webhook",
        +  "cp",
        +  "mail",
        +  "sms",
        +  "voice",
        +  "extension",
        +  "app",
        +  "clawbot",
        +  "cmcc",
        +  "qq"
        +]
    • Changedsend_markdown_message1 field changed
      • changedInput schema / properties / channel / enum
        Previous value: -[
        -  "wechat",
        -  "webhook",
        -  "cp",
        -  "mail",
        -  "sms",
        -  "voice",
        -  "extension",
        -  "app",
        -  "clawbot",
        -  "qq"
        -]New value: +[
        +  "wechat",
        +  "webhook",
        +  "cp",
        +  "mail",
        +  "sms",
        +  "voice",
        +  "extension",
        +  "app",
        +  "clawbot",
        +  "cmcc",
        +  "qq"
        +]
    • Changedsend_push_message1 field changed
      • changedInput schema / properties / channel / enum
        Previous value: -[
        -  "wechat",
        -  "webhook",
        -  "cp",
        -  "mail",
        -  "sms",
        -  "voice",
        -  "extension",
        -  "app",
        -  "clawbot",
        -  "qq"
        -]New value: +[
        +  "wechat",
        +  "webhook",
        +  "cp",
        +  "mail",
        +  "sms",
        +  "voice",
        +  "extension",
        +  "app",
        +  "clawbot",
        +  "cmcc",
        +  "qq"
        +]
    • Changedsend_text_message1 field changed
      • changedInput schema / properties / channel / enum
        Previous value: -[
        -  "wechat",
        -  "webhook",
        -  "cp",
        -  "mail",
        -  "sms",
        -  "voice",
        -  "extension",
        -  "app",
        -  "clawbot",
        -  "qq"
        -]New value: +[
        +  "wechat",
        +  "webhook",
        +  "cp",
        +  "mail",
        +  "sms",
        +  "voice",
        +  "extension",
        +  "app",
        +  "clawbot",
        +  "cmcc",
        +  "qq"
        +]
  3. 11 tool updatesv1.0.10
    • Addedopen_forward_log_detail
    • Addedopen_forward_log_list
    • Addedopen_forward_rule_add
    • Addedopen_forward_rule_change_status
    • Addedopen_forward_rule_delete
    • Addedopen_forward_rule_detail
    • Addedopen_forward_rule_edit
    • Addedopen_forward_rule_get_setting
    • Addedopen_forward_rule_list
    • Addedopen_forward_rule_save_setting
    • Addedopen_forward_rule_test
  4. 85 tool updatesv1.0.9
    • First observedbatch_send_message
    • First observedopen_clawbot_bot_info
    • First observedopen_clawbot_get_bot_qrcode
    • First observedopen_clawbot_get_msg
    • First observedopen_clawbot_get_qrcode_status
    • First observedopen_clawbot_unbind
    • First observedopen_cp_list
    • First observedopen_file_upload_image
    • First observedopen_friend_add_blacklist
    • First observedopen_friend_blacklist_list
    • First observedopen_friend_delete
    • First observedopen_friend_edit_remark
    • First observedopen_friend_get_qr_code
    • First observedopen_friend_list
    • First observedopen_friend_remove_blacklist
    • First observedopen_get_access_key
    • First observedopen_mail_detail
    • First observedopen_mail_list
    • First observedopen_message_delete
    • First observedopen_message_list
    • First observedopen_message_send_result
    • First observedopen_mp_detail
    • First observedopen_mp_list
    • First observedopen_pay_transfer_order
    • First observedopen_pre_add
    • First observedopen_pre_delete
    • First observedopen_pre_detail
    • First observedopen_pre_edit
    • First observedopen_pre_list
    • First observedopen_pre_test
    • First observedopen_qqbot_add
    • First observedopen_qqbot_bot_info
    • First observedopen_qqbot_delete
    • First observedopen_qqbot_edit
    • First observedopen_qqbot_get_bind_link
    • First observedopen_qqbot_group_list
    • First observedopen_qqbot_list
    • First observedopen_qqbot_unbind
    • First observedopen_setting_add_user_default
    • First observedopen_setting_change_default_channel
    • First observedopen_setting_change_is_send
    • First observedopen_setting_change_open_message_type
    • First observedopen_setting_change_receive_limit
    • First observedopen_setting_delete_user_default
    • First observedopen_setting_detail_user_default
    • First observedopen_setting_edit_user_default
    • First observedopen_setting_extension
    • First observedopen_setting_get_user_settings
    • First observedopen_setting_list_user_default
    • First observedopen_token_add
    • First observedopen_token_delete
    • First observedopen_token_edit
    • First observedopen_token_list
    • First observedopen_topic_add
    • First observedopen_topic_delete
    • First observedopen_topic_detail
    • First observedopen_topic_edit
    • First observedopen_topic_exit
    • First observedopen_topic_is_open
    • First observedopen_topic_join_detail
    • First observedopen_topic_list
    • First observedopen_topic_qr_code
    • First observedopen_topic_user_add_blacklist
    • First observedopen_topic_user_blacklist_list
    • First observedopen_topic_user_delete
    • First observedopen_topic_user_edit_remark
    • First observedopen_topic_user_remove_blacklist
    • First observedopen_topic_user_subscriber_list
    • First observedopen_user_image_delete
    • First observedopen_user_image_list
    • First observedopen_user_image_upload_token
    • First observedopen_user_limit_time
    • First observedopen_user_my_info
    • First observedopen_user_send_count
    • First observedopen_user_token
    • First observedopen_webhook_add
    • First observedopen_webhook_delete
    • First observedopen_webhook_detail
    • First observedopen_webhook_edit
    • First observedopen_webhook_list
    • First observedsend_html_message
    • First observedsend_json_message
    • First observedsend_markdown_message
    • First observedsend_push_message
    • First observedsend_text_message

TDQS

B3.1/5.0

Scored across 107 tools

Disambiguation3/5

Most tools map to distinct resource+action pairs (e.g., open_token_*, open_topic_*), but several overlapping families exist: six send_* tools for templated sending, two image-upload paths (open_user_image_upload_token vs open_file_upload_image), and deprecated settings tools alongside replacements. The sheer volume increases misselection risk even when descriptions are detailed.

Naming Consistency4/5

Nearly all tools use snake_case with an open_ prefix and domain_action pattern, which is highly readable. The main deviation is the send_* family and batch_send_message, which omit the open_ prefix, plus minor variations like open_clawbot vs open_cmcc. Still, no chaotic mixing.

Tool Count1/5

107 tools is an extreme mismatch for a single MCP server, far beyond the 3-15 sweet spot and even the 25+ heavy threshold. The surface includes deprecated and convenience tools that could be consolidated, making the server overwhelming for agents.

Completeness4/5

The set covers a very broad PushPlus API surface: messaging, tokens, topics, topic users, friends, webhooks, settings, preprocessing, forwarding rules/logs, mail/mp/cp channels, QQ/ClawBot/CMCC bots, images, and pay. Minor gaps include deprecated settings tools and read-only mail/mp/cp channels, but core lifecycle operations are largely present.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to send push notifications through the kweenkl service. Allows users to receive contextual notifications from their AI when tasks are complete or important events occur.
    1
    3 npm
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to send push notifications to mobile devices via Pushover, allowing users to receive instant alerts for task completions, errors, reminders, and custom messages through their AI conversations.
    1
    2 npm
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to send push notifications and interactive alerts to iPhone and Mac devices via the BotBell app. It allows AI to receive user replies and manage notification bots for tasks like alerts, reminders, and remote approvals.
    2
    10 npm
    1
    MIT