Skip to main content
Glama
goesByhc
by goesByhc

这是什么

每个 AI Agent(Codex、Claude Code、Cursor、Trae)都能搜网页,但中文平台通常需要登录态、浏览器环境或平台专用参数:

  • 淘宝:需要浏览器一致的网络指纹和登录 Cookie

  • 京东:依赖已登录的本地浏览器环境

  • 小红书:需要住宅 IP、本地浏览器和搜索结果中的访问参数

  • 知乎:游客搜索已关闭,全部 API 需要登录态

  • 拼多多:平台限制严格,目前不推荐使用

  • 微博:搜索 API 需要登录态(SUB token),热搜游客即可访问

  • 抖音:需要浏览器登录并可能人工处理验证码

  • B站:搜索、热门、视频详情和评论可直接使用公开 API

  • 豆瓣:条目搜索、条目详情和短评/影评

  • 大众点评:商户搜索、商户详情和用户评价

  • 知识星球:付费社群,内容藏在 cookie 认证的 REST API 后面

这个项目就是把踩了好几个月的坑打包成一个 MCP Server——你的 Agent 一句话就能搜:taobao_search("儿童学习桌")

安全与隐私

cn-scraper-mcp 在你的电脑上本地运行,不需要把 Cookie、账号密码或浏览器 Profile 上传到任何中转服务器:

  • Cookie 默认保存在 ~/.cn-scraper-cookies/,京东登录态保存在本地 Chrome Profile。

  • 登录过程直接发生在平台官方页面,软件不会读取或保存你的账号密码。

  • Cookie 值不会写入日志,也不会通过 MCP 工具结果返回给 Agent;工具只返回状态、字段名和本地路径等非敏感信息。

  • 发起抓取或在线登录验证时,凭证只会发送给对应平台域名。

  • 代码完全开源,所有凭证处理流程都可以审查。

建议仍像保护浏览器登录态一样保护本机账号:不要分享 Cookie 文件,不要把凭证提交到 Git,并限制本地文件的访问权限。


Related MCP server: rednote-analyzer-mcp

平台支持

电商

平台

方式

无需浏览器

限制

稳定性

淘宝/Tmall

curl_cffi + MTOP 签名

宽松¹

✅ 稳定

京东/JD

Chrome CDP headful

需 Chrome

中等

✅ 稳定²

拼多多/PDD

Chrome CDP + iPhone UA

需 Chrome

单次搜索限制³

⚠️ 不推荐

¹ 淘宝无硬性限流,但平台可能随时收紧,不建议高频批量抓取。 ² 京东由本地 Chrome 生成登录态和动态签名,工具读取结构化 API 响应;通过 guided_login("jd") 可自动初始化持久化 Profile。 ³ 拼多多每个浏览器会话仅放行第一次搜索,之后永久"系统繁忙"。单次搜索结果零实用价值,引擎代码保留但不推荐使用。

内容社区

平台

方式

无需浏览器

限制

稳定性

小红书/XHS

本地 Chrome CDP + cookie

需 Chrome

中等⁴

✅ 稳定

知乎/Zhihu

REST API v4

正常

✅ 稳定

知识星球/ZSXQ

REST API v2

正常

✅ 稳定

微博/Weibo

REST API

正常

✅ 稳定

抖音/Douyin ⚠️

Chrome CDP + 验证码轮询

需 Chrome

实验性⁵

⚠️ 实验性

B站/Bilibili

公开 Web API

建议低频调用

✅ 稳定

豆瓣/Douban

移动端 JSON API

搜索可能触发风控

⚠️ 依会话

大众点评/Dianping

公开网页解析

可能触发页面风控

⚠️ 依页面结构

⁴ 小红书只允许住宅 IP——云浏览器/数据中心 IP 直接封。必须用本地 Chrome。 ⁵ 抖音搜索需要登录态 + 手动过滑块验证码。支持 120s 等待用户手动验证,通过后自动抓取。guided_login("douyin") 可引导登录。

快速开始

安装

pip install cn-scraper-mcp

也可以从源码安装开发版本:

git clone https://github.com/goesByhc/cn-scraper-mcp.git
cd cn-scraper-mcp
pip install .

安装并连接 MCP 后,直接让 Agent 调用:

guided_login(platform="weibo")

它会打开本地 Chrome 并进入平台官方登录页。你自己扫码或输入密码后,工具通过 CDP 自动读取完整 Cookie(包括 JavaScript 无法读取的 HttpOnly Cookie),再保存到本机 ~/.cn-scraper-cookies/。京东则保存到本地持久化 Chrome Profile。

这是推荐方式,因为它不会要求你复制 Cookie,不容易漏掉关键字段,也更适合 Cookie 过期后的重新登录。可用平台名包括 taobaojdxiaohongshuzhihuweibozsxqdouyinpdddoubandianping

已有通过远程调试端口启动且登录完成的 Chrome 时,也可以调用:

harvest_cookies(platform="weibo")

启动

cn-scraper-mcp
# 或: python -m cn_scraper_mcp.server

Docker

容器内预装 Chromium,无需本地浏览器:

docker build -t cn-scraper-mcp .
docker run -i --rm \
  -v ~/.cn-scraper-cookies:/root/.cn-scraper-cookies \
  -v ~/.jd_login_profile:/root/.jd_login_profile \
  cn-scraper-mcp

远程服务器部署可以切换到 HTTP transport,通过 IP + 端口 连接:

docker pull ghcr.io/goesbyhc/cn-scraper-mcp:latest
docker run -d --name cn-scraper-mcp \
  -p 8000:8000 \
  -e CN_SCRAPER_TRANSPORT=http \
  -e CN_SCRAPER_HOST=0.0.0.0 \
  -e CN_SCRAPER_PORT=8000 \
  -e CN_SCRAPER_PATH=/mcp \
  -v ~/.cn-scraper-cookies:/root/.cn-scraper-cookies \
  -v ~/.jd_login_profile:/root/.jd_login_profile \
  ghcr.io/goesbyhc/cn-scraper-mcp:latest

远程 MCP endpoint:

http://<server-ip>:8000/mcp

也可以使用 Docker Compose:

docker compose --profile remote up -d cn-scraper-http

可用环境变量:

变量

默认值

说明

CN_SCRAPER_TRANSPORT

stdio

stdiohttpsse,也接受 streamable-http 作为 http 别名

CN_SCRAPER_HOST

0.0.0.0

HTTP/SSE 模式监听地址

CN_SCRAPER_PORT

8000

HTTP/SSE 模式监听端口

CN_SCRAPER_PATH

/mcp

HTTP/SSE MCP endpoint 路径

远程 HTTP 模式会让 MCP 工具通过网络访问本机 Cookie/Profile 目录,请勿直接裸露公网端口。建议放在内网、VPN、防火墙白名单或带鉴权的反向代理后面。小红书、京东、抖音等依赖本地浏览器、住宅 IP 或人工验证码的平台,在远程服务器上的稳定性取决于服务器网络与图形环境。

当平台要求人工处理登录、验证码或风控页时,工具会返回统一的 ACTION_REQUIRED 结构,并在 action_required 字段中说明平台、原因、处理动作、处理链接和建议重试的工具。当前抖音验证码已接入该结构;远程 Docker 场景下仍需要你通过可见浏览器或后续 noVNC 网页完成验证。

Agent 集成配置:

# Codex ~/.codex/config.toml
[mcp_servers.cn-scraper]
command = "docker"
args = ["run", "-i", "--rm",
  "-v", "/本机绝对路径/.cn-scraper-cookies:/root/.cn-scraper-cookies",
  "-v", "/本机绝对路径/.jd_login_profile:/root/.jd_login_profile",
  "cn-scraper-mcp"]

请把 /本机绝对路径/ 替换为真实路径;MCP 客户端直接启动进程时不会替你展开 ~

Docker 镜像内置 Chromium + --no-sandbox。京东 headful 模式如需 Xvfb,设置环境变量 XVFB_WRAPPER=1。小红书仍需住宅 IP——数据中心 IP 会被封。


MCP 工具一览

电商搜索

工具

说明

taobao_search

淘宝/天猫关键词搜索 → 价格、销量、店铺

taobao_product

淘宝商品详情 → 标题、价格、店铺

jd_search

京东关键词搜索 → SKU、价格、商品名

jd_product

京东商品详情 → 名称、价格、店铺、规格

pdd_search

拼多多搜索 → 仅首次有效

pdd_product_detail

拼多多商品详情 → 不限次数

内容社区

工具

说明

xiaohongshu_search

小红书笔记搜索 → 标题、作者、点赞、noteIdxsec_token

xiaohongshu_note

小红书笔记详情 → 标题、正文、作者、标签、互动数、发布时间

xiaohongshu_comments

小红书笔记首屏评论 → 评论内容、用户、点赞、时间(需要 noteId + xsec_token

zhihu_search

知乎搜索 → 问题、文章

zhihu_hot_list

知乎热榜

zhihu_comments

知乎回答评论(支持分页)

zhihu_answer

知乎回答完整正文

zhihu_question_answers

知乎问题下的回答列表

weibo_search

微博搜索 → 微博帖子内容

weibo_hot_list

微博热搜榜

weibo_user_timeline

微博用户时间线

weibo_comments

微博帖子评论(支持分页)

weibo_post

微博帖子完整详情

douyin_search

抖音搜索 → CDP 浏览器 + 验证码轮询(⚠️ 实验性)

douyin_hot_list

抖音热搜榜

douyin_video

抖音视频详情

douyin_comments

抖音视频评论

bilibili_search

B 站视频搜索(纯 HTTP,无需登录)

bilibili_popular

B 站热门视频榜

bilibili_video

B 站视频详情及互动统计

bilibili_comments

B 站视频一级评论(支持分页)

douban_search

豆瓣书籍、电影、音乐等条目搜索

douban_subject

豆瓣条目详情

douban_reviews

豆瓣条目短评/影评

dianping_search

大众点评商户搜索

dianping_shop

大众点评商户详情

dianping_reviews

大众点评商户评价

zsxq_topics

知识星球付费社群帖子

zsxq_article

知识星球文章全文

工具

说明

check_cookies

检查所有平台 Cookie 状态

verify_login

在线验证知乎、微博、知识星球、抖音登录态;不支持的平台明确返回 unsupported

diagnose

环境诊断——依赖版本、浏览器、CDP 端口

harvest_cookies

CDP 自动收割 Cookie(包括 HttpOnly)

guided_login

引导登录——自动打开浏览器 → 你扫码 → 登录后自动收割 Cookie

MCP 客户端配置

Codex

~/.codex/config.toml

[mcp_servers.cn-scraper]
command = "cn-scraper-mcp"
args = []

保存后可用 codex mcp list 检查连接状态。

Claude Code / Cursor / Reasonix

这三个客户端都支持标准的 mcpServers JSON:

  • Claude Code:项目根目录 .mcp.json

  • Cursor:全局 ~/.cursor/mcp.json,或项目目录 .cursor/mcp.json

  • Reasonix:项目根目录 .mcp.json

{
  "mcpServers": {
    "cn-scraper": {
      "command": "cn-scraper-mcp",
      "args": []
    }
  }
}

Trae

Trae 不同版本的配置文件位置可能不同。建议在设置中的 MCP 管理界面添加本地 stdio Server:名称填写 cn-scraper,命令填写 cn-scraper-mcp,参数留空。

如果客户端提示找不到命令,先用 where cn-scraper-mcp(Windows)或 which cn-scraper-mcp(macOS/Linux)找到完整路径,再把 command 替换为该路径。


更多文档

  • 架构设计:职责边界、平台契约和 Agent 开发守则

  • 开发规范:环境、编码、测试和 Review 要求


常见问题

Q: 使用这个软件安全吗? 软件在你的电脑上本地运行,不经过项目方的中转服务器。Cookie 和浏览器 Profile 保存在本机,Cookie 值不会写入日志或通过 MCP 返回给 Agent;需要访问平台时,凭证只发送给对应的平台域名。

Q: 软件会读取或保存账号密码吗? 不会。登录发生在平台官方页面,由你自己扫码或输入密码;工具只在登录完成后通过 CDP 保存浏览器产生的 Cookie。

Q: Cookie 保存在什么地方? Cookie 默认保存在 ~/.cn-scraper-cookies/,京东使用本地持久化 Chrome Profile。请像保护已登录浏览器一样保护这些文件,不要分享或提交到 Git。

Q: 怎么初始化 Cookie 最方便?guided_login("平台名") 工具。它会自动打开 Chrome → 导航到登录页 → 等你扫码/输密码 → 登录后自动收割 Cookie 并保存。

Q: 合法吗? 仅用于学习和研究目的。批量抓取可能违反平台服务条款。风险自负。切勿用于垃圾信息、DDoS 或商业级大规模抓取。


许可证

MIT — 详见 LICENSE

支持项目

如果这个项目帮你节省了时间,可以请作者喝杯咖啡:

致谢


Made with ☕ and months of frustration at Chinese platform anti-bot walls.

Available Tools

40 tools
bilibili_commentsA

获取 B 站视频一级评论,支持游标分页。无需登录或浏览器。

bvid 来自 bilibili_search 或 bilibili_popular;下一页传回上次结果中的 next_cursor。评论按 B 站热门评论模式返回。

ParametersJSON Schema
NameRequiredDescriptionDefault
bvidYesB 站 BV 号
limitNo返回条数上限(默认 20)
cursorNo上一页返回的 next_cursor;第一页留空

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior3/5

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

No annotations provided; description discloses pagination and no login requirement but lacks details on rate limits, error handling, or exact response structure.

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?

Extremely concise, two sentences plus a line break, with all essential information 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?

Given low complexity (3 params, output schema exists), description fully covers purpose, parameter sources, pagination, and ordering, leaving no obvious 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 covers all parameters; description adds value by linking bvid to other tools and clarifying cursor usage, though limit is merely restated.

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

Purpose5/5

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

Description clearly states it fetches B站 first-level comments with pagination, distinguishing from sibling tools like bilibili_search and bilibili_video.

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?

Explicitly mentions bvid comes from bilibili_search or bilibili_popular and how to use cursor for pagination, but does not explicitly state when not to use alternatives.

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

bilibili_videoA

获取 B 站视频详情及互动统计。无需登录或浏览器。

bvid 来自 bilibili_search 或 bilibili_popular 结果。

ParametersJSON Schema
NameRequiredDescriptionDefault
bvidYesB 站 BV 号

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so the description carries the burden. It states no login or browser is needed, which is a positive behavioral trait, but lacks details on rate limits, data freshness, or potential 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?

Two concise sentences: first sentence covers purpose and behavioral trait, second sentence covers input source. No unnecessary 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?

The tool has an output schema, so return values need not be described. The description mentions interaction statistics, hints at output, and provides one required parameter. Adequate for a well-defined tool.

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

Parameters3/5

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

Schema coverage is 100% and the schema describes bvid as 'B 站 BV 号'. The description adds context about the bvid's source but does not add semantic details 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 clearly states the tool fetches Bilibili video details and interaction statistics using a specific verb ('获取') and resource, and distinguishes from sibling tools by specifying that the bvid comes from bilibili_search or bilibili_popular results.

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 explicitly states that the bvid should come from search or popular results, indicating when to use this tool, but does not include explicit exclusions or alternative scenarios.

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

check_cookiesA

检查所有平台的 cookie 文件是否存在、有效字段及新鲜度。

Cookie 文件查找路径 (按优先级):

  1. 平台专用环境变量 (如 TAOBAO_COOKIES_FILE)

  2. ~/.cn-scraper-cookies/.json (推荐) JD 特殊: 检查 Chrome profile 目录 ~/.jd_login_profile

Returns: {taobao, xiaohongshu, zhihu, zsxq, jd, pdd: {exists, valid, missing_fields, path, age_hours, stale}}

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses search paths, special treatment for JD, and return format. It is transparent about behavior, though side effects (none) could be mentioned.

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 well-structured with purpose first, then path details, then return format. Every sentence adds value, no wasted words.

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

Completeness5/5

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

For a zero-parameter tool, the description thoroughly covers what platforms it checks, where to find cookies, and the return structure. It is complete and informative.

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?

Input schema has zero parameters, so the description does not need to add parameter info. Baseline score of 4 is appropriate; no redundancy or missing param context.

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

Purpose5/5

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

The description clearly states the tool checks cookie files for existence, valid fields, and freshness across multiple platforms (taobao, xiaohongshu, etc.). It specifies a specific verb and resource, distinguishing it from sibling tools like harvest_cookies or verify_login.

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 what it does and gives context for JD special case, but does not explicitly state when to use this tool versus alternatives. Usage guidance is implied but not clarified.

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

diagnoseA

诊断平台环境 — 检查 Python、依赖、Chrome、CDP 端口、Cookie、最近错误。

不做任何实际抓取,纯本地诊断。每项检查超时 5 秒。

Returns: sections: platform: {package_version, python_version} dependencies: {fastmcp: {installed, version}, curl_cffi: {...}, ...} browsers: {chrome: {found, path, version}, obscura: {found, path}} cdp_ports: {9222: {in_use}, 9247: {...}, 9251: {...}} cookies: 来自 check_all_cookies() 的结果 diagnostics: {recent_errors: [...]}

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description fully discloses behavioral traits: it is a read-only, non-destructive check with a 5-second timeout per check. The return structure is also detailed, leaving no ambiguity about 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?

The description is concise and front-loaded with the main purpose. It lists return sections clearly. Minor improvement could be more structured formatting, but overall efficient.

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 parameters and no annotations, the description provides complete behavioral and output context. Return sections are fully described, and the tool's scope is well-defined.

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

Parameters4/5

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

The tool has no parameters, and the schema coverage is 100%. Per guidelines, baseline is 4 for zero parameters. The description adds no parameter info because none exist, which 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 tool diagnoses the platform environment by checking specific components (Python, dependencies, Chrome, CDP ports, cookies, errors). It emphasizes it does no actual scraping, distinguishing it from all sibling scraping/retrieval tools.

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 implicitly indicates this is for diagnostic purposes before scraping, stating it performs 'pure local diagnosis' and does 'no actual scraping.' However, it does not explicitly list when to use vs alternatives or provide exclusion cases.

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

dianping_reviewsC

获取大众点评商户评价。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
shop_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior1/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It only says 'gets reviews' without describing any traits: whether it requires authentication, pagination behavior, rate limits, or what data types of reviews are returned.

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, short sentence with no wasted words. It is front-loaded with the core action, but could be expanded to include key details without losing conciseness.

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

Completeness2/5

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

Given the presence of an output schema, return values need not be described. However, the description omits critical context such as default limit value, pagination, prerequisites, and relationship to sibling tools. It is insufficient for an agent to reliably invoke this tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must clarify parameters. It does not explain shop_id (likely the shop identifier) or limit (number of reviews). The parameter names are somewhat self-explanatory, but the description adds no 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 states the tool retrieves Dianping merchant reviews, using a specific verb (获取) and resource (评价). It is distinguishable from siblings like dianping_search and dianping_shop, but doesn't explicitly contrast 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 guidance is provided on when to use this tool versus alternatives (e.g., dianping_search for shops, dianping_shop for shop info). The description lacks any usage context or prerequisites.

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

dianping_shopA

获取大众点评商户详情。shop_id 来自 dianping_search。

ParametersJSON Schema
NameRequiredDescriptionDefault
shop_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are present, so the description must carry the burden of behavioral disclosure. It reveals a dependency (shop_id from dianping_search) and implicitly indicates a read-only 'get' operation. However, it does not explicitly state side effects, authentication requirements, or error behavior, which would be expected without annotations.

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 extremely concise, consisting of two short sentences. The first states the tool's purpose, and the second clarifies the parameter source. No unnecessary words, and the structure is efficiently front-loaded with the action and resource.

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

Completeness4/5

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

For a simple one-parameter tool with an output schema provided, the description covers the essential context: what the tool does and where the input comes from. It does not cover potential edge cases or authentication, but given the tool's simplicity and the presence of an output schema, it is sufficiently complete.

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

Parameters4/5

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

The schema has 0% description coverage, so the description must compensate. The single parameter shop_id is given semantic context by stating it comes from dianping_search, clarifying its origin and how to obtain it. This is meaningful beyond the bare schema definition of a string type.

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

Purpose5/5

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

The description clearly states the tool retrieves Dianping merchant details, using the specific verb '获取' (get) and the resource '大众点评商户详情' (Dianping merchant details). It also distinguishes itself from siblings by noting that the shop_id comes from dianping_search, linking it specifically to the search follow-up workflow.

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

Usage Guidelines4/5

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

The description implies the usage context: shop_id is obtained from dianping_search, which tells the agent to run search first and then use this tool. It does not explicitly name alternatives or exclusions, but the relationship with the search tool provides clear workflow guidance.

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

douban_reviewsC

获取豆瓣条目的短评/影评。支持 start 分页。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
startNo
subject_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states that it retrieves reviews with pagination, but fails to disclose that it is read-only, any authentication requirements, rate limits, or side effects. For a data-fetching tool, this is insufficient.

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

Conciseness2/5

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

The description is a single sentence with no fluff, but it is critically under-specified. Conciseness is achieved at the expense of necessary information, resulting in a score of 2 due to excessive sparseness.

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?

Although an output schema exists, the description does not mention return values, pagination behavior, or error conditions. It provides only the most basic context (the type of content and pagination), leaving the agent with significant unknowns for a simple paginated list tool.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate. It explains 'start' for pagination but does not clarify 'subject_id' (what it is or how to obtain it) or 'limit' (its meaning or default). Only one of three parameters gains semantic value.

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

Purpose5/5

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

The description clearly states the tool retrieves short reviews/film reviews of Douban items, using specific verb '获取' and resource '豆瓣条目的短评/影评'. It distinguishes from siblings like douban_subject and douban_search, and from review tools of other platforms.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. No prerequisites (e.g., need a subject_id from douban_search or douban_subject) or when-not-to-use conditions are provided.

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

douban_subjectA

获取豆瓣条目详情。subject_id 来自 douban_search。

ParametersJSON Schema
NameRequiredDescriptionDefault
subject_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.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 of behavioral disclosure. It does not specify if the tool is read-only, any required permissions, or potential side effects, though a simple lookup tool is generally safe.

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 exceptionally concise with two sentences, front-loading the purpose and parameter origin, with no extraneous 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?

Given the tool's simplicity (one parameter, output schema exists), the description is largely complete. It explains how to obtain the required ID, though it could briefly note that it returns detailed information.

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

Parameters4/5

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

The input schema has 0% description coverage, but the description adds context by stating that subject_id comes from douban_search, adding meaning beyond the schema's bare string type.

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

Purpose5/5

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

The description clearly states the tool retrieves Douban item details, using a specific verb and resource. It also distinguishes itself from sibling tools like douban_search by noting that the subject_id comes from that search.

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 guidance that the subject_id should be obtained from douban_search, indicating a prerequisite. However, it does not explicitly state when not to use this tool or mention alternatives.

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

douyin_commentsA

获取抖音视频评论(首屏)。需要登录 cookie。

video_id 来自 douyin_search 结果中 item 的 video_id 字段。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo返回条数 (默认 20)
video_idYes视频 ID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.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 burden of behavioral disclosure. It reveals a login cookie requirement and a limitation of only returning the first screen of comments, which is useful. However, it does not describe error scenarios, data formats, or whether the operation is strictly read-only, leaving gaps in 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 two sentences long and front-loaded with the core purpose. It avoids redundancy and clearly separates the tool's action, the authentication requirement, and the parameter origin, with no unnecessary words.

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

Completeness4/5

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

For a tool with 2 parameters, a full schema, and an output schema, the description covers the essential use case: fetching first-screen comments with a required cookie and tying video_id to search results. It misses minor details like pagination behavior beyond the first screen and error handling, but these are partially covered by the presence of an output schema and the tool's simplicity.

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

Parameters4/5

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

The schema already provides descriptions for both parameters (limit and video_id), achieving 100% coverage. The description adds critical semantic context by explaining that video_id comes from the 'video_id' field of douyin_search results, which goes beyond the schema's simple '视频 ID' and helps the agent source valid 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 clearly states the tool's action and resource: '获取抖音视频评论' (get Douyin video comments) with a scope qualifier '(首屏)' (first screen). It distinguishes from sibling tools like douyin_search and douyin_video by focusing specifically on comments for a video.

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 a usage prerequisite: '需要登录 cookie' (requires login cookie) and indicates that video_id comes from douyin_search results, giving explicit source context. It does not explicitly mention alternative tools for other platforms, but the name and context make the intended use clear.

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

douyin_hot_listA

抖音实时热搜榜。需要登录 cookie(首次用 guided_login 收割)。

Returns: {count, items: [{word, hot_value, position, label}]}

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/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 burden of behavioral disclosure. It discloses the authentication requirement ('需要登录 cookie') and the exact return format, which is useful. It does not mention rate limits, pagination, or potential errors, but for a simple hot-list tool, this level of transparency is reasonable.

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 extremely concise: one sentence stating purpose and auth requirement, followed by the return schema. It is front-loaded with the core purpose and every sentence adds value. No fluff 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 tool with no parameters and a simple hot-list output, the description covers purpose, authentication, and the return structure. It does not explain each field (word, hot_value, position, label), but these are self-explanatory in context. The inclusion of the return schema satisfies the output contract, making the description reasonably complete.

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

Parameters4/5

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

The tool has zero parameters and the input schema is empty, so schema coverage is effectively 100%. Per the guidelines, 0 params earns a baseline of 4. The description does not need to add parameter semantics, and it correctly focuses on the output structure instead.

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 '抖音实时热搜榜' (Douyin real-time hot search list), specifying the platform and the type of data (hot list). It distinguishes from sibling hot-list tools like weibo_hot_list and zhihu_hot_list by naming '抖音'. While it lacks an explicit verb like 'get' or 'list', the noun '榜单' implies retrieval, and the tool name itself signals the action.

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 key usage prerequisite: requiring a login cookie and directing first-time users to guided_login. This gives actionable context for when to use this tool in sequence with another tool. However, it does not explicitly state when to prefer this tool over alternatives, nor does it mention exclusions or alternatives for similar hot-list tools.

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

douyin_videoA

获取抖音视频详情(标题、作者、点赞、描述)。需要 Chrome。

video_id 来自 douyin_search 结果中 item 的 video_id 字段。

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYes视频 ID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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

The description discloses the Chrome requirement, but lacks details on authentication, rate limits, or error handling. With no annotations, more behavioral context would be beneficial.

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

Conciseness5/5

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

The description is two sentences: one for purpose, one for parameter context. Every sentence is useful, no wasted words.

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

Completeness4/5

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

Given the output schema exists and the tool is simple, the description covers the key aspects: purpose, parameter source, and environmental requirement. It could mention other prerequisites like login status.

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 description adds context beyond the schema by explaining that video_id is obtained from douyin_search results. This helps the agent understand how to populate the parameter correctly.

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

Purpose5/5

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

The description clearly states the tool retrieves video details (title, author, likes, description) and indicates the source of the video_id, distinguishing it from siblings like douyin_comments.

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 implies usage after douyin_search by explaining where video_id comes from, but does not explicitly mention when not to use it or alternative tools.

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

guided_loginA

打开浏览器让你登录平台,自动检测登录态并收割 Cookie。

自动打开 Chrome → 导航到平台登录页 → 你扫码/输入密码 → 检测到你登录成功后自动收割 Cookie 并保存。

无需手动操作 CDP 端口——全程自动化。

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoCDP 端口 (可选, 默认 9222)
platformYes认证注册表中的平台名,包括京东、微博、抖音、豆瓣和大众点评。

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output 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 full burden. It discloses the automated workflow (opening Chrome, navigating, detecting login, harvesting) but does not mention potential side effects (e.g., overwriting existing cookies), error handling, or permission requirements. Adequate but not comprehensive.

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 very concise and front-loaded with the main action. It uses short, clear sentences in Chinese with no wasted words. Perfect length for the tool's simplicity.

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 (2 params, no nested objects, has output schema), the description is largely complete. It explains the entire workflow. However, it doesn't mention the output schema or what happens on failure, but the existence of an output schema reduces the burden.

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 does not add additional meaning beyond the schema for either parameter (port and platform). It does not elaborate on parameter formats or constraints.

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

Purpose5/5

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

The description clearly states the tool's purpose: open a browser, navigate to login page, detect login, and harvest cookies. It uses specific verbs (打开, 导航, 收割) and specifies the resource (浏览器, 登录页, Cookie). This distinguishes it from sibling tools like harvest_cookies and check_cookies.

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 context (to login to a platform and harvest cookies) but does not explicitly state when not to use or provide alternatives. The workflow is clear, but no exclusions or sibling differentiation are mentioned.

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

harvest_cookiesA

从用户自己的浏览器会话中自动提取 cookie(包括 HttpOnly cookie)。

通过 Chrome DevTools Protocol (CDP) 的 Network.getAllCookies 提取 浏览器 cookie jar 中的所有 cookie(含 HttpOnly,这是 JS 无法获取的)。 仅提取用户自己的浏览器会话——浏览器须已在指定端口运行且已登录。

非 profile 平台的 Cookie 保存到认证注册表指定的 JSON 文件。 京东使用持久化 Chrome profile,请改用 guided_login。

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoCDP 调试端口 (可选, 各平台有默认值)
platformYes认证注册表中的平台名。京东会返回 profile_required。

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/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 explains the mechanism (CDP Network.getAllCookies), the privacy scope (only the user's own session), side effects (saves to a JSON file specified by the auth registry), and a platform exception. Missing details about error behavior when the port isn't running, but the presence of an output schema reduces the need.

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?

Four sentences, each earning its place: main action, method/conditions, file saving behavior, and the JD exception. Front-loaded with purpose, 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?

Given the output schema exists, the description needn't explain return values. It covers purpose, prerequisites, side effects, and a special case. Could be slightly more explicit about how this tool relates to check_cookies/verify_login, but that's not essential for invoking 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 input schema already fully documents both parameters (100% coverage), so baseline is 3. The description adds contextual value by stating that the browser must be running on the specified port and that JD returns profile_required, linking the port and platform parameters to real-world behavior.

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 a specific verb+resource: '自动提取 cookie (including HttpOnly)' from the user's own browser session. It clearly distinguishes itself from sibling guided_login by noting that JD requires a persistent Chrome profile and should use guided_login instead.

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?

It explicitly states the when-not-to-use: for JD (persistent Chrome profile), use guided_login. It also gives prerequisites: browser must be running on the specified port and logged in. This provides clear usage context versus alternatives.

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

jd_productA

获取京东商品详情(名称、价格、店铺、规格)。需要本地 Chrome。

sku 来自 jd_search 结果中 item 的 sku 字段。

并发: ⚠️ 使用 BrowserLock 保护 CDP 端口。

ParametersJSON Schema
NameRequiredDescriptionDefault
skuYes商品 SKU

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output 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 discloses important behavioral traits: need for local Chrome and use of BrowserLock for CDP port protection. It does not mention read-only nature or error handling, but for a simple retrieval tool 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?

The description is concise with three sentences, each providing essential information: purpose, input source, and concurrency warning. No unnecessary text.

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 complexity (single parameter, output schema present), the description covers purpose, input source, and concurrency. It could mention prerequisites like Chrome installation, but overall is sufficiently complete for the tool's simplicity.

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

Parameters5/5

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

The description adds significant value beyond the schema by specifying that the SKU originates from the 'item' object in jd_search results. This helps the agent understand exactly how to obtain the parameter value.

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

Purpose5/5

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

The description clearly states the tool fetches JD product details including name, price, store, and specifications. It uses specific verbs and resources, and distinguishes itself from sibling tools like jd_search which handles searching.

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 explains that the SKU comes from jd_search results, providing clear usage context. It mentions necessary dependencies (local Chrome) and concurrency protection. However, it does not explicitly state when not to use this tool or list alternatives.

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

pdd_product_detailA

获取拼多多商品详情(名称、价格、原价、销量、规格)。

商品详情独立于搜索限制 — 不限次数。

ParametersJSON Schema
NameRequiredDescriptionDefault
url_or_idYes商品 goods_id(如 "123456789")或完整 goods2.html URL

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 of behavioral disclosure. It explicitly mentions unlimited usage and independence from search limits, which is valuable behavioral context beyond the schema. It does not discuss authentication prerequisites, but for a simple read-only fetch this is a reasonable 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 two short sentences: the first states the purpose and returned fields, the second highlights the unlimited usage. Every word 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.

Completeness5/5

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

This is a simple single-parameter tool with an output schema provided. The description adequately covers what the tool does, the fields returned, and an important usage constraint. No additional context is needed 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%, and the schema already explains that url_or_id can be a goods_id or a full goods2.html URL. The main description adds no additional parameter-specific meaning, 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 uses a specific verb '获取' (fetch) with a clear resource '拼多多商品详情' (Pinduoduo product details) and enumerates the specific fields (名称、价格、原价、销量、规格). This clearly distinguishes it from sibling search tools like pdd_search and other product 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 Guidelines4/5

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

The statement '商品详情独立于搜索限制 — 不限次数' gives clear context that this tool is not bound by search quotas, implying it is useful when search limits are a concern. However, it does not explicitly name alternatives or state when-not-to-use, so it falls short of a full 5.

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

taobao_productA

获取淘宝商品详情(标题、价格、店铺)。

item_id 来自 taobao_search 结果中 item 的 id 字段。

并发安全: ✅ 纯 HTTP/MTOP API。

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idYes商品 ID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.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 burden. It notes concurrency safety and HTTP/MTOP API, which adds behavioral context, but does not explicitly state that it is a read-only operation or disclose any authentication 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?

Three sentences: purpose, parameter source, concurrency note. No fluff, front-loaded, every sentence 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?

Given the output schema exists, the description adequately covers what to expect (title, price, shop). It is concise and sufficient for a simple product detail tool, though it could mention more about error conditions.

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%, baseline 3. The description adds meaning by linking item_id to taobao_search results, which goes beyond the schema's '商品 ID' description.

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

Purpose5/5

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

The description clearly states the tool gets product details (title, price, shop) from Taobao, and distinguishes from taobao_search by specifying that item_id comes from search results.

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 explicitly instructs that item_id is sourced from taobao_search results, providing clear context for use. However, it does not mention when not to use or compare with alternatives like jd_product.

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

verify_loginA

远端验证缓存登录态是否仍被平台接受。

这与 check_cookies 的本地文件检查不同:本工具会发起只读在线请求。 当前可远端验证:知乎、微博、知识星球、抖音。 淘宝等没有稳定只读验证接口的平台会明确返回 unsupported。

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYes认证注册表中的平台名。

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/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 that the tool makes a read-only online request, lists supported platforms, and mentions that unsupported platforms return 'unsupported'. This is adequate behavioral disclosure for a simple verification tool.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the main purpose, and every sentence adds value. It is concise and well-structured, with no redundant 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?

Given the simple single-parameter input and the presence of an output schema (indicated by context signals), the description adequately explains the tool's behavior and differentiates from a sibling. It could mention the return values for successful verification, but the output schema likely 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 input schema covers 100% of parameters (only 'platform'). The description adds value by listing the specific platforms that are supported (Zhihu, Weibo, Knowledge Planet, Douyin) and indicating unsupported behavior, which compensates for the lack of an enum in 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 tool's purpose: remotely verify if cached login state is still accepted. It distinguishes itself from the sibling tool check_cookies (local file check) and lists supported platforms, providing specific and actionable information.

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 explicitly contrasts with check_cookies and lists which platforms are supported. However, it does not explicitly state when not to use this tool (e.g., for logging in or harvesting), but the context is clear enough for an AI agent to decide.

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

weibo_commentsA

获取微博帖子的评论(支持分页)。需要登录 cookie(SUB token)。

mid 来自 weibo_search 或 weibo_user_timeline 结果中 item 的 id 字段。

ParametersJSON Schema
NameRequiredDescriptionDefault
midYes微博帖子 ID
limitNo返回条数 (默认 20)
max_idNo分页游标,从上一页的 next_max_id 字段获取(空 = 第一页)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/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 discloses the authentication requirement (SUB token) and pagination capability, but does not discuss failure modes, rate limits, or response behavior beyond pagination. This 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.

Conciseness5/5

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

The description is two sentences long, front-loads the core function, and packs authentication and parameter provenance into concise, useful phrases. Every sentence earns its place 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?

The tool has an output schema, so return-value details are covered elsewhere. The description adequately covers the key contextual gaps: auth requirement, pagination flow, and how to obtain 'mid'. It could mention error cases or what happens without a valid cookie, but for a simple paginated comments endpoint, it is sufficiently complete.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds meaningful context by explaining that 'mid' originates from the 'id' field of items in weibo_search or weibo_user_timeline results, which is not fully captured by the schema's terse '微博帖子 ID' description.

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 '获取微博帖子的评论' (fetch comments of a Weibo post) with a specific verb and resource. It distinguishes itself from siblings like weibo_post (fetches the post itself) and weibo_search (searches posts), leaving no ambiguity about its function.

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 explicitly notes the login cookie (SUB token) requirement and instructs that 'mid' comes from the 'id' field in weibo_search or weibo_user_timeline results. This provides clear prerequisites and data flow context, though it does not explicitly mention when not to use the tool or name alternatives.

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

weibo_hot_listA

获取微博实时热搜榜。无需登录!

原理: 调用 weibo.com/ajax/side/hotSearch(游客可访问)。 返回实时热搜 50 条 + 置顶政务话题。

并发安全: ✅ 纯 HTTP/REST API,无共享状态,任意并发调用安全。

Returns: {count, items: [{rank, word, num, url, label}], hotgov: {name, url}|null}

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided; the description carries full burden. It discloses the tool is read-only (public HTTP API), concurrency safe, and details the return structure. It lacks rate limit or error handling info but is otherwise 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 concise and well-structured, with sections for principle, return value, and concurrency safety. Every sentence adds value, and it is front-loaded with the core purpose.

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

Completeness4/5

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

Given no parameters, the description is quite complete: it explains the endpoint, the returned data format, and concurrency safety. Missing minor details like error handling, but overall sufficient for a simple read 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?

The tool has no parameters, so the schema fully covers them. The description adds no parameter info but compensates by detailing the output structure, which is valuable given no parameters.

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

Purpose5/5

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

The description clearly states the tool retrieves the Weibo real-time hot search list, specifying it requires no login. It distinguishes itself from sibling tools like weibo_search, weibo_post, and weibo_comments by focusing specifically on the hot 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 explicitly mentions no login is needed and concurrency safety, providing clear usage context. It does not explicitly state when not to use or compare to alternatives, but the purpose is sufficiently differentiated.

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

weibo_postA

获取微博帖子的完整详情(含长文本)。

mid 来自 weibo_search 或 weibo_user_timeline 结果中的 item.id。

ParametersJSON Schema
NameRequiredDescriptionDefault
midYes微博帖子 ID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.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 mentions inclusion of long text, which is useful behavioral context, but does not disclose any potential side effects, authentication needs, 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.

Conciseness5/5

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

The description is two short sentences, front-loads the purpose, and contains no unnecessary words. Every sentence adds 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?

Given that an output schema exists, the description does not need to explain return values. The tool is simple with one parameter, and the description is sufficient for an agent to understand its purpose.

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 100% coverage for the single parameter. The description adds meaning by explaining that mid comes from weibo_search or weibo_user_timeline, which is beyond the schema's basic description.

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

Purpose5/5

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

The description clearly states the tool gets full details of a Weibo post including long text, and specifies that the mid comes from search or user timeline results. This distinguishes it from sibling tools like weibo_search and weibo_user_timeline.

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 explicitly indicates when to use the tool by specifying the source of the mid parameter. It does not mention alternatives or exclusions, but the context is clear.

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

weibo_user_timelineA

获取微博用户时间线(最近发言)。

需要登录 cookie(SUB token)。 可通过 weibo_search 找到目标用户获取其 UID。

ParametersJSON Schema
NameRequiredDescriptionDefault
uidYes用户 ID(数字,如 "2803301701" = 人民日报)
limitNo返回帖子数 (默认 10)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It mentions the need for authentication (cookie), which is critical, but does not discuss other aspects like rate limits, error handling, or whether the operation is read-only. The description is adequate but not comprehensive.

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 extremely concise: two sentences covering purpose, auth requirement, and auxiliary hint. No unnecessary words, and the most critical information 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?

Given the tool has only two parameters and an existing output schema, the description covers the essential aspects: purpose, auth context, and parameter hints. It lacks details about output format or error behavior, but the output schema fills that gap. Fairly complete for 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?

Although schema coverage is 100%, the description adds value with a concrete example for the uid parameter (e.g., '2803301701' for People's Daily) and clarifies the default value for limit. This goes 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 clearly states the verb '获取' (get) and the resource '微博用户时间线' (Weibo user timeline), with the qualifier '最近发言' (recent posts). It is distinct from sibling tools like weibo_search or weibo_comments, which serve different purposes.

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 explicitly mentions the prerequisite of a login cookie (SUB token) and provides guidance on how to obtain the required UID via weibo_search. This helps the agent decide when to use the tool, though it does not explicitly state 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.

xiaohongshu_commentsA

获取小红书笔记的评论(首屏,约 10-20 条)。

需要本地 Chrome + XHS 登录 cookie。 note_id 和 xsec_token 都来自同一条 xiaohongshu_search 结果。

ParametersJSON Schema
NameRequiredDescriptionDefault
note_idYes笔记 ID(16 位十六进制字符串)
xsec_tokenYes同一搜索结果中的访问令牌(必填)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/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 important behaviors: only returns first screen (~10-20 comments), requires local Chrome + login cookie, and dependencies on search tokens. This gives an agent a good sense of the tool's constraints, though it doesn't mention failure modes.

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

Conciseness5/5

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

Two crisp sentences with no filler; the main action is front-loaded, followed by prerequisites and parameter provenance.

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 comments-fetching tool, the description covers the essential context: what it returns, prerequisites, and parameter source. An output schema exists, so return details are covered elsewhere.

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 already describes both parameters with 100% coverage. The description adds value by stating they both come from the same search result, establishing their relationship and source, which aids correct invocation.

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 uses specific verb '获取' (get) with resource '小红书笔记的评论' (Xiaohongshu note comments), and adds scope '首屏,约 10-20 条' (first screen, ~10-20 items), clearly distinguishing it from note-level tools like xiaohongshu_note.

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?

States prerequisites: local Chrome and login cookie, and specifies that both parameters come from the same xiaohongshu_search result, providing clear context for when to use it. However, it doesn't explicitly contrast with sibling comment tools like zhihu_comments or provide when-not-to-use, so slightly below perfect.

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

xiaohongshu_noteA

获取小红书笔记详情(标题、正文、点赞、标签、评论)。

note_id 和 xsec_token 都来自同一条 xiaohongshu_search 结果。

ParametersJSON Schema
NameRequiredDescriptionDefault
note_idYes笔记 ID(从 xiaohongshu_search 结果中的 noteId 字段)
xsec_tokenYes反爬 token(从同一条 xiaohongshu_search 结果中的 xsec_token 字段)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/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 discloses what the tool returns but does not cover authentication needs, rate limits, or side effects. For a read-only fetch tool, this is adequate but not exceptional.

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

Conciseness5/5

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

Two concise sentences with no wasted words. The first sentence states purpose and contents, the second gives parameter source. Well-structured and easy to parse.

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 output schema exists and the description lists the key fields returned, the tool is fully specified. Parameter sources are clear, and the tool fits well within the sibling context.

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 descriptions already explain both parameters. The additional note that they come from the same search result adds value beyond the schema, reinforcing the dependency.

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

Purpose5/5

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

The description clearly states the tool gets Xiaohongshu note details and lists specific fields (title, body, likes, tags, comments). It distinguishes from siblings like xiaohongshu_comments and xiaohongshu_search.

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 explicitly states that note_id and xsec_token come from the same xiaohongshu_search result, providing clear usage context. It does not mention when not to use this tool, but the context is strong.

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

zhihu_answerA

获取知乎回答的完整正文。

answer_id 来自 zhihu_search 结果中 type 为 "answer" 的 item 的 id 字段。

ParametersJSON Schema
NameRequiredDescriptionDefault
answer_idYes回答 ID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/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 full burden for behavioral disclosure. It only states the operation of fetching text, with no mention of side effects, auth requirements, error behavior, or data limits. This is insufficient for a mutation-free but potentially unauthenticated tool.

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

Conciseness5/5

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

Two sentences, each with distinct purpose: first states the tool's action, second links to a sibling tool for parameter sourcing. No wasted words; front-loaded with key 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?

Given the tool's low complexity (single parameter, output schema exists), the description adequately covers what the agent needs to know: what it does and how to get the required ID. However, lack of behavioral details slightly reduces completeness.

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. The description adds value by explaining that the answer_id originates from zhihu_search results, enhancing the schema's simple '回答 ID' description. This aids correct parameter usage.

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

Purpose5/5

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

The description clearly states the tool retrieves the full text of a Zhihu answer using an answer_id. It specifies the resource and action, and references zhihu_search for ID sourcing, which distinguishes it from sibling tools like zhihu_question_answers or zhihu_comments.

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 guidance on where to obtain the answer_id (from zhihu_search results), implying its use case. However, it lacks explicit when-to-use or when-not-to-use guidance compared to sibling tools, offering no exclusions or alternatives.

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

zhihu_commentsA

获取知乎回答的评论(支持分页)。需要登录 cookie。

answer_id 来自 zhihu_search 结果中 type 为 "answer" 的 item 的 id 字段。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo返回条数 (默认 20)
offsetNo分页偏移 (默认 0,即第一页)
answer_idYes回答 ID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/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 two behavioral traits: pagination support and the need for a login cookie. However, it does not describe behavior on missing/invalid cookies, error handling, rate limits, or pagination specifics beyond the schema. It adds some value but leaves gaps.

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

Conciseness5/5

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

The description is two sentences long, front-loaded with the core function and requirements, and every sentence provides useful context. No wasted words.

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

Completeness4/5

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

The tool is relatively simple and the output schema exists, so return values need not be described. The description covers the essential prerequisites (cookie, answer_id source) and pagination capability. It doesn't mention error conditions or edge cases, but for a parameter-light tool with an output schema, this is sufficient.

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

Parameters4/5

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

Schema description coverage is 100% (all three parameters have descriptions). The description adds extra semantic meaning by clarifying that answer_id comes from the 'id' field of type 'answer' items in zhihu_search results, which goes beyond the schema's generic '回答 ID'. This is a meaningful addition.

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

Purpose5/5

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

The description clearly states the tool's function: '获取知乎回答的评论' (fetch comments for a Zhihu answer), mentions pagination support, and distinguishes from sibling tools like zhihu_answer (which would return the answer itself) by focusing on comments. It also provides a source for the required answer_id.

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 practical usage context: it states that a login cookie is required and that answer_id should originate from zhihu_search results (type 'answer'). This implicitly tells the agent when to use this tool (after obtaining an answer_id from search), but it does not explicitly mention alternatives or cases where this tool should not be used.

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

zhihu_hot_listA

获取知乎实时热榜。无需登录。

Returns: {items: [{title, url, excerpt, hot_metric}]}

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the authentication requirement (no login) and the return format, which is helpful. However, it does not mention potential rate limits, error behavior, or that this is a read-only operation, though the latter is implied by the verb '获取'.

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 extremely concise, with a front-loaded purpose and a compact return format example. Every sentence adds value, and there is 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 parameterless tool with an output schema, the description covers the core purpose, auth requirement, and return shape. It does not include data freshness details or examples, but these are not critical for a hot list retrieval tool, so it is reasonably complete.

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

Parameters4/5

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

The tool has zero parameters, and the schema already covers everything (100% coverage). Per the rubric, 0 parameters warrants a baseline score of 4; the description correctly does not need to elaborate on parameters.

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 '获取知乎实时热榜' (Get Zhihu real-time hot list) clearly states a specific verb and resource, and the Zhihu platform distinguishes it from sibling hot list tools like weibo_hot_list and douyin_hot_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 implies use for retrieving the current Zhihu hot list and notes '无需登录' (no login required), which is useful context. However, it does not explicitly mention when to use this tool over alternatives like zhihu_search or other hot lists, making the usage guidance only implied.

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

zhihu_question_answersA

获取知乎问题下的回答列表。

question_id 来自 zhihu_search 结果中 type 为 "question" 的 item 的 id 字段。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo返回条数 (默认 20)
question_idYes问题 ID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior2/5

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

无annotations,但描述仅说明基本功能,未提及分页、需登录状态或返回值结构等行为细节。

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,但缺少行为细节,对于简单工具基本足够。

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覆盖100%,描述额外解释了question_id的来源,增加了参数上下文价值。

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?

描述明确使用动词'获取'和资源'知乎问题下的回答列表',与兄弟工具如zhihu_answer、zhihu_comments等清晰区分。

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?

提供了从zhihu_search获取question_id的指引,但未明确说明何时不使用或与zhihu_answer的替代关系。

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

zsxq_articleA

获取知识星球文章全文。

article_url 来自 zsxq_topics 结果中的 topic 对象, 仅当 topic 类型为文章时可用(talk.article.inline_article_url)。

ParametersJSON Schema
NameRequiredDescriptionDefault
article_urlYes文章 URL(从 topic 的 inline_article_url 字段获取)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/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 accurately describes the operation as fetching full text, but does not disclose any potential side effects, rate limits, or error conditions. This is adequate for a simple read-only tool.

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

Conciseness5/5

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

The description is two sentences long, with the main purpose in the first sentence and additional context in the second. No unnecessary words, perfectly 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?

Given the presence of an output schema (indicated by 'Has output schema: true'), the description does not need to explain return values. It covers the prerequisite (topic type must be article) and the parameter source, making it complete for the tool's complexity.

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

Parameters4/5

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

The input schema has 100% description coverage for the one parameter (article_url). The description adds value by specifying the exact source of the URL (inline_article_url field of a topic object), which is not in the schema. This helps the agent understand where to obtain 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 clearly states the tool's purpose: retrieving the full text of a knowledge planet article. It specifies the source of the URL (from zsxq_topics topic object) and the condition (topic type must be article), distinguishing it from sibling tools like zsxq_topics.

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 explicitly tells when to use this tool: when you have an article_url from zsxq_topics and the topic type is article. It does not mention alternatives or when not to use, but the context is clear enough for an agent to decide.

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

zsxq_topicsB

获取知识星球 (ZSXQ) 付费社群最新帖子。

纯 REST API,无需浏览器,只需 cookie。 Cookie 文件: ~/.cn-scraper-cookies/zsxq.json (需要 zsxq_access_token)

并发安全: ✅ 纯 HTTP/REST API,无共享状态,任意并发调用安全。

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo获取帖子数量 (默认 5)
group_idYes星球 ID (数字,如 "28888555451")
owner_onlyNo只看星主帖子 (默认 False)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 discloses key behavioral traits: pure HTTP/REST API, no shared state, concurrency safe, and cookie-based authentication. However, it does not address potential errors, rate limits, or read-only nature explicitly.

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 with clear line breaks separating purpose, technical details, and safety note. Every sentence adds value, and the most important information (purpose) 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?

Given the tool has an output schema (not shown) and 3 parameters fully described, the description covers the basics (purpose, technical requirements, concurrency). However, it lacks details on pagination, error handling, or what happens with invalid group IDs, which is expected for a scraping 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?

Input schema coverage is 100%, so baseline 3 applies. The description adds no new parameter-level information; it only provides context on cookie authentication which is outside parameter semantics.

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

Purpose4/5

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

The description clearly states it retrieves the latest posts from ZSXQ paid community with a specific verb ('获取'). It distinguishes from the sibling 'zsxq_article' by name, but does not explicitly compare usage contexts.

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 environment details (cookie file, concurrency safety) but lacks guidance on when to use this tool versus siblings like 'zsxq_article', or when not to use it. No exclusions or alternatives are mentioned.

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. 12 tool updatesv0.5.0
    • Addedbilibili_search
    • Addeddianping_shop
    • Addeddouyin_comments
    • Addeddouyin_hot_list
    • Addedharvest_cookies
    • Addedpdd_product_detail
    • Addedtaobao_search
    • Addedweibo_comments
    • Addedxiaohongshu_comments
    • Addedxiaohongshu_search
    • Addedzhihu_comments
    • Addedzhihu_hot_list
  2. 12 tool updatesv0.4.1
    • Removedbilibili_search
    • Removeddianping_shop
    • Removeddouyin_comments
    • Removeddouyin_hot_list
    • Removedharvest_cookies
    • Removedpdd_product_detail
    • Removedtaobao_search
    • Removedweibo_comments
    • Removedxiaohongshu_comments
    • Removedxiaohongshu_search
    • Removedzhihu_comments
    • Removedzhihu_hot_list
  3. 40 tool updatesv0.1.0
    • First observedbilibili_comments
    • First observedbilibili_popular
    • First observedbilibili_search
    • First observedbilibili_video
    • First observedcheck_cookies
    • First observeddiagnose
    • First observeddianping_reviews
    • First observeddianping_search
    • First observeddianping_shop
    • First observeddouban_reviews
    • First observeddouban_search
    • First observeddouban_subject
    • First observeddouyin_comments
    • First observeddouyin_hot_list
    • First observeddouyin_search
    • First observeddouyin_video
    • First observedguided_login
    • First observedharvest_cookies
    • First observedjd_product
    • First observedjd_search
    • First observedpdd_product_detail
    • First observedpdd_search
    • First observedtaobao_product
    • First observedtaobao_search
    • First observedverify_login
    • First observedweibo_comments
    • First observedweibo_hot_list
    • First observedweibo_post
    • First observedweibo_search
    • First observedweibo_user_timeline
    • First observedxiaohongshu_comments
    • First observedxiaohongshu_note
    • First observedxiaohongshu_search
    • First observedzhihu_answer
    • First observedzhihu_comments
    • First observedzhihu_hot_list
    • First observedzhihu_question_answers
    • First observedzhihu_search
    • First observedzsxq_article
    • First observedzsxq_topics

TDQS

A3.5/5.0

Scored across 40 tools

Disambiguation4/5

Platform prefixes and resource/action names keep most tools clearly distinct (e.g., douyin_search, douyin_video, douyin_comments). The auth/validation cluster (harvest_cookies, guided_login, check_cookies, verify_login) has some conceptual overlap, but the descriptions clarify local vs remote checks and login-assisted harvesting.

Naming Consistency4/5

Content tools follow a consistent <platform>_<resource/action> pattern, with search, hot_list, and comments repeated across platforms. Minor deviations like bilibili_popular instead of bilibili_hot_list and standalone verbs like diagnose do not seriously undermine the overall pattern.

Tool Count3/5

40 tools is a heavy surface and will add context/selection overhead for agents. However, the multi-platform scope across 11 Chinese platforms plus a dedicated auth/diagnostic group means most tools are non-redundant and earn their place.

Completeness4/5

The server covers search, detail, comments, and hot-list flows for most platforms, plus cookie extraction, login, validation, and diagnostics. Gaps like e-commerce reviews or ZSXQ search are workable limitations rather than dead ends in the primary search-to-detail-to-comments flow.

Maintenance

ActivitySlowing
ResponsivenessWithin a week

Related MCP Connectors

Related MCP Servers