AKBridge MCP Server
AKBridge MCP Server exposes AKShare's public data interfaces as MCP tools, enabling retrieval of Chinese and global financial, economic, and environmental data.
Access stock, bond, fund, forex, cryptocurrency, and commodity market data.
Query Chinese macroeconomic, energy, carbon, air quality, and auto sales statistics.
Retrieve AMAC fund disclosures, bond issuance, convertible bond details, and yield curves.
Use router mode (akbridge_search, akbridge_describe, akbridge_call) for semantic retrieval and structured calling.
Get structured JSON output with pagination, output modes, caching, retries, and DataFrame input conversion.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AKBridge MCP ServerGet the historical daily prices for Kweichow Moutai"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
将 AKShare 公共接口自动暴露为 MCP 工具,并提供路由检索、结构化输出、逐接口验收以及自动化验收与维护。当前 AKShare 基线版本、接口数量和验收结果见中文验收汇总与English acceptance summary。
为什么选择 AKBridge
AKShare 覆盖广泛的金融数据接口,但直接接入 AI 助手仍需处理 Python 调用、函数选择、参数构造、DataFrame 转换和版本变化。AKBridge 把这些工作收敛为一个可安装、可检索、可验收的 MCP 服务,适合构建金融研究助手、行情分析 Agent 或数据检索工具:
覆盖 AKShare 完整公共接口,而不是长期手工维护少量工具;
只向 LLM 暴露三个稳定的路由工具,降低上千个接口带来的上下文压力;
提供统一的 JSON 输出、分页、摘要和错误分类,而不是直接处理不同形态的 Python 返回值;
在 AKShare 更新后自动发现接口变化,并通过逐接口验收判断是否仍可安全使用。
AKBridge 不替代 AKShare:AKShare 负责数据获取,AKBridge 负责把这些能力可靠地交给 MCP 客户端、Agent 或其他工具。第三方数据源自身的登录、验证码、反爬、限流和网络限制仍然存在,并会被单独报告。
Related MCP server: AKShare MCP Server
验收状态
状态图由验收报告命令自动生成,详细结果见中文验收汇总、English acceptance summary和逐接口明细。
GitHub Actions 与 Dependabot 自动检查 AKShare 与 mcp 更新:AKShare 的同主版本升级与 mcp 的同主版本 patch 升级在完整验收通过后自动合并,依赖固定版本变化还会自动发布新版本。频率、门禁与仓库配置见自动化验收与维护说明。
功能
自动发现 AKShare 公共可调用接口,按函数签名生成 MCP 输入 Schema,无需手工维护上千个适配器。
支持
DataFrame、Series、日期和常见 NumPy 标量的 JSON 转换,以及 DataFrame JSON 入参与时间索引转换。提供逐接口隔离验收、超时控制、并发执行、验收参数集和断点续跑。
生成逐接口 CSV 明细以及 JSON、Markdown 汇总报告。
提供本地语义目录、确定性检索和三工具路由模式。
支持
raw、compact、summary三种输出模式、分页、字段类型和单位提示。提供重试、限速、缓存、熔断、代理配置、敏感信息脱敏以及自动化验收与维护门禁。
安装
推荐使用 uv 安装命令行工具,它会为 AKBridge 管理隔离的 Python 3.11+ 环境。普通用户从 PyPI 安装最新发布版:
uv tool install akbridge
uv tool update-shell重新打开终端后验证:
akbridge --help
akbridge --mode router第二条命令启动 stdio MCP 服务并等待客户端连接,终端看起来没有输出是正常现象,可按 Ctrl+C 停止。安装默认分支的开发版本用 uv tool install --force "git+https://github.com/kevynf/akshare-mcp-bridge.git";升级和卸载分别是 uv tool upgrade akbridge 与 uv tool uninstall akbridge。
参与开发或需要修改代码时才克隆仓库:
git clone https://github.com/kevynf/akshare-mcp-bridge.git
cd akbridge
uv sync --group dev
uv run --no-sync akbridge --mode routerstdio 服务启动后不会显示网页、菜单或命令提示符,MCP 客户端通过标准输入输出与该进程通信。
两种工具模式
all 是默认模式,保留所有已发现的 AKShare 原始函数工具,适合兼容已有客户端、逐接口验收和人工精确调用。实际连接 LLM 时建议使用 router 模式,它只公布三个稳定工具:
工具 | 用途 |
| 在本地语义目录中检索接口、别名、类别和用途,返回小型 RAG 上下文。 |
| 返回一个接口的签名、参数、示例、返回类型、数据源链接和副作用标记。 |
| 解析规范名称或唯一别名,调用接口,并选择输出模式和分页。 |
akbridge --mode router检索器从 AKShare 公开函数自动生成 一级分类 → 源码模块 → 接口 路由树,例如 stock → stock_feature.stock_hist_em → stock_zh_a_hist。函数名、签名、别名和 docstring 构成默认的确定性词法证据,不调用 LLM、嵌入服务或远程向量数据库。MCP 资源 akbridge://skill 提供同一套运行时调用规程,它随服务暴露,不会自动安装成客户端 Skill。
AKShare 文档词法路由
正式发布的 wheel 和 sdist 会在 GitHub Actions 中,根据固定的 AKShare 版本解析对应的 release-vX.Y.Z 标签和 commit SHA,自动构建并包含文档索引;router 模式默认加载包内索引,服务搜索期间不会联网。文档块只关联 AKShare 顶层公开函数,补充自然语言术语和排序证据,不决定领域或模块结构;搜索结果会返回命中的文档标题和来源链接。
源码开发时可手动重建或覆盖索引:
akbridge-docs build --ref <akshare-commit-sha> --output artifacts\akshare-docs.json
akbridge --mode router --document-index artifacts\akshare-docs.json客户端配置
选择使用的 MCP 客户端,跳转到对应配置:Cherry Studio、Codex或其他客户端。
Cherry Studio
Cherry Studio 可以通过 stdio 直接启动 AKBridge,不需要额外的适配服务,推荐使用 router 模式。
协议安装:将下面的地址复制到浏览器地址栏或 Windows“运行”窗口,打开 Cherry Studio 后检查安装预览并确认。如果没有打开自定义协议,请改用下方的 JSON 导入。
cherrystudio://mcp/install?servers=eyJtY3BTZXJ2ZXJzIjp7ImFrYnJpZGdlIjp7InR5cGUiOiJzdGRpbyIsImNvbW1hbmQiOiJ1dngiLCJhcmdzIjpbImFrYnJpZGdlIiwiLS1tb2RlIiwicm91dGVyIl19fX0%3DCherry Studio 会以未启用、未信任状态导入配置,仍需由用户确认并启用。
从 JSON 导入:打开 设置 → MCP → MCP 服务器 → 添加 → 从 JSON 导入,粘贴:
{
"mcpServers": {
"akbridge": {
"type": "stdio",
"command": "uvx",
"args": ["akbridge", "--mode", "router"]
}
}
}启用服务并确认状态正常后,将 AKBridge 绑定到需要使用它的 Agent。首次启动时 uvx 可能需要下载并创建运行环境,会比后续启动更慢。
Codex 配置
在 Codex MCP 配置中加入:
[mcp_servers.akbridge]
command = "akbridge"
args = ["--mode", "router"]
startup_timeout_sec = 30
tool_timeout_sec = 120保存配置并重启 Codex,客户端初始化成功后即可看到 AKShare 工具。
其他 MCP 客户端
支持 JSON MCP 配置的客户端(Claude Desktop 及兼容客户端)可以使用:
{
"mcpServers": {
"akbridge": {
"command": "akbridge",
"args": ["--mode", "router"]
}
}
}调用示例
连接 MCP 服务后,用户可以直接描述数据需求,无需预先知道 AKShare 函数名:
查询股票代码 000001 从 2026-01-01 到 2026-08-06 的前复权日线行情。类似的自然语言请求还有“获取 A 股实时行情”“查询中国 CPI 数据”“获取开放式基金净值”“查询国内期货实时行情”。MCP 客户端中的 LLM 负责把需求转换为下方的检索、描述和结构化调用;AKBridge 本身不使用 LLM,每个工具的参数来自对应 AKShare 函数签名,具体含义以工具描述和 AKShare 文档为准。
路由调用与结果格式
典型顺序是先检索、再描述、最后调用:
{"query": "A股历史行情", "limit": 5}
{"name": "stock_zh_a_hist"}{
"name": "stock_zh_a_hist",
"arguments": {
"symbol": "000001",
"period": "daily",
"start_date": "20260101",
"end_date": "20260806",
"adjust": "qfq"
},
"output_mode": "compact",
"page": 1,
"page_size": 100
}输出模式 | 适用场景 | 返回内容 |
| 兼容已有直接工具调用 | 原始 JSON 结构,默认最多 5,000 行。 |
| 常规分析 | 行数据、分页信息、字段类型和按列名推断的单位提示。 |
| 先判断数据是否适用 | 行数、列、空值统计、数值摘要和少量预览,不返回完整大表。 |
字段和单位提示由结果列名和 dtype 自动推断,属于辅助元数据,不替代 AKShare 或数据源的正式定义。
DataFrame 入参
少数计算接口需要 pandas.DataFrame,MCP 客户端可以传入记录数组:
{
"data": {
"index_column": "date",
"rows": [
{"date": "2026-01-05T09:30:00", "Open": 10.0, "High": 10.3, "Low": 9.9, "Close": 10.2}
]
}
}index_column 指定转换为 DataFrame 索引的列,ISO 日期字符串会自动转换为 DatetimeIndex。
逐接口验收
接口清单由发现机制自动生成,记录 AKShare 版本、接口总数、函数签名、输入 Schema 哈希以及自动生成的显示名、类别、别名、用途、示例、返回元数据、副作用标记和数据源链接,落在 artifacts/acceptance/manifest.json;artifacts/catalog.json 是同一目录的紧凑 RAG 导出。常用命令:
.venv\Scripts\python.exe -m akbridge.acceptance manifest
.venv\Scripts\python.exe -m akbridge.acceptance run --limit 20 --timeout 30 --workers 4
.venv\Scripts\python.exe -m akbridge.acceptance run --resume --retry-status timeout --timeout 60--limit 控制本次验收数量,--resume 继续上次进度,--retry-status timeout 复验超时接口,--name 只验收指定接口;必填验收参数位于 artifacts/acceptance/fixtures.json。完整参数与断点续跑细节见自动化验收与维护说明。
验收状态取值
状态 | 含义 |
| 接口成功返回非空结果 |
| 接口成功执行,但当前返回空结果或无返回值 |
| AKShare 或上游数据源返回运行错误 |
| 接口在指定时间内没有完成 |
| 缺少必填验收参数 |
| MCP 适配或隔离执行进程发生错误 |
| 仅验证发现、Schema 和适配契约;没有访问第三方数据源 |
MCP 适配验收与数据源可用性分开统计:只要接口已被发现、生成 Schema,并成功进入 AKShare 调用路径且没有 fixture_required 或 worker_failed,就视为 MCP 适配通过。上游失败不会被隐藏或伪装成成功。
生成报告
.venv\Scripts\python.exe -m akbridge.acceptance report报告写入 artifacts/acceptance/ 下的 SUMMARY.md/SUMMARY.en.md(双语汇总)、summary.json(机器可读)、status.svg(README 状态图)、ledger.csv(逐项结果)和 manifest.json(完整清单)。当前基线的精确版本、接口数量和各状态统计见验收汇总,失败范围分为上游网络、上游响应、AKShare 运行错误和上游超时,详细原因见逐接口明细。报告由验收命令生成,升级 AKShare 时无需手工同步 README 中的数字。
自动化验收与维护
默认离线门禁不访问第三方数据源,也不需要人或 LLM:
.venv\Scripts\python.exe -m akbridge.maintenance ci --strict `
--baseline artifacts\acceptance\manifest.json `
--current artifacts\maintenance\manifest.json `
--catalog artifacts\catalog.json `
--report artifacts\maintenance\latest.json它会重新发现全部接口、构造并验证全部 all 工具和固定的 3 个 router 工具、验证输入 Schema 和 router 索引、生成语义目录、比较接口新增/删除/签名/Schema 差异,并在接口删除或签名/Schema 回归时返回非零退出码。定时任务可加 --check-latest 查询 PyPI 最新 AKShare 版本,网络不可用只记录为 unavailable,需要让发现新版本时任务失败再加 --fail-on-update。
只验证适配契约而不访问数据源:
.venv\Scripts\python.exe -m akbridge.acceptance run --offline --workers 4全量数据源验收反映上游网站、验证码、登录和限流状态,而不是 MCP 适配是否正确,应单独作为网络探测任务:
.venv\Scripts\python.exe -m akbridge.maintenance ci --provider --timeout 60 --workers 4自动化维护工作流每周运行离线流程并上传报告,数据源探测工作流每月 1 日和 15 日各执行一次全量隔离验收。完整规则见自动化验收与维护说明。
可靠性与安全
只读接口可通过环境变量启用进程内缓存、限速、重试和熔断:
$env:AKBRIDGE_CACHE_TTL = "60"
$env:AKBRIDGE_RATE_LIMIT_SECONDS = "0.2"
$env:AKBRIDGE_MAX_ATTEMPTS = "2"
$env:AKBRIDGE_CIRCUIT_FAILURE_THRESHOLD = "5"
$env:AKBRIDGE_CALL_TIMEOUT = "120"代理支持标准 HTTP_PROXY/HTTPS_PROXY,也支持 AKBRIDGE_HTTP_PROXY、AKBRIDGE_HTTPS_PROXY、AKBRIDGE_ALL_PROXY、AKBRIDGE_NO_PROXY 专用别名。令牌、密码、Cookie、API Key 在验收日志和结构化诊断中会被脱敏;set_*、登录和配置类接口被标记为非只读,不缓存也不自动重试。备用数据源不按名称自动猜测,只能通过 CallExecutor.register_fallback() 为已确认语义等价的接口显式注册。
运行中的进程通过 MCP 资源 akbridge://metrics 提供调用次数、失败数、重试数、缓存命中和耗时计数;AKBRIDGE_JSON_LOGS=1 可将重试诊断以 JSON Lines 写入 stderr,不污染 stdio MCP 协议。
需要通过网络部署时可选 SSE 传输,默认只绑定本机,对外暴露前应由反向代理配置 TLS、认证和访问控制:
.venv\Scripts\python.exe -m akbridge.server --transport sse --mode router --host 127.0.0.1 --port 8000测试
.venv\Scripts\python.exe -m pytest -q覆盖函数发现、Schema 生成、语义检索、DataFrame 转换、三种结果模式、重试/缓存/熔断/脱敏、manifest 门禁、离线验收,以及真实 MCP stdio 客户端握手和复杂工具调用。验收参数集完全位于本地,不需要人工步骤、LLM 或第三方网络请求。
常见问题
服务启动后没有输出? 这是 stdio MCP 服务的正常行为,请由 MCP 客户端启动和管理服务,不要期待浏览器页面。
某个工具返回网络错误? AKShare 依赖多个第三方数据网站。先增加工具超时并重试;如果持续失败,查看 ledger.csv 中的错误类型,判断是连接失败、上游格式变化还是 AKShare 解析错误。
返回数据过大? 服务默认最多序列化 5,000 行,并在结果中返回 row_count 和 truncated,可启动时调整:
.venv\Scripts\python.exe -m akbridge.server --row-limit 1000升级 AKShare 后接口数量变化? 重新运行 manifest 和全量验收。运行时发现机制会自动暴露新增的公共可调用接口,但仍应检查签名变化及数据源回归。
当前限制与后续方向
当前限制:
内置 Skill 是随 MCP 服务暴露的通用运行时调用规程,不会自动安装成客户端模块,尚无面向不同客户端和金融领域的可安装 Skills。
RAG 只有接口目录和词法检索,缺少金融知识、术语映射、向量召回与重排。
后续方向:
提供面向主流 LLM 客户端和 Agent 框架的可安装、可组合金融 Skills。
为高频接口补充人工校准的工具说明、参数语义、调用示例和结果摘要。
建设带来源和版本的金融知识库与中英文术语适配层。
提供混合 RAG 检索和自动化验收,持续评估知识召回、接口选择与参数完整度。
文档与贡献
欢迎提交 Issue 和 Pull Request,提交前请先阅读贡献指南。
许可证
AKBridge 使用 MIT License 开源。
Available Tools
1096 toolsair_city_tableARead-onlyIdempotent
真气网-空气质量历史数据查询-全部城市列表 https://www.zq12369.com/environment.php?date=2019-06-05&tab=rank&order=DESC&type=DAY#rank :return: 城市映射 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type, but no additional behavioral traits such as data freshness, rate limits, or dependencies. Given the annotations, a score of 3 is appropriate—it adds some value but not rich context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single purpose line, a source URL, and return type information. It is front-loaded, contains no fluff, and every element serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description gives only a high-level return type ('城市映射' as pandas.DataFrame). It does not detail the structure of the mapping (e.g., city names/IDs) or explain how this tool supports sibling air quality tools. For a simple no-param read-only tool, it is adequate but leaves gaps in contextual linkage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema coverage is trivially 100% and there is nothing to explain. The description clarifies the return as a city mapping DataFrame, which is useful. Baseline 4 applies for zero-param tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '真气网-空气质量历史数据查询-全部城市列表' (Air quality historical data query - all city list) and specifies the return as a city mapping (城市映射) in a pandas DataFrame. This distinguishes it from sibling tools like air_quality_hist and air_quality_rank, which handle historical data and rankings respectively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool vs. alternatives. It does not mention that this tool provides the city list needed for other air quality tools (e.g., to get city codes before querying historical data). The usage context is entirely absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
air_quality_hebeiCRead-onlyIdempotent
河北省空气质量预报信息发布系统-空气质量预报,未来 6 天 http://218.11.10.130:8080/#/application/home :return: city = "",返回所有地区的数据;city="唐山市",返回唐山市的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent and non-destructive, so safety is covered. The description adds the data source URL, the 6-day forecast horizon, and the pandas.DataFrame return type, which is useful context, but it does not explain freshness, update cadence, or coverage limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is compact but structured as raw source docstring fragments (URL, ':return:', ':rtype:') in mixed Chinese/English, and the return-type metadata is not front-loaded. It reads as pasted documentation rather than a crafted description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-argument read-only forecast tool with no output schema, the description conveys scope (6 days, Hebei) and return type, which is roughly adequate. The unresolved city-parameter mismatch is the main completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters, yet the description documents a 'city' argument (city="" returns all regions; city="唐山市" returns Tangshan). That meaning is helpful in isolation but contradicts the empty input schema, leaving the agent unsure whether city can actually be passed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: Hebei Province air quality forecast for the next 6 days, with the issuing system and URL. It is clearly distinguishable in subject matter from the finance/macro siblings, though it does not explicitly name any sibling it maps against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is given. The only usage hint is the city-filter behavior, and that is presented as part of the return note rather than as routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
air_quality_histARead-onlyIdempotent
真气网-空气历史数据 https://www.zq12369.com/ :param city: 调用 ak.air_city_table() 接口获取所有城市列表 :type city: str :param period: "hour": 每小时一个数据,由于数据量比较大,下载较慢;"day": 每天一个数据;"month": 每个月一个数据 :type period: str :param start_date: e.g., "20190327" :type start_date: str :param end_date: e.g., "20200327" :type end_date: str :return: 指定城市和数据频率下在指定时间段内的空气质量数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | 杭州 | |
| period | No | day | |
| end_date | No | 20200427 | |
| start_date | No | 20190327 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/destructive=false, so the safety profile is covered. The description adds a genuine behavioral trait beyond annotations — hourly granularity is slow to download — plus the city-list dependency, but says nothing about rate limits or response shape beyond rtype.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and source, then organized :param blocks with no filler. Slightly heavier than needed due to the URL and :type/:rtype scaffolding, but every line carries information (dependencies, format, tradeoffs).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with 0% schema coverage and no output schema, the description covers every parameter, the return type (pandas.DataFrame), the city-list dependency, and the period tradeoff. An agent has enough to call it correctly; only error/edge behavior is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load, and it does: it documents all four parameters, explains the period values ('hour'/'day'/'month') with their data-volume tradeoff, gives date format examples ("20190327"), and points to air_city_table for valid cities. Only the exact city-value format is left implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source (真气网/zq12369.com) and states it returns historical air quality data for a city/period range, which is a specific verb+resource. It distinguishes itself from realtime siblings like air_quality_watch_point by the '历史数据' framing, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a prerequisite hint (call ak.air_city_table() to get the city list) and warns that 'hour' downloads are slow due to large data volume, which is useful guidance. However there is no explicit when-to-use / when-not-to-use versus the many air_quality_* siblings, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
air_quality_rankARead-onlyIdempotent
真气网-168 城市 AQI 排行榜 https://www.zq12369.com/environment.php?date=2020-03-12&tab=rank&order=DESC&type=DAY#rank :param date: "": 当前时刻空气质量排名;"20200312": 当日空气质量排名;"202003": 当月空气质量排名;"2019": 当年空气质量排名; :type date: str :return: 指定 date 类型的空气质量排名数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, non-destructive behavior, so the safety profile is covered. The description adds a return type (pandas.DataFrame) and the source URL, but it does not disclose rate limits, authentication needs, data freshness, or sorting behavior beyond what the URL implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the resource name and then gives parameter and return details efficiently. The long raw URL with query parameters is somewhat bulky, but it provides a concrete source and example. Overall it is reasonably concise for a one-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter retrieval tool with no output schema, the description supplies the source, parameter value mappings, and return type. It omits return columns, sorting order, and data recency, but it is otherwise complete enough for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It does so well by mapping four concrete date value patterns (empty, 20200312, 202003, 2019) to their meanings: current, daily, monthly, and yearly AQI rankings. This adds substantial meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource: a 168-city AQI ranking from 真气网. The purpose is clear for an agent, but the description does not explicitly differentiate from siblings such as air_quality_watch_point or air_quality_hist, leaving the distinction to be inferred from the tool name and resource scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what different date strings retrieve, but it gives no guidance on when to use this tool versus sibling air-quality tools or any other alternatives. There are no exclusions, prerequisites, or contextual triggers for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
air_quality_watch_pointBRead-onlyIdempotent
真气网-监测点空气质量-细化到具体城市的每个监测点 指定之间段之间的空气质量数据 https://www.zq12369.com/ :param city: 调用 ak.air_city_table() 接口获取 :type city: str :param start_date: e.g., "20190327" :type start_date: str :param end_date: e.g., ""20200327"" :type end_date: str :return: 指定城市指定日期区间的观测点空气质量 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | 杭州 | |
| end_date | No | 20220409 | |
| start_date | No | 20220408 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds limited extra transparency by specifying the data source URL and the return type (pandas.DataFrame). It does not describe edge cases, potential failures, or detailed output structure, but given the annotations cover safety, the added context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is poorly structured: it begins with a redundant title line, includes a broken sentence ('指定之间段之间的空气质量数据'), and mixes Chinese and English unevenly. The docstring-style parameter sections are organized, but the front matter contains unnecessary repetition and awkward phrasing, making it less concise and clear than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core aspects: purpose, parameters, return type, and source URL. However, without an output schema, it gives only a high-level description of the return ('观测点空气质量') and does not specify columns or metrics. For a simple retrieval tool with three string parameters, this is acceptable but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by providing parameter types, format examples for dates, and a lookup method for city values. This is highly valuable for an agent to construct valid calls. The only minor gap is not explicitly stating the date format beyond examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieving air quality data for each monitoring point in a specific city within a date range. The phrase '细化到具体城市的每个监测点' highlights the per-station granularity, which distinguishes it from sibling tools like air_quality_hist or air_quality_rank. However, it lacks an explicit verb like 'get' or 'fetch', and the phrasing is somewhat awkward.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied through the description of per-station data, and the parameter doc for 'city' explicitly instructs users to call ak.air_city_table() to obtain valid city values. No explicit alternatives or exclusions are provided, making it unclear when to choose this tool over sibling air quality tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amac_aoin_infoARead-onlyIdempotent
中国证券投资基金业协会-信息公示-基金产品公示-证券公司直投基金 https://gs.amac.org.cn/amac-infodisc/res/aoin/product/index.html :return: 证券公司直投基金 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds the source URL and return type (pandas.DataFrame), which is useful but does not disclose any additional behavioral traits like pagination or data coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the exact data source, and includes only necessary details: source, URL, and return type. Every line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter tool with strong annotations, the description is mostly complete. It identifies the source and return type, though it does not mention what columns or rows are included in the DataFrame, leaving minor ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description reinforces the return type (pandas.DataFrame) and the specific data content, which is sufficient for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as AMAC's information disclosure for securities company direct investment funds, and states it returns a pandas.DataFrame. However, it lacks an explicit verb like 'retrieve' or 'list', so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling AMAC tools (e.g., amac_fund_info, amac_fund_sub_info). The description only states what it returns, not when to choose it over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amac_fund_absBRead-onlyIdempotent
中国证券投资基金业协会-信息公示-基金产品公示-资产支持专项计划公示信息 https://gs.amac.org.cn/amac-infodisc/res/fund/abs/index.html :return: 资产支持专项计划公示信息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, which cover the safety profile. The description adds the source URL and return type, but no further behavioral traits such as pagination, rate limits, or authentication needs. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core information: the source, the endpoint URL, and return type. However, the Chinese title is repeated verbatim in the first line and then again in the 'return' line, making it slightly redundant though not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with rich annotations, the description is adequately complete: it names the exact data (ABS plan disclosure), provides the source URL, and states the return type (pandas.DataFrame). However, it does not describe the content of the DataFrame beyond the general 'disclosure information' label, so an agent might not know exactly what columns or coverage to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to explain. The baseline for 0-parameter tools is 4, and the description appropriately includes the return type to clarify what the DataFrame contains, which is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (AMAC ABS public disclosure information) with a precise source URL and return type, which distinguishes it from other AMAC fund tools in the sibling list. The action is implied via the context of returning a DataFrame, though it does not use an explicit verb like 'retrieve' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. While the Chinese title clearly states the specific data source, there is no mention of use cases, prerequisites, or comparison with similar AMAC tools like amac_fund_info or amac_fund_sub_info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amac_fund_account_infoARead-onlyIdempotent
中国证券投资基金业协会-信息公示-基金产品公示-基金公司及子公司集合资管产品公示 https://gs.amac.org.cn/amac-infodisc/res/fund/account/index.html :return: 基金公司及子公司集合资管产品公示 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds the data source URL and indicates a pandas.DataFrame return, but does not describe the data structure, update frequency, or any limitations. It provides some context beyond the annotations but not rich behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the Chinese title, followed by a useful URL and return type. However, the :return: line essentially repeats the title, which is slightly redundant but not excessively wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema tool, the description provides the data source and general topic, which is adequate but not complete. It does not specify the DataFrame columns, row scope, or how the data is organized, which might be needed for an agent to fully understand the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters, so the schema fully covers parameter semantics. Even though the description offers no parameter details, none are needed. The baseline of 4 for zero-parameter tools applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the specific resource: AMAC's fund company and subsidiary collective asset management product disclosure, with a direct URL. The title and return line both name the exact dataset, distinguishing it from sibling tools like amac_fund_info or amac_member_sub_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus other AMAC tools. It only gives the dataset name and URL, leaving the agent to infer the use case. No alternatives, exclusions, or context are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amac_fund_infoBRead-onlyIdempotent
中国证券投资基金业协会-信息公示-基金产品-私募基金管理人基金产品 https://gs.amac.org.cn/amac-infodisc/res/pof/fund/index.html :param start_page: 开始页码,获取指定页码直接的数据 :type start_page: str :param end_page: 结束页码,获取指定页码直接的数据 :type end_page: str :return: 私募基金管理人基金产品 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_page | No | 2000 | |
| start_page | No | 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so safety is covered. The description adds that this is a page-range scrape of an external website returning a pandas.DataFrame, but says nothing about rate limits, scrape slowness, or reliability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a pasted Sphinx docstring: the first line duplicates the annotation title, then the URL, then per-parameter directives. Front-loaded and not bloated, but structurally redundant against the title and marginally wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description states the return type (:rtype: pandas.DataFrame), which is useful since there is no output schema. However, it does not describe what columns/content the DataFrame holds or how paging interacts with the defaults, leaving moderate gaps for a data-retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden, and it does document both parameters (start_page = starting page number, end_page = ending page number). It could be stronger by clarifying that the two define a range (the Chinese text is ambiguous, reading as 'data of the specified page').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source (AMAC), the disclosure section, and the specific resource ('私募基金管理人基金产品' / private fund manager fund products), so an agent knows it lists fund products from the AMAC disclosure portal. It does not, however, differentiate itself from the many other amac_* siblings (e.g. amac_fund_abs, amac_fund_sub_info).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided. With 13+ sibling amac_* tools and hundreds of other data tools, the description gives no basis for choosing this one over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amac_fund_sub_infoBRead-onlyIdempotent
中国证券投资基金业协会-信息公示-基金产品公示-证券公司私募投资基金 https://gs.amac.org.cn/amac-infodisc/res/pof/subfund/index.html :return: 证券公司私募投资基金 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and a source URL, but no extra behavioral context such as pagination, rate limits, or data update frequency. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat cluttered, mixing a title, a URL, and a docstring-style return type in a single block. It is not front-loaded with a clear 'what' statement and includes redundant elements (e.g., the URL), but it remains relatively short.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool, the description conveys the data source and return type reasonably well. However, it does not clarify the exact data scope (e.g., all sub-funds, any filtering) or explicitly contrast with sibling fund tools, leaving some ambiguity for an agent deciding if this tool fits a query.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. According to the rubric, the baseline for 0 parameters is 4, and the description does not need to explain parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '证券公司私募投资基金' (securities company private equity funds) from the AMAC information disclosure platform. Although it lacks an explicit action verb, the source URL and ':return' imply data retrieval, and the specific fund type distinguishes it from sibling amac_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There are many similar amac_* tools (e.g., amac_fund_info, amac_member_sub_info), but the description does not explain how this tool differs or when it is the appropriate choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amac_futures_infoARead-onlyIdempotent
中国证券投资基金业协会-信息公示-基金产品公示-期货公司集合资管产品公示 https://gs.amac.org.cn/amac-infodisc/res/pof/futures/index.html :return: 期货公司集合资管产品公示 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a safe, idempotent read operation. The description adds the return type (pandas DataFrame) and source URL, but does not disclose details like pagination, data freshness, or any potential quirks. It is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, but it redundantly repeats the Chinese title from the annotations. The URL and return type lines are useful, so the structure is acceptable without being overly explanatory.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters or output schema. The description provides source, return type, and a clear label, but lacks details about the actual data columns or content that would help an agent understand what the DataFrame contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description need not explain parameter meanings. The baseline is 4, and there is nothing requiring additional clarification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as AMAC futures company collective asset management product disclosure data, with a specific source URL and return type. This distinguishes it from other AMAC tools like amac_member_info or amac_fund_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 or any context for invocation. It only states the data source and return type, leaving the agent to infer usage from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amac_manager_cancelled_infoBRead-onlyIdempotent
中国证券投资基金业协会-信息公示-诚信信息公示-已注销私募基金管理人名单 https://gs.amac.org.cn/amac-infodisc/res/cancelled/manager/index.html 主动注销:100 依公告注销:200 协会注销:300 :return: 已注销私募基金管理人名单 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the data source URL and the return type (:rtype: pandas.DataFrame), which is genuine extra context, but says nothing about scope (does it return the full list?), pagination, or freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The resource name is front-loaded, which is good, but the block is a concatenation of a source title, a raw URL, an unusable code table, and Sphinx-style return tags. The URL and code list do not earn their place for an agent that cannot filter by those codes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only data fetch with annotations covering behavior and no output schema required, the description conveys what dataset is returned and its type. It is largely complete; only the true scope/volume of the returned list is left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters the baseline is 4, but the description lists cancellation codes (主动注销:100, 依公告注销:200, 协会注销:300) that cannot be supplied anywhere because the schema takes no arguments. This orphaned mapping adds noise to a parameterless tool rather than clarifying inputs, so it falls below the neutral baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific, identifiable resource — AMAC's public disclosure of deregistered (已注销) private fund managers — which differentiates it from siblings like amac_manager_info (general manager list) and amac_manager_classify_info. It lacks an explicit verb, but the resource identity is unambiguous enough for an agent to select the tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no named alternative, and no exclusions or prerequisites. The cancellation-type codes (100/200/300) hint at a filtering concept but give no guidance on when to reach for this tool over the other AMAC manager tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amac_manager_classify_infoBRead-onlyIdempotent
中国证券投资基金业协会-信息公示-私募基金管理人公示-私募基金管理人分类公示 https://gs.amac.org.cn/amac-infodisc/res/pof/manager/managerList.html :return: 私募基金管理人分类公示 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the source URL and return type, but does not disclose data fields, pagination, or rate limits. With annotations, the bar is lower, but the description contributes minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, containing only the title, source URL, and return type. No redundant text or repetition, so it is concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain the returned data. It states the return type (pandas.DataFrame) and general content (私募基金管理人分类公示), but does not specify columns or detailed categories. This leaves gaps for an agent trying to understand what exactly is retrieved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%. The description adds nothing about parameters because none exist, which is appropriate and matches the baseline for a zero-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the specific AMAC private fund manager classification disclosure and provides the source URL, making the resource clear. However, it lacks an explicit verb like 'fetch' or 'download' and doesn't distinguish this tool from sibling AMAC tools (e.g., amac_manager_info).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There are no exclusions or alternative tool mentions, so the agent receives no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amac_manager_infoBRead-onlyIdempotent
中国证券投资基金业协会-信息公示-私募基金管理人公示-私募基金管理人综合查询 https://gs.amac.org.cn/amac-infodisc/res/pof/manager/index.html :return: 私募基金管理人综合查询 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. The description adds the source URL and return type (pandas.DataFrame), but no additional behavioral details such as pagination, data limits, or freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise and front-loaded with the title, followed by a useful URL and return type. It has no redundant content, but could be slightly improved with a proper explanatory sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should explain what the returned DataFrame contains (e.g., columns, scope). It only repeats the title and return type, leaving the data structure and the 'comprehensive' nature ambiguous. More context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description correctly implies a no-input comprehensive query and 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the resource and action: '私募基金管理人综合查询' (comprehensive query of private fund managers) from the AMAC website, with a URL and return type. It is specific and distinguishes itself from sibling tools by its focus on manager info, though it lacks an explicit verb and doesn't compare with alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus other AMAC tools like amac_manager_cancelled_info or amac_member_info. The description only states what it is, not when to prefer it, and no alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amac_member_infoARead-onlyIdempotent
中国证券投资基金业协会-信息公示-会员信息-会员机构综合查询 https://gs.amac.org.cn/amac-infodisc/res/pof/member/index.html :return: 会员机构综合查询 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds that it returns a pandas.DataFrame and identifies the source URL, but does not disclose additional behavioral traits such as pagination or data volume. This is acceptable given annotations, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, containing only the tool name, source URL, and return type. It is not front-loaded in a structured way but avoids redundancy. Slightly more structure could help, but it earns a high score for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey what the DataFrame contains. It says '会员机构综合查询' (comprehensive member institution query), which gives a general idea but lacks column names or a summary of fields. For a no-parameter tool, this is minimally adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has zero parameters, so the schema is empty. The description adds no parameter details because none exist. The baseline of 4 is appropriate as there is nothing to document and the description correctly implies a full dataset fetch.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this tool performs a comprehensive query of member institutions from the AMAC (China Securities Investment Fund Industry Association), with a specific resource and verb. It distinguishes itself from sibling tools like amac_member_sub_info by focusing on the top-level 'member institution' query.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage – when one needs AMAC member institution information – and provides the data source URL. However, it does not state when to prefer this over sibling tools or provide any exclusions or alternative recommendations, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amac_member_sub_infoBRead-onlyIdempotent
中国证券投资基金业协会-信息公示-私募基金管理人公示-证券公司私募基金子公司管理人信息公示 https://gs.amac.org.cn/amac-infodisc/res/pof/member/index.html?primaryInvestType=private :return: 证券公司私募基金子公司管理人信息公示 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, non-destructive, and idempotent behavior. The description adds the return type (pandas.DataFrame) and the source URL, which is useful, but it does not disclose other behaviors like network requirements or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise but somewhat repetitive, repeating the same phrase in the title and the :return: section. It lacks a clear front-loaded summary and the URL placeholder between the title and return value adds clutter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description provides enough context to understand the general data source, it lacks details about the DataFrame columns or the exact structure of the return. Given no output schema, the description could better explain what data is included.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers the input space. The description correctly avoids discussing parameters, aligning with the baseline for no-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the specific resource: information disclosure for securities companies' private fund subsidiary managers from AMAC. It distinguishes from sibling tools like amac_member_info by the precise entity type, though it lacks an explicit verb like 'query' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions or compare with other AMAC tools, leaving the agent to infer usage from the name and content alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amac_person_bond_org_listBRead-onlyIdempotent
中国证券投资基金业协会-信息公示-从业人员信息-债券投资交易相关人员公示 https://human.amac.org.cn/web/org/personPublicity.html :return: 债券投资交易相关人员公示 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, which covers the safety profile. The description adds the official source URL and indicates it is a public information disclosure, but it does not disclose additional behavioral details such as columns, pagination, or update behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, presenting the source category, URL, and return type in a scannable format. The ':return:' line repeats the content in the first line, but overall it remains appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter public data listing backed by strong annotations, the source URL and return type provide sufficient context. It does not enumerate returned fields, but the low complexity makes that less critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema description coverage is 100%, so no parameter descriptions are necessary. The input schema fully defines the empty parameter set.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the resource: AMAC public disclosure of bond investment trading related personnel, including the source URL and return type. It also differentiates from the sibling amac_person_fund_org_list by explicitly stating '债券投资交易相关人员公示'. However, it lacks an explicit action verb like 'retrieve' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 related AMAC personnel, fund, or bond disclosure tools. The description only states the data source and return value, leaving usage decisions to inference from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amac_person_fund_org_listCRead-onlyIdempotent
中国证券投资基金业协会-信息公示-从业人员信息-基金从业人员资格注册信息 https://gs.amac.org.cn/amac-infodisc/res/pof/person/personOrgList.html :param symbol: choice of {"公募基金管理公司", "公募基金管理公司资管子公司", "商业银行", "证券公司", "证券公司子公司", "私募基金管理人", "保险公司子公司", "保险公司", "外包服务机构", "期货公司", "期货公司资管子公司", "媒体机构", "证券投资咨询机构", "评价机构", "外资私募证券基金管理人", "支付结算", "独立服务机构", "地方自律组织", "境外机构", "律师事务所", "会计师事务所", "交易所", "独立第三方销售机构", "证券公司资管子公司", "证券公司私募基金子公司", "其他"} :type symbol: str :return: 基金从业人员资格注册信息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 公募基金管理公司 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds only the source URL and return type but does not disclose behavioral details like pagination, data freshness, authentication needs, or how the 'symbol' parameter affects the result scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately sized but structured as a docstring with a title, URL, and parameter/return sections. The purpose is not front-loaded as a concise sentence, and the URL and lengthy choice list add bulk without a clear functional summary. It is not overly verbose, but could be improved by adding a one-line operational description at the top.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter and no output schema, the description covers the essentials: parameter choices, type, return type, and source URL. However, it doesn't specify the columns or contents of the returned DataFrame, and it lacks a clear behavioral overview, leaving the agent with an incomplete picture for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema's 'symbol' property has no description (0% schema description coverage), so the description is the sole source of parameter semantics. It provides a comprehensive list of valid choices, the type (str), and the meaning (organization type), which is essential for correct invocation. However, it doesn't explain the default behavior when 'symbol' is omitted beyond what the schema default indicates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a Chinese title '基金从业人员资格注册信息' (fund practitioner qualification registration information) and then provides parameter/return docs, but it lacks an explicit verb phrase stating what operation is performed. The tool name contains 'list', implying retrieval of a list, but the description doesn't clearly say 'list fund practitioners by organization type' nor does it distinguish itself from the similar sibling amac_person_bond_org_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention conditions, prerequisites, exclusions, or name any sibling tools such as amac_person_bond_org_list, making it hard for an agent to decide between similar AMAC tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amac_securities_infoARead-onlyIdempotent
中国证券投资基金业协会-信息公示-基金产品公示-证券公司集合资管产品公示 https://gs.amac.org.cn/amac-infodisc/res/pof/securities/index.html :return: 证券公司集合资管产品公示 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, which cover the safety profile. The description adds the source URL and the pandas.DataFrame return type, which is helpful but does not disclose any additional behavioral traits such as pagination, update frequency, network dependency, or potential errors. This adds some context beyond annotations but is 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, packing the source, exact disclosure type, URL, and return type into one short block. There is no fluff, but the formatting is a single dense paragraph with docstring syntax, which could be slightly more readable if broken into sentences or lines. Still, every piece of information serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no parameters, no output schema, and strong annotations, the description is largely complete: it names the exact data set, the source institution, and the return type. Missing details like whether the DataFrame covers all products or only current ones would be nice, but for a simple read-only lookup tool, the provided context is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters, and the input schema is empty with 100% schema description coverage. According to the rubric, a zero-parameter tool gets a baseline of 4. The description correctly notes the return type but does not need to explain parameters, so the baseline applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's scope: it returns AMAC's disclosure of securities companies' collective asset management products (证券公司集合资管产品公示). The name and URL further confirm the resource, and the specific product type distinguishes it from other AMAC tools. However, it lacks an explicit verb (e.g., 'retrieve' or 'list'), instead framing everything as a noun phrase, so it falls just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the explicit product type: if an agent needs securities company collective asset management product disclosures from AMAC, this is the tool. But there is no explicit statement about when to use this versus the many other amac_* sibling tools, nor any mention of exclusions, prerequisites, or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
article_epu_indexCRead-onlyIdempotent
经济政策不确定性指数 https://www.policyuncertainty.com/index.html :param symbol: 指定的国家名称,e.g. “China” :type symbol: str :return: 经济政策不确定性指数数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | China |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds only the return type (pandas.DataFrame) and nothing about coverage (which countries, what frequency, date range, update cadence, or offline/network requirements) beyond what the openWorld annotation implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short and the resource name is front-loaded, which is good. However it is formatted as Sphinx docstring directives (:param:, :type:, :return:, :rtype:) that duplicate the schema's type information, and the bare URL is presented without explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with a default and rich annotations, the description is minimally sufficient: the agent knows it passes a country name and gets back a DataFrame. It omits what the agent would want to judge fit — data frequency, historical span, and available country coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden, and it does: it identifies symbol as a country name (指定的国家名称) and gives a concrete example ('China'). It does not enumerate valid country values, which is the one remaining gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (经济政策不确定性指数) and cites the source URL policyuncertainty.com, so an agent can tell it returns an EPU index series. But it uses no verb (fetch/get/list) and gives no scope or differentiation from its nearest siblings (article_ff_crr, article_oman_rv, article_rlab_rv), leaving the purpose implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative-tool guidance. The source URL hints at the dataset's domain, but the agent gets no criteria for choosing this tool over the many macro_* siblings that also expose country-level economic indicators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
article_ff_crrBRead-onlyIdempotent
FF多因子模型 https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html :return: FF多因子模型单一表格 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the return is a single pandas DataFrame, which is useful context about the output format. It does not add deeper behavioral details like pagination or content specifics, but given the strong annotated safety profile, this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, containing the title, a URL, and return type information. However, the raw URL is a large block that disrupts readability and does not directly support tool invocation. The structure is minimally acceptable but could be improved by placing the URL on a separate line or integrating it as a reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter schema, the description is the sole source of information about what the tool returns. It states 'FF多因子模型单一表格' and 'pandas.DataFrame' but does not explain what factors are included, the table's columns, or any other relevant details. The URL hints at the data source but does not sufficiently describe the actual output structure. This is incomplete for an agent to know what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with zero parameters, so there are no parameter semantics to elaborate. Baseline for zero params is 4, and the description does not need to compensate for any missing parameter documentation. The description's mention of a single table and DataFrame provides some output context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as the FF multi-factor model and states that it returns a single table, which implies a retrieval operation. The inclusion of the Ken French data library URL adds context. However, it does not explicitly differentiate from sibling tools or state a verb like 'get', so it is clear but not fully distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool over alternatives. It neither mentions exclusions nor suggests similar tools like article_epu_index. Usage is only implied by the name and the content, which is insufficient for an agent to decide between many article_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
article_oman_rvBRead-onlyIdempotent
Oxford-Man Institute of Quantitative Finance Realized Library 的数据 :param symbol: str ['AEX', 'AORD', 'BFX', 'BSESN', 'BVLG', 'BVSP', 'DJI', 'FCHI', 'FTMIB', 'FTSE', 'GDAXI', 'GSPTSE', 'HSI', 'IBEX', 'IXIC', 'KS11', 'KSE', 'MXX', 'N225', 'NSEI', 'OMXC20', 'OMXHPI', 'OMXSPI', 'OSEAX', 'RUT', 'SMSI', 'SPX', 'SSEC', 'SSMI', 'STI', 'STOXX50E'] :param index: str 指标 ['medrv', 'rk_twoscale', 'bv', 'rv10', 'rv5', 'rk_th2', 'rv10_ss', 'rsv', 'rv5_ss', 'bv_ss', 'rk_parzen', 'rsv_ss'] :return: pandas.DataFrame
The Oxford-Man Institute's "realised library" contains daily non-parametric measures of how volatility financial assets or indexes were in the past. Each day's volatility measure depends solely on financial data from that day. They are driven by the use of the latest innovations in econometric modelling and theory to design them, while we draw our high frequency data from the Thomson Reuters DataScope Tick History database. Realised measures are not volatility forecasts. However, some researchers use these measures as an input into forecasting models. The aim of this line of research is to make financial markets more transparent by exposing how volatility changes through time.
This Library is used as the basis of some of our own research, which effects its scope, and is made available here to encourage the more widespread exploitation of these methods. It is given 'as is' and solely for informational purposes, please read the disclaimer.
The volatility data can be visually explored. We make the complete up-to-date dataset available for download. Lists of assets covered and realized measures available are also available.
Symbol | Name | Earliest Available | Latest Available |
.AEX | AEX index | January 03, 2000 | November 28, 2019 |
.AORD | All Ordinaries | January 04, 2000 | November 28, 2019 |
.BFX | Bell 20 Index | January 03, 2000 | November 28, 2019 |
.BSESN | S&P BSE Sensex | January 03, 2000 | November 28, 2019 |
.BVLG | PSI All-Share Index | October 15, 2012 | November 28, 2019 |
.BVSP | BVSP BOVESPA Index | January 03, 2000 | November 28, 2019 |
.DJI | Dow Jones Industrial Average | January 03, 2000 | November 27, 2019 |
.FCHI | CAC 40 | January 03, 2000 | November 28, 2019 |
.FTMIB | FTSE MIB | June 01, 2009 | November 28, 2019 |
.FTSE | FTSE 100 | January 04, 2000 | November 28, 2019 |
.GDAXI | DAX | January 03, 2000 | November 28, 2019 |
.GSPTSE | S&P/TSX Composite index | May 02, 2002 | November 28, 2019 |
.HSI | HANG SENG Index | January 03, 2000 | November 28, 2019 |
.IBEX | IBEX 35 Index | January 03, 2000 | November 28, 2019 |
.IXIC | Nasdaq 100 | January 03, 2000 | November 27, 2019 |
.KS11 | Korea Composite Stock Price Index (KOSPI) | January 04, 2000 | November 28, 2019 |
.KSE | Karachi SE 100 Index | January 03, 2000 | November 28, 2019 |
.MXX | IPC Mexico | January 03, 2000 | November 28, 2019 |
.N225 | Nikkei 225 | February 02, 2000 | November 28, 2019 |
.NSEI | NIFTY 50 | January 03, 2000 | November 28, 2019 |
.OMXC20 | OMX Copenhagen 20 Index | October 03, 2005 | November 28, 2019 |
.OMXHPI | OMX Helsinki All Share Index | October 03, 2005 |
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | rk_th2 | |
| symbol | No | FTSE |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only, idempotent, and non-destructive, so the bar is lower. The description adds meaningful context: the data comprises daily non-parametric realized volatility measures, these are not forecasts, and the data is provided 'as is' for informational purposes. This goes beyond the annotations and helps set expectations about the data's nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is bloated with boilerplate text copied from the Oxford-Man website, including background on research, disclaimers, and 'visually explored' commentary that is not relevant to tool invocation. The useful parameter lists and symbol table are embedded in this verbose prose, and the table is truncated, making it poorly structured for quick consumption.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter data-fetch tool, the description provides the symbol list, index list, and an availability table, which is helpful for understanding coverage. However, it lacks details on the returned DataFrame's structure (columns, date range) and is cut off mid-table, leaving the content incomplete. It does not clarify the difference from the sibling short version.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists all valid values for both symbol and index, and provides a table mapping symbols to asset names and availability date ranges. This gives agents the ability to select valid parameters, though it does not explain what each index metric (e.g., medrv, rk_twoscale) represents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates this tool provides data from the Oxford-Man Realized Library, with parameters for symbol and index, and returns a pandas.DataFrame. The verb is implicit ('数据' meaning 'data'), but it is evident that it retrieves realized volatility data for a given symbol and index. It does not distinguish itself from the sibling tool article_oman_rv_short.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus alternatives such as article_oman_rv_short or article_rlab_rv. The table of availability dates gives coverage information but does not explain selection criteria or scenarios for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
article_oman_rv_shortCRead-onlyIdempotent
Oxford-Man Institute of Quantitative Finance Realized Library 的数据 :param symbol: str FTSE: FTSE 100, GDAXI: DAX, RUT: Russel 2000, SPX: S&P 500 Index, STOXX50E: EURO STOXX 50, SSEC: Shanghai Composite Index, N225: Nikkei 225 :return: pandas.DataFrame
The Oxford-Man Institute's "realised library" contains daily non-parametric measures of how volatility financial assets or indexes were in the past. Each day's volatility measure depends solely on financial data from that day. They are driven by the use of the latest innovations in econometric modelling and theory to design them, while we draw our high frequency data from the Thomson Reuters DataScope Tick History database. Realised measures are not volatility forecasts. However, some researchers use these measures as an input into forecasting models. The aim of this line of research is to make financial markets more transparent by exposing how volatility changes through time.
This Library is used as the basis of some of our own research, which effects its scope, and is made available here to encourage the more widespread exploitation of these methods. It is given 'as is' and solely for informational purposes, please read the disclaimer.
The volatility data can be visually explored. We make the complete up-to-date dataset available for download. Lists of assets covered and realized measures available are also available.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | FTSE |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only/idempotent behavior, so the bar is lower. The description adds context that the data is daily non-parametric measures, which helps interpret the output. However, it doesn't state behavior like invalid symbol handling or whether the 'short' version truncates data, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description includes a long boilerplate paragraph about the Oxford-Man library, its research, and disclaimers that is not needed for tool invocation. Key info (param, return) appears early, but the essay-like content inflates the description unnecessarily.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one optional parameter and no output schema. The description explains what realized measures are conceptually but doesn't specify the DataFrame structure, date range, or what differentiates the 'short' version from the full version. This is a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has zero description coverage, so the description compensates by listing valid symbol values (FTSE, GDAXI, RUT, SPX, STOXX50E, SSEC, N225) with index names. This is directly useful for parameter selection. The default is not mentioned, but the param explanation is solid for the single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (Oxford-Man Realized Library) and states the return type, but lacks an explicit verb like 'retrieve' or 'get'. It also doesn't clarify what 'short' means relative to the sibling tool article_oman_rv, so the tool's specific function is ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to choose this tool over article_oman_rv or article_rlab_rv. The long text describes the library's background but never mentions use cases, alternatives, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
article_rlab_rvCRead-onlyIdempotent
修大成主页-Risk Lab-Realized Volatility :param symbol: str 股票代码 :return: pandas.DataFrame 1996-01-02 0.000000 1996-01-04 0.000000 1996-01-05 0.000000 1996-01-09 0.000000 1996-01-10 0.000000 ... 2019-11-04 0.175107 2019-11-05 0.185112 2019-11-06 0.210373 2019-11-07 0.240808 2019-11-08 0.199549 Name: RV, Length: 5810, dtype: float64
Website https://dachxiu.chicagobooth.edu/
Objective We provide up-to-date daily annualized realized volatilities for individual stocks, ETFs, and future contracts, which are estimated from high-frequency data. We are in the process of incorporating equities from global markets.
Data We collect trades at their highest frequencies available (up to every millisecond for US equities after 2007), and clean them using the prevalent national best bid and offer (NBBO) that are available up to every second. The mid-quotes are calculated based on the NBBOs, so their highest sampling frequencies are also up to every second.
Methodology We provide quasi-maximum likelihood estimates of volatility (QMLE) based on moving-average models MA(q), using non-zero returns of transaction prices (or mid-quotes if available) sampled up to their highest frequency available, for days with at least 12 observations. We select the best model (q) using Akaike Information Criterion (AIC). For comparison, we report realized volatility (RV) estimates using 5-minute and 15-minute subsampled returns.
References
“When Moving-Average Models Meet High-Frequency Data: Uniform Inference on Volatility”, by Rui Da and Dacheng Xiu. 2017.
“Quasi-Maximum Likelihood Estimation of Volatility with High Frequency Data”, by Dacheng Xiu. Journal of Econometrics, 159 (2010), 235-250.
“How Often to Sample A Continuous-time Process in the Presence of Market Microstructure Noise”, by Yacine Aït-Sahalia, Per Mykland, and Lan Zhang. Review of Financial Studies, 18 (2005), 351–416.
“The Distribution of Exchange Rate Volatility”, by Torben Andersen, Tim Bollerslev, Francis X. Diebold, and Paul Labys. Journal of the American Statistical Association, 96 (2001), 42-55.
“Econometric Analysis of Realized Volatility and Its Use in Estimating Stochastic Volatility Models”, by Ole E Barndorff‐Nielsen and Neil Shephard. Journal of the Royal Statistical Society: Series B, 64 (2002), 253-280.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 39693 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations already declare readOnly, idempotent, and non-destructive behavior, the description introduces ambiguity by specifying ':return: pandas.DataFrame' but showing a sample output that is clearly a pandas Series (with 'Name: RV, Length: 5810, dtype: float64'). It also mentions multiple RV estimates (5-min and 15-min) without clarifying what the actual output structure is, creating confusion about the return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely verbose, containing a large block of website copy including references, methodology details, and data cleaning information that is irrelevant for an agent invoking the tool. It is not front-loaded with a crisp summary, and the repeated sections make it difficult to parse quickly. Only the param/return snippet and the objective sentence are useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one optional parameter and no output schema, the description should clearly define the return value and parameter constraints. It fails to do so—the return type is ambiguous (DataFrame vs Series), the symbol format is undefined, and the data coverage limitations (e.g., US equities after 2007) are not explicitly stated. The sample output helps but is inconsistent with the declared return type.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter 'symbol' with no description (0% coverage). The description only says ':param symbol: str 股票代码' (stock code), which adds minimal meaning. It does not explain the expected format (e.g., US ticker vs. numeric code), valid symbols, or how the default '39693' is used, leaving the agent to guess what value to supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides 'up-to-date daily annualized realized volatilities for individual stocks, ETFs, and future contracts' from the Risk Lab website, which is a specific resource. The title and sample output reinforce this, but it lacks an explicit comparison to sibling RV tools (e.g., article_oman_rv), so it does not fully distinguish from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given on when to use this tool versus other RV tools or when not to use it. The description implies it is for realized volatility data, but does not state any context, exclusions, or alternatives, leaving the agent to infer usage from the data source and methodology.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bank_fjcf_table_detailBRead-onlyIdempotent
获取 首页-政务信息-行政处罚-银保监分局本级-XXXX行政处罚信息公开表 数据 :param page: 需要获取前 page 页的内容,总页数请通过 ak.bank_fjcf_total_page() 获取 :type page: int :param item: choice of {"机关", "本级", "分局本级"} :type item: str :param begin: 开始页面 :type begin: int :return: 返回所有行政处罚信息公开表的集合,按第一页到最后一页的顺序排列 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| item | No | 分局本级 | |
| page | No | ||
| begin | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds that results are ordered from first to last page and returned as a pandas.DataFrame, but says nothing about rate limits, auth, or failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first line, which is good, but the body is epydoc boilerplate (:type/:rtype lines) that repeats parameter information and pads the definition. It is serviceable rather than tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully states the return is a page-ordered collection of the disclosure tables. For a read-only scraping tool with three optional params, this is adequate but thin on how 'page' and 'begin' interact and on default behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load and it does so partly: it documents 'page' (fetch first N pages) and supplies the allowed 'item' values {"机关","本级","分局本级"} that the schema lacks. But 'begin' is left as the vague '开始页面' with no explanation of how it differs from 'page', and defaults are unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (获取/get) and a concrete resource (首页-政务信息-行政处罚-银保监分局本级行政处罚信息公开表), so an agent knows exactly what dataset is returned. It is clear but offers no differentiation from siblings, mainly because no genuinely competing tool exists in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implicitly tells the agent that pagination must be resolved first via ak.bank_fjcf_total_page(), which is a useful usage hint. However it never states when to use this tool versus alternatives or any prerequisites, so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_available_index_cbondBRead-onlyIdempotent
中国债券信息网-中债指数-中债指数族系 当中,非指定期限部分 https://yield.chinabond.com.cn/cbweb-mn/indices/singleIndexQueryResult :return: 可选项列表 :rtype: list
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the return is a list of selectable options (可选项列表), a modest behavioral note, but nothing about what the options represent or how they are scoped. With annotations doing the heavy lifting, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is docstring fragments (a bare URL, ':return:', ':rtype:') rather than a front-loaded sentence about what the tool does. Concise but not well-structured for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter enumerator with no output schema, the description does say the result is a list of options, which is minimally sufficient. But the ambiguous '非指定期限部分' scope and lack of any return-shape detail leave it only adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to document; per the rubric this is a baseline 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source (中国债券信息网-中债指数) and states it returns a list of available options (可选项列表), which aligns with the name 'available_index'. However, the phrasing '非指定期限部分' is obscure and the purpose is conveyed as a raw source pointer with a URL rather than a clean verb+resource statement, leaving the exact scope ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool versus alternatives is given. Siblings like bond_composite_index_cbond, bond_new_composite_index_cbond, and bond_treasury_index_cbond exist but are not referenced, so the agent has no routing guidance beyond the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_buy_back_hist_emCRead-onlyIdempotent
东方财富网-行情中心-债券市场-质押式回购-历史数据 https://quote.eastmoney.com/center/gridlist.html#bond_sh_buyback :param symbol: 质押式回购代码 :type symbol: str :return: 历史数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 204001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and idempotency. The description adds no behavioral details beyond a source URL, such as rate limits, data update frequency, or dependencies. The URL provides provenance but not operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with a title, URL, and docstring, and is front-loaded with the title. The URL line is not well integrated into the description, and the docstring is presented in a standard but somewhat mechanical format. It is concise but could be more readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one parameter and no output schema. The description covers the purpose, the parameter's meaning, and the return type (pandas.DataFrame) via the docstring. It misses market-specific details (e.g., Shanghai vs. Shenzhen) and does not mention any filtering options or data scope, but it is adequate for a basic historical data fetcher.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds the meaning '质押式回购代码' (pledged repo code) to the symbol parameter, which is useful since the schema only provides type and default. However, it does not elaborate on valid code formats, examples beyond the default, or how the code maps to a specific market.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing historical pledged repo data from East Money, using the term '历史数据' (historical data) and a source URL. It specifies the resource type (质押式回购) and distinguishes from other bond tools by focusing on historical data. However, it lacks an explicit verb phrase like 'fetches' or 'returns'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as bond_sh_buy_back_em or bond_sz_buy_back_em. There is no mention of exclusions, prerequisites, or specific use cases beyond the generic historical data context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_cash_summary_sseBRead-onlyIdempotent
上登债券信息网-市场数据-市场统计-市场概览-债券现券市场概览 http://bond.sse.com.cn/data/statistics/overview/bondow/ :param date: 指定日期 :type date: str :return: 债券成交概览 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210111 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safe read-only nature is covered. The description adds the source URL and return type but does not disclose additional behavioral traits such as data freshness, pagination, or any limitations beyond what the annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct, with one line of source context and a short docstring for parameters and return. It is not overly verbose, though the placement of the URL in the first line slightly affects readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description provides the essential source and return type. However, it lacks details on the exact contents of the returned DataFrame, expected date format, and any edge cases, making it minimally acceptable but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides the parameter 'date' with type str and a brief Chinese description '指定日期' (specified date), which adds some meaning. However, it does not specify the expected date format (e.g., YYYYMMDD), though the default value '20210111' hints at it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing bond cash market overview data from SSE, with the return type '债券成交概览' (bond transaction overview). It distinguishes itself from sibling tools by specifying the SSE source and the specific overview data, though it lacks an explicit verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only gives a source URL and parameter documentation, without mentioning exclusions, prerequisites, or scenarios where other bond tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_cb_adj_logs_jslCRead-onlyIdempotent
集思录-可转债转股价-调整记录 https://www.jisilu.cn/data/cbnew/#cb :param symbol: 可转债代码 :type symbol: str :return: 转股价调整记录 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 128013 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds the return type (pandas.DataFrame) and source URL, but it does not mention behavioral traits like pagination, rate limits, or error handling. The added context is modest but not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, containing a title, URL, and docstring. It is front-loaded with the purpose. However, the title duplicates the annotation title, and the URL may be extraneous for agent use, slightly reducing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no output schema, the description provides essential elements: data source, parameter meaning, and return type. It does not describe the contents of the adjustment records or any caveats, but it is mostly adequate for basic selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It says ':param symbol: 可转债代码', which conveys that symbol is the convertible bond code. This is minimal and does not explain format, examples, or how to find valid codes beyond the schema default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource (可转债转股价调整记录) and indicates it returns a pandas.DataFrame, but it lacks an explicit action verb like 'get' or 'fetch'. It reads as a label rather than a clear function. It is distinguishable from siblings like bond_cb_redeem_jsl by focusing on adjustment logs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It includes a data source URL but no exclusions or comparisons with sibling tools like bond_cb_jsl. The only implicit context is that it is for adjustment records.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_cb_index_jslBRead-onlyIdempotent
首页-可转债-集思录可转债等权指数 https://www.jisilu.cn/web/data/cb/index :return: 集思录可转债等权指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, open-world, and non-destructive, so the description only adds the source URL and return type. It does not describe the DataFrame's columns or time range, but the annotations cover the key safety and side-effect aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, with the resource name and URL front-loaded, and the return type lines are minimal. However, it is fragmented into disconnected pieces (title, URL, return annotation) rather than a cohesive sentence, slightly reducing readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 strong annotations, the description provides the essential information: the exact index name, source, and return type. It does not specify the structure of the returned DataFrame (e.g., daily values, columns), so an agent may not know exactly what data to expect, but it is sufficient for a basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters, so there is nothing to explain beyond the absence of inputs. The baseline score of 4 is appropriate because the description adds no misleading parameter information and it clarifies the return type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the exact resource: the Jisilu convertible bond equal weight index, and the ':return:' line explicitly states that this tool returns that index. It is differentiated from sibling bond tools by naming the specific index and source, though it lacks an explicit verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool compared to alternatives such as bond_cb_jsl or bond_index_general_cbond. There are no exclusions, alternative suggestions, or contextual cues to help an agent decide when this is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_cb_jslCRead-onlyIdempotent
集思录可转债 https://www.jisilu.cn/data/cbnew/#cb :param cookie: 输入获取到的游览器 cookie :type cookie: str :return: 集思录可转债 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| cookie | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare the tool as read-only, idempotent, and non-destructive, covering the safety profile. The description adds a critical behavioral detail: it requires a browser cookie for invocation, which is not captured by the annotations. This is significant context for the agent, though it does not explain why the cookie is needed or what happens if it is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and includes the URL, parameter, and return type, but it is formatted as a docstring with tags rather than a clear natural-language explanation. It is not bloated, but it lacks a clear imperative statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single optional parameter and clear annotations, the description covers the basic invocation details. However, it does not describe the contents of the returned DataFrame, any authentication nuances, or how the tool behaves with or without the cookie, which could leave the agent uncertain about the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description provides the only semantic meaning for the cookie parameter, stating it is a browser cookie to input. This is helpful, but it omits details such as whether the cookie is optional, its format, or how to obtain it, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description simply repeats the tool's name ('集思录可转债') and provides a URL, without any action verb or explicit statement of what the tool does. It does not differentiate from sibling tools like bond_cb_index_jsl or bond_cb_adj_logs_jsl, leaving the agent to infer its function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites beyond the cookie parameter. It only states the resource source, making it difficult for an agent to decide among the many bond-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_cb_profile_sinaBRead-onlyIdempotent
新浪财经-债券-可转债-详情资料 https://money.finance.sina.com.cn/bond/info/sz128039.html :param symbol: 带市场标识的转债代码 :type symbol: str :return: 可转债-详情资料 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | sz128039 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and non-destructive behavior, so the safety profile is covered. The description adds the return type (pandas DataFrame) but discloses no other behavioral traits such as data freshness, limitations, error handling, or assumptions about the market identifier prefix.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and includes essential components: a clear title, sample URL, parameter definition, and return type. The URL might be slightly redundant but adds a concrete example, and the overall length is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description covers the return type and parameter format adequately. However, it lacks details about the contents of the returned DataFrame, valid market prefixes, or any usage guidance, leaving some gaps for a fully informed decision.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the symbol parameter, so the description compensates well by explaining it as a convertible bond code with market identifier and providing a concrete default and example URL. This gives the agent the context needed to format the parameter correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (convertible bonds from Sina Finance) and the action (retrieve detail/profile information), supported by an example URL. It does not explicitly mention an alternative or contrast with sibling tools, but the name and content together make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 other bond-related tools. The description only states what it does and the parameter, without any use-case context or comparison to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_cb_redeem_jslCRead-onlyIdempotent
集思录可转债-强赎 https://www.jisilu.cn/data/cbnew/#redeem :return: 集思录可转债-强赎 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows it's a safe read operation. The description adds a return type (pandas.DataFrame) and a source URL, which provides a little extra context. However, it does not disclose behavioral traits such as whether the data is live-snapshot, how the DataFrame is structured, or any potential rate limits or authentication needs. Thus it provides partial but not rich additional behavior context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but it redundantly repeats the title in the first line and the return line. The URL is a useful reference, and the return-type annotation is informative. The structure is compact, but the redundant repetition reduces conciseness quality; every sentence does not fully earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a highly specialized bond tool with no output schema, the description leaves important gaps: it does not explain what '强赎' (strong redemption) means, what columns/fields the DataFrame contains, or how this tool differs from similarly named bond tools. The URL hints at the data source but does not make the tool self-contained for an agent. Given the tool's simplicity (no params) and good annotations, more context is still expected to make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 (100% schema coverage with no properties). The baseline for zero-parameter tools is 4, and the description offers no parameter information because none exists. It does not need to compensate for parameter semantics, so the score reflects the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a repeat of the title ('集思录可转债-强赎'), providing no additional specification of what the tool does beyond the name. The URL and return type annotation add minimal context, but the core purpose (retrieving strong-redemption convertible bond data) is only implied by the title. This is a tautology of the title, hence a low score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention use cases, preferred conditions, or exclude scenarios. Sibling tools like bond_cb_jsl (general convertible bonds) and bond_cb_index_jsl (index) suggest similar resources, but the description offers no differentiation or selection advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_cb_summary_sinaBRead-onlyIdempotent
新浪财经-债券-可转债-债券概况 https://money.finance.sina.com.cn/bond/quotes/sh155255.html :param symbol: 带市场标识的转债代码 :type symbol: str :return: 可转债-债券概况 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | sh155255 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that it returns a pandas DataFrame and gives an example URL, but it does not disclose error behavior, data scope details, or potential limitations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and structured with source URL, parameter docstring, and return type. The first line repeats the title but does not waste many words. It is appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool, the description gives the source, parameter format, and return type. However, it does not specify what fields the '债券概况' DataFrame contains, and given the many closely related convertible bond tools, more detail on the exact output content would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides no description for the 'symbol' parameter (0% coverage). The description compensates by explaining that symbol is a convertible bond code with a market identifier (带市场标识的转债代码) and offers a default example 'sh155255', which helps the agent construct a valid argument.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches a convertible bond overview (债券概况) from Sina Finance, with an example URL. The resource and data type are clear, but it does not explicitly distinguish itself from sibling tools like bond_cb_profile_sina or bond_zh_cov, so it misses full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus other convertible bond tools, no prerequisites, and no alternatives mentioned. The description only provides parameter semantics, leaving the AI agent without context for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_china_close_returnBRead-onlyIdempotent
收盘收益率曲线历史数据 https://www.chinamoney.com.cn/chinese/bkcurvclosedyhis/?bondType=CYCC000&reference=1 :param symbol: 需要获取的指标 :type period: choice of {'0.1', '0.5', '1'} :param period: 期限间隔 :type symbol: str :param start_date: 开始日期,结束日期和开始日期不要超过 1 个月 :type start_date: str :param end_date: 结束日期,结束日期和开始日期不要超过 1 个月 :type end_date: str :return: 收盘收益率曲线历史数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 1 | |
| symbol | No | 国债 | |
| end_date | No | 20231101 | |
| start_date | No | 20231101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuine behavioural context beyond that: the source site URL, the period enum values, and the hard constraint that start_date and end_date must not span more than one month.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and the raw source URL is useful, but the Sphinx-style block is disordered – types are attached to the wrong parameters – which hurts scannability. Content is reasonably sized with no obvious filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter, no-output-schema tool with annotations present, the description covers the purpose, all four parameters and the key date-range constraint. It still omits the valid symbol values, the shape/columns of the returned DataFrame, and any pagination or rate-limit behaviour, so it is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load; it does name all four parameters (symbol as the indicator, period as the term interval with choices {'0.1','0.5','1'}, start/end date with the 1-month limit). However, the :param/:type pairs are mismatched (the period enum is listed under symbol and vice versa), and the allowed value domain for symbol is never given beyond the 国债 default, leaving gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource – closing yield curve historical data (收盘收益率曲线历史数据) – which clarifies the otherwise cryptic name 'bond_china_close_return'. It does not differentiate from near-neighbours such as bond_china_close_return_map or bond_china_yield, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the closely related sibling tools (bond_china_close_return_map, bond_china_yield). The agent must infer applicability entirely from the name and the resource description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_china_close_return_mapCRead-onlyIdempotent
收盘收益率曲线历史数据 https://www.chinamoney.com.cn/chinese/bkcurvclosedyhis/?bondType=CYCC000&reference=1 :return: 收盘收益率曲线历史数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only restates the return type and provides a URL, adding no behavioral context beyond the annotations (readOnlyHint, openWorldHint, idempotentHint). It does not disclose data scope, pagination, scraping behavior, or other traits, so the agent cannot anticipate side effects or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but contains redundancy: '收盘收益率曲线历史数据' appears in both the first line and the :return: field. The URL is useful, but the repeated phrases could be consolidated without loss of information, making it slightly inefficient rather than taut but concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is inadequate for selecting this tool among many bond-related siblings. It does not explain the 'map' in the tool name, the bond type implied by the URL (bondType=CYCC000), or the data's scope. Despite having no parameters and annotations, the missing differentiation and source details leave the tool's purpose unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0 parameters and schema coverage of 100%, the baseline is 4. The description adds no parameter information, but none is needed since the tool accepts no arguments. The semantics are fully determined by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a tautology: it repeats the title '收盘收益率曲线历史数据' twice and provides a URL, but does not state a specific action or resource beyond the title. It also fails to distinguish from the related sibling tool bond_china_close_return, making the purpose ambiguous, especially regarding what 'map' means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as bond_china_close_return or bond_china_yield. The description lacks any context about use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_china_yieldBRead-onlyIdempotent
中国债券信息网-国债及其他债券收益率曲线 https://www.chinabond.com.cn/ https://yield.chinabond.com.cn/cbweb-pbc-web/pbc/historyQuery?startDate=2019-02-07&endDate=2020-02-04&gjqx=0&qxId=ycqx&locale=cn_ZH 注意:end_date - start_date 应该小于一年 :param start_date: 需要查询的日期,返回在该日期之后一年内的数据 :type start_date: str :param end_date: 需要查询的日期,返回在该日期之前一年内的数据 :type end_date: str :return: 返回在指定日期之间之前一年内的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | 20210124 | |
| start_date | No | 20200204 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false. The description adds the one-year date-window limit and return type (pandas.DataFrame), but omits auth/rate-limit or column-level behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The title, note, and Sphinx-style fields are front-loaded and mostly relevant, but the two raw URLs and repeated return phrasing add noise without helping invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should be more complete about return values, yet it only gives rtype pandas.DataFrame. It does provide the key date-range constraint, which is enough for basic invocation but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It documents both start_date and end_date and the one-year constraint, but the wording about each date returning a one-year window is confusing and no date format (YYYYMMDD vs YYYY-MM-DD) is specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the source (中国债券信息网) and resource (国债及其他债券收益率曲线), so the agent knows it fetches bond yield-curve data. It does not explicitly differentiate from sibling bond tools such as bond_china_close_return_map, but the resource is specific enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes a concrete constraint (end_date - start_date should be less than one year) and parameter behavior, implying a date-range query. It gives no explicit when-to-use guidance or alternatives versus sibling bond/macro tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_composite_index_cbondARead-onlyIdempotent
中国债券信息网-中债指数-中债指数族系-总指数-综合类指数-中债-综合指数 https://yield.chinabond.com.cn/cbweb-mn/indices/single_index_query :param indicator: choice of {"全价", "净价", "财富", "平均市值法久期", "平均现金流法久期", "平均市值法凸性", "平均现金流法凸性", "平均现金流法到期收益率", "平均市值法到期收益率", "平均基点价值", "平均待偿期", "平均派息率", "指数上日总市值", "财富指数涨跌幅", "全价指数涨跌幅", "净价指数涨跌幅", "现券结算量"} :type indicator: str :param period: choice of {"总值", "1年以下", "1-3年", "3-5年", "5-7年", "7-10年", "10年以上", "0-3个月", "3-6个月", "6-9个月", "9-12个月", "0-6个月", "6-12个月"} :type period: str :return: 新综合指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 总值 | |
| indicator | No | 财富 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, covering the safety profile. The description adds that it returns a pandas DataFrame of the composite index, but it does not disclose additional behavioral traits such as data coverage, update frequency, or output structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a title, URL, and param/return documentation. Although the parameter lists make it lengthy, each entry is necessary. It is front-loaded with the index name and source.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should explain the return structure in more detail. It only says '新综合指数' (new composite index) and rtype pandas.DataFrame, leaving the DataFrame columns and their meaning vague. Parameter coverage is thorough, but the return value semantics are under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two string parameters with defaults but no descriptions or enums. The description fully compensates by listing all valid choices for both indicator (17 options) and period (14 options), making it clear what values are accepted and what each represents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the exact target as the ChinaBond Composite Index (中债-综合指数), including the source URL and hierarchy. This distinguishes it from sibling bond index tools like bond_index_general_cbond and bond_new_composite_index_cbond.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving the ChinaBond Composite Index through its title and parameter documentation, but it does not explicitly state when to use this tool versus alternatives, nor does it provide any exclusions or context about preferability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_corporate_issue_cninfoCRead-onlyIdempotent
巨潮资讯-数据中心-专题统计-债券报表-债券发行-企业债发行 http://webapi.cninfo.com.cn/#/thematicStatistics :param start_date: 开始统计时间 :type start_date: str :param end_date: 开始统计时间 :type end_date: str :return: 企业债发行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | 20211110 | |
| start_date | No | 20210911 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds a source URL and states the return type as pandas.DataFrame, which is useful but minimal. It does not disclose data freshness, pagination, or any site-specific quirks. Without annotations, this would be insufficient, but annotations carry the core safety burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of a breadcrumb, a URL, and a short docstring. It front-loads the purpose and includes a source link. However, the structure is slightly awkward, mixing a human-readable heading with code-style docstring, and the copy-paste error in the end_date description detracts from clarity. It is not verbose, but not well-polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should describe the returned data structure, but it only says '企业债发行' as a generic return label. It also omits date format details, allowed ranges, timezone considerations, or any limitations of the data source. Given the tool has just two parameters and a simple return, the description leaves the agent with insufficient information for correct invocation and interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It attempts to do so with ':param start_date: 开始统计时间' and ':param end_date: 开始统计时间', but both are described as the 'start time', which is clearly an error for end_date. This misleads the agent about the semantics of end_date. Even the start_date description is vague ('统计时间' could mean many things), and no date format constraints beyond the defaults are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '巨潮资讯-数据中心-专题统计-债券报表-债券发行-企业债发行' (Cninfo Data Center - Bond Reports - Bond Issuance - Corporate Bond Issuance). Although it lacks an explicit verb like 'fetch' or 'retrieve', the combination of the breadcrumb and return type makes it evident this returns corporate bond issuance data. It distinguishes itself from sibling bond issuance tools (e.g., bond_cov_issue_cninfo, bond_local_government_issue_cninfo) via the specific '企业债发行' subcategory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention use cases, prerequisites, or exclusions. The only contextual hint is the breadcrumb, which implies it is for corporate bond issuance, but there is no explicit 'when to use this, use X for other bond types' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_cov_comparisonBRead-onlyIdempotent
东方财富网-行情中心-债券市场-可转债比价表 https://quote.eastmoney.com/center/fullscreenlist.html#convertible_comparison :return: 可转债比价表数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds the source URL and return type but does not disclose additional behavioral traits such as rate limits or data freshness. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and includes the essential source, URL, and return type. It follows a lightweight docstring format with clear lines, though it could be more polished as prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool with strong annotations, the description is adequate. However, it does not specify what columns or data the '比价表' includes, which would help differentiate it from similar bond comparison tools in the sibling list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter semantics to explain. Schema description coverage is trivially 100%, and the description appropriately omits parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (东方财富网可转债比价表) and indicates the return type (pandas.DataFrame). It is distinct from sibling tools by the '比价表' term, but lacks an explicit verb like 'get' or 'fetch', making the action implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 other convertible bond tools. There are no alternatives, exclusions, or context cues to help an agent decide among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_cov_issue_cninfoBRead-onlyIdempotent
巨潮资讯-数据中心-专题统计-债券报表-债券发行-可转债发行 http://webapi.cninfo.com.cn/#/thematicStatistics :param start_date: 开始统计时间 :type start_date: str :param end_date: 开始统计时间 :type end_date: str :return: 可转债发行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | 20211112 | |
| start_date | No | 20210913 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the tool returns a pandas DataFrame, which is useful but does not disclose other behavioral details such as pagination, rate limits, or the exact structure of the returned data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and structured as a docstring, containing only the essential elements: a title, URL, parameters, and return type. It avoids unnecessary verbosity, though the duplicated typo and URL could be considered minor clutter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain the return value more concretely. It only says ':return: 可转债发行' (returns convertible bond issuance), which is vague. The parameters and annotations for read-only behavior are adequate, but the lack of detail about the resulting DataFrame columns or scope leaves some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description documents the parameters with ':param start_date: 开始统计时间' and ':type start_date: str', which adds meaning beyond the schema. However, for end_date it erroneously repeats '开始统计时间' instead of '结束统计时间', providing misleading semantics for that parameter. This typo undermines the usefulness of the parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose through the title line '巨潮资讯-数据中心-专题统计-债券报表-债券发行-可转债发行', which specifies the resource (convertible bond issuance) and source (CNInfo). It distinguishes itself from sibling bond issuance tools by naming '可转债发行' specifically. However, it lacks an explicit action verb like 'get' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It simply states the data source and topic, with no mention of scenarios, exclusions, or sibling tools. The intended use must be inferred entirely from the title and tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_cov_stock_issue_cninfoCRead-onlyIdempotent
巨潮资讯-数据中心-专题统计-债券报表-债券发行-可转债转股 http://webapi.cninfo.com.cn/#/thematicStatistics :return: 可转债转股 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds only that it returns a pandas.DataFrame, which is useful but minimal. No additional behavioral context like pagination, data scope, or authentication needs is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely terse, bordering on under-specification. It consists of a title-like path, a URL, and a return type label, with no complete sentence. While there is no fluff, the lack of structure or explanatory prose hurts clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the full responsibility of explaining what data is returned. It only says '可转债转股' (convertible bond stock conversion) and 'pandas.DataFrame', without describing columns, data granularity, or any other contextual details. This is insufficient for an agent to understand the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the description bears no burden in explaining parameter behavior. The baseline of 4 applies because with no parameters, no semantic gaps exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a navigation path ('巨潮资讯-数据中心-专题统计-债券报表-债券发行-可转债转股') with no explicit verb or action. It implies the tool returns convertible bond stock conversion data, but it reads as a label rather than a clear statement of purpose. It does not distinguish itself from sibling tools like bond_cov_issue_cninfo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of preferred use cases, context, or exclusions, leaving the agent without direction to select among many similar bond issuance tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_deal_summary_sseCRead-onlyIdempotent
上登债券信息网-市场数据-市场统计-市场概览-债券成交概览 http://bond.sse.com.cn/data/statistics/overview/turnover/ :param date: 指定日期 :type date: str :return: 债券成交概览 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210104 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering the safety profile. The description adds the source URL and return type, but does not disclose any further behavioral traits such as data granularity, date range limitations, or potential missing data. It adds some value beyond annotations but is 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and follows a structured docstring format with URL, param, and return sections. Every line serves a purpose, and there is no fluff. It could be improved by leading with an explicit action verb, but it is efficiently sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and no output schema, but the description is still thin. It does not describe what columns or content the returned DataFrame contains, nor the date format or any specifics about the bond turnover overview. The source URL is helpful, but an AI agent would need more detail to correctly interpret the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully compensate. It only provides a minimal '指定日期' (specified date) and type str, with a default example '20210104'. It does not explicitly explain the date format (YYYYMMDD) or whether the parameter is optional beyond the default. The compensation is inadequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource clearly: SSE bond market turnover overview, with a source URL. Although it lacks an explicit verb like 'retrieve' or 'fetch', the docstring format and return type imply data retrieval. It partially distinguishes from siblings via the tool name 'deal_summary' vs 'cash_summary', but the description itself doesn't explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of exclusions, prerequisites, or context in which the tool is appropriate. The only hint is the date parameter, but there is no explanation of typical usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_debt_nafmiiCRead-onlyIdempotent
中国银行间市场交易商协会-非金融企业债务融资工具注册信息系统 http://zhuce.nafmii.org.cn/fans/publicQuery/manager :param page: 输入数字页码 :type page: int :return: 指定 sector 和 indicator 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. However, the description adds little beyond a URL and return type. It introduces phantom 'sector and indicator' fields that don't exist in the schema, and doesn't disclose pagination behavior, data scope, or any limitations beyond the page parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and includes a useful URL and parameter doc, but the structure is not front-loaded with a clear purpose sentence. The return statement about 'sector and indicator' is misleading and wastes a sentence, reducing overall clarity despite the brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the returned DataFrame contains, but it doesn't describe columns, rows, pagination size, or any filtering beyond the page number. The incorrect 'sector and indicator' reference makes the tool's behavior incomplete and potentially misleading for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one 'page' parameter with 0% description coverage. The description does clarify that page is a numeric page number, but this contradicts the schema's string type. It also references 'sector' and 'indicator' which are not parameters, adding confusion. The description only partially compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the NAFMII registration system and provides a URL, but lacks a clear verb like 'query' or 'list'. It mentions returning 'data for specified sector and indicator' which is misleading because the only parameter is 'page'. This provides a general sense of resource, but doesn't clearly distinguish from other bond data tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description is essentially a docstring with no context about use cases, prerequisites, or exclusions. It doesn't mention any sibling tools or when this NAFMII source would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_gb_us_sinaARead-onlyIdempotent
新浪财经-债券-美国国债收益率行情数据 https://stock.finance.sina.com.cn/forex/globalbd/cn10yt.html :param symbol: choice of {"美国1月期国债", "美国2月期国债", "美国3月期国债", "美国4月期国债", "美国6月期国债", "美国1年期国债", "美国2年期国债", "美国3年期国债", "美国5年期国债", "美国7年期国债", "美国10年期国债", "美国20年期国债", "美国30年期国债"} :type symbol: str :return: 美国国债收益率行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 美国10年期国债 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds a source URL and return type, but does not disclose additional behaviors such as whether data is historical or real-time, or any rate limits. This is acceptable given the annotations, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise docstring-style entry with the title, source URL, parameter documentation, and return type. Every part provides necessary information with no fluff, and the structure is immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter data retrieval tool, the description provides a source URL, allowed symbols, and return type. However, it does not clarify whether the returned DataFrame contains historical or current yields, nor the columns included, leaving some ambiguity for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no description for the 'symbol' property, but the description compensates by fully enumerating all 13 allowed choices (e.g., 美国10年期国债). This adds significant meaning beyond the schema, even though it doesn't explain the semantic differences between maturities.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool provides US Treasury yield market data from Sina Finance, which identifies the resource and function. However, it does not distinguish itself from sibling tools like bond_gb_zh_sina or bond_zh_us_rate, so it lacks full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by naming the data source and listing acceptable symbol values, but it does not provide explicit guidance on when to use this tool versus alternatives, nor does it state any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_gb_zh_sinaBRead-onlyIdempotent
新浪财经-债券-中国国债收益率行情数据 https://stock.finance.sina.com.cn/forex/globalbd/cn10yt.html :param symbol: choice of {"中国1年期国债", "中国2年期国债", "中国3年期国债", "中国5年期国债", "中国7年期国债", "中国10年期国债", "中国15年期国债", "中国20年期国债", "中国30年期国债"} :type symbol: str :return: 中国国债收益率行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 中国10年期国债 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is established. The description adds the source URL and the list of valid symbols, which is useful, but it does not disclose output structure, data granularity (historical vs. current), or any additional behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a title, URL, and param/return sections. It is appropriately sized and front-loaded, containing no waste, though the Chinese wording is somewhat terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain the return structure. It only states a DataFrame of yield market data without specifying columns or whether it's historical or current. The URL points to the data source page, which helps, but the description is not fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no enum or description for the symbol parameter, and the description compensates by enumerating all valid choices (中国1年期国债 through 中国30年期国债). This provides the agent the necessary vocabulary to invoke the tool correctly, though it doesn't explain the meaning of the values (e.g., maturity periods).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as Sina Finance China treasury bond yield market data, with a specific resource and source. However, it doesn't explicitly differentiate from sibling bond yield tools like bond_china_yield, relying on the name for distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as bond_china_yield or bond_zh_us_rate. Usage is implied from the parameter list and return type, but no explicit context or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_index_general_cbondBRead-onlyIdempotent
中国债券信息网-中债指数-中债指数族系 https://yield.chinabond.com.cn/cbweb-mn/indices/singleIndexQueryResult :param index_category: see result of available_bond_index() :type index_category: str :param indicator: choice of {"全价", "净价", "财富", "平均市值法久期", "平均现金流法久期", "平均市值法凸性", "平均现金流法凸性", "平均现金流法到期收益率", "平均市值法到期收益率", "平均基点价值", "平均待偿期", "平均派息率", "指数上日总市值", "财富指数涨跌幅", "全价指数涨跌幅", "净价指数涨跌幅", "现券结算量"} :type indicator: str :param period: choice of {"总值", "1年以下", "1-3年", "3-5年", "5-7年", "7-10年", "10年以上", "0-3个月", "3-6个月", "6-9个月", "9-12个月", "0-6个月", "6-12个月"} :type period: str :return: 指定指数的指定指标的指定期限分段数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 总值 | |
| indicator | No | 全价 | |
| index_category | No | 新综合指数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds no behavioral context beyond the annotations—no mention of web fetching, rate limits, authentication, or potential failure modes. It does not contradict annotations, but also provides no additional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a docstring with :param: and :return: sections, which is reasonably structured but not front-loaded with a high-level summary. It includes useful parameter choices and the URL but is somewhat verbose for a tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description provides the return type and the general meaning. It covers parameter choices and references the index list tool, but lacks context on data shape, date handling, error behavior, and differentiation from sibling bond index tools, making it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions or enums (coverage 0%), but the description lists all allowed values for indicator and period, and references available_bond_index() for index_category. This adds essential meaning beyond the schema, though it does not explain the semantics of each choice.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it returns '指定指数的指定指标的指定期限分段数据' (segment data for a specified index, indicator, and period) from the China Bond Index family (中债指数族系). This is a clear purpose, but it does not differentiate from sibling tools like bond_composite_index_cbond or bond_new_composite_index_cbond, so it lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus other bond index tools. The only hint is a reference to available_bond_index() for index_category, but no explicit comparisons or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_info_cmCRead-onlyIdempotent
中国外汇交易中心暨全国银行间同业拆借中心-数据-债券信息-信息查询 https://www.chinamoney.com.cn/chinese/scsjzqxx/ :param bond_name: 债券名称 :type bond_name: str :param bond_code: 债券代码 :type bond_code: str :param bond_issue: 发行人/受托机构 :type bond_issue: str :param bond_type: 债券类型 :type bond_type: str :param coupon_type: 息票类型 :type coupon_type: str :param issue_year: 发行年份 :type issue_year: str :param underwriter: 主承销商 :type underwriter: str :param grade: 评级等级 :type grade: str :return: 信息查询结果 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| grade | No | ||
| bond_code | No | ||
| bond_name | No | ||
| bond_type | No | ||
| bond_issue | No | ||
| issue_year | No | ||
| coupon_type | No | ||
| underwriter | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description's burden is reduced. Yet it adds only the source URL and Chinese parameter labels, not behavioral context like filtering semantics, pagination, or optionality of parameters, beyond the generic return type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a docstring that repeats the title string, includes a URL, and lists parameters without a concise summary sentence. It is not front-loaded with a clear purpose statement, making it less efficient than a well-structured natural language description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no output schema, the description fails to explain parameter optionality, result format, or typical usage. It only provides the return type as 'pandas.DataFrame' and a vague '信息查询结果', leaving an agent without enough context to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides Chinese glosses for each parameter (e.g., '债券名称' for bond_name, '债券代码' for bond_code), adding semantic meaning beyond the bare schema names. However, it lacks format constraints, examples, or guidance on parameter combinations, so it only partially compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title '中国外汇交易中心暨全国银行间同业拆借中心-数据-债券信息-信息查询' clearly indicates a bond information query tool from ChinaMoney, providing a specific resource and implied verb. However, it does not differentiate from sibling tools like bond_info_cm_query and bond_info_detail_cm, and lacks a direct sentence stating its functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains only a URL and parameter definitions, with no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. An agent cannot determine the intended context from the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_info_cm_queryBRead-onlyIdempotent
中国外汇交易中心暨全国银行间同业拆借中心-查询相关指标的参数 https://www.chinamoney.com.cn/chinese/scsjzqxx/ :param symbol: choice of {"主承销商", "债券类型", "息票类型", "发行年份", "评级等级"} :type symbol: str :return: 查询相关指标的参数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 评级等级 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. The description adds the return type (pandas.DataFrame) and the source URL, but does not describe output structure or any edge cases. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description mixes a long Chinese title, a URL, and docstring-style parameter/return fields. It is somewhat redundant (the phrase 查询相关指标的参数 appears both in the header and the return description). The structure is acceptable but not tightly organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter and no output schema, the description covers the basic function and parameter choices. However, it does not explain what the returned DataFrame contains or how the output might be used in conjunction with other bond tools. The behavior is simple enough that this is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explicitly lists the valid choices for symbol: {主承销商, 债券类型, 息票类型, 发行年份, 评级等级}, which is critical since the schema has no enums. It does not explain the meaning of each indicator or output format beyond the names, but the choices are self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool queries parameters for indicators from China Foreign Exchange Trade System (中国外汇交易中心暨全国银行间同业拆借中心). The listed symbol choices (主承销商, 债券类型, etc.) clarify what kinds of parameters are returned. It is fairly specific but could be clearer that it is a helper for retrieving valid index parameter values, and the Chinese-language title may be less informative for non-Chinese users.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description does not mention that it can be used to obtain valid symbol values for sibling tools like bond_info_cm or bond_info_detail_cm. The URL provides a source but not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_info_detail_cmCRead-onlyIdempotent
中国外汇交易中心暨全国银行间同业拆借中心-数据-债券信息-信息查询-债券详情 https://www.chinamoney.com.cn/chinese/zqjc/?bondDefinedCode=egfjh08154 :param symbol: 债券简称 :type symbol: str :return: 债券详情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 淮安农商行CDSD2022021012 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds a source URL and return type, but no behavioral context such as data freshness, network requirements, or limitations. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description starts with a long hierarchical label, then a URL, then a docstring. Important information is buried and not front-loaded. It could be rewritten as a clear sentence like 'Get bond details by bond symbol, returning a pandas DataFrame.'
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one parameter and no output schema, but the description does not explain what fields are in the returned DataFrame or how to interpret the bond details. It also does not mention the relationship between symbol and the URL's bondDefinedCode, leaving gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly documents ':param symbol: 债券简称', clarifying that symbol means 'bond short name' beyond the raw schema. This is valuable since schema description coverage is 0%, and the default example gives a concrete format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a menu path ('数据-债券信息-信息查询-债券详情') rather than a clear verb+resource statement. It implies retrieving bond details but does not explicitly say 'get details for a given bond symbol' or distinguish from sibling tools like bond_info_cm or bond_info_cm_query.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No mention of prerequisites, scenarios, or exclusions. The description is purely a source path and docstring with no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_local_government_issue_cninfoARead-onlyIdempotent
巨潮资讯-数据中心-专题统计-债券报表-债券发行-地方债发行 http://webapi.cninfo.com.cn/#/thematicStatistics :param start_date: 开始统计时间 :type start_date: str :param end_date: 开始统计时间 :type end_date: str :return: 地方债发行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | 20211110 | |
| start_date | No | 20210911 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering safety traits. The description adds the data source URL and return type (DataFrame), but does not disclose additional behavioral details such as rate limits, pagination, or date range handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively short, but the first line repeats the tool name as a title, and the parameter documentation is inconsistent with a typo. The structure is standard docstring format but could be more polished and error-free.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple data retrieval with two parameters and no output schema, so the description should provide more detail on the returned data structure. It only states '地方债发行' as the return without specifying columns, and the parameter descriptions are incomplete due to the typo.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes doc comments for both parameters, but they are identical and the end_date parameter is incorrectly described as '开始统计时间' (start time) instead of end time. The schema provides defaults implying YYYYMMDD format but no explicit description, so the description both adds and undermines clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as CNInfo's thematic statistics for local government bond issuance (地方债发行) with a return type of pandas.DataFrame. It distinguishes from sibling tools like bond_corporate_issue_cninfo and bond_treasure_issue_cninfo by focusing specifically on local government bonds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that this is for querying CNInfo data on local government bond issuance with a date range, implying its use for historical bond issuance data. However, it does not explicitly mention alternatives or when not to use this tool, so it lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_new_composite_index_cbondBRead-onlyIdempotent
中国债券信息网-中债指数-中债指数族系-总指数-综合类指数-中债-新综合指数 https://yield.chinabond.com.cn/cbweb-mn/indices/single_index_query :param indicator: choice of {"全价", "净价", "财富", "平均市值法久期", "平均现金流法久期", "平均市值法凸性", "平均现金流法凸性", "平均现金流法到期收益率", "平均市值法到期收益率", "平均基点价值", "平均待偿期", "平均派息率", "指数上日总市值", "财富指数涨跌幅", "全价指数涨跌幅", "净价指数涨跌幅", "现券结算量"} :type indicator: str :param period: choice of {"总值", "1年以下", "1-3年", "3-5年", "5-7年", "7-10年", "10年以上", "0-3个月", "3-6个月", "6-9个月", "9-12个月", "0-6个月", "6-12个月"} :type period: str :return: 新综合指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 总值 | |
| indicator | No | 财富 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the data source URL and the index hierarchy, which gives context about the data origin. However, it does not disclose behaviors like rate limits, pagination, date range coverage, or network dependency, leaving some gaps beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with line breaks separating the source, parameters, and return information. It is not overly verbose, though the first line repeats the hierarchical name which also appears in the annotations' title. The parameter lists are essential and formatted compactly. Overall, it is efficient and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with two optional parameters and no output schema. The description states the return type (pandas DataFrame) and the return value (新综合指数), but does not detail the DataFrame's columns, the time range of data, or how parameters affect the output. Annotations cover safety, but for a complete understanding, more behavioral and output context would be helpful. It is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only parameter names with defaults and no descriptions (0% schema coverage). The description compensates exceptionally by listing all valid choices for both indicator and period, which are critical for correct invocation. It does not explain the meaning of each choice, but the labels are self-explanatory in context. This adds significant value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the specific resource: 中国债券信息网-中债指数-中债指数族系-总指数-综合类指数-中债-新综合指数, along with a URL. The return type and value are also specified, making the tool's purpose evident. However, it lacks an explicit action verb like 'fetch' or 'query', but the context implies data retrieval, so it's clear but not perfectly articulated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many similar bond index tools in the sibling list (e.g., bond_composite_index_cbond, bond_treasury_index_cbond). It does not mention alternatives, exclusions, or typical use cases. The only context is the specific index name, which differentiates it somewhat, but explicit usage guidance is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_sh_buy_back_emARead-onlyIdempotent
东方财富网-行情中心-债券市场-上证质押式回购 https://quote.eastmoney.com/center/gridlist.html#bond_sh_buyback :return: 上证质押式回购 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds that it returns a pandas.DataFrame, but does not disclose other behavioral aspects like real-time status or whether it returns the full universe of instruments. Minimal extra context beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely compact: a title line, a source URL, and return type documentation. It is front-loaded and contains no filler words, making it easy to parse at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description is largely sufficient: it names the data source, market segment, and return type. However, it omits any details about columns or data frequency, which would be useful for an agent to fully understand the returned data without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so schema coverage is trivially 100%. The baseline for 0 params is 4, and the description does not need to explain any parameters—it remains appropriately silent on that front.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning Shanghai Exchange pledged repo data from East Money, with a specific URL and return type. The name and description distinguish it from the sibling bond_sz_buy_back_em (Shenzhen) and historical buyback variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it is for Shanghai pledged repo from a specific East Money page. It does not explicitly name alternatives or exclusions, but the 'sh' in the name and the explicit '上证' make the Shanghai scope and primary use case obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_spot_dealBRead-onlyIdempotent
中国外汇交易中心暨全国银行间同业拆借中心-市场数据-债券市场行情-现券市场成交行情 https://www.chinamoney.com.cn/chinese/mkdatabond/ :return: 现券市场成交行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that the tool returns a pandas.DataFrame, which is useful context, but does not disclose further behavioral details such as data time ranges or potential latency. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, containing a descriptive title, a source URL, and return type information. No filler or redundancy, though it could be slightly more structured to separate the data source from the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter tool with good annotations, the description provides the return type and source but lacks details about the data's time period (e.g., current vs. historical) or column structure since there is no output schema. This is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description need not explain any. It does state the return type and data source, which is sufficient for a parameterless tool. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '现券市场成交行情' (spot bond market transaction quotes) from the China Foreign Exchange Trade System, with a source URL. It distinguishes from siblings like bond_spot_quote by focusing on executed transactions rather than quotes, though it lacks an explicit verb like 'fetch' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of use cases, exclusions, or comparison to sibling bond tools, leaving the agent to infer applicability from the resource name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_spot_quoteCRead-onlyIdempotent
中国外汇交易中心暨全国银行间同业拆借中心-市场数据-债券市场行情-现券市场做市报价 https://www.chinamoney.com.cn/chinese/mkdatabond/ :return: 现券市场做市报价 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description includes the source URL and return type, which offers some context about data origin, but it does not disclose any behavioral traits like data freshness, pagination, or potential network dependencies. The annotations already declare read-only and non-destructive behavior, so the description adds little beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and contains only a source URL and return type, which is efficient but lacks structural prose. It is not bloated, though it is under-specified in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should clarify what the returned DataFrame contains. It merely repeats '现券市场做市报价' (spot market-making quotes), which adds little beyond the tool name, leaving the row/column structure and data scope unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, and the input schema is empty with 100% coverage. The description does not need to explain parameter semantics, so the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as providing spot market-making quotes from China Money, but it does so in a fragmentary way with no explicit verb. It restates the tool name with minimal elaboration, making it hard to distinguish from sibling bond spot tools without deeper inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 similar bond quote tools. There are no exclusions, alternatives, or context cues beyond the source URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_sz_buy_back_emCRead-onlyIdempotent
东方财富网-行情中心-债券市场-深证质押式回购 https://quote.eastmoney.com/center/gridlist.html#bond_sz_buyback :return: 深证质押式回购 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds little beyond the source URL and return type, without detailing what data is included, whether it is historical or real-time, or any other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but repetitive, with '深证质押式回购' appearing in both the title and the return line. It is structured as a docstring but lacks a clear, front-loaded sentence stating the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain the return value in more detail. It only states that the return type is a pandas DataFrame and vaguely mentions '深证质押式回购', leaving the column structure and data scope unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameter meaning. The baseline of 4 applies because there is no parameter documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as '深证质押式回购' (Shenzhen pledged bond repo) and provides a data source URL, but lacks an explicit verb such as 'get' or 'fetch'. It distinguishes from the Shanghai sibling via the name, but the purpose is inferred rather than clearly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like bond_sh_buy_back_em. The description only states the data source and return type, with no contextual hints for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_treasure_issue_cninfoBRead-onlyIdempotent
巨潮资讯-数据中心-专题统计-债券报表-债券发行-国债发行 http://webapi.cninfo.com.cn/#/thematicStatistics :param start_date: 开始统计时间 :type start_date: str :param end_date: 结束统计数据 :type end_date: str :return: 国债发行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | 20211109 | |
| start_date | No | 20210910 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a safe read-only, idempotent operation, so the bar for additional behavioral disclosure is lower. The description adds the data source URL and return type but does not disclose behavioral traits like date range handling, pagination, rate limits, or whether the returned data is a snapshot. No contradiction with annotations is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured, with a clear title-like path, a URL, and standard parameter documentation blocks. It is not overly verbose, and each element serves a purpose, though the URL could be considered extraneous for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This simple two-parameter tool has no output schema and relies on the description to convey essential usage context. While the description identifies the data source and general purpose, it omits critical details such as the date format expectation and any note about the date range's inclusivity or exclusivity, leaving an agent with incomplete information to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate for parameter meaning. It provides Chinese labels for start_date ('开始统计时间') and end_date ('结束统计数据'), which adds some semantic value beyond the raw schema. However, it does not specify the required date format (e.g., YYYYMMDD), despite defaults suggesting a numeric format, leaving room for user error.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the resource as '国债发行' (treasury bond issuance) from Cninfo's data center, which clearly identifies the data domain. The name and title further confirm the tool's purpose, though the description lacks an explicit verb like 'retrieve' or 'list'. It differentiates from siblings by the 'treasury' qualifier, but does not explicitly contrast with other issue types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description's path and the tool name, indicating this is for treasury bond issuance data. However, there is no explicit guidance on when to use this tool versus sibling tools like bond_corporate_issue_cninfo or bond_local_government_issue_cninfo, nor any mention of alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_treasury_index_cbondCRead-onlyIdempotent
中国债券信息网-中债指数-中债指数族系-总指数-综合类指数-中债-国债指数 https://yield.chinabond.com.cn/cbweb-mn/indices/single_index_query :param indicator: choice of {"全价", "净价", "财富"} :type indicator: str :param period: choice of {'0-1Y', '0-3Y', '0-5Y', '0-10Y', '1-3Y', '1-5Y', '1-10Y', '3-5Y', '5Y', '7Y', '7-10Y', '10Y', '30Y'} :type period: str :return: 国债指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 5Y | |
| indicator | No | 财富 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the data source URL and output type (pandas.DataFrame) but no additional behavioral details such as pagination, rate limits, or data coverage. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively compact but front-loads a verbose source path and URL that are not essential for invoking the tool. The parameter and return documentation are useful, yet the overall structure reads as a docstring rather than a purpose-driven description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two parameters and no output schema, so the description should clarify output columns, date coverage, and uniqueness among siblings. It only states the return is a 国债指数 (treasury bond index) DataFrame, which is insufficient for an agent to understand the data without additional inspection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage for parameters, so the description must compensate. It lists allowed values for indicator (full price, net price, wealth) and period (various maturity ranges), which is helpful, but it does not explain the meaning of each indicator or the structure of the returned data. This is partial compensation but leaves semantic gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description consists of a Chinese source path and return type with no explicit verb, so it only implies the tool retrieves the ChinaBond Treasury Bond Index. It names the resource precisely but does not explicitly state the operation or differentiate it from sibling bond index tools like bond_composite_index_cbond or bond_index_general_cbond.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Sibling tools include multiple bond index tools, but the description provides no selection criteria, exclusions, or context to help an agent choose this specific treasury index tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_zh_covCRead-onlyIdempotent
东方财富网-数据中心-新股数据-可转债数据 https://data.eastmoney.com/kzz/default.html :return: 可转债数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds only the source URL and return type, with no details about data contents, columns, or expectations. This goes slightly beyond annotations but lacks substantive behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and has no padding, but it is mostly a hierarchical title followed by a URL and return type. It is not front-loaded with an action or purpose, and the repetitive title could be considered waste. It earns a middle score for brevity without efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only source of context. It fails to explain what specific convertible bond data is returned, such as columns, time range, or whether it is a snapshot. Given the abundance of sibling bond tools, this is insufficient for an agent to confidently select this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline for parameter semantics is 4. The description provides no parameter-specific details, which is appropriate since none exist. No further compensation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a title: 'Eastmoney Data Center - New Stock Data - Convertible Bond Data'. It states the resource and source but lacks a specific verb like 'get' or 'list'. The return type indicates it returns convertible bond data, but this doesn't clearly distinguish it from numerous sibling convertible bond tools such as bond_zh_cov_info or bond_cov_comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternative bond tools. No mention of use cases, exclusions, or alternatives. The description simply names the data source and return type, leaving the agent to guess when this is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_zh_cov_infoBRead-onlyIdempotent
https://data.eastmoney.com/kzz/detail/123121.html 东方财富网-数据中心-新股数据-可转债详情 :param symbol: 可转债代码 :type symbol: str :param indicator: choice of {"基本信息", "中签号", "筹资用途", "重要日期"} :type indicator: str :return: 可转债详情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 123121 | |
| indicator | No | 基本信息 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds no behavioral traits beyond that, such as error handling, rate limits, or data source quirks. It does not contradict annotations, and the read-only nature is consistent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with URL, title, parameters, and return type. It is well-structured with :param tags and not overly verbose, though the URL placement at the top is somewhat noisy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description only says '可转债详情' (details), which is vague about the actual DataFrame structure and columns. Given the indicator parameter changes the returned data, this is a significant gap. The description also fails to clarify how this tool differs from the many convertible bond siblings, so an agent may struggle to select and use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description compensates by providing Chinese names for both parameters and explicitly listing the valid indicator choices. However, it doesn't explain what each indicator value returns or provide format requirements for the symbol beyond an example default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as retrieving convertible bond details (可转债详情) from East Money, with the URL indicating the specific source. It's clear about the resource but lacks an explicit verb and does not differentiate from similar sibling tools like bond_zh_cov_info_ths in the description text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling bond tools. It does not state prerequisites, exclusions, or alternative tools. The indicator choices are listed but no context is given for choosing among the many bond-related functions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_zh_cov_info_thsBRead-onlyIdempotent
同花顺-数据中心-可转债 https://data.10jqka.com.cn/ipo/bond/ :return: 可转债行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering the safety profile. The description contributes only the source URL and return type, with no additional behavioral details such as data freshness, network dependency, or pagination. This adds minimal value beyond structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with a title, source URL, and return type. It avoids verbosity, though it is too sparse to fully convey the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify the returned data's structure and scope. The phrase '可转债行情' is vague and does not specify DataFrame columns, coverage, or whether it is a snapshot or historical data. For a simple no-parameter tool, the return value is underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with zero parameters, so there is no parametric ambiguity. The description does not need to explain parameters, and the baseline for zero-parameter tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool returns convertible bond market quotes (可转债行情) from the THS data center, with a source URL and pandas DataFrame return type. However, it lacks an explicit verb and does not differentiate it from sibling tools like bond_zh_cov_info or bond_zh_hs_cov_spot beyond the '_ths' source suffix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not state prerequisites, exclusions, or selection criteria, leaving the agent to infer appropriate usage from the name and source only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_zh_cov_value_analysisBRead-onlyIdempotent
https://data.eastmoney.com/kzz/detail/113527.html 东方财富网-数据中心-新股数据-可转债数据-价值分析-溢价率分析 :param symbol: 可转债代码 :type symbol: str :return: 可转债价值分析 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 113527 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a read-only, idempotent, non-destructive operation. The description adds that it returns a pandas.DataFrame and provides the source URL, but it does not describe the actual data contents, potential pagination, or any other behavioral details. This adds some context beyond annotations but remains limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise, containing only essential information: the source URL, the data category, and the parameter/return types. Each line serves a purpose, though the formatting is a bit fragmentary with newlines separating different elements.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a one-parameter read-only tool with no output schema. The description says it returns a pandas.DataFrame but does not specify the columns or the structure of the DataFrame. It also lacks examples of expected output or any caveats. Given the minimal schema and no output schema, the description should provide more detail about the return value to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has only a 'symbol' parameter with a default value and no description. The description adds meaning by explaining that symbol is the convertible bond code (可转债代码) and gives an example URL with a specific code (113527). This compensates for the 0% schema coverage and clarifies the parameter's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool performs convertible bond value analysis (可转债价值分析) and specifically references premium rate analysis (溢价率分析). The name and description are specific enough to distinguish it from sibling tools like bond_zh_cov_info, though it 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.
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. It does not mention expected use cases, prerequisites, or situations where a different bond analysis tool would be more appropriate. The description only provides a URL and a function signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_zh_hs_cov_dailyARead-onlyIdempotent
新浪财经-债券-沪深可转债的历史行情数据,大量抓取容易封 IP https://vip.stock.finance.sina.com.cn/mkt/#hskzz_z :param symbol: 沪深可转债代码;e.g., sh010107 :type symbol: str :return: 指定沪深可转债代码的日 K 线数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | sh010107 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, covering the safety profile. The description adds useful context beyond annotations: the data source (Sina Finance), a rate-limit warning ('大量抓取容易封 IP'), and the return type (pandas.DataFrame). It does not describe date-range or pagination behavior, so it falls short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first line, and the parameter/return notes are useful given the lack of schema descriptions. However, the inclusion of RST field tags like ':type symbol: str' and ':rtype: pandas.DataFrame' is partly redundant with the schema, and the URL adds some clutter. It is adequately concise but not maximally economical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity one-parameter historical data fetch with rich annotations but no output schema, the description covers purpose, parameter meaning, return type, and a rate-limit warning. It omits details such as whether it returns full history or a fixed window and does not route among sibling tools, but it is largely complete for correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It defines the single 'symbol' parameter as a Shanghai/Shenzhen convertible bond code and gives a concrete example ('sh010107'), which is essential for correct invocation. It does not explain format constraints beyond the example, so a 4 rather than a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: fetching historical daily K-line data for Sina Finance Shanghai/Shenzhen convertible bonds. It contrasts implicitly with siblings like bond_zh_hs_cov_spot and bond_zh_hs_cov_min through '历史行情数据' and '日 K 线数据', but it never names an alternative to clearly distinguish itself from all related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives such as bond_zh_hs_cov_spot (spot quotes) or bond_zh_hs_cov_min (minute data). The note about mass scraping causing IP bans is a caveat, not selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_zh_hs_cov_minARead-onlyIdempotent
东方财富网-可转债-分时行情 https://quote.eastmoney.com/concept/sz128039.html :param symbol: 转债代码 :type symbol: str :param period: choice of {'1', '5', '15', '30', '60'} :type period: str :param adjust: choice of {'', 'qfq', 'hfq'} :type adjust: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :return: 分时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| period | No | 15 | |
| symbol | No | sz128039 | |
| end_date | No | 2222-01-01 09:32:00 | |
| start_date | No | 1979-09-01 09:32:00 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, covering the safety profile. The description adds useful behavioral details beyond annotations, such as the return type (pandas.DataFrame), the allowed period values (1, 5, 15, 30, 60), and adjustment choices (qfq, hfq). No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description uses a standard docstring format with a clear title, source URL, parameter list, and return type. It is front-loaded with the tool's purpose. The repeated :param/:type pairs are somewhat verbose but each adds value; there is no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description appropriately specifies the return as pandas.DataFrame. It covers all parameters and their choices. It could be more complete by stating that symbol should include an exchange prefix (e.g., 'sz128039') and clarifying the meaning of qfq/hfq, but the current level is sufficient for a simple data retrieval tool with read-only annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It explains all five parameters: symbol (转债代码), period (choice of 1/5/15/30/60), adjust (choice of '', qfq, hfq), start_date (开始日期), and end_date (结束日期). It also specifies the return type. This fully compensates for the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving convertible bond intraday time-sharing quotes from 东方财富网 (East Money). The phrase '分时行情' specifies the data type and differentiates it from siblings like bond_zh_hs_cov_daily or bond_zh_hs_cov_spot, though it lacks an explicit verb such as 'get' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that this is for minute-level data, nor does it suggest using bond_zh_hs_cov_daily for daily data. Given the large number of bond-related sibling tools, the absence of any usage direction is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_zh_hs_cov_pre_minBRead-onlyIdempotent
东方财富网-可转债-分时行情-盘前 https://quote.eastmoney.com/concept/sz128039.html :param symbol: 转债代码 :type symbol: str :return: 分时行情-盘前 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | sh113570 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the data source URL and a pandas.DataFrame return type, but it does not disclose behaviors such as data availability windows, required symbol format, or potential failure modes. This is consistent with annotations, so no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured as a docstring: source, URL, parameters, return type. It wastes no words and is appropriately sized for a one-parameter data-fetch tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool, the description provides the essential context: source, symbol parameter meaning, and return type (pandas DataFrame). It does lack detail on the DataFrame's columns or whether 'pre-market' is a fixed session, but given the tool's simplicity and no output schema, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema_description_coverage at 0%, the description must compensate for the schema's lack of parameter meaning. It describes symbol as '转债代码' (convertible bond code), which gives a minimal semantic, and the example URL hints at a format, but it does not specify the expected exchange-prefixed format (e.g., 'sh113570') or the range of valid symbols. This is only marginal compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool fetches pre-market time-share quotes for Chinese convertible bonds from Eastmoney, using the phrase '东方财富网-可转债-分时行情-盘前'. This clearly identifies the resource and scope, but it does not explicitly compare with the closely-related siblings bond_zh_hs_cov_min or bond_zh_hs_cov_spot, so the differentiation is implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description contains only a source URL and parameter documentation, with no mention of when the pre-market variant is appropriate or when to use the regular/min/spot/daily sibling tools instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_zh_hs_cov_spotARead-onlyIdempotent
新浪财经-债券-沪深可转债的实时行情数据;大量抓取容易封IP https://vip.stock.finance.sina.com.cn/mkt/#hskzz_z :return: 所有沪深可转债在当前时刻的实时行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds a non-obvious behavioral trait: the rate-limiting/IP ban risk on heavy scraping, which is not in annotations. Does not cover return format or pagination. Adds valuable context beyond structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two lines plus :return: and :rtype: annotations. Front-loaded with source and resource. The warning is useful and not overly verbose. Could be slightly more structured but earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, rich annotations, and no output schema, the description provides sufficient context: what data is returned, from where, and the scraping caveat. It doesn't detail return columns, but the :rtype: tells the agent it's a DataFrame. Complete enough for a no-arg snapshot tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so baseline is 4. The description does not need to explain parameters and correctly focuses on output (:return: real-time data, :rtype: pandas.DataFrame). Schema coverage is 100% but no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verbless-but-clear resource: '沪深可转债的实时行情数据' (real-time quote data for Shanghai/Shenzhen convertible bonds) with source (新浪财经). Distinguishes from sibling bond_zh_hs_cov_daily (daily) and bond_zh_hs_cov_min (minute) by implying snapshot/spot, but does not explicitly name them. Purpose is clear but lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes an explicit warning about rate-limiting ('大量抓取容易封IP') which indicates when to use it carefully, but does not name alternative tools or state when to use this vs daily/minute variants. Provides context but 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.
bond_zh_hs_dailyARead-onlyIdempotent
新浪财经-债券-沪深债券-历史行情数据,大量抓取容易封 IP https://vip.stock.finance.sina.com.cn/mkt/#hs_z :param symbol: 沪深债券代码;e.g., sh010107 :type symbol: str :return: 指定沪深债券代码的日 K 线数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | sh010107 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, open-world, idempotent, and non-destructive behavior. The description adds meaningful extra context beyond annotations by noting the scraping/IP-ban risk and documenting the pandas DataFrame return type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose and rate-limit warning, then follows with param/return details. It is reasonably concise, though the source URL and Sphinx-style tags add some boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter historical-data tool with no output schema, the description covers the data source, symbol format, scraping risk, and return type. It is complete enough to invoke correctly, though it does not detail the DataFrame columns or date-range behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but there is only one parameter and the description fully compensates by explaining that symbol is a Shanghai/Shenzhen bond code and giving a concrete example (e.g., sh010107).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific source (新浪财经), resource (沪深债券), and data type (历史行情数据 / 日 K 线数据). It clearly identifies the operation, but it does not explicitly differentiate this tool from many sibling bond-history tools such as bond_zh_hs_cov_daily or bond_zh_cov.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: retrieve historical daily K-line data for a Shanghai/Shenzhen bond. The warning about IP blocking from frequent scraping is useful context, but no explicit when-to-use, when-not-to-use, or sibling alternative guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_zh_hs_spotBRead-onlyIdempotent
新浪财经-债券-沪深债券-实时行情数据,大量抓取容易封IP https://vip.stock.finance.sina.com.cn/mkt/#hs_z :param start_page: 分页起始页 :type start_page: str :param end_page: 分页结束页 :type end_page: str :return: 所有沪深债券在当前时刻的实时行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_page | No | 10 | |
| start_page | No | 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely useful operational context beyond the annotations: the anti-scraping rate-limit risk ('大量抓取容易封IP') and the return type (pandas.DataFrame), which the agent would not otherwise know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and IP warning are front-loaded, which is good, but the Sphinx-style :param/:type/:return/:rtype block duplicates parameter names and types already present in the input schema, adding some redundancy without much extra signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description responsibly states the return shape (all SH/SZ bond real-time quotes as a DataFrame) and flags the rate-limit risk. For a two-parameter read-only endpoint this is close to complete, missing only pagination bounds or default behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It labels both params as pagination start/end pages, but adds no format details, valid ranges, or the default values ('1'/'10') that the schema carries. It clarifies intent but is largely restating parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: real-time quotes for Shanghai/Shenzhen bonds from Sina Finance, with the source URL. It is distinguishable from siblings like bond_zh_hs_daily (historical) and bond_zh_hs_cov_spot (convertibles), though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only contextual guidance is the warning that heavy scraping gets the IP blocked. There is no explicit guidance on when to prefer this tool over bond_zh_hs_daily or the other bond spot siblings, nor any stated prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_zh_us_rateBRead-onlyIdempotent
东方财富网-数据中心-经济数据-中美国债收益率 https://data.eastmoney.com/cjsj/zmgzsyl.html :param start_date: 开始统计时间 :type start_date: str :return: 中美国债收益率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| start_date | No | 19901219 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the return type (pandas.DataFrame) and source URL but does not disclose potential behaviors like pagination 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the key purpose, followed by the source URL and docstring-style parameter/return info. No fluff, though the URL embedded mid-text slightly disrupts readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool with annotations, the description adequately covers what it returns and its parameter. Lacking an output schema, the return description suffices for basic selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter start_date is described as '开始统计时间' (start statistics time), adding meaning beyond the schema's type and default. However, the date format is not explicitly stated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly names the resource (中美国债收益率, China-US Treasury yields) and provides the source URL, making it clear this tool fetches yield data. It does not explicitly differentiate from similar bond tools, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The description only states what data is returned, with no mention of when it should be preferred over other bond yield tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
business_value_artistCRead-onlyIdempotent
艺恩-艺人-艺人商业价值 https://www.endata.com.cn/Marketing/Artist/business.html :return: 艺人商业价值 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the return type (pandas.DataFrame) and a source URL, but it does not describe any behavioral traits beyond the read-only, idempotent, and non-destructive annotations already provided. It fails to mention what columns, time periods, or data scope the returned DataFrame contains. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and includes a useful URL and return type, but the first line '艺恩-艺人-艺人商业价值' is redundant as it essentially duplicates the tool name. The structure has some wasted text, lowering the score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool, the description still leaves the output vague – '艺人商业价值' does not specify what data is actually included. With no output schema, the description would need to explain the returned DataFrame's structure to be complete, but it does not. The annotations cover safety but not the data content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters (empty input schema), so the baseline is 4. The description does not need to explain parameters, and nothing is missing regarding parameter semantics. The mention of the return type is not directly relevant to parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description primarily restates the tool name as '艺恩-艺人-艺人商业价值' and repeats it in ':return: 艺人商业价值'. It lacks a verb or clear operation statement such as 'retrieves' or 'queries'. The URL provides a source but does not clarify what the tool does. This is essentially a tautology of the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool or how it compares to alternatives. It does not mention any use cases, prerequisites, or distinctions from similar tools like online_value_artist. The rubric marks 'no guidance' as a 2.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
car_market_cate_cpcaBRead-onlyIdempotent
乘联会-统计数据-车型大类 http://data.cpcadata.com/CategoryMarket :param symbol: choice of {"轿车", "MPV", "SUV", "占比"} :type symbol: str :param indicator: choice of {"批发", "零售"} :type indicator: str :return: 统计数据-车型大类 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 轿车 | |
| indicator | No | 批发 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this as a read-only, idempotent, non-destructive operation, so the safety profile is clear. The description adds the data source URL, parameter choices, and return type, but does not disclose any additional behavioral traits such as pagination, data freshness, or potential errors. It contributes only minimal value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with clear sections for URL, parameters, and return type. It is easy to scan and contains no redundant prose. However, it could be slightly more concise by removing the repetitive title line, but overall it is well-structured and appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two parameters with provided choices) and strong annotations, the description is reasonably complete. However, it lacks information about the returned DataFrame's columns or any date/time aspects, and it does not mention how the URL is used. For a simple query tool this is adequate but leaves some ambiguity about the output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only parameter names and defaults with zero description coverage. The description compensates by explicitly listing the allowed choices for both symbol ('轿车', 'MPV', 'SUV', '占比') and indicator ('批发', '零售'), which is essential for correct invocation. This is a meaningful addition over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the data source (乘联会 CPCA) and the specific resource (车型大类 vehicle category), and the return type indicates it provides this statistical data. However, it lacks an explicit verb like 'get' or 'query' and does not differentiate this tool from sibling car market tools (e.g., car_market_segment_cpca), earning a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention that this tool is for vehicle category statistics while other sibling tools handle country, fuel, segment, etc. No exclusions or alternative suggestions are provided, so the agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
car_market_country_cpcaBRead-onlyIdempotent
乘联会-统计数据-国别细分市场 http://data.cpcadata.com/CountryMarket :return: 统计数据-车型大类 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safe read-only, idempotent nature. The description adds the return type (pandas.DataFrame) and source URL, which is helpful context, but does not explain data contents or access constraints. With good annotations, this level is acceptable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the title and URL, but the :return line is redundant and contains an apparent copy-paste error ('车型大类' instead of '国别细分市场'), which harms clarity and structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool returns a DataFrame, but the description does not adequately specify what data is included, especially given there is no output schema. The vague and erroneous return description leaves an agent without enough information to understand the tool's output fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is no parameter semantics to clarify. The baseline for 0 params is 4, and the description does not introduce any parameter-related confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as providing CPCA country-segment market statistics with a source URL, distinguishing it from sibling car_market_* tools by the explicit '国别' (country). However, the :return line mistakenly mentions '车型大类' (car model category), which introduces some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like car_market_segment_cpca or car_market_fuel_cpca. The intended usage is only implied by the name and title, not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
car_market_fuel_cpcaARead-onlyIdempotent
乘联会-统计数据-新能源细分市场 :param symbol: choice of {"整体市场", "销量占比-PHEV-BEV", "销量占比-ICE-NEV"} :type symbol: str https://data.cpcadata.com/FuelMarket :return: 新能源细分市场 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 整体市场 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and the source URL but does not describe the output structure, whether the symbol changes columns/rows, or any rate limits. This is adequate but not rich, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and follows a clear docstring structure: title, parameter with choices and type, source URL, and return type. No filler words or redundant content. Every line adds value, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 strong annotations, a description that lists the parameter values, provides the return type, and cites the source URL is largely complete. The only minor gap is not describing the data format or how the parameter affects rows/columns, but given the simplicity and no output schema, this is not a critical omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, leaving the description to compensate. The docstring explicitly lists the valid choices for 'symbol' (整体市场, 销量占比-PHEV-BEV, 销量占比-ICE-NEV), which are not present as enums in the schema. This is essential for correct use. It does not fully explain the meaning or output for each choice, but the labels are descriptive enough, so a 4 is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving CPCA new energy vehicle market segment data. The title '新能源细分市场' and the param choices (整体市场, 销量占比-PHEV-BEV, 销量占比-ICE-NEV) specify the resource and the type of data returned. While there is no explicit contrast with sibling tools, the unique '新能源细分市场' and 'fuel' context distinguish it enough from other car_market_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It lists the symbol parameter choices and the source URL but does not explain when to choose this over car_market_total_cpca or other car_market cousins, nor does it state any exclusions or prerequisites. Usage must be inferred entirely from the title and parameter hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
car_market_man_rank_cpcaBRead-onlyIdempotent
乘联会-统计数据-厂商排名 http://data.cpcadata.com/ManRank :param symbol: choice of {"狭义乘用车-单月", "狭义乘用车-累计", "广义乘用车-单月", "广义乘用车-累计"} :type symbol: str :param indicator: choice of {"批发", "零售"} :type indicator: str :return: 统计数据-厂商排名 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 狭义乘用车-单月 | |
| indicator | No | 批发 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds the source URL and return type (pandas.DataFrame) but does not disclose data freshness, date range limitations, or response shape. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a clear docstring pattern with params and return type. It is front-loaded with the purpose but repeats '统计数据-厂商排名' in both the title line and return line, adding slight redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description only says the return is a DataFrame, lacking column details, possible time ranges, or how the data is structured. It is sufficient to invoke the tool but insufficient to fully interpret results or select between closely related car_market siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly lists allowed choices for both symbol and indicator, compensating for the absence of schema descriptions. It also provides types and defaults. However, it does not explain the meaning of values like '单月' vs '累计' or '批发' vs '零售' in terms of resulting data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as CPCA manufacturer rankings via a URL and the name suggests ranking data. It distinguishes from sibling car_market_* tools by specifying '厂商排名' (manufacturer ranking). However, it lacks an explicit verb like '获取' or '返回', making the action implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as car_market_total_cpca or car_sale_rank_gasgoo. The description is purely declarative and does not state use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
car_market_segment_cpcaARead-onlyIdempotent
乘联会-统计数据-级别细分市场 http://data.cpcadata.com/SegmentMarket :param symbol: choice of {"轿车", "MPV", "SUV"} :type symbol: str :return: 统计数据-车型大类 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 轿车 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, which covers the safety profile. The description adds a source URL and return type but does not disclose any additional behavioral traits such as pagination, rate limits, or response format specifics. No contradiction with annotations is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and follows a clear docstring-like structure with title, URL, parameter, and return sections. Each line serves a purpose and there is no redundant text. It is appropriately sized for a simple one-parameter tool, though the use of Chinese may limit accessibility for some agents.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and read-only annotations, but there is no output schema. The description only vaguely states the return as '统计数据-车型大类' (statistical data - vehicle category) without detailing columns or data structure. It also does not mention any date range or other nuances. Given the lack of an output schema, the description could be more informative about the returned DataFrame's contents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only a 'symbol' parameter with a default value and no description or enum. The description compensates by explicitly listing the valid choices ({"轿车", "MPV", "SUV"}) and the type as str, which is essential for the agent to invoke the tool correctly. However, it does not explain the meaning of these choices beyond their obvious Chinese labels, leaving some ambiguity for non-Chinese speakers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly indicate this tool provides CPCA (乘联会) statistical data for car market segments (级别细分市场), with a URL to the data source. The parameter choices (轿车, MPV, SUV) and return type (pandas.DataFrame) clarify its function. It is distinguishable from sibling tools like car_market_total_cpca (total market) and car_market_fuel_cpca (fuel-based) by focusing on vehicle segment/level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for fetching car market segment data, but it does not explicitly state when to use this tool versus its many siblings (e.g., car_market_cate_cpca, car_market_country_cpca). No exclusions or alternative tool references are provided. The parameter choices give some context, but the usage context is mainly inferred from the tool name and title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
car_market_total_cpcaARead-onlyIdempotent
乘联会-统计数据-总体市场 http://data.cpcadata.com/TotalMarket :param symbol: choice of {"狭义乘用车", "广义乘用车"} :type symbol: str :param indicator: choice of {"产量", "批发", "零售", "出口"} :type indicator: str :return: 统计数据-总体市场 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 狭义乘用车 | |
| indicator | No | 产量 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive). The description adds the source URL and return type, but doesn't disclose data granularity or other behavioral details. The parameter choices are useful but not behavioral.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with clear sections: overview, URL, params, return. Every line serves a purpose, and it is well-structured without superfluous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two optional parameters, and annotations cover safety. However, no output schema exists, and the description does not describe the DataFrame's columns, time frequency, or any other limitations, leaving the agent uncertain about the returned data structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates by listing explicit choices for both parameters (symbol: 狭义/广义乘用车; indicator: 产量/批发/零售/出口). This is essential and complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (CPCA overall market statistics) and implies the action of retrieving via the `:return:` clause. The phrase '总体市场' distinguishes it from sibling car market tools, though it lacks an explicit verb like 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. It only describes itself and does not mention exclusions or compare with sibling car_market_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
car_sale_rank_gasgooBRead-onlyIdempotent
盖世汽车-汽车行业制造企业数据库-销量数据 https://i.gasgoo.com/data/ranking :param symbol: choice of {"车企榜", "品牌榜", "车型榜"} :type symbol: str :param date: 查询的年份和月份 :type date: str :return: 销量数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 202109 | |
| symbol | No | 车企榜 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior, so the bar is lower. The description adds a return type (DataFrame) and source URL, but doesn't disclose potential behaviors like data granularity, pagination, or permissions. This is minimal but non-contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with title, URL, and param/return docs. It is well-structured and reasonably concise, though the URL line is not essential for invoking the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-param retrieval tool without an output schema, the description gives the source, parameter choices, and return type. It lacks information about output columns or data coverage, but is adequate for basic use. The absence of alternative guidance slightly reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description's param docs carry the burden. It specifies symbol as a choice of three Chinese labels and date as year/month, providing meaning beyond bare strings. It doesn't explicitly state the YYYYMM format, but the default suggests it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as Gasgoo automotive sales data with a ranking URL, and parametrizes by enterprise, brand, or model. It lacks an explicit verb like 'retrieve' but is reasonably clear about the resource. It differentiates from siblings by naming Gasgoo and the specific ranking categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the numerous car_market_* siblings from CPCA. The description only gives a URL and parameters, without exclusions or alternative tool mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_bitcoin_cmeBRead-onlyIdempotent
芝加哥商业交易所-比特币成交量报告 https://datacenter.jin10.com/reportType/dc_cme_btc_report :param date: Specific date, e.g., "20230830" :type date: str :return: 比特币成交量报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20230830 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. However, the description adds no behavioral context beyond annotations—no rate limits, pagination, data source caveats, or side effects. It only mentions the return type and date format, which are not behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and structured as a docstring with title, URL, param, and return sections. It is front-loaded with the main report name. Minor redundancy (repeating '报告') and the URL could be trimmed, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only one optional parameter and no output schema. The description names the return type (pandas.DataFrame) and provides a source URL, but does not describe the DataFrame columns or report structure, leaving uncertainty about the exact data returned. While acceptable for a simple report tool, it falls short of fully equipping an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only a 'date' property with no description. The description compensates by explicitly defining the param: 'Specific date, e.g., 20230830' and type str, giving a concrete format example that greatly clarifies usage beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides the CME Bitcoin volume report ('芝加哥商业交易所-比特币成交量报告') and includes a source URL. It names the specific resource (CME Bitcoin volume) and distinguishes it from sibling tools like crypto_bitcoin_hold_report by specifying 'volume', but it lacks an explicit action verb such as 'get' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only includes a parameter docstring and return type, with no mention of use cases, exclusions, or references to related crypto tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_bitcoin_hold_reportBRead-onlyIdempotent
金十数据-比特币持仓报告 https://datacenter.jin10.com/dc_report?name=bitcoint :return: 比特币持仓报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the source URL and that it returns a pandas DataFrame, but does not disclose data freshness, schema, or any other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact—three short lines—but includes a long URL and docstring-style tags, making it slightly less polished. Nonetheless, it is under 200 characters and front-loads the resource name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description is mostly sufficient for invocation, but it fails to describe the content of the Bitcoin position report or any notes on output columns. The simplicity warrants a middle score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameters. The empty schema is fully covered, and the baseline for 0-param tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a Jin10 Bitcoin position report, provides the source URL, and states the return type via ':return: 比特币持仓报告'. This clearly indicates it retrieves a Bitcoin holdings report, distinguishing it from sibling crypto_bitcoin_cme which focuses on CME data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage context is provided—there is no mention of when to use this tool over alternatives, no exclusions, and no scenarios described. The description only states what it returns.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_js_spotBRead-onlyIdempotent
主流加密货币的实时行情数据,一次请求返回具体某一时刻行情数据 https://datacenter.jin10.com/reportType/dc_bitcoin_current :return: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds the useful nuance that this is a point-in-time snapshot ('具体某一时刻'), which matters for a market-data tool, but says nothing about rate limits, freshness, or which assets are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose sentence is front-loaded and terse, but the raw source URL and the Python docstring artifact ':return: pandas.DataFrame' are noise that do not help an agent select or invoke the tool. Cutting them would leave a cleaner two-sentence definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param, annotation-backed tool the description is close to adequate, but it never enumerates the covered cryptocurrencies or the shape of the returned DataFrame, and there is no output schema to fill that gap. An agent knows roughly what it gets but not which assets or columns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so the baseline is 4. There are no parameter semantics to explain, and the description adds no misleading parameter hints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb+resource: real-time quote data (行情数据) for mainstream cryptocurrencies, returning a point-in-time snapshot. It is not a tautology, but it never distinguishes itself from the crypto siblings (crypto_bitcoin_cme, crypto_bitcoin_hold_report), which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use/when-not guidance and no alternatives named. The phrase 'one request returns a single moment's data' implies a snapshot rather than a history series, but the agent must infer that this is for current spot pricing versus the CME/hold-report crypto siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
currency_boc_safeBRead-onlyIdempotent
人民币汇率中间价 https://www.safe.gov.cn/safe/rmbhlzjj/index.html :return: 人民币汇率中间价 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and non-destructive. The description adds the return type (pandas.DataFrame) and a source URL, providing some behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact but includes essential info: title, source URL, return type. The docstring format is slightly awkward but each line adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool appears simple with no parameters and clear annotations, but the description doesn't specify the DataFrame columns or whether it's historical/current data. For a data fetching tool, users may need more detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the schema fully covers what's needed. No additional parameter semantics are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (RMB exchange rate central parity) and source (SAFE website), and specifies the return type. It's distinct from sibling currency tools by naming the specific SAFE central parity dataset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like currency_boc_sina or forex_spot_em. There is no mention of context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
currency_boc_sinaBRead-onlyIdempotent
新浪财经-中行人民币牌价历史数据查询 https://biz.finance.sina.com.cn/forex/forex.php?startdate=2012-01-01&enddate=2021-06-14&money_code=EUR&type=0 :param symbol: choice of {'美元', '英镑', '欧元', '澳门元', '泰国铢', '菲律宾比索', '港币', '瑞士法郎', '新加坡元', '瑞典克朗', '丹麦克朗', '挪威克朗', '日元', '加拿大元', '澳大利亚元', '新西兰元', '韩国元'} :type symbol: str :param start_date: 开始交易日 :type start_date: str :param end_date: 结束交易日 :type end_date: str :return: 中行人民币牌价历史数据查询 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 美元 | |
| end_date | No | 20231110 | |
| start_date | No | 20230304 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the data source and return type, but does not disclose rate limits, pagination, or column structure. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring-style block with title, URL, parameters, and return type. It is front-loaded and efficient, though the long URL may be unnecessary for the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple query tool with 3 parameters and no output schema, the description covers parameter meanings and return type. However, it lacks date format clarification, column-level return details, and usage context relative to sibling tools, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is the main source of parameter meaning. It explains symbol as a choice of currencies and start_date/end_date as trading days, and mentions the DataFrame return. However, it does not specify the expected date format clearly; the URL example uses dashes while schema defaults use compact digits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a historical data query for Bank of China RMB exchange rates via Sina Finance, with a specific URL and parameter list. It specifies the resource and action, but does not explicitly differentiate from sibling currency tools like currency_boc_safe or currency_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only states what it does, not when it should be preferred over the many sibling currency/forex tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
currency_convertCRead-onlyIdempotent
currencies data from currencyscoop.com https://currencyscoop.com/api-documentation :param base: The base currency you would like to use for your rates :type base: str :param to: The currency you would like to use for your rates :type to: str :param amount: The amount of base currency :type amount: str :param api_key: Account -> Account Details -> API KEY (use as password in external tools) :type api_key: str :return: Latest data of base currency :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | CNY | |
| base | No | USD | |
| amount | No | 10000 | |
| api_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds some context by specifying the return type as pandas.Series and linking to external API docs, but it does not disclose other behavioral traits like data freshness, rate limits, or failure modes. Overall, it provides modest additional value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with a title line, API documentation link, and structured parameter/return sections. It is not overly verbose, but the opening line 'currencies data from currencyscoop.com' is more of a title than a functional description, and the link could be integrated more efficiently. Overall, the structure is clear and reasonably concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description must explain return values, but it only says 'Latest data of base currency' with rtype pandas.Series, which is vague and does not clarify the conversion result. It also misses critical context like error handling, API key requirement implications, and the exact meaning of the returned data in relation to conversion. The description is incomplete for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description carries the param documentation burden, and it does provide descriptions for all four parameters (base, to, amount, api_key). However, the descriptions are ambiguous (e.g., 'The currency you would like to use for your rates' for 'to') and do not specify currency code formats or clarify that amount should be a numeric string. It partially compensates for the schema gap but leaves room for misinterpretation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name 'currency_convert' and parameters (base, to, amount) suggest currency conversion, but the description only says 'currencies data from currencyscoop.com' without a clear verb or outcome. It fails to explicitly state that it converts an amount from one currency to another, leaving the exact purpose somewhat implied and not fully differentiated from sibling tools like currency_latest or currency_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as currency_latest, currency_history, or forex_spot_em. The description lacks any context about typical use cases, prerequisites (e.g., API key), or exclusions, leaving the agent without direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
currency_currenciesCRead-onlyIdempotent
currencies data from currencyscoop.com https://currencyscoop.com/api-documentation :param c_type: now only "fiat" can return data :type c_type: str :param api_key: Account -> Account Details -> API KEY (use as password in external tools) :type api_key: str :return: Latest data of base currency :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| c_type | No | fiat | |
| api_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description is not required to repeat safety. It adds useful context beyond annotations: the data source (currencyscoop.com), the need for an api_key (with instructions), and the c_type restriction. However, it does not explain behavior like pagination, rate limits, or what 'Latest data' precisely contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively compact but not well-structured. It mixes a noun-phrase intro, a URL, and docstring-style param/return blocks. Type information (e.g., ':type c_type: str') is redundant with the schema and adds noise. It is acceptable but not ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only two simple parameters, the description should clarify what the returned DataFrame contains. The phrase 'Latest data of base currency' is vague, and there is no base currency parameter, making the intended result unclear. The api_key and c_type parameters are explained, but the core purpose and return structure are not adequately specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains c_type (only 'fiat' works) and api_key (where to find it, use as password), which adds meaning beyond the bare schema. However, it does not define possible c_type values or what api_key authentication accomplishes, leaving some parameter semantics ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'currencies data from currencyscoop.com' and 'Latest data of base currency', but there is no clear verb or definition of what the tool actually returns. It does not distinguish from sibling tools like currency_latest or currency_history, and the intended output (list of currencies vs. exchange rates) is ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of sibling tools or scenarios where this would be preferred. The only constraint noted is that c_type supports only 'fiat', but this is a parameter limitation, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
currency_historyCRead-onlyIdempotent
Latest data from currencyscoop.com https://currencyscoop.com/api-documentation :param base: The base currency you would like to use for your rates :type base: str :param date: Specific date, e.g., "2020-02-03" :type date: str :param symbols: A list of currencies you will like to see the rates for. You can refer to a list all supported currencies here :type symbols: str :param api_key: Account -> Account Details -> API KEY (use as password in external tools) :type api_key: str :return: Latest data of base currency :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | USD | |
| date | No | 2023-02-03 | |
| api_key | No | ||
| symbols | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive, so the bar is lower. The description adds the API key requirement and pandas DataFrame return type, but it also contradicts itself by saying 'Latest data' while supporting a specific date, muddling the actual behavior. It does not disclose rate limits, error handling, or data availability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a docstring-style block with a link and parameter documentation. It is reasonably concise but the structure is fragmented: the summary line is vague and the link to documentation could be relocated. The parameter section is useful but could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no output schema, the description is insufficient. It fails to clarify that this is historical data (despite the name), describe the structure of the returned DataFrame, or differentiate from sibling tools like currency_latest and currency_time_series. The return type is mentioned but not the columns or frequency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description carries the burden for parameters. It explains base, date (with example format), symbols, and api_key (including where to find it), which adds real meaning beyond the bare schema. However, it does not specify the format for symbols (e.g., comma-separated) or clarify whether api_key is mandatory, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Latest data from currencyscoop.com' but the tool is named currency_history and accepts a date parameter, implying historical data. There is no specific verb like 'fetch' or 'retrieve', and it does not distinguish itself from siblings like currency_latest or currency_time_series.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description does not explain whether this is for historical rates, current rates, or how it differs from currency_latest or currency_time_series, leaving the agent with no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
currency_latestBRead-onlyIdempotent
Latest data from currencyscoop.com https://currencyscoop.com/api-documentation :param base: The base currency you would like to use for your rates :type base: str :param symbols: A list of currencies you will like to see the rates for. You can refer to a list all supported currencies here :type symbols: str :param api_key: Account -> Account Details -> API KEY (use as password in external tools) :type api_key: str :return: Latest data of base currency :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | USD | |
| api_key | No | ||
| symbols | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds that an API key is required, the return type is pandas.DataFrame, and data is 'latest' (not historical). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a standard docstring with param and return sections, which is structured but includes redundancy (first line repeats the annotation title) and a dangling 'here' link without an actual URL. It is not overly long, but some sentences add limited value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose and parameters, and the annotations confirm it's a safe read operation. However, it lacks output schema details, does not explain possible currency codes or symbols format, and doesn't address errors, rate limits, or when to prefer sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, so the description carries the burden. It explains base and api_key well, but 'symbols' is described as 'a list' while the schema type is string, leaving the format ambiguous. No examples or default values are provided despite defaults existing in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Latest data from currencyscoop.com' and parameter docs clarify it retrieves exchange rates for a base currency with optional symbols. This is clear about the resource and scope, though it lacks an explicit verb and does not distinguish from sibling currency tools like currency_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as currency_history or currency_time_series. It also doesn't explicitly state prerequisites like API key requirement or appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
currency_pair_mapCRead-onlyIdempotent
指定货币的所有可获取货币对的数据 https://cn.investing.com/currencies/cny-jmd :param symbol: 指定货币 :type symbol: str :return: 指定货币的所有可获取货币对的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 美元 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds a return type (pandas.DataFrame) and an example URL, but does not disclose output columns, pair direction semantics, or potential edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise and uses a clear docstring structure with param/type/return/rtype sections. It has no redundant filler, but it is so terse that it omits important usage details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a sparse description, the return structure and symbol format are under-specified. The example URL uses currency codes (cny-jmd) while the default symbol is a Chinese name ('美元'), creating ambiguity about what the agent should pass.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the parameter, but it only repeats 'specified currency' and the type str, adding little beyond the parameter name. It does not specify whether the value should be a currency code like 'USD', a Chinese name like '美元', or how to discover valid symbols.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource: 'all obtainable currency pair data for a specified currency', which clearly conveys what the tool returns. It does not explicitly differentiate itself from sibling currency tools like currency_latest or currency_convert, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many related currency/forex siblings. The description only says what it returns, with no mention of prerequisites, alternatives, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
currency_time_seriesCRead-onlyIdempotent
Time-series data from currencyscoop.com P.S. need special authority https://currencyscoop.com/api-documentation :param base: The base currency you would like to use for your rates :type base: str :param start_date: Specific date, e.g., "2020-02-03" :type start_date: str :param end_date: Specific date, e.g., "2020-02-03" :type end_date: str :param symbols: A list of currencies you will like to see the rates for. You can refer to a list all supported currencies here :type symbols: str :param api_key: Account -> Account Details -> API KEY (use as password in external tools) :type api_key: str :return: Latest data of base currency :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | USD | |
| api_key | No | ||
| symbols | No | ||
| end_date | No | 2023-03-04 | |
| start_date | No | 2023-02-03 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds 'need special authority' and API key requirement, which is useful. However, the return docstring 'Latest data of base currency' is misleading for a time-series tool, and there is no disclosure of rate limits, error behavior, or date range constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a short purpose line followed by a standard docstring block. It is structured and readable, but not front-loaded: the critical 'need special authority' note is buried in the second line, and the param docs could be condensed into a more concise narrative. The external link adds value but the overall length is somewhat excessive for an MCP tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the returned DataFrame contains (columns, index, etc.), but it only says 'Latest data of base currency' which is inaccurate for a time series. It also does not clarify the interplay of start_date, end_date, and symbols, or what happens when all parameters are optional with defaults. The external API documentation link helps but does not compensate for the missing operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the full burden for parameter meaning. It documents all five parameters with types, date examples for start_date and end_date, clarifies symbols is a list, and gives specific guidance for api_key. Minor vagueness remains: the symbols description says 'You can refer to a list all supported currencies here' without a working link, but overall it compensates well for the empty schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Time-series data from currencyscoop.com' which identifies the resource and data type but lacks an explicit verb like 'retrieve' or 'fetch'. The parameter and return docs make the function's purpose clearer, and it is distinguishable from sibling currency tools like currency_latest because it focuses on time series over a date range.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like currency_history, currency_latest, or currency_convert. The only contextual note is 'need special authority', which is a warning rather than a usage guideline. No explicit exclusions or recommended scenarios are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drewry_wci_indexBRead-onlyIdempotent
Drewry 集装箱指数 https://infogram.com/world-container-index-1h17493095xl4zj :param symbol: choice of {"composite", "shanghai-rotterdam", "rotterdam-shanghai", "shanghai-los angeles", "los angeles-shanghai", "shanghai-genoa", "new york-rotterdam", "rotterdam-new york"} :type symbol: str :return: Drewry 集装箱指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | composite |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds a source URL and return type (pandas.DataFrame), giving some behavioral context. However, it does not disclose what data is fetched, frequency, or any potential side effects beyond what annotations already imply, which is acceptable given the read-only, idempotent nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively short, with the key information appearing early: the Chinese title, the source URL, and parameter documentation. The docstring-like format is clear and structured, though the URL line is somewhat extraneous. Overall, it is efficient and compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only index tool with one parameter and no output schema, the description provides the parameter choices and return type but does not describe the DataFrame's columns, time range, or data granularity. This is a moderate gap, but the simplicity of the tool and the presence of an explicit symbol enumeration make it minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single parameter 'symbol' with no description or enum. The description explicitly enumerates valid symbol values ('composite', 'shanghai-rotterdam', etc.) and specifies the type as str, providing meaningful information beyond the schema. It does not explain the meaning of each route, but the enumeration is valuable for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Drewry 集装箱指数' which identifies the resource (Drewry Container Index) but lacks an explicit verb like 'retrieve' or 'get'. It is clearer than a pure tautology because it names the specific index, yet it does not differentiate from sibling shipping index tools beyond the tool name. The symbol choices provide some context, but the overall purpose is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternative shipping index tools, nor any mention of exclusions or prerequisites. The description only lists symbol options, providing no usage context. An agent would not know why to choose this over, for example, macro_shipping_bdi.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_carbon_bjARead-onlyIdempotent
北京市碳排放权电子交易平台-北京市碳排放权公开交易行情 https://www.bjets.com.cn/article/jyxx/ :return: 北京市碳排放权公开交易行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which cover safety expectations. The description adds the source URL and the return type (pandas.DataFrame), which is useful but minimal. It does not disclose additional behavioral traits like data freshness, pagination, or error handling. Given the annotations cover the key safety profile, this meets the baseline but does not exceed it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the Chinese title, followed by the source URL and return type. Every line adds value: the title states the purpose, the URL provides traceability, and the return type informs output handling. It is somewhat terse and could be better structured with a separate description sentence, but it avoids waste and is appropriately short.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the burden of explaining what data the function returns. It states 'public trading market data' and specifies the source, but it does not detail the columns or structure of the DataFrame (e.g., price, volume, date fields). For a simple market data tool, this is minimal but acceptable; additional details would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema reflects that with an empty properties object. With no parameters to document, the description has no burden to explain semantics. The baseline is 4 for zero-parameter tools, and the description correctly adds no irrelevant param information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states that the tool provides public trading market data for Beijing's carbon emissions trading platform. It names the specific resource (Beijing carbon emissions) and distinguishes it from sibling tools like energy_carbon_gz or energy_carbon_sz by the 'bj' suffix and the explicit '北京市' reference. Though no explicit verb like 'get' is used, the noun phrase '公开交易行情' clearly indicates a data retrieval function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly identifies the tool as specific to Beijing's carbon market, implying it should be used when Beijing carbon trading data is needed. However, it does not explicitly mention alternatives or state when not to use it, such as pointing to other regional carbon tools (e.g., energy_carbon_sz for Shenzhen). With many similar sibling tools, explicit guidance would be valuable, but the Beijing-specific wording gives clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_carbon_domesticBRead-onlyIdempotent
碳交易网-行情信息 http://www.tanjiaoyi.com/ :param symbol: choice of {'湖北', '上海', '北京', '重庆', '广东', '天津', '深圳', '福建'} :type symbol: str :return: 行情信息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 湖北 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), but does not elaborate on data content, rate limits, or other behavioral aspects. This adds some context but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, containing only essential information: title, source URL, parameter documentation, and return type. Although the structure is docstring-style and mixes Chinese/English, it is appropriately sized and every line contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-parameter, read-only tool, the description is adequate but incomplete. It states the return type is a pandas.DataFrame but does not describe what columns or metrics are included in the returned '市场信息'. With no output schema, the description should provide more detail about the return value's structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a default value with no description (0% coverage). The description compensates by listing the allowed enum values ('湖北', '上海', '北京', etc.) and specifying the type as str, which gives agents the necessary parameter semantics beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves market information ('行情信息') from a specific carbon trading website (tanjiaoyi.com). It identifies the resource and action, but it does not explicitly differentiate from sibling tools like energy_carbon_bj or energy_carbon_gz, which serve similar regional purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 its alternatives. The description merely documents the parameter and return type, with no mention of use cases, exclusions, or when region-specific siblings might be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_carbon_euBRead-onlyIdempotent
深圳碳排放交易所-国际碳情 http://www.cerx.cn/dailynewsOuter/index.htm :return: 国际碳情每日行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive, so the bar is lower. The description adds the source URL and return type (pandas.DataFrame), which is useful, but it doesn't disclose details like data granularity, date range, or update frequency beyond 'daily'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a title, a source URL, and a return type. Every line adds value, no filler. This is a model of efficiency for a simple parameterless function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description covers the essentials: source and return type. However, the naming inconsistency (EU vs. international) could mislead an agent, and the description doesn't explain what columns or metrics are included in the DataFrame, slightly reducing completeness for a data-returning tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline of 4 applies. The description correctly documents the return type, and since there are no parameters to explain, nothing further is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns '国际碳情每日行情数据' (international carbon daily market data) from the Shenzhen Carbon Exchange, which is a specific resource. However, the tool name says 'eu' but the description says 'international', creating slight ambiguity about regional scope, so it's not a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling tools like energy_carbon_domestic, energy_carbon_bj, etc. No exclusions or alternatives are mentioned, leaving the agent to guess which carbon data source to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_carbon_gzBRead-onlyIdempotent
广州碳排放权交易中心-行情信息 http://www.cnemission.com/article/hqxx/ :return: 行情信息数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the agent knows this is a safe read operation. The description adds the source URL and return type, but does not disclose characteristics such as data update frequency, columns included, or potential pagination. With annotations covering safety, the extra context is marginal but not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with no unnecessary words. The title, URL, and return type lines each serve a purpose. It is front-loaded with the exchange name and clearly communicates the output type.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool with no output schema, the description provides the source URL and return type but lacks detail about the actual content structure (e.g., what columns or time range the '行情信息' includes). This is minimally sufficient but leaves gaps in understanding what the returned DataFrame will contain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema confirms no inputs are required. Per the rubric, a baseline of 4 is appropriate; the description does not need to explain parameter semantics, and no ambiguity exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Guangzhou Carbon Emissions Exchange) and the action (returning market/quote data), with the URL providing provenance. It is distinguishable from sibling tools by naming the specific exchange, though the term '行情信息' is somewhat generic and could be more specific about the type of data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like energy_carbon_bj or energy_carbon_sz. The description only states what it does, not in which scenarios it is the appropriate choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_carbon_hbBRead-onlyIdempotent
湖北碳排放权交易中心-现货交易数据-配额-每日概况 http://www.hbets.cn/list/13.html?page=42 :return: 现货交易数据-配额-每日概况行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so the description adds only the source URL and return type. It does not disclose additional behavioral traits such as rate limits, network requirements, or data update frequency beyond what annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and includes the essential URL and return type, but its first line is a verbatim repeat of the annotation title, which is redundant. Despite that, it is concise and front-loaded with the tool's identity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does explain the return type and high-level content (daily overview of quota spot data). However, it lacks specifics such as column names, date range, or data granularity, which would be useful for an agent to interpret the result fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 the schema already fully covers this aspect. The description does not mention parameters, but with no parameters to document, the baseline score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns spot trading data for Hubei Carbon Emissions Trading Center (quotas, daily overview) as a pandas DataFrame, and provides a source URL. It distinguishes itself from regional siblings by specifying '湖北' (Hubei), though it lacks an explicit action verb like 'fetch' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives like energy_carbon_bj, energy_carbon_gz, or energy_carbon_sz. The description only describes what the tool outputs, not the selection context or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_carbon_szBRead-onlyIdempotent
深圳碳排放交易所-国内碳情 http://www.cerx.cn/dailynewsCN/index.htm :return: 国内碳情每日行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as safe, read-only, idempotent, and non-destructive. The description adds the source URL and daily frequency (每日行情数据), providing some behavioral context beyond annotations. However, it does not disclose data freshness, time range, or caveats about the underlying source, so the added value is minimal but not absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and uses a conventional docstring format with :return: and :rtype:. The URL is useful. However, the title is duplicated from the annotations, which adds minimal redundancy. Overall, it is appropriately sized and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain the return value. It only says '国内碳情每日行情数据' (domestic carbon daily market data), which is vague. It does not specify what fields or columns the DataFrame contains, nor whether it covers a specific date or a historical range. For a tool with no parameters, the default behavior should be more explicitly documented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing to document. The empty schema fully defines the interface, and the description does not need to add parameter details. The baseline of 4 is appropriate given the lack of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Shenzhen Carbon Emissions Exchange) and the data type (domestic carbon daily market data), distinguishing it from regional siblings like energy_carbon_bj and energy_carbon_gz. The return line reinforces that it provides daily quotes as a DataFrame, making the purpose unmistakable despite the lack of an explicit verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as energy_carbon_bj, energy_carbon_gz, or energy_carbon_domestic. The only differentiation is the exchange name in the title, but there is no explicit when-to-use or alternative naming, leaving the agent to infer selection based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_oil_detailARead-onlyIdempotent
全国各地区的汽油和柴油油价 https://data.eastmoney.com/cjsj/oil_default.html :param date: 可以调用 ak.energy_oil_hist() 得到可以获取油价的调整时间 :type date: str :return: oil price at specific date :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20220517 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the source URL and return type (DataFrame) but no deeper behavioral traits such as rate limits, pagination, or data granularity. This is adequate given the annotations, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured, with a URL, parameter doc, return doc, and type. The first line is a noun phrase that repeats the title, but the additional elements (URL, parameter guidance) earn their place. It is not verbose and front-loads the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description gives the return type and a hint for parameter discovery. It lacks details on DataFrame columns or regional scope, which could reduce usability, but given the low complexity and strong annotations, it is minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'date' with no description (0% coverage). The description explains the date is an oil price adjustment time and points to energy_oil_hist() for valid values, adding meaning beyond the schema. However, it does not explicitly state the format (only the default implies YYYYMMDD), so it partially compensates for the lack of schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides gasoline and diesel oil prices across regions, and the :return section confirms it returns oil price for a specific date. This distinguishes its purpose (detail data for a given date) from siblings like energy_oil_hist (historical adjustment dates), though it does not explicitly name the alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parameter documentation explicitly instructs to call ak.energy_oil_hist() to obtain valid adjustment dates, which tells the agent how to source the required date and implicitly when to use this tool (for a specific date). It lacks explicit 'when not to use' statements but provides clear contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_oil_histBRead-onlyIdempotent
汽柴油历史调价信息 https://data.eastmoney.com/cjsj/oil_default.html :return: 汽柴油历史调价信息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and a source URL, but does not disclose any behavioral details like data range, columns, or potential quirks. With annotations present, this is modest but acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief, consisting of a title, a URL, and a return type. It is concise and front-loaded, but it is slightly repetitive: the first line and the ':return:' line say the same thing. This minor redundancy prevents a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only tool with rich annotations, the description is minimally sufficient. It states the output is a DataFrame of historical price adjustment info, but provides no details on columns, time period, or data source specifics beyond the URL. Given the simplicity, this is adequate but leaves room for more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain any parameter semantics. According to the rubric, a 0-parameter tool receives a baseline of 4. The description adds no parameter-related information because there is nothing to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '汽柴油历史调价信息' (gasoline and diesel historical price adjustment information), which is a clear resource identifier but lacks an explicit action verb like 'get' or 'fetch'. It distinguishes itself from siblings like energy_oil_detail by specifying historical price adjustment data, but this is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. There is no mention of suitable scenarios, exclusions, or related tools such as energy_oil_detail or macro_china_energy_index. The description simply repeats the title and URL without any contextual advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forbes_rankBRead-onlyIdempotent
福布斯中国-榜单 https://www.forbeschina.com/lists https://www.forbeschina.com/lists/1750 :param symbol: choice of {"2020福布斯美国富豪榜", "2020福布斯新加坡富豪榜", "2020福布斯中国名人榜", *} :type symbol: str :return: 具体指标的榜单 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 2021福布斯中国创投人100 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the return type (pandas.DataFrame) and source URLs but does not disclose additional behavioral traits like network dependence or data formatting specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and avoids unnecessary fluff, but the two URL lines and the wildcard token add noise without clear purpose. The layout is a docstring fragment rather than a clean, agent-oriented description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description gives source URLs and return type, but it does not specify the DataFrame's columns or how the symbol maps to specific Forbes lists. The ambiguous wildcard and lack of output schema leave a notable gap in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description documents the symbol parameter with example choices but includes an ambiguous '*' wildcard that is never explained. The schema's default value '2021福布斯中国创投人100' is not among the listed choices, creating confusion. It provides partial compensation for the 0% schema coverage but is incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as 福布斯中国-榜单 with source URLs, and the return type indicates it fetches list data. However, it lacks an explicit verb like '获取' or '返回', and differentiation from similar ranking tools (e.g., hurun_rank) relies on the brand name rather than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as hurun_rank or xincaifu_rank. The description only lists parameter choices and return type, with no contextual usage instructions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forex_hist_emARead-onlyIdempotent
东方财富网-行情中心-外汇市场-所有汇率-历史行情数据 https://quote.eastmoney.com/cnyrate/EURCNYC.html :param symbol: 品种代码;可以通过 ak.forex_spot_em() 来获取所有可获取历史行情数据的品种代码 :type symbol: str :return: 历史行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | USDCNH |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that it returns a pandas DataFrame of historical data, which is useful, but it does not disclose rate limits, pagination, or error behavior. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections: source, URL, param, return, and rtype. It is compact and front-loaded with the main purpose. The URL and docstring-like formatting are slightly verbose but each element adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no output schema and good annotations, the description is mostly adequate. It explains the return type and how to find valid symbols, but it doesn't clarify that it returns all available history (no date range) or describe output columns. This leaves minor ambiguity for new users.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description for the 'symbol' parameter, so the description carries the full burden. It explains that symbol is a code, tells how to get all valid codes via ak.forex_spot_em(), and provides an example URL with EURCNY. This goes beyond the schema and gives actionable guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves historical exchange rate data from East Money's forex market, using the phrase '历史行情数据' (historical market data). It distinguishes itself from spot-based siblings like forex_spot_em by the word '历史' and the URL example, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly directs users to use ak.forex_spot_em() to obtain valid symbol codes, which is a useful practical guideline. However, it does not explicitly state when to use this tool versus other forex or history-related siblings, nor does it provide exclusions or alternative recommendations beyond that.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forex_spot_emARead-onlyIdempotent
东方财富网-行情中心-外汇市场-所有汇率-实时行情数据 https://quote.eastmoney.com/center/gridlist.html#forex_all :return: 实时行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering safety. The description adds the data source (Eastmoney) and return type (pandas.DataFrame), plus the scope ('all rates'), which is useful context. However, it doesn't disclose any additional behavioral traits like pagination, update frequency, or potential issues, but with annotations present, the bar is lower.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single string containing the title, source URL, and return annotations. It is relatively concise and front-loaded with the key purpose. The inclusion of the URL and return type is useful, though the format is slightly unstructured. No unnecessary words, but it could be organized better.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description should ideally explain what the returned DataFrame contains (e.g., columns like currency pair, price, change). It only says 'real-time market data' and the return type. This is adequate for a simple spot data tool but lacks detail about the returned fields, which could matter for an agent deciding how to use the data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the schema is trivially covered. The description still provides context about the return content (real-time market data) and type (pandas.DataFrame), which adds meaning beyond the empty schema. For a zero-parameter tool, this is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing real-time spot data for all foreign exchange rates from Eastmoney.com, with a specific URL. It uses a specific verb ('实时行情数据' = real-time market data) and resource. While it doesn't explicitly differentiate from sibling tools like forex_hist_em, the 'spot' and 'all rates' scope makes the purpose reasonably clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving real-time snapshot data of all forex rates from Eastmoney, but it provides no explicit guidance on when to use this tool versus alternatives (e.g., for historical data or specific currency pairs). No exclusions or alternative tool mentions are given, so usage guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fred_mdCRead-onlyIdempotent
The accompanying paper shows that factors extracted from the FRED-MD dataset share the same predictive content as those based on the various vintages of the so-called Stock-Watson data. In addition, it suggests that diffusion indexes constructed as the partial sum of the factor estimates can potentially be useful for the study of business cycle chronology. :param date: e.g., "2020-03"; from "2015-01" to now :type date: str :return: Monthly Data :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 2020-01 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds that it returns monthly data and that date must be between '2015-01' and now, which is useful. However, it does not explain what columns or factors are included, and the paper abstract at the top is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences are an academic abstract that is irrelevant to using the tool, pushing the operational docstring to the end. This is not concise or front-loaded; it wastes the user's attention.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain the return structure. It only says 'Monthly Data' with no column details. The tool's relationship to FRED-MD factors and diffusion indexes is hinted but not specified. The single parameter is documented, but the overall data shape and semantics are unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines a string 'date' with no description, while the description provides a format example ('2020-03'), a valid range ('2015-01' to now), and the type. This significantly clarifies the parameter beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description leads with a paper abstract rather than a clear verb+resource statement. The only functional hint is ':return: Monthly Data', but the tool's action (fetch/retrieve) is never explicitly stated. The name fred_md implies FRED-MD dataset, but the description lacks a direct statement of what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. It does not mention sibling tools like fred_qd or other macro data tools, nor any exclusions or prerequisites. The date parameter example is the only context, but it doesn't help with tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fred_qdCRead-onlyIdempotent
FRED-QD is a quarterly frequency companion to FRED-MD. It is designed to emulate the dataset used in "Disentangling the Channels of the 2007-2009 Recession" by Stock and Watson (2012, NBER WP No. 18094) but also contains several additional series. Comments or suggestions are welcome. :param date: e.g., "2020-03"; from "2015-01" to now :type date: str :return: Quarterly Data :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 2020-01 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the valid date range 'from "2015-01" to now' and the return type (pandas.DataFrame), which is useful context beyond the annotations. However, it does not disclose any additional behavioral traits like pagination, data limitations, or error handling, and the 'Comments or suggestions are welcome' line is irrelevant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is padded with irrelevant content such as 'Comments or suggestions are welcome' and a verbose citation. The key parameter and return information appears only at the end, making the structure less front-loaded. Several sentences earn no functional value for an AI agent selecting or invoking the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description is adequate but not complete. It identifies the dataset, the date parameter's format and range, and the return type. However, it leaves ambiguity about what the returned DataFrame contains (columns, multiple series) and whether 'date' refers to a single quarter or a range. Given the lack of output schema, more detail on the return shape would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines 'date' as a string with a default and no description (0% coverage). The description compensates by providing a concrete example ('2020-03') and the valid range ('from "2015-01" to now'), which clarifies the expected format and bounds. This is valuable, though it does not fully explain the semantic role of the date (e.g., specific quarter vs. start of a range).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies FRED-QD as a quarterly frequency companion to FRED-MD, which distinguishes it from fred_md and other macro tools. However, it lacks an explicit action verb such as 'fetch' or 'retrieve'—the tool's purpose is implied rather than stated. The resource and scope are present, but the verb is missing, making it less clear than a strong action-oriented description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The phrase 'quarterly frequency companion to FRED-MD' hints at a use case (quarterly vs. monthly data), but no direct instruction or exclusion is provided. No prerequisites, alternatives, or context for choosing this tool over siblings like fred_md are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_announcement_dividend_emBRead-onlyIdempotent
东方财富网站-天天基金网-基金档案-基金公告-分红配送 https://fundf10.eastmoney.com/jjgg_000001_2.html :param symbol: 基金代码;可以通过调用 ak.fund_name_em() 接口获取 :type symbol: str :return: 分红配送-公告列表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type (pandas.DataFrame), which is useful context. It does not disclose pagination, rate limits, or other operational details, so it adds only moderate value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a terse docstring with no wasted words, front-loading the source and resource. It includes a URL and param/return tags that are functional. Structure is basic but appropriate for a simple retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should carry more of the return-value burden. It states the return is a pandas.DataFrame of dividend distribution announcements, which is minimally sufficient. However, it omits what columns the DataFrame contains, whether pagination is needed, or any time-range filtering, leaving clear gaps for an agent to invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is one parameter. The description maps 'symbol' to a fund code ('基金代码') and explains how to retrieve it via ak.fund_name_em(), which meaningfully compensates for the bare schema. It could go further by specifying format (e.g., six digits), but the key semantic is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource: dividend distribution announcements ('分红配送') from East Money's fund archive. This distinguishes it from sibling announcement tools like fund_announcement_report_em and fund_announcement_personnel_em. However, it lacks an explicit verb (e.g., 'get' or 'list'), relying on the tool name to convey the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only mentions how to obtain the fund code parameter, which is a parameter usage note rather than usage context. There are no exclusions or comparisons to similar announcement tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_announcement_personnel_emARead-onlyIdempotent
东方财富网站-天天基金网-基金档案-基金公告-人事调整 https://fundf10.eastmoney.com/jjgg_000001_4.html :param symbol: 基金代码;可以通过调用 ak.fund_name_em() 接口获取 :type symbol: str :return: 人事调整-公告列表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, covering the safety profile. The description adds the return type (pandas.DataFrame) and the source URL, which is useful return-format context, but it does not disclose rate limits, authentication, or other behavioral traits beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the data source and category. The inclusion of a sample URL is slightly extraneous but still informative; every other sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only data retrieval tool with no output schema, the description covers the purpose, parameter meaning, and return type adequately. It lacks explicit usage alternatives, but that is a minor gap given the tool's simplicity and the annotations' coverage of safety.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the full burden. It defines 'symbol' as a fund code and explicitly tells the agent how to obtain it by calling ak.fund_name_em(), adding substantial meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific data source and announcement category (東方財富基金公告-人事調整) and the return type (人事調整-公告列表). It clearly distinguishes this tool from sibling announcement tools such as fund_announcement_report_em and fund_announcement_dividend_em by specifying 'personnel adjustments'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not state when to use this tool versus alternatives; it only implies usage through the category name. It does provide a hint on obtaining the symbol via ak.fund_name_em(), which is a useful usage note for the parameter but not for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_announcement_report_emBRead-onlyIdempotent
东方财富网站-天天基金网-基金档案-基金公告-定期报告 https://fundf10.eastmoney.com/jjgg_000001_3.html :param symbol: 基金代码;可以通过调用 ak.fund_name_em() 接口获取 :type symbol: str :return: 定期报告-公告列表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds only the return type (pandas.DataFrame of an announcement list); it says nothing about date coverage, pagination, or result ordering that annotations do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded with the resource identity, source site and URL. The Sphinx :type/:rtype lines are mildly redundant, but overall there is little wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with no output schema, the description covers the input and the return shape, and annotations cover safety. It stops short of clarifying result scope (which reporting periods, how many rows, sorting), which an agent might need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden, and it does: symbol is the fund code, with a pointer to ak.fund_name_em() for discovery. That is meaningful guidance beyond the bare string type in the schema, though it omits format details (e.g. length/zero-padding).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource: periodic report announcements from the East Money / TianTian fund archive (基金公告-定期报告), and even gives the source URL. This partially distinguishes it from siblings like fund_announcement_personnel_em and fund_announcement_dividend_em via '定期报告', though it never explicitly contrasts them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as fund_announcement_dividend_em or fund_announcement_personnel_em. The only procedural hint is that the symbol can be obtained via ak.fund_name_em(), which helps obtain a parameter but not choose the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_aum_emBRead-onlyIdempotent
东方财富-基金-基金公司排名列表 https://fund.eastmoney.com/Company/lsgm.html :return: 基金公司排名列表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds the source URL and return type (pandas DataFrame), which is some context, but doesn't disclose any additional behavioral traits or caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, contains only essential information (purpose, URL, return type), and is front-loaded with the tool's function. It lacks a structured explanation but earns a good score for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (no parameters, no output schema), the description provides the essential return type and source. However, it doesn't explain what columns the DataFrame contains or the ranking criteria, which could leave an agent uncertain about whether this matches a need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema confirms this. Per the scoring guide, the baseline for zero parameters is 4. The description doesn't need to add parameter details since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning a fund company ranking list from Eastmoney, with a specific source URL. It doesn't explicitly differentiate from siblings, but the name 'fund_aum_em' and description provide a clear resource and action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any context about the data (e.g., time range, ranking criteria). It simply states the source and return type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_aum_hist_emBRead-onlyIdempotent
东方财富-基金-基金公司历年管理规模排行列表 https://fund.eastmoney.com/Company/lsgm.html :param year: query year :type year: str :return: 基金公司历年管理规模排行列表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | 2023 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior, so the description's main additions are the source URL and the pandas.DataFrame return type. It does not disclose deeper behavioral nuances like column contents or data currency, but it doesn't contradict any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the purpose, followed by a source URL and standard docstring entries for parameter and return. Every line carries some information, though it is somewhat terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool with one optional parameter and no output schema, the description provides the essential resource, source, and return type. However, it omits practical details like supported year ranges or ranking scope, leaving room for ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description is expected to compensate. It only states that 'year' is a string for the query year, which adds little beyond the parameter name and default. No format examples, valid range, or domain-specific clarification is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns a historical ranking list of fund company management scale (AUM) from Eastmoney, which identifies both the resource and the action. It doesn't explicitly contrast with sibling tools like fund_aum_em or fund_aum_trend_em, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool instead of alternatives such as fund_aum_em or fund_scale_change_em. The description only provides parameter and return documentation, leaving the selection criteria entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_aum_trend_emBRead-onlyIdempotent
东方财富-基金-基金市场管理规模走势图 https://fund.eastmoney.com/Company/default.html :return: 基金市场管理规模走势图 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), but no additional behavioral details such as data frequency, update schedule, or scope. This is acceptable for a simple read-only tool, but the description itself adds minimal extra context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and includes the source URL and return type, but it is slightly redundant: the first line and the ':return:' line essentially repeat the same concept. It remains concise and front-loaded with the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the zero-parameter nature, rich annotations (read-only, idempotent, non-destructive), and simple DataFrame return, the description is nearly complete. It identifies the data source and return type. However, it does not describe the data shape or columns, which could be useful if the agent needs to interpret the DataFrame, but this is not critical for a no-param retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter meanings. The input schema confirms no parameters, and the description's return mention is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns a fund market management scale trend chart from Eastmoney, which is specific and clear. However, it lacks an explicit verb like 'get' or 'fetch', and the phrase '走势图' is repeated in the return line. It does not distinguish itself from sibling tools such as fund_aum_hist_em or fund_aum_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No mention of whether it covers the entire market, historical range, or how it differs from similar AUM tools. The description only states what it returns, not the context for selecting it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_balance_position_lgARead-onlyIdempotent
乐咕乐股-基金仓位-平衡混合型基金仓位 https://legulegu.com/stockdata/fund-position/pos-pingheng :return: 平衡混合型基金仓位 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that it returns a pandas DataFrame and provides the source URL, but does not disclose data volume, columns, time range, or other behavioral aspects. Minimal added context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two lines containing the Chinese name, a URL, and return type information. Every sentence carries essential information with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, no-parameter, read-only tool with strong annotations, the description is complete. It states the data source, return type, and what the data represents. The lack of an output schema is mitigated by the clear return type declaration (pandas DataFrame).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is an empty object, so there is nothing to explain. The baseline for 0 params is 4, and the description does not need to compensate for missing parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns '平衡混合型基金仓位' (balanced hybrid fund position) as a pandas DataFrame, which is a specific verb+resource+scope. This distinguishes it from sibling tools like fund_stock_position_lg and fund_linghuo_position_lg which target different fund categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating the exact fund category (balanced hybrid), but provides no explicit when-to-use or when-not-to-use guidance, nor does it mention alternative tools for other fund types. The use case is inferred from the noun phrase, not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_cf_emARead-onlyIdempotent
天天基金网-基金数据-分红送配-基金拆分 https://fund.eastmoney.com/data/fundchaifen.html#FSRQ,desc,1,,, :param year: 查询年份 :type year: str :param typ: 基金类型;空串表示全部;choice of {"", "指数型-其他", "指数型-海外股票", "指数型-固收", "指数型-股票", "债券型-中短债", "债券型-长债", "债券型-可转债", "债券型-混合债", "债券型-混合一级", "债券型-混合二级", "商品(不含QDII)", "货币型", "混合型-平衡", "混合型-偏债", "混合型-偏股", "混合型-灵活", "股票型", "QDII", "FOF"} :type typ: str :param rank: 排序字段;choice of {"BZDM", "ABBNAME", "FSRQ", "FHFCZ"}; "BZDM": 基金代码, "ABBNAME": 基金简称,"FSRQ": 拆分折算日,"FHFCZ": 拆分折算(每份) :type rank: str :param sort: 排序方向;choice of {"asc", "desc"} :type sort: str :param page: 查询页数;请求第page页数据;-1 表示全部页面 :type page: int :return: 基金拆分 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| typ | No | ||
| page | No | ||
| rank | No | FSRQ | |
| sort | No | desc | |
| year | No | 2025 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is well covered. The description adds only the page traversal rule (-1 = all pages) and the source domain; it does not disclose rate limiting, paging cost for large fetches, or column/return behavior beyond the DataFrame type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The Sphinx-style block is front-loaded with the resource and source URL, then parameter docs; every line carries information, though the repeated :param:/:type: formatting is slightly verbose versus prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only data fetch with no output schema, the description identifies the source, the data set, all parameters and the return type (pandas.DataFrame of 基金拆分). It does not enumerate the returned columns, but that is a minor gap given the annotations already establish the tool's safety profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden and does so thoroughly: it documents all five parameters, decodes the rank codes (BZDM=基金代码, ABBNAME=基金简称, FSRQ=拆分折算日, FHFCZ=拆分折算/每份), enumerates typ values, lists sort directions and the page=-1 sentinel. This is exactly what low-coverage schemas need.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific source (天天基金网), data area (分红送配-基金拆分) and URL, so an agent can tell it retrieves fund split (拆分) records rather than the sibling dividend tools (fund_fh_em, fund_etf_dividend_sina). It does not, however, explicitly contrast itself with those siblings, leaving differentiation to the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as fund_fh_em or fund_announcement_dividend_em, nor any prerequisites or exclusions. The URL is a source pointer, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_etf_category_sinaARead-onlyIdempotent
新浪财经-基金列表 https://vip.stock.finance.sina.com.cn/fund_center/index.html#jjhqetf :param symbol: choice of {"封闭式基金", "ETF基金", "LOF基金"} :type symbol: str :return: 指定 symbol 的基金列表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | LOF基金 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds only the return type (pandas.DataFrame) and the enumerated symbol choices, but does not disclose additional behavioral aspects such as data freshness, pagination, or rate limits. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with title, URL, parameter, and return sections. It is not overly verbose, but the inclusion of a URL is unnecessary for an agent and adds minor noise. The structure is clean and front-loaded with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description provides the essential information: it returns a pandas DataFrame with a fund list, and the parameter domain is fully enumerated. It lacks details on the DataFrame columns or any limitations, but for a basic list retrieval, the description is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no description for the 'symbol' parameter (coverage 0%), so the description carries the full burden. It explicitly lists the allowed values ('封闭式基金', 'ETF基金', 'LOF基金') and the type (str), which adds meaningful semantics beyond the bare schema default. The parameter's optionality is not stated in the description but is present in the schema default, and the choices are self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '新浪财经-基金列表' (Sina Finance Fund List) and specifies that it returns a fund list for the given symbol, with choices of closed-end, ETF, or LOF funds. This not only identifies the specific verb (list) and resource (fund categories from Sina) but also distinguishes it from the sibling tool fund_etf_category_ths by naming Sina as the source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that it is used to retrieve fund lists by category but does not explicitly state when to prefer this over alternatives like fund_etf_spot_em or fund_etf_category_ths. There are no exclusions or alternative recommendations, leaving the agent to infer usage from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_etf_category_thsBRead-onlyIdempotent
同花顺理财-基金数据-每日净值-实时行情 https://fund.10jqka.com.cn/datacenter/jz/ :param symbol: 基金类型;choice of {"股票型", "债券型", "混合型", "ETF", "LOF", "QDII", "保本型", "指数型", ""}; "" 表示全部 :type symbol: str :param date: 查询日期 :type date: str :return: 基金实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| symbol | No | ETF |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context by naming the data source (同花顺), providing the source URL, and stating the return type is a pandas DataFrame, but it does not add richer behavioral details such as rate limits, authentication requirements, or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a recognizable docstring structure with purpose, URL, parameter, and return sections. It is front-loaded with the data domain, though the URL is not strictly necessary and the opening line duplicates the annotation title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read-only data retrieval tool, the description covers the source, both parameters, and the return type. However, there is no output schema, and the description does not specify date format or what columns/fields the returned DataFrame contains, leaving meaningful gaps for an agent that needs to interpret the results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It fully enumerates the symbol choices and clarifies that an empty string means all types, which is valuable semantic detail absent from the schema. It is less complete for date, giving only '查询日期' without format or timezone details, and it does not mention the schema default of symbol="ETF".
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a Tonghuashun (同花顺) fund data source returning daily net value and real-time quotes, with the symbol parameter defining the fund category. This makes the resource and scope clear, though it reads more like a data page title than an explicit action verb and does not distinguish itself from siblings such as fund_etf_category_sina or fund_etf_spot_ths.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It only enumerates the symbol choices and notes that "" means all, which describes parameter usage but not task selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_etf_dividend_sinaBRead-onlyIdempotent
新浪财经-基金-ETF 基金-累计分红 https://finance.sina.com.cn/fund/quotes/510050/bc.shtml :param symbol: 基金名称,可以通过 ak.fund_etf_category_sina() 函数获取 :type symbol: str :return: 累计分红 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | sh510050 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds only the return type (pandas.DataFrame) and that it returns cumulative dividend data; it says nothing about rate limits, data freshness, or empty-result behavior, so it is a modest add-on rather than rich context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the docstring markup (:param:, :type:, :return:, :rtype:) restates information already implied by the schema, and the raw URL adds bulk without adding selection value. The purpose line is front-loaded, which is a plus.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output-schema read tool this is roughly adequate: the agent learns the data source, the parameter provenance, and the return type. It is still missing format clarification for the symbol and any note on how the DataFrame is shaped, so it is viable but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it partly does by telling the agent the symbol comes from ak.fund_etf_category_sina(). However it labels symbol as 基金名称 (fund name) while the schema default 'sh510050' is a code, leaving the expected format ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (Sina Finance ETF fund cumulative dividends / 累计分红) plus the source URL and a concrete example symbol (510050), so the agent knows exactly what data this returns. It does not, however, distinguish itself from dividend-related siblings such as fund_fh_em or fund_announcement_dividend_em, which keeps it below a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance; the only procedural hint is that the symbol can be obtained via ak.fund_etf_category_sina(). No alternative tool is named or excluded, so the agent must infer routing on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_etf_fund_daily_emBRead-onlyIdempotent
东方财富网-天天基金网-基金数据-场内交易基金 https://fund.eastmoney.com/cnjy_dwjz.html :return: 当前交易日的所有场内交易基金数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that it returns data for the current trading day and as a pandas.DataFrame, but does not disclose other behavioral traits like data columns, pagination, or potential latency. This is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, with a clear structure: source, scope, return type. The first line repeats the title, but it is not harmful. Every sentence contributes, and there is no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only data retrieval tool, the description provides the essential context: data source URL, what data is returned (all on-exchange funds for current trading day), and return type. It could list columns or edge cases, but given the simplicity and existing annotations, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameter syntax. It still adds value by specifying the return type (pandas.DataFrame) and the data scope (current trading day), which is sufficient for a no-parameter data retrieval function.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns all on-exchange (场内交易) fund data for the current trading day, with a specific verb and resource. It is distinguishable from sibling fund tools by the '场内交易基金' scope, though it does not explicitly name any alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus similar fund daily tools (e.g., fund_etf_spot_em, fund_open_fund_daily_em). There are no explicit exclusions or alternatives, so an agent has to infer usage purely from the tool name and category.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_etf_fund_info_emBRead-onlyIdempotent
东方财富网站-天天基金网-基金数据-场内交易基金-历史净值明细 https://fundf10.eastmoney.com/jjjz_511280.html :param fund: 场内交易基金代码,可以通过 fund_etf_fund_daily_em 来获取 :type fund: str :param start_date: 开始统计时间 :type start_date: str :param end_date: 结束统计时间 :type end_date: str :return: 东方财富网站-天天基金网-基金数据-场内交易基金-历史净值明细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| fund | No | 511280 | |
| end_date | No | 20500101 | |
| start_date | No | 20000101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint, so the safety profile is fully covered. The description adds only the source site and the return type (pandas.DataFrame); it omits date format, pagination, rate-limit and column-shape details that would be genuinely additive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The source-path header is repeated three times (description opening, :return and :rtype), and the title duplicates it again, so there is measurable redundancy. The structure is front-loaded but wastes sentences restating the same provenance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the :rtype pandas.DataFrame line signals the return shape, and all parameters are described. Missing pieces are date-format conventions and the returned column set, which an agent would need to interpret results correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load, and it does name all three parameters (fund, start_date, end_date) with Chinese meanings and a source tool for fund codes. However it never states the required date format (YYYYMMDD implied only by the defaults) or how date bounds are interpreted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the data source (东方财富-天天基金网) and the exact resource (场内交易基金-历史净值明细), which is a specific verb+resource and distinguishes it from sibling fund tools like fund_etf_fund_daily_em (daily quotes). It stops short of a concise English statement of the action, but the scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only routing guidance is that the fund code '可以通过 fund_etf_fund_daily_em 来获取', which is a useful dependency hint pointing to a sibling. There is no guidance on when to prefer this over fund_etf_hist_em or fund_open_fund_info_em, and no explanation of the effective date range implied by the defaults.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_etf_hist_emARead-onlyIdempotent
东方财富-ETF行情 https://quote.eastmoney.com/sz159707.html :param symbol: ETF 代码 :type symbol: str :param period: choice of {'daily', 'weekly', 'monthly'} :type period: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :param adjust: choice of {"qfq": "前复权", "hfq": "后复权", "": "不复权"} :type adjust: str :return: 每日行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| period | No | daily | |
| symbol | No | 159707 | |
| end_date | No | 20500101 | |
| start_date | No | 19700101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds that it returns a pandas.DataFrame of daily market data, but does not disclose any additional behavioral traits such as data source limitations, rate limits, or handling of invalid symbols. It does not contradict the annotations, but it provides minimal extra value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a structured docstring with a clear title, URL, and parameter definitions. Each line serves a purpose (giving choices, types, and return info). It is not overly verbose; the only potentially extraneous element is the URL, but it provides context. Overall it is efficient and well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a historical data retrieval tool, the description covers the essential aspects: what data (ETF行情), from where (Eastmoney), how to specify it (symbol, period, dates, adjust), and what is returned (daily quotes DataFrame). It lacks explicit date format specification (e.g., YYYYMMDD), but the schema defaults (19700101, 20500101) and the docstring's '开始日期'/'结束日期' imply this. No output schema exists, so return details are minimal but sufficient for a simple OHLCV-type tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are no enums, so the description carries the full burden for parameter meaning. It explicitly lists each parameter with type and allowed choices: symbol as ETF代码, period as daily/weekly/monthly, start_date/end_date as dates, and adjust with qfq/hfq/'' (前复权/后复权/不复权). This is rich, necessary semantic information that the schema alone does not provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as 东方财富-ETF行情 (Eastmoney ETF quotes) with a URL, and the return type is stated as 每日行情 (daily quotes). It is specific about the data source and instrument type, though it lacks an explicit action verb like 'fetch' or 'get'. It distinguishes from siblings like fund_etf_hist_sina by the 'em' (Eastmoney) in the name and the Chinese source, but does not explicitly contrast them in the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as fund_etf_hist_min_em or fund_etf_hist_sina. There is no mention of scenarios, prerequisites, or exclusions. It only states the parameters and return type, leaving the agent to infer usage from the name and parameter choices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_etf_hist_min_emBRead-onlyIdempotent
东方财富-ETF 行情 https://quote.eastmoney.com/sz159707.html :param symbol: ETF 代码 :type symbol: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :param period: choice of {"1", "5", "15", "30", "60"} :type period: str :param adjust: choice of {'', 'qfq', 'hfq'} :type adjust: str :return: 每日分时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| period | No | 5 | |
| symbol | No | 159707 | |
| end_date | No | 2222-01-01 09:32:00 | |
| start_date | No | 1979-09-01 09:32:00 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the data source URL and return type (pandas.DataFrame), but does not disclose rate limits, error handling, or the exact DataFrame structure. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a well-organized docstring with title, URL, parameters, and return information separated clearly. It is not overly verbose and front-loads the data source. The structure is conventional, though the URL line adds moderate value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides essential information: source, parameters, and return type. However, it lacks details on the returned columns, date range behavior, and usage guidance relative to siblings. In the absence of an output schema, the description should have clarified the return structure more fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description fully compensates by explaining all parameters: symbol (ETF code), start_date, end_date, period choices, and adjust choices. However, date format and period units (minutes) are not explicitly stated, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description title '东方财富-ETF 行情' and return statement '每日分时行情' clearly indicate that the tool fetches minute-level ETF quotes from Eastmoney. The parameter list specifies symbol, dates, period, and adjust. However, it lacks an explicit verb like '获取' and does not differentiate from sibling tools that also provide ETF history (e.g., fund_etf_hist_em), relying on the name 'hist_min' for that distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or related tools. The URL example is not a usage guide. Given many siblings like fund_etf_hist_em and fund_lof_hist_min_em, this absence of usage context is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_etf_hist_sinaBRead-onlyIdempotent
新浪财经-基金-ETF 基金-日行情数据 https://finance.sina.com.cn/fund/quotes/159996/bc.shtml :param symbol: 基金名称,可以通过 ak.fund_etf_category_sina() 函数获取 :type symbol: str :return: 日行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | sh510050 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered structurally. The description adds the upstream source URL and that the return is a pandas.DataFrame of daily quotes, mild extra context but no rate-limit, coverage, or date-range behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the resource, but it is a raw docstring with a bare URL and an ':rtype: pandas.DataFrame' line that restate obvious information. Some trimming/reformatting would improve density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, annotation-covered read tool with no output schema, the definition covers source, parameter sourcing, and return type. It stops short of describing the DataFrame columns, date coverage, or limits, which an agent would need for correct downstream use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one parameter at 0% schema coverage, the description carries the load and does add value: it identifies 'symbol' as a fund name and points to ak.fund_etf_category_sina() as the source of valid values, which the bare schema (default 'sh510050') does not convey. It still omits accepted symbol format nuances for a code-style input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title/description names a specific resource ('新浪财经-基金-ETF 基金-日行情数据') and the verb is implied by '日行情数据' (daily quote data), so an agent knows it retrieves ETF daily history from Sina. However, it does not distinguish itself from close siblings such as fund_etf_hist_em, fund_etf_hist_min_em, or fund_etf_spot_em, leaving selection ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this tool versus the East Money or THS ETF-history variants, and no scope/frequency qualifiers. The only guidance is how to obtain the symbol via ak.fund_etf_category_sina(), which is parameter sourcing rather than usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_etf_scale_sseBRead-onlyIdempotent
上海证券交易所-产品-基金产品-ETF产品-ETF产品列表-基金规模 https://www.sse.com.cn/assortment/fund/etf/list/scale/ :param date: 统计日期,默认为空返回最新数据,格式如 "20250115" :type date: str :return: ETF基金份额数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20250115 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive behavior, lowering the bar. The description adds the useful behavioral note that an empty date returns the latest data, but does not describe return shape, pagination, or freshness beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring-style layout is front-loaded with the source path and URL, then a compact param/return block. The breadcrumb path is somewhat verbose but conveys provenance, and no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only fetch with no output schema, the description supplies the source, the parameter format/default and the return type (pandas.DataFrame of ETF share/scale data). Annotations cover the safety profile, so what remains is adequate to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the sole 'date' parameter, so the description carries the burden and does so: it explains the format ("20250115") and the default-empty-returns-latest behavior. This meaningfully compensates for the missing schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source (Shanghai Stock Exchange), the resource (ETF fund scale list) and provides the canonical URL, so the agent knows this retrieves SSE ETF scale data. It distinguishes from the SZSE counterpart mainly through the naming/breadcrumb rather than explicit text, so it is clear but not sibling-differentiating in prose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this over the many sibling fund/ETF tools (e.g. fund_etf_scale_szse, fund_etf_spot_em). The only usage hint is the date default behavior, which is parameter guidance rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_etf_scale_szseCRead-onlyIdempotent
深圳证券交易所-基金产品-基金列表-ETF基金份额 https://fund.szse.cn/marketdata/fundslist/index.html :return: ETF基金份额数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the source URL and the fact that it returns a DataFrame. It does not disclose any additional behavioral traits such as data freshness, update frequency, size limits, or whether it includes historical data or only current shares. The minimal addition leaves the agent without useful behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (three lines) and includes the title, a URL, and return type. It is concise, but the structure is raw and resembles a docstring fragment. The URL and return type are relevant, but the overall formatting is not polished. It earns a mid score because it is not verbose but also not well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no output schema, the description should clearly explain what data is returned, how current it is, and how it relates to other tools. The description merely states 'ETF基金份额数据' (ETF fund shares data) and the DataFrame return type. It does not mention the time span, columns, or whether it is a snapshot or time series. Also, it fails to differentiate from similar SZSE scale tools like fund_scale_daily_szse, making it incomplete for an agent to select correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description doesn't need to explain parameters, and the schema confirms no required or optional inputs. The description appropriately omits parameter details since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the source and data type: '深圳证券交易所-基金产品-基金列表-ETF基金份额' (SZSE fund products - fund list - ETF fund shares) and mentions the return type as pandas.DataFrame. While it lacks an explicit verb like 'list' or 'fetch', the resource is clearly specified and the name itself is descriptive. It is distinguishable from the sibling fund_etf_scale_sse by the 'szse' qualifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as fund_etf_scale_sse, fund_scale_daily_szse, or other ETF fund tools. There is no mention of specific use cases, prerequisites, or exclusions. Users must infer from the name and title alone, which is insufficient for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_etf_spot_emBRead-onlyIdempotent
东方财富-ETF 实时行情 https://quote.eastmoney.com/center/gridlist.html#fund_etf :return: ETF 实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no behavioral context beyond the return type (pandas.DataFrame) and a source URL; it does not disclose pagination, data freshness, or column details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, containing only a title, a URL, and return type info. It is concise without redundant explanations, though the structure is minimal and lacks an explicit overview.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description offers almost no detail about the contents of the returned DataFrame. With no output schema, the agent is left without information about columns, data formatting, or any limitations, making it insufficient for non-trivial use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the schema coverage is trivially 100%. The baseline for 0-param tools is 4, and there is no need for the description to explain parameter meanings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '东方财富-ETF 实时行情' clearly identifies the resource (ETF) and data source (East Money) and indicates real-time quotes. It is concise and specific, though it lacks an explicit verb like 'fetch' or 'list', which is typical for data-retrieval tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of exclusions, prerequisites, or scenarios where this tool is preferred over sibling tools like fund_lof_spot_em or fund_etf_spot_ths.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_etf_spot_thsBRead-onlyIdempotent
同花顺理财-基金数据-每日净值-ETF-实时行情 https://fund.10jqka.com.cn/datacenter/jz/kfs/etf/ :param date: 查询日期 :type date: str :return: ETF 实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the description does not need to restate safety. It adds the source URL and DataFrame return type, but lacks details on date format, pagination, or rate limits. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is compact and well-structured, with a title, source URL, and parameter/return docs. It is front-loaded with the essential purpose and does not include filler, though the URL could be seen as extra detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool, the description covers source, return type, and parameter meaning. However, it omits date format conventions and behavior when date is empty, leaving some ambiguity for an agent invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no description for 'date', and the description only gives ':param date: 查询日期' (query date) and type string. It lacks format examples (e.g., YYYYMMDD vs YYYY-MM-DD), default behavior, or whether an empty date means today, providing minimal semantic compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly identifies the tool as fetching ETF real-time quotes from 同花顺 (THS), with a source URL and return type. It distinguishes from sibling ETF tools by naming THS and ETF spot, though the verb is implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description does not mention exclusions, preferred contexts, or sibling tools that might be more appropriate for related queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_exchange_rank_emARead-onlyIdempotent
东方财富网-数据中心-场内交易基金排行 https://fund.eastmoney.com/data/fbsfundranking.html :return: 场内交易基金数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), which is useful, but it does not disclose behavioral details such as data frequency, columns, or network dependencies. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: source, URL, return description, and return type in a few lines. Every piece of text earns its place, and it is front-loaded with the core purpose. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool, the description provides the essential context: data source, entity type (on-exchange fund ranking), and output format (DataFrame). It lacks column details or update frequency, but given no output schema and no parameters, this is acceptably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to explain. The empty schema is fully described by itself, and with 0 parameters the baseline is 4. The description adds no parameter-related info because none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates this tool provides Eastmoney's on-exchange fund ranking data (场内交易基金排行) with a source URL and DataFrame return type. Though it lacks an explicit verb like 'get' or 'fetch', the noun '排行' and tool name make the purpose clear, and it can be distinguished from sibling fund ranking tools by the '场内' qualifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus the many sibling fund ranking tools (e.g., fund_hk_rank_em, fund_fh_rank_em). It does not state any exclusions, prerequisites, or alternative tools, leaving the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_fee_emARead-onlyIdempotent
天天基金-基金档案-购买信息 https://fundf10.eastmoney.com/jjfl_015641.html :param symbol: 基金代码 :type symbol: str :param indicator: choice of {"交易状态", "申购与赎回金额", "交易确认日", "运作费用", "认购费率(前端)", "认购费率(后端)","申购费率(前端)", "赎回费率"} :type indicator: str :return: 交易规则 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 015641 | |
| indicator | No | 认购费率 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, open-world, idempotent, and non-destructive, so the description does not need to repeat that. The description adds the source URL and the fact that the return is a pandas DataFrame containing trading rules, which is useful context. However, it does not disclose error handling, network dependencies, or any side effects, which would be extra value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured using a standard docstring format: title, source URL, parameter docs, and return docs. Each line serves a purpose without fluff, making it easy to scan. It is concise yet complete for the information it conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two parameters and no output schema, the description adequately covers both inputs and states that the return is a DataFrame of trading rules. However, it does not explain the default symbol value or give an idea of the DataFrame's columns, leaving some ambiguity about the exact output structure. Still, it is sufficient for an agent to invoke the tool and interpret the basic result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no descriptions (coverage 0%), so the description carries the full burden. It clearly documents both parameters: symbol as the fund code, and indicator with an explicit enumeration of valid Chinese labels (e.g., '交易状态', '申购费率(前端)'). This fully compensates for the schema's lack of detail and gives the agent precise input semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this tool provides fund purchase information (购买信息) from a fund profile, with a specific source URL and a return type of trading rules. It lists the exact scope via the indicator parameter, but does not explicitly differentiate it from sibling tools like fund_purchase_em, so it misses the distinctiveness bonus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus other fund-related tools, nor does it mention any exclusions or alternative tools. It simply lists parameters and their types, leaving the agent to infer usage from the name and parameter names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_fh_emBRead-onlyIdempotent
天天基金网-基金数据-分红送配-基金分红 https://fund.eastmoney.com/data/fundfenhong.html#DJR,desc,1,,, :param year: 查询年份 :type year: str :param typ: 基金类型;空串表示全部;choice of {"指数型-其他", "指数型-海外股票", "指数型-固收", "指数型-股票", "债券型-中短债", "债券型-长债", "债券型-理财", "债券型-混合债", "债券型-混合一级", "债券型-混合二级", "货币型-普通货币", "货币型-浮动净值", "混合型-平衡", "混合型-偏债", "混合型-偏股", "混合型-灵活", "混合型-绝对收益", "股票型", "REITs", "Reits", "QDII-商品", "QDII-普通股票", "QDII-混合债", "QDII-混合偏股", "QDII-纯债", "QDII-REITs", "FOF"} :type typ: str :param rank: 排序字段;choice of {"BZDM", "ABBNAME", "DJR", "FSRQ", "FHFCZ", "FFR"}; "BZDM": 基金代码, "ABBNAME": 基金简称,"DJR": 权益登记日,"FSRQ": 除息日期,"FHFCZ": 分红(元/份),"FFR": 分红发放日 :type rank: str :param sort: 排序方向;排序方式;choice of {"asc", "desc"} :type sort: str :param page: 查询页数;请求第page页数据;-1 表示全部页面 :type page: int :return: 基金分红 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| typ | No | ||
| page | No | ||
| rank | No | BZDM | |
| sort | No | asc | |
| year | No | 2025 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds one behaviorally useful detail not in the schema: page=-1 means fetch all pages. Beyond that it only restates parameter types, so 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The resource is front-loaded and the per-parameter docstring format is scannable, but the raw page URL and the duplicated Chinese title line add noise, and the long enum lists make it bulky. It is thorough rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five all-optional parameters, zero schema coverage and no output schema, the description supplies the enum vocabularies and defaults needed to call the tool correctly. It notes the return is a pandas.DataFrame but doesn't describe columns, which is acceptable with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and no enums are declared in the schema, so the description carries the full burden. It documents all five parameters, and crucially enumerates the accepted values for typ (~26 fund categories), rank (six sort fields with Chinese expansions) and sort, which the schema alone would not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source (天天基金网), the resource (基金分红/fund dividends) and the page URL, so the agent can tell it is a dividend-distribution data fetch. It lacks an explicit verb and doesn't name the closest siblings (fund_fh_rank_em, fund_announcement_dividend_em, fund_etf_dividend_sina), so disambiguation is left to the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, no prerequisites, and no mention of sibling dividend tools. Usage is only implied by the parameter list (year/type/ranking).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_fh_rank_emARead-onlyIdempotent
天天基金网-基金数据-分红送配-基金分红排行 https://fund.eastmoney.com/data/fundleijifenhong.html :return: 基金分红排行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds context by specifying the return type (pandas.DataFrame) and the underlying URL, but it does not disclose other behavioral traits such as data volume, pagination, or any special handling. This adds some value beyond annotations but remains limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of three lines: a title identifying the data category, the source URL, and the return type. Every line adds useful information without redundancy. It is front-loaded with the resource name and avoids any verbose or irrelevant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description adequately states what it returns (fund dividend ranking) and where it gets it from. It mentions the return type is pandas.DataFrame but does not describe the columns or ranking criteria. Given the simplicity of the tool, this is reasonably complete, though a bit more detail about the DataFrame structure would be beneficial for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain any parameter semantics. With no parameters, the baseline score is 4 per the rubric, and the description correctly adds nothing about parameters. The input schema is empty and self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning a fund dividend ranking from Eastmoney (天天基金网), with a URL pointing to the specific page and a return type of pandas.DataFrame. It explicitly states the resource (基金分红排行), making the purpose clear. However, it does not explicitly differentiate from sibling tools like fund_fh_em, though the 'rank' qualifier implies a ranking list rather than general dividend data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only provides the source and return type, without mentioning prerequisites, exclusions, or alternative tools. An agent has to infer the intended use solely from the tool name and the basic description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_financial_fund_daily_emARead-onlyIdempotent
东方财富网站-天天基金网-基金数据-理财型基金收益
该接口暂无数据
https://fund.eastmoney.com/lcjj.html#1_1__0__ljjz,desc_1_os1 :return: 当前交易日的所有理财型基金收益 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds the key behavioral disclosure that '该接口暂无数据' (this interface currently has no data), which is significant context beyond annotations. This transparency helps the AI agent avoid expecting real results, though it does not clarify if the data absence is permanent or transient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the source and the critical no-data warning. The included URL provides a useful reference but is somewhat long and could be considered noise. Overall, each line serves a purpose, and the structure is readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description provides the return type (pandas.DataFrame) and the data scope. However, the meaning of '该接口暂无数据' is unresolved, and there is no explanation of behavior when data is unavailable or whether the DataFrame is always empty. The absence of an output schema makes the description the primary source of return information, and it partially fills that role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 there are no parameter semantics to explain. Per the baseline for 0-parameter tools, a score of 4 is appropriate. The description does not need to add parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the source (东方财富网站-天天基金网), the resource (理财型基金收益), and the return (当前交易日的所有理财型基金收益). The verb 'returns' is implied in the docstring. However, the note '# 该接口暂无数据' introduces ambiguity about whether the tool actually returns data, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives among the many fund-related siblings. It does not mention any exclusions or alternative tools. The only potential signal is the 'no data' warning, but it is not framed as a usage instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_financial_fund_info_emARead-onlyIdempotent
东方财富网站-天天基金网-基金数据-理财型基金收益-历史净值明细 https://fundf10.eastmoney.com/jjjz_000791.html :param symbol: 理财型基金代码,可以通过 ak.fund_financial_fund_daily_em() 来获取 :type symbol: str :return: 东方财富网站-天天基金网-基金数据-理财型基金收益-历史净值明细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000134 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds source URL and return type pandas.DataFrame, but does not disclose date range, pagination, column semantics, or other behavioral details beyond what the annotations already imply for a read-only historical data fetch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is compact and front-loads the data source and purpose. However, the return line redundantly repeats the same long title as the opening, and the reStructuredText tags add some noise rather than an explicit usage sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter historical data retrieval tool with no output schema, the description supplies the source, the parameter's meaning and acquisition method, and the return type. It does not describe the returned columns or available date range, but that is a minor gap for an agent whose main job is to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only one parameter and 0% schema description coverage, the description carries the burden and does so reasonably: it defines symbol as 理财型基金代码 and explains how to retrieve it via ak.fund_financial_fund_daily_em(). It does not state the expected string format or the meaning of the default value 000134, so it falls short of perfect parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source (东方财富/天天基金网), the resource type (理财型基金收益), and the exact data view (历史净值明细), so an agent can tell it retrieves historical NAV details for financial funds. It does not explicitly differentiate from sibling tools such as fund_financial_fund_daily_em or fund_open_fund_info_em, but the resource scope is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a prerequisite hint: the symbol can be obtained via ak.fund_financial_fund_daily_em(). That helps an agent obtain the required input, but there is no explicit when-to-use / when-not-to-use guidance against the many sibling fund tools, nor a statement of what this tool returns versus other fund info tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_graded_fund_daily_emARead-onlyIdempotent
东方财富网站-天天基金网-基金数据-分级基金净值 https://fund.eastmoney.com/fjjj.html#1_1__0__zdf,desc_1 :return: 当前交易日的所有分级基金净值 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior, so the description's added context is limited to the specific time window (current trading day) and return type (pandas.DataFrame). There's no contradiction, but no deeper behavioral details are provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with purpose, followed by a source URL and return docs. The URL line adds provenance but is not strictly necessary for tool invocation; otherwise every line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool, the description covers what it returns and the data type, but lacks details about the DataFrame's columns, row granularity, or potential emptiness on non-trading days. The URL provides additional context but doesn't substitute for missing output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the schema describes everything needed. The description adds no param semantics because none exist; baseline 4 applies, as there is nothing to clarify or compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns all graded fund net values for the current trading day, naming the resource and data source. However, it doesn't explicitly distinguish this from sibling tools like fund_graded_fund_info_em, leaving the 'daily' vs 'info' distinction implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage via the data scope ('current trading day'), but provides no explicit guidance on when to use this tool versus alternatives. It doesn't mention when not to use it or suggest a better sibling for other scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_graded_fund_info_emCRead-onlyIdempotent
东方财富网站-天天基金网-基金数据-分级基金净值-历史净值明细 https://fundf10.eastmoney.com/jjjz_150232.html :param symbol: 分级基金代码,可以通过 ak.fund_money_fund_daily_em() 来获取 :type symbol: str :return: 东方财富网站-天天基金网-基金数据-分级基金净值-历史净值明细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 150232 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame of historical NAV detail), which is genuinely useful given there is no output schema, but it says nothing about pagination, time range, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The block is short but wastes space: the first line, the :return line, and the :rtype line all restate the same resource name, and the raw URL occupies prime position. It is neither bloated nor front-loaded with the information an agent actually needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output-schema tool this covers source, parameter meaning, and return type. It still omits whether the entire NAV history is returned or a bounded window, and how to choose this over the daily graded-fund sibling, leaving notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single symbol parameter, so the description must compensate. It does explain that symbol is a 分级基金代码 and suggests a retrieval function, which adds meaning beyond the bare string/default in the schema, but the suggested source function appears incorrect and the expected code format (e.g. 150232) is never clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact dataset (分级基金净值-历史净值明细 from 东方财富/天天基金网), which is more specific than the bare tool name. However, it is essentially a restatement of the annotation title with no verb and no differentiation from the sibling fund_graded_fund_daily_em, so an agent cannot tell historical-detail from daily-quote without inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is stated. The only context offered is how to obtain the symbol value (via ak.fund_money_fund_daily_em()), which is parameter sourcing rather than usage guidance — and it points at a money-market-fund function rather than the graded-fund sibling, which is misleading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_hk_fund_hist_emARead-onlyIdempotent
东方财富网-天天基金网-基金数据-香港基金-历史净值明细(分红送配详情) https://overseas.1234567.com.cn/f10/FundJz/968092#FHPS :param code: 通过 ak.fund_em_hk_rank() 获取 :type code: str :param symbol: choice of {"历史净值明细", "分红送配详情"} :type symbol: str :return: 香港基金-历史净值明细(分红送配详情) :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | 1002200683 | |
| symbol | No | 历史净值明细 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint, and openWorldHint, so the safety profile is covered. The description adds the upstream data source URL and the dependency on `fund_em_hk_rank` for the code parameter, which is helpful context, but it does not disclose rate limits, data freshness, or any deeper behavioral traits beyond what the annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's identity and includes structured :param and :return lines. It is efficient overall, though the bare URL and the restated return line add a little redundancy without much extra value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter retrieval tool with no output schema, the description tells the agent what to pass and that the result is a pandas.DataFrame. It stops short of describing what columns or date coverage the historical NAV/dividend data includes, which would help an agent judge whether the result meets a given data need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden for both parameters. It successfully explains how to acquire `code` (via `ak.fund_em_hk_rank()`) and enumerates the two allowed values for `symbol`. The only minor gap is that the exact format or meaning of the code string is not specified beyond its acquisition path.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source (东方财富/天天基金网), the resource (香港基金), and the specific data variant (历史净值明细 or 分红送配详情), which is a clear verb+resource statement. It does not explicitly differentiate itself from the many sibling fund tools, but the resource is specific enough that an agent can identify it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful guidance for the `code` parameter by pointing to `ak.fund_em_hk_rank()` to obtain it, and it lists the two possible `symbol` values. However, it does not explain when to choose this tool over alternatives like `fund_hk_rank_em` or `fund_fh_rank_em`, nor does it clarify when to use 历史净值明细 versus 分红送配详情.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_hk_rank_emARead-onlyIdempotent
东方财富网-数据中心-香港基金排行 https://overseas.1234567.com.cn/FundList :return: 香港基金排行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the source URL and return type but does not disclose any additional behavioral traits such as data update frequency, pagination, or network dependencies. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, containing only the title, URL, return value, and return type. Every line serves a purpose with no fluff, 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides minimal context: it states the data source and that it returns a DataFrame of Hong Kong fund rankings, but does not describe the columns, ranking criteria, or whether it returns a full list. For an agent to fully utilize the output, more detail would be helpful, but the basic function is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty schema, so the description does not need to explain parameter semantics. According to the baseline for 0-parameter tools, this scores 4; there is nothing missing in this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing Hong Kong fund rankings from East Money's data center, including the source URL and return type (pandas.DataFrame). It distinguishes from sibling tools by specifying Hong Kong funds, though it lacks an explicit action verb like 'retrieve' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended usage is implied by the name and description: use when Hong Kong fund rankings are needed. However, there is no explicit guidance on when to use this tool versus other fund ranking tools (e.g., fund_open_fund_rank_em, fund_exchange_rank_em), and no alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_hold_structure_emBRead-onlyIdempotent
天天基金网-基金数据-规模份额-持有人结构 https://fund.eastmoney.com/data/cyrjglist.html :return: 持有人结构 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type but does not disclose additional behavioral aspects such as data update frequency, data size, or any potential network dependencies. This is acceptable given the annotations, but the description could enrich the behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a title, URL, and return type lines. It is front-loaded with the most important information and contains no filler. However, it reads as a fragment rather than a well-structured sentence, slightly reducing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description should clarify what the returned DataFrame contains (e.g., columns, scope, whether it covers all funds or specific funds). It only states '持有人结构' without detailing the data shape, leaving the agent uncertain about the exact output. The description is adequate for a simple read-only tool but misses these details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. The baseline for 0 params is 4, and the description appropriately focuses on the output rather than inputs. No parameter documentation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing fund holder structure data from Eastmoney, with the specific resource '规模份额-持有人结构' and a return type of pandas.DataFrame. Though it lacks an explicit verb (e.g., 'retrieves'), the name and description together make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many sibling fund tools. There are no exclusions, prerequisites, or alternative tool references, leaving the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_individual_achievement_xqCRead-onlyIdempotent
雪球基金-基金业绩 https://danjuanfunds.com/djapi/fundx/base/fund/achievement/675091 :param symbol: 基金代码 :type symbol: str :param timeout: choice of None or a positive float number :type timeout: float :return: 基金业绩 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000001 | |
| timeout | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint:false, so the safety profile is covered. However, the description adds no extra behavioral context beyond this, such as rate limits, error behavior, or what happens with invalid fund codes. The example URL and parameter docs do not disclose behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a title, example URL, parameter documentation, and return type. It is structured and not verbose, making it easy to scan. The example URL provides a concrete endpoint reference without bloating the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only fund performance query, the description adequately covers parameter semantics and return type. However, it does not describe the contents of the returned DataFrame (e.g., columns, metrics) or provide usage context, leaving some gaps for a complete understanding. The annotations handle safety, so completeness is acceptable but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no descriptions, so the description compensates by defining 'symbol' as the fund code and 'timeout' as a choice of None or a positive float. This adds semantic meaning beyond the raw types, but it is minimal and does not explain the expected format of the fund code or provide examples beyond the schema's default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates this tool returns fund performance (基金业绩) for a given fund code, with a return type of pandas.DataFrame. It distinguishes from sibling tools that focus on analysis, basic info, or holdings by specifying 'achievement' (业绩), though it lacks an explicit verb like 'get' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as fund_individual_analysis_xq or fund_individual_basic_info_xq. The description only documents parameters and return type, with no mention of use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_individual_analysis_xqCRead-onlyIdempotent
雪球基金-基金数据分析 https://danjuanfunds.com/djapi/fund/base/quote/data/index/analysis/675091 :param symbol: 基金代码 :type symbol: str :param timeout: choice of None or a positive float number :type timeout: float :return: 基金数据分析 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000001 | |
| timeout | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds a return type (pandas.DataFrame) and a source URL, which is some useful context, but it does not disclose behaviors like error handling, rate limits, data scoping, or output contents. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and logically structured with a title, source URL, and docstring-style parameter/return entries. It is easy to scan and does not contain filler, though the title is repeated and the return description is generic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for a tool with no output schema. It fails to explain what the '基金数据分析' DataFrame actually contains, making it difficult to distinguish from the many other fund analysis tools and to know what to expect from the call. The URL and minimal parameter notes are insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains `symbol` as 基金代码 (fund code) and `timeout` as 'choice of None or a positive float number,' which adds meaning beyond the bare schema types. Since the schema properties have no descriptions, this documentation provides necessary context, though it could go further with format or default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '雪球基金-基金数据分析' and a URL, indicating this is a fund data analysis tool, but it does not specify what specific analysis is performed (e.g., performance, risk, holdings). It also does not differentiate from sibling tools like fund_individual_achievement_xq or fund_individual_basic_info_xq, leaving the purpose somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only provides parameter documentation and return type, with no mention of use cases, prerequisites, or exclusions. This provides no practical selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_individual_basic_info_xqBRead-onlyIdempotent
雪球基金-基金详情 https://danjuanfunds.com/djapi/fund/675091 :param symbol: 基金代码 :type symbol: str :param timeout: choice of None or a positive float number :type timeout: float :return: 基金信息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000001 | |
| timeout | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the data source endpoint and return type but doesn't disclose additional behavioral details like rate limits or error behavior; the bar for extra context is low but not fully met.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is compact and well-structured, including title, URL, params, and return type. The example URL is a minor extra but informative. No redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with no output schema, the description provides a basic idea of the return type (DataFrame) and key parameters, but it doesn't specify what fields the fund information contains or offer any usage context. This leaves some ambiguity for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description's parameter docs are essential. It explains symbol as fund code and timeout as None or a positive float, adding meaning beyond the schema. However, the purpose of timeout is not elaborated (e.g., HTTP timeout), so it's not fully complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it provides 雪球基金-基金详情 (Snowball Fund details) and returns a pandas DataFrame, indicating it fetches basic fund information for a given fund code. However, it doesn't explicitly contrast with sibling tools like fund_individual_detail_info_xq, so it lacks differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus other fund-related tools. The description only provides a data source URL and parameter documentation, with no mention of alternatives or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_individual_detail_hold_xqARead-onlyIdempotent
雪球基金-持仓 https://danjuanfunds.com/rn/fund-detail/archive?id=103&code=002804 :param symbol: 基金代码 :type symbol: str :param date: 财报日期 :type date: str :param timeout: choice of None or a positive float number :type timeout: float :return: 雪球基金-持仓 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20231231 | |
| symbol | No | 002804 | |
| timeout | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations clearly declare this as read-only, idempotent, and non-destructive, so the safety profile is already established. The description adds minimal behavioral context: it names the source (Xueqiu/Danjuan), specifies the return type as pandas.DataFrame, and indicates the timeout parameter semantics. It does not disclose potential errors, data coverage, or pagination, but the read-only nature with annotations makes a 3 appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably compact but not optimally structured. It lacks a clear imperative sentence at the top; the first line is the title repeated. The URL adds contextual value but could be considered noise. The docstring-style parameter list and return line are efficient, but the overall structure is more like a technical docstring than a user-facing description. It earns a solid 3.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with good annotations and no output schema, the description provides sufficient context: it specifies the source, all three parameters with types and example values, and the return type (pandas.DataFrame). It does not enumerate the DataFrame columns, but 'holdings' is clear enough for a fund context. The lack of output schema is mitigated by the explicit return type, making this reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides zero parameter descriptions (0% coverage), so the description carries full responsibility for explaining the parameters. It does so thoroughly: symbol is defined as 基金代码 (fund code), date as 财报日期 (report date), and timeout as a choice of None or a positive float. It also includes an example URL with concrete values (code=002804, id=103), which adds practical context beyond the schema. This fully compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title '雪球基金-持仓' (Xueqiu Fund - Holdings) and parameter names (symbol, date) make clear this tool retrieves fund holdings for a given fund code and reporting date. However, the description does not explicitly state 'Get holdings for a fund' in a complete sentence, relying primarily on the title and return type. It is distinct enough from siblings due to 'hold' in the name and the Chinese title, but not fully differentiated in the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are many sibling fund tools (e.g., fund_portfolio_hold_em, fund_hold_structure_em) with similar purposes, but the description does not mention any exclusions, prerequisites, or preferred use cases. It only lists parameters and return type, leaving the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_individual_detail_info_xqBRead-onlyIdempotent
雪球基金-交易规则 https://danjuanfunds.com/djapi/fund/detail/675091 :param symbol: 基金代码 :type symbol: str :param timeout: choice of None or a positive float number :type timeout: float :return: 交易规则 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000001 | |
| timeout | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds that the return is a pandas.DataFrame and includes the source URL, but does not disclose additional behavioral traits such as rate limits, authentication needs, or specifics about what the trading rules data contains. Since annotations cover the safety profile, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise but structured as a docstring with a bare sample URL (https://danjuanfunds.com/djapi/fund/detail/675091) that is not explained. It would be improved by front-loading a clear purpose statement rather than leading with the title and URL. No unnecessary fluff, but the structure is somewhat mechanical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description states the return type and source, which is useful, but it does not describe the content of the trading rules, which fund codes are supported, or any edge cases. With no output schema and many sibling fund tools, a bit more context would help, but the tool is simple and annotations cover safety.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description provides docstrings for both parameters: symbol is '基金代码' (fund code) and timeout is described as 'choice of None or a positive float number'. This adds meaning beyond the raw schema, especially for symbol. The timeout semantics are minimal but still more than the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool retrieves trading rules (交易规则) for a fund, with the title '雪球基金-交易规则' and the return type. It distinguishes among sibling fund_individual_*_xq tools by focusing on trading rules rather than basic info or holdings. However, it lacks an explicit verb like 'get' or 'query'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools like fund_individual_basic_info_xq or fund_individual_detail_hold_xq, nor any exclusions or prerequisites. The only context is a bare sample URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_individual_profit_probability_xqARead-onlyIdempotent
雪球基金-盈利概率-历史任意时点买入,持有满 X 年,盈利概率 Y% https://danjuanfunds.com/djapi/fundx/base/fund/profit/ratio/675091 :param symbol: 基金代码 :type symbol: str :param timeout: choice of None or a positive float number :type timeout: float :return: 盈利概率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000001 | |
| timeout | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds context by specifying the return type (pandas.DataFrame) and the meaning of the output (profit probability Y%), which goes beyond the annotations. No contradictions found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat scattered, mixing a Chinese summary, an example API URL, and parameter documentation. It is concise in length but lacks a clear, structured layout. Each part contributes some value, but the organization could be improved for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description covers the key aspects: purpose, parameters, return type, and source. It does not detail the exact format of the returned DataFrame, but given the tool's simplicity and the presence of annotations, the information is largely sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description documents both parameters: symbol is 基金代码 (fund code) and timeout is 'choice of None or a positive float number'. This provides meaningful semantics beyond the schema's type/default definitions. However, it does not elaborate on the DataFrame structure or further constraints on timeout.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it computes the profit probability of a fund when bought at any historical point and held for X years. The specific metric (盈利概率), source (雪球基金), and scenario (历史任意时点买入,持有满 X 年) are explicit, distinguishing it from sibling fund tools like basic info or analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (querying fund profit probability) but does not explicitly mention when to use this tool over alternatives or provide exclusions. Sibling tools exist (e.g., fund_individual_basic_info_xq), but no comparison is given. Usage context is present but not fully articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_info_index_emARead-onlyIdempotent
东方财富网站-天天基金网-基金数据-基金信息-指数型 https://fund.eastmoney.com/trade/zs.html :param symbol: choice of {"全部", "沪深指数", "行业主题", "大盘指数", "中盘指数", "小盘指数", "股票指数", "债券指数"} :type symbol: str :param indicator: choice of {"全部", "被动指数型", "增强指数型"} :type indicator: str :return: 基金信息-指数型 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 沪深指数 | |
| indicator | No | 被动指数型 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the data source URL and the return type (pandas.DataFrame), which is useful context. However, it does not disclose any additional traits like rate limits, pagination, or required authentication, so it adds only marginal behavioral information beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured like a docstring with title, URL, parameters, and return type. It is reasonably concise and each section serves a purpose. The URL is somewhat raw and the Chinese title duplicates the tool's subject, but overall it is well-organized and not inflated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only data retrieval tool with two parameters and no output schema, the description provides the necessary essentials: source URL, parameter choices, and return type. It does not describe the DataFrame's columns, but without an output schema that is less critical. It is adequately complete for an agent to select and use the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage and no enums, but the description fully compensates by listing the exact allowed values for both 'symbol' and 'indicator'. It also implicitly provides defaults via the schema. This gives the agent complete knowledge of what values are valid, which is critical for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (index fund information from Eastmoney/Tiantian) and the specific data category (指数型), and the URL supports it. It lacks an explicit action verb like 'get' or 'fetch', but the intent is obvious. The tool name and description's '指数型' distinguishes it from many sibling fund info tools, though it doesn't explicitly call out those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 vs. other fund information tools. It does not mention exclusions or alternatives, and the sibling list contains many similar fund_info tools. The description simply states what it does without any decision context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_info_thsBRead-onlyIdempotent
同花顺-基金数据-基金基本信息 https://fund.10jqka.com.cn/161130/interduce.html :param symbol: 基金代码 :type symbol: str :return: 基金基本信息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 161130 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which covers the safety profile. The description adds that it returns a pandas.DataFrame and includes a source URL, but discloses no additional behavioral details like data freshness, rate limits, or the exact content of the returned data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring-style entry with the title, a source URL, and parameter/return definitions. It is front-loaded and has no redundant filler. It lacks a natural-language sentence, but remains efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with strong annotations, the description is mostly adequate. However, it does not describe the contents of '基金基本信息', nor any limitations on applicable fund types. Given the very large sibling set with many fund_info tools, additional context on selection and expected output columns would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the single parameter 'symbol'. The description compensates by explicitly documenting it as '基金代码' (fund code) with type str, which is essential. However, it does not elaborate on format requirements or valid value ranges beyond the default example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '基金基本信息' (fund basic info) from THS (10jqka), with a sample URL and param/return definitions. It is specific enough to distinguish from similar fund_info_* tools by source provider. However, it lacks an explicit action verb like 'retrieve' or 'get', relying on a noun phrase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many other fund data tools in the sibling set. There are no mentioned alternatives, prerequisites, or exclusions, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_lcx_rank_emBRead-onlyIdempotent
东方财富网-数据中心-理财基金排行
该接口暂时没有数据
https://fund.eastmoney.com/data/lcxfundranking.html#t;c0;r;sSYL_Z;ddesc;pn50;f;os1; :return: 理财基金排行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond the annotations: it explicitly states the interface currently has no data, which is a critical caveat for an agent. It also specifies the return type (pandas.DataFrame) and provides the source URL. Since annotations already cover read-only and non-destructive behavior, the description's additional details earn a solid score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively short but includes a redundant title line duplicated in annotations, a lengthy URL that may not be essential for an agent, and a comment-style note. It front-loads the purpose and includes the critical no-data warning, but the structure is fragmented and the URL adds clutter without clear value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool with a simple purpose, the description is partially complete: it identifies the ranking type and source and warns about current data unavailability. However, it does not describe the expected columns or structure of the returned DataFrame, and with no output schema, an agent lacks detail on what to expect if data were present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the description does not need to explain parameter semantics. The baseline for 0-parameter tools is 4, and the description satisfies this by not omitting any required parameter clarification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool provides a ranking of wealth management funds (理财基金排行) from East Money's data center, with a return type of pandas.DataFrame. However, it lacks an explicit verb like 'get' or 'fetch' and does not differentiate itself from the many sibling ranking tools, though the name suggests the specific fund type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The note '该接口暂时没有数据' (this interface currently has no data) implicitly warns that it may return empty results, but it does not name alternative tools or provide context for when the tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_linghuo_position_lgBRead-onlyIdempotent
乐咕乐股-基金仓位-灵活配置型基金仓位 https://legulegu.com/stockdata/fund-position/pos-linghuo :return: 灵活配置型基金仓位 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false, which fully cover the safety profile. The description adds the return type (pandas.DataFrame) and the data source URL, but no additional behavioral traits such as update frequency or historical coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and includes key details (title, URL, return type, data source). It is structured but lacks a substantive summary of what the data represents. It is not overly verbose, but the content is somewhat minimal and boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the burden of explaining the return value. It states the return type (pandas.DataFrame) but does not describe the structure, columns, or time range. Given the tool's simplicity, this is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter semantics to explain. Schema coverage is 100% (empty properties), making the schema fully sufficient. The description's mention of the return type adds useful context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (fund positions for flexible allocation funds) and the data source (乐咕乐股 with a specific URL). The verb is implied as retrieval. It distinguishes from siblings like fund_balance_position_lg and fund_stock_position_lg, which target different fund categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool compared to other fund position tools. It does not state when this tool is preferred or mention any exclusions. The description only provides a data source and return type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_lof_hist_emBRead-onlyIdempotent
东方财富-LOF 行情 https://quote.eastmoney.com/sz166009.html :param symbol: LOF 代码 :type symbol: str :param period: choice of {'daily', 'weekly', 'monthly'} :type period: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :param adjust: choice of {"qfq": "前复权", "hfq": "后复权", "": "不复权"} :type adjust: str :return: 每日行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| period | No | daily | |
| symbol | No | 166009 | |
| end_date | No | 20500101 | |
| start_date | No | 19700101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that it returns a pandas.DataFrame with daily quotes, which is useful, but it does not disclose date format, error behavior, or rate limits. No contradiction with annotations is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and structured as a one-line title followed by a Python-style docstring. It avoids redundant prose. The URL example adds some value but is not essential, and the parameter lines are efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple historical-data fetch, the description covers the key parameters and return type. Yet it omits usage guidance, date format details, and any differentiation from related sibling tools, making it only partially complete for an agent trying to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides Chinese names and explicit enum choices for period and adjust, plus a return type, which is valuable because the input schema has 0% description coverage and no enum definitions. However, it does not specify the expected date format for start_date and end_date, though the schema defaults imply YYYYMMDD.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is '东方财富-LOF 行情', a noun phrase identifying the data source and instrument but not a clear verb-action statement. The historical aspect is inferred only from the tool name and the date-range parameters, not explicitly stated. It also does not distinguish itself from sibling tools like fund_lof_spot_em or fund_lof_hist_min_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. Sibling tools such as fund_lof_spot_em and fund_lof_hist_min_em exist, but the description does not mention them or offer any selection criteria. It only lists parameters and return type, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_lof_hist_min_emBRead-onlyIdempotent
东方财富-LOF 分时行情 https://quote.eastmoney.com/sz166009.html :param symbol: LOF 代码 :type symbol: str :param start_date: 开始日期时间 :type start_date: str :param end_date: 结束日期时间 :type end_date: str :param period: choice of {"1", "5", "15", "30", "60"} :type period: str :param adjust: choice of {'', 'qfq', 'hfq'} :type adjust: str :return: 每日分时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| period | No | 5 | |
| symbol | No | 166009 | |
| end_date | No | 2222-01-01 09:32:00 | |
| start_date | No | 1979-09-01 09:32:00 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds context by specifying the return type (pandas DataFrame) and the data source URL, plus the parameter choices. However, it does not describe potential rate limits, output columns, or behavior with invalid dates/symbols, leaving some gaps beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a clear title line, a relevant URL, parameter definitions, and a return type. It is front-loaded with the core purpose and follows a consistent structure. No redundant fluff, though the return line '每日分时行情' partially repeats the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter data retrieval tool with no output schema, the description provides the essential purpose and parameter documentation. But it lacks example calls, clarification of the DataFrame structure, and details on date/time formatting or timezone handling. It is adequate for basic use but not fully complete for an agent to invoke correctly in edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description compensates by listing all 5 parameters with types and enum-like choices (period: 1,5,15,30,60; adjust: '', qfq, hfq). It gives basic descriptions like 'LOF 代码' and '开始日期时间'. However, it does not specify date format expectations, the meaning of 'qfq'/'hfq' (forward/backward adjustment), or clarify that period values are in minutes, leaving room for ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '东方财富-LOF 分时行情' (Eastmoney LOF minute-level market data), specifying the resource (LOF funds) and data frequency (intraday). The name and return type '每日分时行情' further clarify it provides historical minute-by-minute data. It distinguishes from sibling tools like fund_lof_spot_em (spot) and fund_lof_hist_em (likely daily) via the 'min' in the name and the period choices, though it does not explicitly call out differences.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its usage through the tool name and parameter choices (period options like '1', '5', '60' for minutes) and the return statement '每日分时行情', suggesting it is for intraday/minute-level historical LOF data. However, it provides no explicit guidance on when to use this tool versus alternatives, no exclusions, and no mention of scenarios where other tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_lof_spot_emCRead-onlyIdempotent
东方财富-LOF 实时行情 https://quote.eastmoney.com/center/gridlist.html#fund_lof :return: LOF 实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering safety traits. The description adds only the source URL and return type, with no additional behavioral context like data freshness, rate limits, or output structure. It does not contradict annotations, but adds minimal value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and contains only essential elements: title, source URL, return description, and type. It is appropriately short for a zero-parameter tool, though it may be under-specified. Still, it is concise without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema defined, the description should clarify what the returned DataFrame contains and its scope (e.g., all LOF funds, specific columns). It only states :rtype: pandas.DataFrame, leaving the agent unclear about the actual data structure. The URL hints at a grid list but does not confirm coverage or format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is effectively 100%, so the description has no parameter burden. The baseline of 4 applies, and no further elaboration is needed since there is nothing to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name and title ('东方财富-LOF 实时行情') with only a URL and return type added. It lacks a verb and does not clearly distinguish itself from sibling tools like fund_etf_spot_em, making it closer to a tautology than a clear purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description gives no context for selection among the many spot-price tools (e.g., fund_etf_spot_em, stock_zh_a_spot_em), nor any exclusions or preferred scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_manager_emBRead-onlyIdempotent
天天基金网-基金数据-基金经理大全 https://fund.eastmoney.com/manager/default.html :return: 基金经理大全 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds that the data source is East Money's fund manager page and returns a DataFrame, which provides some context, but it does not disclose additional behavioral traits like pagination, rate limits, or data coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief, consisting of a title, a URL, and return-type annotations. It is not verbose, but it lacks a coherent sentence structure and under-specifies the tool's function beyond a label.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter list retrieval, the description is minimally adequate, but it does not describe the DataFrame columns, the scope of 'all' managers, or any filtering limitations. The absence of an output schema increases the need for such details, which are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline score is 4. The description does not need to document parameters, and it does not conflict with the empty input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as '天天基金网-基金数据-基金经理大全' (East Money fund manager list) and specifies a return type of pandas.DataFrame, but it lacks an explicit verb like 'get' or 'list'. It is clear the tool retrieves a fund manager directory, but the description reads more like a title than a functional statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternative fund-related tools such as fund_aum_em or fund_cf_em. No exclusions or preferred contexts are mentioned, leaving the agent to infer the tool's applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_money_fund_daily_emARead-onlyIdempotent
东方财富网-天天基金网-基金数据-货币型基金收益 https://fund.eastmoney.com/HBJJ_pjsyl.html :return: 当前交易日的所有货币型基金收益数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety and idempotency are covered. The description adds that the tool returns a pandas DataFrame for the current trading day, which is some behavioral context. However, it does not disclose potential caveats such as network dependence, data update timing, or exact columns, leaving the description only partially informative beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a title line, a URL, a return description, and a return type. Every element serves a purpose, and it is immediately clear what the tool does and what it returns. There is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with zero parameters and no output schema, the description provides the essential context: the data source, the scope (current trading day), and the return type (pandas DataFrame). It does not enumerate columns or limitations, but given the tool's simplicity and the existing annotations, the description is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameter semantics. Per the rubric baseline, 0 params warrants a score of 4. The schema already confirms no parameters exist, and the description adds no additional parameter context, which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as providing money market fund return data from Eastmoney's fund page. It specifies the scope ('当前交易日的所有货币型基金收益数据' – all money fund returns for the current trading day) which clarifies what it does. It lacks an explicit verb but the return statement implies retrieval, and it distinguishes from sibling tools like fund_money_rank_em (ranking) and fund_money_fund_info_em (information) by focusing on daily return data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only gives the source URL and return type, with no mention of when this is the appropriate choice compared to other money fund tools or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_money_fund_info_emBRead-onlyIdempotent
东方财富网-天天基金网-基金数据-货币型基金收益-历史净值数据 https://fundf10.eastmoney.com/jjjz_004186.html :param symbol: 货币型基金代码,可以通过 fund_money_fund_daily_em 来获取 :type symbol: str :return: 东方财富网站-天天基金网-基金数据-货币型基金收益-历史净值数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000009 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/openWorldHint/idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds the source URL and the return type (pandas.DataFrame), which is helpful context but nothing beyond that (no rate limits, no column/date-range behavior).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The same Chinese phrase ('东方财富网-天天基金网-基金数据-货币型基金收益-历史净值数据') is repeated three times (header, param doc, return doc), and the Sphinx-style tags are redundant with an already-terse payload. Informative but not front-loaded or tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description only says the return is a DataFrame in the same categorical form; it does not describe the columns, date coverage, or pagination. Adequate for a single-param reader, but leaves the agent guessing about the returned fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden: it explains that symbol is a money-market fund code and points to fund_money_fund_daily_em to fetch valid values. That meaningfully compensates for the undocumented schema field, though no format example is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: retrieve historical net-value data for money-market funds from Eastmoney/TianTian. It implicitly distinguishes itself from fund_money_fund_daily_em (which is cited only as a source of symbol codes), making the daily-vs-historical split inferable rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent where to obtain the symbol ('可以通过 fund_money_fund_daily_em 来获取'), which is useful routing context, but it does not state when to prefer this tool over related fund-info siblings (e.g. fund_financial_fund_info_em, fund_open_fund_info_em) or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_money_rank_emBRead-onlyIdempotent
东方财富网-数据中心-货币型基金排行 https://fund.eastmoney.com/data/hbxfundranking.html :return: 货币型基金排行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already fully cover the safety profile (readOnlyHint, idempotentHint, openWorldHint, destructiveHint=false), so the bar is lower. The description adds the data-source URL and DataFrame return type, which are useful, but it does not disclose the data contents, whether the ranking is current or historical, or any caveats about the returned DataFrame. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact at four short lines, but it is a docstring dump rather than agent-oriented prose. The first line duplicates the annotation title, and the :return:/:rtype: scaffolding is Python-docstring convention rather than structured guidance. It is concise but not fully optimized for the structured information already available.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter read-only tool, the description is minimally viable: it names the source and the return type. However, with no output schema present, the description carries the burden of explaining the output, and it omits what columns the DataFrame contains, whether all money-market funds are returned, and whether the ranking is point-in-time or time-series. It is adequate but thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty schema, so there is nothing for the description to explain; per the rubric, 0 parameters earns a baseline of 4. The description does not mislead about parameters and its return-type note is consistent with the schema's simplicity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific resource: money market fund rankings (货币型基金排行) from the Eastmoney data center, with an exact URL pointing to the ranking page and a stated output type (pandas.DataFrame). It is clear and self-contained, though it is phrased as a noun/title rather than an explicit verb+resource statement, and it does not explicitly contrast against sibling rank tools like fund_open_fund_rank_em or fund_fh_rank_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. Given the large family of fund-ranking siblings (fund_money_fund_daily_em, fund_fh_rank_em, fund_lcx_rank_em, fund_open_fund_rank_em), an agent receives no direction for selecting this specific ranking tool. There are no exclusions, prerequisites, or 'use X instead' hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_name_emBRead-onlyIdempotent
东方财富网站-天天基金网-基金数据-所有基金的名称和类型 https://fund.eastmoney.com/manager/default.html#dt14;mcreturnjson;ftall;pn20;pi1;scabbname;stasc :return: 所有基金的名称和类型 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and the source URL, which is useful context, but it does not disclose any latency, pagination, or network requirements beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the key information, but it mixes Chinese and English docstring syntax and includes a URL that may not be necessary. Still, it is efficient and not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, zero-parameter tool, the description adequately states what is returned (names and types of all funds) and the return type (pandas.DataFrame). It lacks explicit column names but the core information is present, and no output schema exists to fill the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters, and the schema coverage is trivially 100%. Since there are no parameters to document, the description does not need to add any semantics; the baseline of 4 for zero-parameter tools is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource (all funds on Tiantian Fund Network) and the scope (names and types), which distinguishes it from sibling fund tools. However, it lacks an explicit verb, relying on inference that this is a retrieval operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 other fund-related tools. It does not mention any exclusions, prerequisites, or alternative tools, leaving the agent to infer usage from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_new_found_emBRead-onlyIdempotent
基金数据-新发基金-新成立基金 https://fund.eastmoney.com/data/xinfound.html :return: 新成立基金 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well covered. The description adds that the return type is a pandas.DataFrame and includes a source URL, but it does not disclose data freshness, columns, or any limitations. This is acceptable given the annotations, but not rich in behavior context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a category path, a source URL, and a return type annotation. No fluff is present, and it is appropriately sized for a zero-parameter read-only tool. The structure is a bit ad-hoc but clear enough.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of a zero-parameter read-only tool, the description provides basic essentials: resource, source URL, and return type. However, it lacks details about the returned DataFrame's fields or any filtering options. With no output schema and no usage guidance, the agent may not know what columns to expect or how the data is scoped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (vacuously). The description does not need to explain parameters. Baseline for 0 params is 4, and the description correctly omits irrelevant parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as '新成立基金' (newly established funds) and provides a source URL (East Money), which distinguishes it from similar tools like fund_new_found_ths. However, it lacks an explicit verb like 'get' or 'list', relying on the tool name and the category path to imply retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description does not mention fund_new_found_ths or any other similar tool, nor does it specify the intended use case or context. This is a clear gap for an AI agent selecting between fund data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_new_found_thsBRead-onlyIdempotent
同花顺-基金数据-新发基金 https://fund.10jqka.com.cn/datacenter/xfjj/ :param symbol: 选择基金类型;choice of {"全部", "发行中", "将发行"} :type symbol: str :return: 新发基金数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and the symbol choices, but says nothing about rate limits, pagination, or freshness of the new-issue data, so it adds some but not rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is compact and front-loaded with the source/tool name and URL before the parameter and return blocks. Every line serves a purpose, though the inline URL is arguably discardable for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only data-fetch tool, this is adequate: the source, parameter choices, and return type are given, and annotations cover the safety profile with no output schema needed. It falls short on sibling differentiation (fund_new_found_em) and on any freshness or pagination behavior for the fund list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning, and it does: it names the symbol parameter, labels it as the fund-type selector, gives the exact choice set {全部, 发行中, 将发行}, and specifies the type as str. Only the default value is left to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (新发基金 new-issue fund data) and identifies the source as 同花顺 (THS). It is clear about what the tool retrieves, but it does not differentiate itself from the sibling fund_new_found_em, which is the Eastmoney counterpart for the same data class.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use / when-not-to-use guidance and never mentions the alternative fund_new_found_em or any other sibling. The only usage information is the symbol choice set, which is parameter-level rather than routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_open_fund_daily_emARead-onlyIdempotent
东方财富网-天天基金网-基金数据-开放式基金净值 https://fund.eastmoney.com/fund.html#os_0;isall_0;ft_;pt_1 :return: 当前交易日的所有开放式基金净值数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld and non-destructive, so the safety profile is covered. The description adds the current-trading-day temporal scope and pandas DataFrame return type, but discloses no further behavior such as data delay, size, or columns. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and structured (source, URL, return type), with no repetitive filler. The long URL and docstring are informative rather than noise, though a brief English summary would improve scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter snapshot tool with strong annotations, the description provides enough: source, scope ('all open-end funds'), temporal window ('current trading day'), and return type. It does not enumerate returned columns, but with no output schema this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema fully defines invocation; the description appropriately avoids inventing parameter guidance. Baseline for zero-param tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource ('开放式基金净值' from 东方财富/天天基金) and specifies the exact returned data: all open-end fund NAV for the current trading day as a pandas DataFrame. It is distinguishable from siblings like fund_open_fund_rank_em or fund_open_fund_info_em by its daily-all scope, though it doesn't explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining a full daily snapshot of open-end fund NAVs, and the name/URL reinforce this. However, it gives no explicit guidance on when to choose this over sibling tools, no exclusions, and no mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_open_fund_info_emBRead-onlyIdempotent
东方财富网-天天基金网-基金数据-开放式基金净值 https://fund.eastmoney.com/fund.html :param symbol: 基金代码;可以通过调用 ak.fund_open_fund_daily_em() 获取所有开放式基金代码 :type symbol: str :param indicator: 需要获取的指标 :type indicator: str :param period: "成立来"; choice of {"1月", "3月", "6月", "1年", "3年", "5年", "今年来", "成立来"} :type period: str :return: 指定基金指定指标的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 成立来 | |
| symbol | No | 710001 | |
| indicator | No | 单位净值走势 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, covering the safety profile. The description adds the source and the return type (pandas.DataFrame), which is useful, but says nothing beyond annotations about access, rate limits, or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The source line and param/return tags are front-loaded and reasonably efficient, but the URL and Chinese title restate the source redundantly, and the enumeration only appears for period, leaving the structure uneven.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter read-only tool with no output schema and no schema descriptions, the description covers symbol sourcing and period options but omits any list of valid indicator values, which the agent needs to invoke it correctly. Adequate but with a clear gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description carries the full burden. It documents symbol (plus where to obtain codes) and enumerates valid period values, which is valuable, but 'indicator' is left as an unexplained '需要获取的指标' with no valid values listed, so a third of the parameters remain semantically opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific source and resource (东方财富网-天天基金网 open-end fund net value data), which is concrete enough to distinguish it from macro/stock/futures siblings. However it does not differentiate itself from close cousins like fund_open_fund_daily_em or fund_open_fund_rank_em, and the vague 'indicator' leaves the exact data scope unclear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance relative to alternative fund tools. The only operational hint ('可以通过调用 ak.fund_open_fund_daily_em() 获取所有开放式基金代码') tells how to source a symbol, but not when this tool is the right choice over sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_open_fund_rank_emBRead-onlyIdempotent
东方财富网-数据中心-开放基金排行 https://fund.eastmoney.com/data/fundranking.html :param symbol: choice of {"全部", "股票型", "混合型", "债券型", "指数型", "QDII", "FOF"} :type symbol: str :return: 开放基金排行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and non-destructive behavior. The description adds the return type (pandas.DataFrame) and a source URL, but does not disclose additional behavioral traits like pagination, data latency, or any side effects. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and follows a docstring structure with a title, URL, parameter, and return type. Every line serves a purpose, though the URL is arguably redundant. It is front-loaded with the main purpose and avoids excessive verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool with one optional parameter and strong annotations, the description provides the essential elements: source, parameter choices, and return type. However, it lacks details about the returned DataFrame's columns or data semantics, and with no output schema, the return description is only high-level. This leaves some gaps but is adequate for a simple read-only ranking tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does by listing the exact allowed values for 'symbol' (全部, 股票型, 混合型, 债券型, 指数型, QDII, FOF), which are not present in the schema. This gives meaning beyond the raw type/default information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as fetching open fund rankings from Eastmoney's data center ('东方财富网-数据中心-开放基金排行'), which is a specific resource and action. It distinguishes from siblings by the 'open fund' qualifier in both the name and description, though it lacks an explicit verb like 'retrieve' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus other fund ranking tools (e.g., fund_exchange_rank_em, fund_hk_rank_em). It only lists the allowed symbol choices, which is parameter guidance rather than tool-selection guidance. 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.
fund_overview_emBRead-onlyIdempotent
天天基金-基金档案-基本概况 https://fundf10.eastmoney.com/jbgk_015641.html :param symbol: 基金代码 :type symbol: str :return: 基本概况 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 015641 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds the return type (pandas.DataFrame) but does not disclose additional behavioral details like pagination, rate limits, or data granularity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and organized as title, URL, param, and return. It front-loads the key information and avoids verbosity, though it is slightly sparse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter and no output schema, the description provides the return type but does not explain what fields are included in the '基本概况' (basic overview). This is a gap for users expecting to know the DataFrame columns, but the tool is simple and self-descriptive from the name and URL.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description defines the parameter as '基金代码' (fund code), which adds basic meaning. It does not elaborate on format, constraints, or examples beyond the default '015641' in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '天天基金-基金档案-基本概况' (Tiantian Fund - Fund Archive - Basic Overview) and provides a URL, clearly indicating it retrieves basic fund overview information. However, it does not distinguish this tool from many sibling fund tools (e.g., fund_info_ths, fund_individual_basic_info_xq) beyond the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only gives a parameter and return type, with no context about selecting this tool among the numerous fund-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_portfolio_bond_hold_emARead-onlyIdempotent
天天基金网-基金档案-投资组合-债券持仓 https://fundf10.eastmoney.com/ccmx1_000001.html :param symbol: 基金代码 :type symbol: str :param date: 查询年份 :type date: str :return: 债券持仓 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 2023 | |
| symbol | No | 000001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, which cover the safety profile. The description adds the data source URL and return type (DataFrame) but does not disclose additional behavioral details such as pagination, rate limits, or data completeness. Given annotation coverage, the bar is met at a moderate level.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the Chinese title, followed by the URL and parameter documentation. It is appropriately sized for a simple tool, though the URL is somewhat redundant with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with two parameters and strong annotations, the description is largely sufficient. However, it lacks an example call or details about the output columns, which would improve completeness; the returned DataFrame structure is only glossed as 'bond holdings'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter descriptions (0% coverage), so the description's param docs add meaning: symbol is 基金代码 (fund code) and date is 查询年份 (query year). This is helpful but does not go beyond basic type/meaning, leaving format details to the schema defaults (e.g., '2023', '000001').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves bond holdings (债券持仓) from Tiantian Fund Network's fund archive, with a URL confirming the source. The title and return type (pandas.DataFrame) make it specific and distinguishable from sibling fund portfolio tools like fund_portfolio_hold_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the domain-specific name and description (fund bond holdings by year), but there is no explicit guidance on when to use this tool versus alternatives or any exclusion criteria. The sibling list includes similar portfolio tools, so more explicit direction would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_portfolio_change_emARead-onlyIdempotent
天天基金网-基金档案-投资组合-重大变动 https://fundf10.eastmoney.com/ccbd_000001.html :param symbol: 基金代码 :type symbol: str :param indicator: choice of {"累计买入", "累计卖出"} :type indicator: str :param date: 查询年份 :type date: str :return: 重大变动 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 2023 | |
| symbol | No | 003567 | |
| indicator | No | 累计买入 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and source URL, but does not disclose behavioral traits such as data freshness, rate limits, or error conditions. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with title, URL, parameter list, and return type. It is front-loaded and each section serves a purpose, though the first line repeats the title without adding new information. Overall, it is efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, parameters, and return type, which is enough for basic invocation. However, it lacks usage context, output column details, and references to alternative tools. Given the simple schema and strong annotations, this is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the indicator parameter has no enum in the schema. The description fully compensates by explaining each parameter: symbol is the fund code, indicator is a choice of '累计买入' or '累计卖出', and date is the query year. This is essential for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as fund portfolio major changes from Eastmoney's fund archive, with a URL and parameter list. It clearly implies the tool retrieves major changes for a given fund, though it lacks an explicit verb like 'list' or 'fetch'. It is distinct from siblings like fund_portfolio_hold_em by name and resource path, but the description itself does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternative fund portfolio tools. The description only provides parameter semantics and return type, with no mention of use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_portfolio_hold_emBRead-onlyIdempotent
天天基金网-基金档案-投资组合-基金持仓 https://fundf10.eastmoney.com/ccmx_000001.html :param symbol: 基金代码 :type symbol: str :param date: 查询年份;传入空字符串时返回最新可用年份数据 :type date: str :return: 基金持仓 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 2024 | |
| symbol | No | 000001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description contributes provenance (the Eastmoney data source URL) and notes that an empty date returns the latest available year, which is useful behavioral context, but says nothing about pagination or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is compact but formatted as a raw docstring, and the ':type symbol: str' / ':type date: str' lines merely restate schema types. The URL and param notes earn their place; the type annotations do not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only fetch with no output schema, the description covers inputs and indicates the return is a pandas.DataFrame of fund holdings. It omits the returned fields/columns and the meaning of the holdings data, leaving an agent to discover the shape of the result empirically.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden: it documents symbol as the fund code and date as the query year, and crucially explains that an empty string yields the latest available year data – behavior not inferable from the schema's static default of '2024'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (基金持仓 / fund holdings) and gives provenance (天天基金网 fund archive), so an agent can tell this is a holdings-fetch tool. However, there is no explicit verb and no differentiation from close siblings such as fund_portfolio_bond_hold_em, fund_portfolio_change_em, or fund_portfolio_industry_allocation_em, which all concern fund portfolios.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to prefer this tool over the bond-holdings, holdings-change, or industry-allocation siblings, and no prerequisites or context are given. The example URL implies usage but the agent must infer the selection rule entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_portfolio_industry_allocation_emBRead-onlyIdempotent
天天基金网-基金档案-投资组合-行业配置 https://fundf10.eastmoney.com/hytz_000001.html :param symbol: 基金代码 :type symbol: str :param date: 查询年份 :type date: str :return: 行业配置 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 2023 | |
| symbol | No | 000001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is known. The description does not add any additional behavioral traits such as data availability, rate limits, or what the DataFrame contains; it only states it returns a pandas DataFrame of industry allocation, which is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, containing a title, URL, parameter docs, and return type in five lines. It is front-loaded with the title and no extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic purpose, parameters, and return type, but lacks details about the DataFrame's columns, valid year ranges, or when data is available. For a simple retrieval tool with no output schema, this is adequate but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no descriptions (0% coverage), but the description provides ':param symbol: 基金代码' (fund code) and ':param date: 查询年份' (query year), which clarifies the meaning and ensures the agent knows what to pass. Defaults are also present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving industry allocation (行业配置) from the fund's investment portfolio section on EastMoney, with a URL and return type indicating the data. It is distinct from sibling tools like fund_portfolio_hold_em and fund_portfolio_bond_hold_em. However, it lacks an explicit verb like 'get' or 'query', relying on the noun phrase title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no information about when to use this tool compared to other fund portfolio tools (e.g., fund_portfolio_hold_em) or alternative data sources (e.g., fund_report_industry_allocation_cninfo). It only provides parameter docs and return type, with no usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_purchase_emARead-onlyIdempotent
东方财富网站-天天基金网-基金数据-基金申购状态 https://fund.eastmoney.com/Fund_sgzt_bzdm.html#fcode,asc_1 :return: 基金申购状态 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds the source URL and return type (pandas.DataFrame), providing some practical context, but it does not disclose data freshness, schema details, or any limitations beyond what the name implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief and front-loaded with the title and URL. Every line serves a purpose (title, URL, return type), but it lacks a structured, explanatory format. It is concise without being verbose, though it could be more informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only tool, the description adequately conveys the data source and expected output type. With no output schema present, it at least states the return is a pandas.DataFrame of fund subscription statuses. However, it could be more explicit about the DataFrame columns or the nature of the data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is trivially complete with 100% coverage. There are no parameter semantics to explain; the baseline of 4 applies because the absence of parameters removes the need for additional documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving fund purchase/subscription status from the Eastmoney TianTian Fund website, with a direct URL and return type. The specific resource (基金申购状态) is unambiguous and easily distinguishes it from sibling fund tools like fund_aum_hist_em or fund_rank_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any mention of intended use cases or exclusions. The description merely states what it returns without contextualizing its role among the many fund-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_rating_allBRead-onlyIdempotent
天天基金网-基金评级-基金评级总汇 https://fund.eastmoney.com/data/fundrating.html :return: 基金评级总汇 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the source URL and return type, but no behavioral details such as latency, pagination, or the structure of the returned DataFrame. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but repeats '基金评级总汇' multiple times (title, return, and rtype). It is front-loaded with the title and URL, but the repetition is unnecessary. Still, it is compact and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool, the description is minimally sufficient: it names the source and return type. However, it does not describe the columns or content of the DataFrame, and it doesn't clarify the scope (e.g., all funds, all rating agencies) beyond the name. Given the lack of an output schema and the presence of sibling fund rating tools, a bit more detail would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and the schema confirms this. The description provides a return type (DataFrame), which is useful but not parameter-related. Per the baseline for 0-param tools, this scores 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a Chinese navigation path ('天天基金网-基金评级-基金评级总汇') and a URL, with a return line that repeats the tool's name. It indicates the tool returns a summary of fund ratings from Eastmoney, but it doesn't describe what a '基金评级总汇' contains or how it differs from related tools like fund_rating_ja/sh/zs. The verb is implicit ('returns'), and the resource is identifiable via the URL, so it's not entirely tautological, but little value is added beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool vs. alternatives such as fund_rating_ja, fund_rating_sh, or fund_rating_zs. The description does not mention any exclusions, prerequisites, or preferred use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_rating_jaCRead-onlyIdempotent
天天基金网-基金评级-济安金信评级 https://fund.eastmoney.com/data/fundrating_4.html :param date: 日期;https://fund.eastmoney.com/data/fundrating_4.html 获取查询日期 :type date: str :return: 济安金信评级 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20230331 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered without the description. The description adds the data source URL and states the return is a pandas.DataFrame of ratings, which is modest extra context, but no pagination, rate-limit, or failure behavior is described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a compact Sphinx-style docstring with front-loaded identification, but the URL is repeated redundantly (in both the intro and the param note) and the :type/:rtype lines add little. Structure is acceptable but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description only says the return is '济安金信评级' as a DataFrame, giving no sense of the columns (rating, rating date, star level, etc.). Combined with 0% schema coverage on the only parameter, the definition leaves meaningful gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter only carries a default of '20230331'. The description merely labels it '日期' (date) and points to a webpage, without stating the accepted format (YYYYMMDD) or whether the default is used when omitted. It does not fully compensate for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (Ji'an Jinxin fund ratings from Eastmoney/天天基金网) and the source URL, so an agent can tell it belongs to the fund-rating family. However, it is essentially a restatement of the title/name with no verb ('fetch ratings'), and it never explains how it differs from the sibling providers fund_rating_zs/fund_rating_sh/fund_rating_all.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this rating provider versus the sibling rating tools (fund_rating_zs, fund_rating_sh, fund_rating_all). There is also no mention of prerequisites or freshness constraints, leaving selection entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_rating_shCRead-onlyIdempotent
天天基金网-基金评级-上海证券评级 https://fund.eastmoney.com/data/fundrating_3.html :param date: 日期;https://fund.eastmoney.com/data/fundrating_3.html 获取查询日期 :type date: str :return: 上海证券评级 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20230630 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds only that the return is a pandas.DataFrame and that the date comes from the source page; it does not note the default date behavior or any rate/coverage limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the raw source URL and Sphinx-style directives make it feel like scraped docstring boilerplate rather than a front-loaded statement of what the tool returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only lookup with no output schema, this is minimally adequate: it identifies the rating agency and the DataFrame return type. Missing date-format guidance and sibling differentiation are the main gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single date parameter, so the description must carry the burden. Its note ('日期;<url> 获取查询日期') only vaguely says it is a query date and never states the expected format (the schema default 20230630 implies YYYYMMDD), leaving the agent to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific source and resource: East Money's fund rating page for Shanghai Securities (上海证券评级), which is more precise than a bare title. However, it never distinguishes itself from the closely related siblings fund_rating_zs, fund_rating_ja, or fund_rating_all, so the agent must infer the difference from the agency name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of the alternative rating tools in a list crowded with fund_rating_* siblings. The only indirect hint is the source URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_rating_zsBRead-onlyIdempotent
天天基金网-基金评级-招商证券评级 https://fund.eastmoney.com/data/fundrating_2.html :param date: 日期;https://fund.eastmoney.com/data/fundrating_2.html 获取查询日期 :type date: str :return: 招商证券评级-混合型 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20230331 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds that the result is a 招商证券 rating for 混合型 funds returned as a pandas.DataFrame, which is mild extra context, but it does not disclose pagination, rate limits, or what happens for dates with no data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is short but wastes space repeating the same URL twice and includes boilerplate Sphinx tags (:type:, :rtype:) that restate the schema and return type rather than adding information. It is not bloated, but the sentence budget is not well spent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema tool whose return type is stated, the description is roughly adequate, but it omits the date format and any hint of fund coverage or sibling differentiation. An agent could invoke it, but with avoidable ambiguity about the date string.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema description coverage is 0%, so the description must carry the load. It names the parameter (date), its type (str), and points at the source page to obtain a query date, but it never states the required format (YYYYMMDD), which the schema default 20230331 implies but does not explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (基金评级 from 天天基金网, sourced from 招商证券) and names the source URL, so an agent can tell it is a fund-rating feed from a particular agency. It does not, however, distinguish itself from the closely named siblings fund_rating_sh, fund_rating_ja, or fund_rating_all, which is the main thing an agent needs to disambiguate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains no when-to-use, when-not-to-use, or alternative-tool guidance. Given the presence of fund_rating_sh, fund_rating_ja and fund_rating_all as siblings, the absence of any routing hint is a notable gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_report_asset_allocation_cninfoBRead-onlyIdempotent
巨潮资讯-数据中心-专题统计-基金报表-基金资产配置 https://webapi.cninfo.com.cn/#/thematicStatistics :return: 基金资产配置 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and non-destructive behavior. The description adds the return type (pandas.DataFrame) and source URL, which is useful, but does not disclose other behavioral traits such as data granularity, update frequency, or whether any authentication is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with the core title front-loaded. The embedded URL and docstring add some value but could be better structured. It does not suffer from verbosity or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the burden of explaining what the returned data contains. It only states 'fund asset allocation' and the DataFrame type, leaving the exact columns, time period, and scope ambiguous. It is minimally viable but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since the tool takes zero parameters, parameter semantics is inherently satisfied. The description adds context by specifying the return type as pandas.DataFrame, which is helpful even though no parameter documentation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the data source (CNINFO Data Center) and the specific report (fund asset allocation), distinguishing it from sibling tools like fund_report_industry_allocation_cninfo and fund_report_stock_cninfo. However, it lacks an explicit action verb, functioning more as a title than a statement of what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention use cases, prerequisites, or relationships to other fund report tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_report_industry_allocation_cninfoBRead-onlyIdempotent
巨潮资讯-数据中心-专题统计-基金报表-基金行业配置 https://webapi.cninfo.com.cn/#/thematicStatistics :param date: 报告时间;choice of {"XXXX0331", "XXXX0630", "XXXX0930", "XXXX1231"},从 2017 年开始 :type date: str :return: 基金行业配置 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210630 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds useful context beyond that: the data's temporal coverage starts from 2017 and the return is a pandas.DataFrame. It does not add pagination, rate-limit, or auth context, but for a read-only report tool this is a reasonable addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is compact and front-loads the source and identifier, but the opening line duplicates the title verbatim and the :return/:rtype boilerplate is low-value padding. For a one-parameter tool the length is appropriate, with only minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only report tool with no output schema, the description covers what is returned (基金行业配置 as a DataFrame), the date format, and the temporal range. Combined with annotations covering safety, an agent has enough to invoke it correctly; only sibling routing and any pagination/token requirements are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only parameter has just a default value, so the description carries the full burden — and it does: it gives the exact date format choices {XXXX0331, XXXX0630, XXXX0930, XXXX1231} and the lower bound (从 2017 年开始). This is meaningful semantic detail well beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource (基金行业配置 / fund industry allocation report) and its CNINFO source URL, so an agent can tell roughly what data it returns. However, the text is essentially a restatement of the tool title/name, and it does not distinguish this from close siblings such as fund_report_stock_cninfo or fund_report_asset_allocation_cninfo. Purpose is inferable but not sharply defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not, or which alternative to pick. The description never mentions the sibling report tools that return different fund-report slices, so an agent has no routing guidance. Only the date format is specified, which is parameter info rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_report_stock_cninfoBRead-onlyIdempotent
巨潮资讯-数据中心-专题统计-基金报表-基金重仓股 https://webapi.cninfo.com.cn/#/thematicStatistics :param date: 报告时间;choice of {"XXXX0331", "XXXX0630", "XXXX0930", "XXXX1231"} :type date: str :return: 基金重仓股 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210630 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. The description adds only the report-period constraint and that the return is a pandas.DataFrame, which is minor added context rather than rich behavioral disclosure. No mention of pagination, rate limits, or data coverage/caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The resource is front-loaded, but the body is a raw docstring dump including a source URL and low-value ':type date: str' / ':rtype: pandas.DataFrame' lines that restate what the schema implies. It is short enough overall but has some redundant scaffolding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema fetch tool this is minimally adequate: the agent knows the input format and that it returns a DataFrame of fund heavy holdings. However, the actual returned columns and any data caveats are undocumented, so an agent cannot fully anticipate the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and does it reasonably: it names the parameter (报告时间 / report time) and gives the accepted period format via the choices {"XXXX0331", "XXXX0630", "XXXX0930", "XXXX1231"}, which is not encoded as an enum in the schema. This meaningfully compensates for the schema gap, though it does not explain the default or the quarter-end semantics explicitly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The Chinese header identifies the resource (巨潮资讯 fund-report heavy-holdings stocks, '基金重仓股'), so an agent can tell it returns fund top-holding data. However, the first line is essentially the same string as the annotation title, and there is no differentiation from close siblings like fund_report_industry_allocation_cninfo or fund_report_asset_allocation_cninfo. It states a resource but not in a way that clearly distinguishes this tool from its family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no conditions, and no named alternatives. The description only lists source metadata and parameter/return types, leaving the agent to infer that this is a date-keyed fund holdings snapshot. No exclusions or preferred-use statements are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_scale_change_emCRead-onlyIdempotent
天天基金网-基金数据-规模份额-规模变动 https://fund.eastmoney.com/data/gmbdlist.html :return: 规模变动 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is clear. However, the description adds minimal behavioral context—it provides a source URL and return type but does not disclose potential volume, pagination, or coverage details. It neither contradicts the annotations nor meaningfully enriches them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but it is under-specified rather than concise. It includes a URL and a docstring-style return annotation, but the primary title line is essentially a restatement of the tool name and adds little value. It is not front-loaded with a purpose statement, so the brevity does not help usability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only source of information about what the tool returns. It merely provides a URL and '规模变动' (scale changes) with a DataFrame type, but does not describe the data's structure, scope, or any caveats. An agent would not know what rows/columns to expect or how the data is organized.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema covers 100% of the parameter space by definition. The description does not need to explain parameters. The baseline score of 4 for zero-parameter tools is appropriate, as no additional semantic guidance is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a label-like path '天天基金网-基金数据-规模份额-规模变动' rather than a clear verb+resource statement. It mentions the return type '规模变动' (scale changes) but does not explicitly say the tool fetches or returns this data. It also does not differentiate from sibling fund tools like fund_aum_hist_em or fund_scale_close_sina.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternative fund data tools. The description lacks any mention of use cases, exclusions, or alternatives, leaving the agent to infer from the name alone. The sibling list is extensive but no comparison is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_scale_close_sinaBRead-onlyIdempotent
新浪财经-基金数据中心-基金规模-封闭式基金 https://vip.stock.finance.sina.com.cn/fund_center/index.html#jjhqetf :return: 基金规模 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds a return type (pandas.DataFrame) and a source URL, but it does not disclose data freshness, column structure, pagination, or any edge-case behavior. This is minimal but not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, containing only the title, a source URL, and return type in three short components. Every element earns its place, and there is no redundancy. It could be more structured with a sentence describing the data, but for a zero-parameter tool, the brevity is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with good annotations, the description is minimally sufficient. It tells the user it returns a pandas DataFrame of closed-end fund scale from Sina, but it does not explain what columns are included, whether the data is historical or current, or how it might differ from similar tools. This leaves some gaps but is acceptable for such a simple endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameter semantics. The schema coverage is 100% (vacuously), and there is nothing for the description to add. The baseline of 4 for zero-parameter tools applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as Sina Finance closed-end fund scale data ('新浪财经-基金数据中心-基金规模-封闭式基金'), distinguishing it from open-end and structured fund scale siblings via the '封闭式基金' qualifier. However, it lacks an explicit verb like 'get' or 'retrieve', functioning more as a title than a declarative purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of related tools such as fund_scale_open_sina or fund_scale_structured_sina, nor any contextual hints about selecting this specific closed-end fund scale endpoint. The description only states the category without exclusions or recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_scale_daily_szseARead-onlyIdempotent
深圳证券交易所-基金产品-基金规模-日频数据 https://www.szse.cn/market/fund/volume/etf/index.html :param start_date: 开始日期,格式如 "20260401" :type start_date: str :param end_date: 结束日期,格式如 "20260401" :type end_date: str :param symbol: 基金类别,choice of {"ETF", "LOF", "REITS"} :type symbol: str :return: 深交所基金规模日频数据; 日期范围不能超过 6 个月,否则返回带表头的空 DataFrame :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | ETF | |
| end_date | No | 20260401 | |
| start_date | No | 20260401 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so safety is covered. The description adds genuinely useful behavior: ranges longer than 6 months return an empty DataFrame with headers, which tells the agent how failure manifests.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the constraint is well placed at the end, but the Sphinx :param:/:type: directives restate parameter types already present in the JSON schema, adding noise without new meaning for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter read-only tool with no output schema, the description covers inputs, formats, valid values, and the range-limit failure mode. Only the absence of sibling-routing guidance keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are no enums in the schema, so the description carries the full burden — and it does: date format example ("20260401") for both date params and the symbol choice set {ETF, LOF, REITS} that the schema omits entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific source, resource, and cadence: Shenzhen Stock Exchange fund product scale daily data, with a source URL anchoring it. It is distinguishable from Sina-sourced siblings like fund_scale_close_sina, though it does not explicitly contrast itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use / when-not guidance or named alternatives among the many fund_scale and fund_etf siblings. The 6-month range limit is a usage constraint, which partially compensates, but routing guidance is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_scale_open_sinaBRead-onlyIdempotent
新浪财经-基金数据中心-基金规模-开放式基金 https://vip.stock.finance.sina.com.cn/fund_center/index.html#jjhqetf :param symbol: choice of {"股票型基金", "混合型基金", "债券型基金", "货币型基金", "QDII基金"} :type symbol: str :return: 基金规模 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 股票型基金 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety expectations. The description adds that the return is a pandas.DataFrame containing 基金规模, which is useful context, but it does not describe pagination, latency, or any potential side effects beyond what annotations imply. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact with a clear structure: a title line, a source URL, and docstring-style parameter/return documentation. Each line serves a purpose, and it avoids unnecessary fluff. The URL adds context but is not essential, yet the overall conciseness is strong.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema, and annotations present), the description is minimally adequate. It identifies the data source, parameter options, and return type, but does not describe the DataFrame's columns, index, or any filtering behavior. For a straightforward fund-scale lookup, this is sufficient but lacks depth for more nuanced use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides no description for the 'symbol' parameter (0% coverage), but the description compensates by listing the exact allowed values: {"股票型基金", "混合型基金", "债券型基金", "货币型基金", "QDII基金"} and stating the type is str. This is essential information not present in the schema, though it does not explain the default behavior beyond the schema's default value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves 基金规模 (fund scale) for 开放式基金 (open-end funds) from Sina Finance, with the URL and name distinguishing it from sibling tools like fund_scale_close_sina and fund_scale_structured_sina. The action is implied as fetching/listing data, though not explicitly stated with a verb like 'get' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives such as fund_scale_close_sina or fund_aum_em. The category '开放式基金' is implied by the title and URL, but there is no mention of exclusions or preferred use cases, leaving the agent to infer from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_scale_structured_sinaCRead-onlyIdempotent
新浪财经-基金数据中心-基金规模-分级子基金 https://vip.stock.finance.sina.com.cn/fund_center/index.html#jjgmfjall :return: 基金规模 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds only the return type and source URL but no behavioral nuances such as data scope, freshness, or required authentication. It does not contradict the annotations, but it offers no additional behavioral context beyond what the annotations supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately brief: one title line, a URL, and two return tags. It is front-loaded and each line serves a purpose. The URL is somewhat long but adds source specificity. It avoids unnecessary verbosity, making it a concise representation for a parameterless tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining the return value. It only states '基金规模' and 'pandas.DataFrame', leaving the structure and content of the DataFrame undefined (e.g., fund codes, names, scale amounts, or time range). For a zero-parameter tool, this lack of detail limits the agent's ability to interpret and use the returned data effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, giving a schema description coverage of 100%. With no parameters to document, the description needs no parameter details, and the baseline for 0 params is 4. The description does not mislead or introduce any parameter-related confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description provides a Chinese title '新浪财经-基金数据中心-基金规模-分级子基金' and a URL, indicating it retrieves fund-scale data for graded sub-funds from Sina Finance. It does not include an explicit action verb like 'get' or 'retrieve', making the purpose clear but not strongly purposeful. It does distinguish from sibling tools such as fund_scale_close_sina and fund_scale_open_sina by specifying '分级子基金'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The description does not mention any exclusions, prerequisites, or alternative tools, even though siblings like fund_scale_close_sina and fund_scale_open_sina exist. The URL merely points to the data source but provides no contextual usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_stock_position_lgBRead-onlyIdempotent
乐咕乐股-基金仓位-股票型基金仓位 https://legulegu.com/stockdata/fund-position/pos-stock :return: 股票型基金仓位 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the data source URL and return type (pandas.DataFrame) but does not disclose additional behavioral traits such as data update frequency, columns included, or any rate limits. It provides minimal added value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and avoids unnecessary fluff, consisting of a title, source URL, and return type. However, the structure is fragmented with ':return:' and ':rtype:' lines, and there is slight redundancy between the title and the return description. It is appropriately sized but could be more polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description should clarify what the returned DataFrame contains. It only states 'stock fund position' without specifying columns, time range, or units. This leaves the user guessing about the data structure, though the source URL allows further investigation. It is minimally complete but lacks useful context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description has no parameter semantics to explain. Per guidelines, the baseline for zero-parameter tools is 4, and the description correctly omits parameter details since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as retrieving stock fund position data from Legulegu (乐咕乐股) with a specific source URL, which distinguishes it from sibling fund position tools like fund_balance_position_lg and fund_linghuo_position_lg. However, it lacks an explicit verb like 'get' or 'fetch', relying on the tool name to convey the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that this is specifically for stock-type funds, nor does it contrast with other fund position tools. There are no usage criteria, exclusions, or alternative tools suggested.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_value_estimation_emARead-onlyIdempotent
东方财富网-数据中心-净值估算 https://fund.eastmoney.com/lof_fundguzhi1.html :param symbol: choice of {'全部', '股票型', '混合型', '债券型', '指数型', 'QDII', 'ETF联接', 'LOF', '场内交易基金'} :type symbol: str :return: 近期净值估算数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the read-only nature is established. The description adds the data source URL and return type (DataFrame), which is useful but does not elaborate on pagination, rate limits, or data scope beyond 'recent'. It adds minimal behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with a title, URL, parameter documentation, and return type. It is reasonably concise, though the URL adds length and could be considered non-essential. The key information is front-loaded with the Chinese title, and the docstring format is easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one optional parameter and no output schema, the description provides sufficient information for an agent to invoke it: the param choices, return type, and data source. It could have mentioned default behavior or data sorting, but for a simple read-only estimation tool, it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes a complete docstring listing all valid values for 'symbol' (全部, 股票型, 混合型, 债券型, 指数型, QDII, ETF联接, LOF, 场内交易基金). This significantly exceeds the input schema, which only provides type and default but no enum or explanation. The parameter semantics are fully documented in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as '东方财富网-数据中心-净值估算' (East Money Net Value Estimation) and states it returns '近期净值估算数据' as a pandas DataFrame. This clearly indicates a data retrieval tool for estimated fund values, though it lacks an explicit verb like 'get' or 'fetch'. It somewhat distinguishes from siblings by its specific focus on net value estimation, but many similar fund data tools exist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternative fund tools, nor does it mention exclusions or prerequisites. There is no mention of alternatives or specific use cases, leaving the agent without contextual selection help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_comex_inventoryBRead-onlyIdempotent
东方财富网-数据中心-期货期权-COMEX库存数据 https://data.eastmoney.com/pmetal/comex/by.html :param symbol: choice of {"黄金", "白银"} :type symbol: str :return: COMEX库存数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 黄金 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, establishing a safe read operation. The description adds the source URL and return type (pandas.DataFrame) but does not disclose other behavioral traits like data frequency, historical depth, or API limitations. It offers some context beyond annotations but not rich behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact at five lines, each serving a distinct purpose (title, URL, param, return, rtype). It is reasonably structured with docstring conventions, though the simultaneous use of :return and :rtype is slightly redundant. The key information is front-loaded with the title and URL.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description is minimally adequate: it gives allowed parameter values and the return type. However, it does not describe what the returned COMEX inventory data contains (e.g., columns, date range), nor does it differentiate itself from the many other inventory-related tools in the sibling list. It lacks contextual completeness for an agent to make fully informed decisions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides a single `symbol` parameter with no description and no enum, giving 0% schema description coverage. The description compensates by explicitly stating the allowed values: choice of {'黄金', '白银'}, and provides the default value via the schema. This gives the agent enough semantic meaning to select a valid parameter value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing COMEX inventory data from East Money's data center, with a direct URL to the source page. It distinguishes itself from sibling tools by being COMEX-specific, but it lacks an explicit verb like 'retrieves' or 'gets', relying instead on the noun phrase 'COMEX库存数据'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternative inventory tools such as futures_inventory_em or futures_inventory_99. It does not mention any conditions, prerequisites, or explicitly state when this tool is preferred, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_comm_infoARead-onlyIdempotent
九期网-期货手续费 https://www.9qihuo.com/qihuoshouxufei :param symbol: choice of {"所有", "上海期货交易所", "大连商品交易所", "郑州商品交易所", "上海国际能源交易中心", "中国金融期货交易所", "广州期货交易所"} :type symbol: str :return: 期货手续费 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 所有 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds the source URL and allowed parameter values, but does not disclose behavioral quirks such as data freshness, pagination, rate limits, or potential errors. With annotations covering the main safety aspects, the extra context merits a middle score, but fails to provide deeper behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a standard docstring format with title, URL, parameters, and return info. It is appropriately sized, though the Chinese text and redundant title phrase could be slightly streamlined. Overall, it is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter, the description provides the parameter choices, source URL, and return type. However, it lacks details about the DataFrame structure (columns, index) and any caveats about the data (e.g., real-time vs historical). Since there is no output schema, this missing information leaves a gap in understanding what the tool returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no description for the 'symbol' parameter (0% coverage) and no enum. The description fully compensates by listing all allowed values: '所有' and the six Chinese exchange names. This is essential for correct invocation. It also specifies the type as str, aligning with the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides futures trading fees (期货手续费) from 9qihuo.com, with a URL and return type. It is specific about the data source and content, though it lacks an explicit verb like 'get' or 'retrieve'. It distinguishes from siblings by the unique source URL and Chinese title, but does not explicitly compare to similar futures fee tools such as futures_fees_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only lists the parameter choices and return type, with no mention of scenarios, prerequisites, or exclusions. No comparison to sibling tools is provided, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_comm_jsBRead-onlyIdempotent
金十财经-期货手续费 https://www.jin10.com/ :param date: 日期;格式为 YYYYMMDD,例如 "20250213" :type date: str :return: 期货手续费数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20260213 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well covered. The description adds source-domain context and return type, but does not describe pagination, rate limits, or data freshness beyond what the annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the tool's subject matter, and then documents the parameter and return type. The source URL is extra but harmless, and no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with rich annotations, the description covers the source, parameter format, and return type. However, because there is no output schema, it could say more about the shape of the returned DataFrame, such as what commission fields are included.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It does so for the single date parameter by specifying YYYYMMDD format and giving an example, which adds useful semantics beyond the schema's type/default declaration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as Jin10 futures commission/fee data and even cites the source URL, so an agent knows what the tool returns. It does not, however, distinguish this tool from sibling tools such as futures_comm_info or futures_fees_info, leaving ambiguity about which commission-fee source to choose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no conditions for selecting this tool over alternatives, and no prerequisites. It only documents the date parameter and return type, so usage must be inferred entirely from the tool name and source.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_contract_detailBRead-onlyIdempotent
查询期货合约详情 https://finance.sina.com.cn/futures/quotes/V2101.shtml :param symbol: 合约 :type symbol: str :return: 期货合约详情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | AP2101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds that the return is a pandas DataFrame and shows a Sina URL, offering source context, but it does not disclose additional behavior such as output columns 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the main purpose. The embedded docstring and URL slightly reduce clarity, but the overall structure is acceptable for a tool with one parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should ideally describe return fields, but it only states the return is a 'pandas.DataFrame' of futures contract details. The example URL adds some context, yet the actual columns and data content remain unspecified, leaving a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no description for 'symbol' (0% coverage). The description calls it '合约' (contract) and includes an example URL with 'V2101', but it does not explain expected formats like the default 'AP2101' or exchange-specific prefixes, providing only minimal compensation for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '查询期货合约详情' (query futures contract details), providing a specific verb and resource. However, it does not differentiate from the similarly named sibling tool 'futures_contract_detail_em', so it lacks explicit sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like futures_contract_detail_em or futures_contract_info_*. The Sina URL hints at a data source, but this is not stated as a selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_contract_detail_emCRead-onlyIdempotent
查询期货合约详情 https://quote.eastmoney.com/qihuo/v2602F.html :param symbol: 合约 :type symbol: str :return: 期货合约详情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | v2602F |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false). The description adds a return type (pandas.DataFrame) and a reference URL but does not disclose additional behavioral traits such as error handling, data coverage, or limitations. Given the annotation coverage, it provides minimal but non-redundant context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but mixes Chinese text, a URL, and docstring-style lines without a clear front-loaded summary. It is under-specified rather than concise, and the structure is not optimized for quick agent scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what '期货合约详情' includes, but it only mentions 'pandas.DataFrame' without specifying fields or content. Combined with many similar futures tools, the lack of detail leaves the agent uncertain about what to expect from the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the parameter. It says 'symbol: 合约' (contract) and type str, with 'v2602F' shown in the URL as an example. This is minimal and does not clarify the expected symbol format, possible exchange conventions, or how the agent should construct a valid symbol.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states '查询期货合约详情' (query futures contract details), which clearly identifies the operation and resource. However, it does not explain how this tool differs from the nearly identical sibling 'futures_contract_detail' or what the '_em' suffix denotes, so it lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus the many similar futures tools. The description includes a URL and parameter documentation but does not mention preferred contexts, exclusions, or alternatives, leaving tool selection ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_contract_info_cffexCRead-onlyIdempotent
中国金融期货交易所-数据-交易参数 http://www.gfex.com.cn/gfex/hyxx/ywcs.shtml :param date: 查询日期 :type date: str :return: 交易参数汇总查询 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240228 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds minimal context: it returns a pandas.DataFrame with trading parameter summary, and provides a source URL. However, the URL points to GFEX, not CFFEX, which is a potential source of confusion. No information about rate limits, data freshness, or error behavior is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the title and URL. The Python docstring format is recognizable and the parameter/return info is clearly labeled. However, the URL is inconsistent with the tool name (gfex vs cffex) and the title line repeats the annotation title, which adds a little noise. Overall, it is concise but not perfectly clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool, the description gives enough to understand the basic purpose and return type, but it lacks details about the content of the DataFrame and the exact meaning of 'trading parameters'. The URL mismatch also reduces confidence in the tool's data source. Without an output schema, more context about the return structure would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, 'date', is described in Chinese as '查询日期' (query date), which adds basic meaning beyond the schema's type and default. The schema description coverage is 0%, so the description must compensate. It does explain what the parameter is for, but it does not specify the expected format (e.g., YYYYMMDD), although the default '20240228' implies it. This is a minimal but adequate explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as '中国金融期货交易所-数据-交易参数' (China Financial Futures Exchange - Data - Trading Parameters), which indicates the tool retrieves trading parameters for CFFEX. However, there is no explicit action verb; the docstring's ':return: 交易参数汇总查询' is a noun phrase. The URL (gfex.com.cn) contradicts the tool name (cffex), creating confusion about which exchange is intended. It also does not distinguish this tool from sibling futures_contract_info tools beyond the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of preferred scenarios, exclusions, or comparisons to other futures_contract_info_* tools. The only context is the title and URL, which imply CFFEX-specific data, but this is not explicitly stated in a way that helps an agent decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_contract_info_czceCRead-onlyIdempotent
郑州商品交易所-交易数据-参考数据 http://www.czce.com.cn/cn/jysj/cksj/H770322index_1.htm :param date: 查询日期 :type date: str :return: 交易参数汇总查询 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240228 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is known. The description adds little behavioral context beyond the source URL and the generic return type 'pandas.DataFrame'. It does not describe data freshness, pagination, or any limitations, leaving the agent under-informed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a docstring pattern, with a title, URL, and param/return sections. It avoids unnecessary filler, but some content (like the raw URL) may not be essential for an AI agent. Overall, it is concise and not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain what the returned DataFrame contains. '交易参数汇总查询' is ambiguous and does not describe columns, contract identifiers, or data granularity. The date format is also unspecified. For a futures contract info tool, this is incomplete and could lead to incorrect use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the 'date' parameter. The description provides ':param date: 查询日期' and ':type date: str', which adds basic meaning ('query date') but lacks required format (e.g., YYYYMMDD), allowed ranges, or whether it is optional. The default '20240228' in the schema implies format, but the description itself does not clarify it sufficiently.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is vague: it provides a title '郑州商品交易所-交易数据-参考数据' and a return description '交易参数汇总查询' (trading parameter summary query), but no explicit action like 'retrieve' or 'query'. It does not clearly state what the tool does beyond the name itself, and it fails to distinguish from sibling tools like futures_contract_info_dce or futures_contract_info_cffex.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No mention of exchange-specific use cases, prerequisites, or exclusions. The description only includes a URL and docstring param/return info, which does not help an agent decide when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_contract_info_dceBRead-onlyIdempotent
大连商品交易所-数据中心-业务数据-交易参数-合约信息 http://www.dce.com.cn/dce/channel/list/180.html :return: 交易参数汇总查询 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, which cover safety. The description adds the source URL and return type (pandas DataFrame), but no further behavioral details such as data freshness, pagination, or columns, which is acceptable for a simple parameterless query.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a source URL and a return type line. It is efficient and front-loaded, though the format is somewhat technical and could be more readable for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool with annotations covering safety, the description conveys the data source, the category (trading parameters contract info), and the return type. While it does not enumerate columns, the simplicity of the tool makes this largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline is 4. The description confirms no inputs are needed and returns a DataFrame, which is sufficient for parameterless invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (DCE contract info under trading parameters) and names the exchange in the title, distinguishing it from sibling tools for other exchanges. Although it lacks an explicit imperative verb like 'list' or 'get', the ':return:' line and URL make the retrieval purpose evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The name and URL imply DCE-specific usage, but there is no explicit mention of when to choose this over futures_contract_info_cffex, futures_contract_info_czce, etc.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_contract_info_gfexBRead-onlyIdempotent
广州期货交易所-业务/服务-合约信息 http://www.gfex.com.cn/gfex/hyxx/ywcs.shtml :return: 交易参数汇总查询 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so safety is covered. The description adds the source URL (http://www.gfex.com.cn/gfex/hyxx/ywcs.shtml) and the return type (pandas DataFrame), providing context about data provenance and output format. However, it does not disclose any potential rate limits, data freshness, or specific fields returned, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: three lines including the title, URL, and return type. Every piece of content serves a purpose: the URL identifies the official data source, and the return type informs the agent of the output structure. There is no fluff or redundant repetition, and the information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (zero parameters, read-only, no output schema), the description is borderline adequate. It names the data source, what it queries (trading parameters summary), and the return type. However, it does not enumerate the specific columns or data fields that would be in the DataFrame, nor does it mention any caveats like whether it includes only current contracts or historical data. This leaves meaningful gaps for an agent deciding if this tool meets a user's request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is trivially 100% with an empty properties object. No parameter documentation is needed. The description does not add parameter semantics, but for a no-parameter tool this is not a gap, so the baseline score of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '广州期货交易所-业务/服务-合约信息' (Guangzhou Futures Exchange - Business/Service - Contract Information) and ':return: 交易参数汇总查询' (Trading parameters summary query), indicating a query operation for contract information of the GFEX. This is specific enough to distinguish it from similar exchange-specific tools, though it lacks an explicit verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the sibling tools for other exchanges (e.g., futures_contract_info_cffex, futures_contract_info_czce). It does not state any exclusions, prerequisites, or scenarios where this tool is preferred. The only differentiator is the exchange name in the title and tool name, which is implicit rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_contract_info_ineBRead-onlyIdempotent
上海国际能源交易中心-业务指南-交易参数汇总(期货) https://www.ine.cn/bourseService/summary/?name=currinstrumentprop :param date: 查询日期;交易日 :type date: str :return: 交易参数汇总查询 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20241129 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/non-destructive, so the safety profile is fully covered and the description does not contradict it. The description adds that the source is the INE business-guide page and that the result is a pandas.DataFrame, but says nothing about update cadence, availability of historical dates, or failure behavior when a non-trading day is passed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The body is short, but it is auto-generated docstring boilerplate led by a raw URL and reST field markers rather than a front-loaded purpose statement. The :type:/:rtype: lines duplicate information already implied by the schema and return convention, so not every line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema data fetch with adequate annotations, the definition is minimally usable: it identifies the exchange, the source, the parameter meaning, and the return type. It is still thin on date formatting and on what the 'trading parameters' result actually contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the full burden, and it does clarify that date is a 查询日期 and must be a 交易日 (trading day) - non-obvious constraints the schema lacks. It still omits the expected string format (inferable only from the 20241129 default) and whether the parameter is optional in practice.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title-derived text names a specific exchange (上海国际能源交易中心 / INE) and a specific dataset (业务指南-交易参数汇总 for 期货), which pins it apart from the sibling futures_contract_info_cffex/czce/dce/gfex/shfe tools by exchange. However it never explicitly contrasts itself with those siblings, and '交易参数汇总' stays abstract about what fields are returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus other contract-info tools, no prerequisites, and no exclusion criteria. The only context offered is the source URL, which tells the agent where the data comes from but not when to prefer this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_contract_info_shfeDRead-onlyIdempotent
上海期货交易所-交易所服务-业务数据-交易参数汇总查询 https://tsite.shfe.com.cn/bourseService/businessdata/summaryinquiry/ :param date: 查询日期;交易日 :type date: str :return: 交易参数汇总查询 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240513 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds nothing beyond the URL — no rate limits, no note about exchange trading-day semantics, no pagination or data freshness. A URL alone is thin behavioral context for a network fetch against a live exchange site.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, which is fine, but the first line duplicates the title and the remaining lines are boilerplate docstring fields (:param/:type/:return/:rtype) rather than agent-facing content. Little waste, but also little value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-param tool with no output schema the description should at minimum explain the return shape or the domain scope of 'trading parameters'. Instead it echoes ':return: 交易参数汇总查询' — a circular restatement. An agent cannot tell what columns or instruments it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single param 'date' has a schema default of '20240513' but no description. The description states '查询日期;交易日' (query date; trading day), which usefully clarifies that the date must be a trading day rather than a calendar day, but it omits the expected date format and what happens when a non-trading day is passed. Marginal compensation for a 0% coverage schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description largely restates the tool title ('上海期货交易所-交易所服务-业务数据-交易参数汇总查询') which the annotations already supply as the title. '交易参数汇总查询' (trading parameter summary query) is a vague resource description and gives no hint of what contract parameters are returned. It never clearly distinguishes itself from siblings like futures_contract_detail, futures_contract_info_dce/czce/gfex, or futures_rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance whatsoever. With ~500 sibling tools including several near-identical SHFE/other-exchange contract-info tools, the agent has no signal on when this one is the right pick versus futures_contract_detail or futures_contract_info_czce.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_dce_position_rankBRead-onlyIdempotent
大连商品交易所-每日持仓排名-具体合约 http://www.dce.com.cn/dalianshangpin/xqsj/tjsj26/rtj/rcjccpm/index.html :param date: 指定交易日;e.g., "20200511" :type date: str :param vars_list: 品种列表 :type vars_list: list :return: 指定日期的持仓排名数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20160919 | |
| vars_list | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering the safety profile and matching the read-only nature of a rank query — no contradiction. The description adds the source URL and a return type, but says nothing about pagination, date-range limits, or freshness beyond a single example date. Modest added value over structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded with the source title, but the raw URL and the Sphinx :type:/:rtype: boilerplate add noise without adding meaning for an agent. Content is minimal rather than tightly optimized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter, all-optional tool with annotations present, the description covers both parameters and documents the return (:return pandas.DataFrame of position rank data for the given date), substituting for the absent output schema. It omits what defines a valid date range and what values vars_list accepts, leaving real gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the documentation burden: it defines date as the trading day with the concrete format example "20200511" and labels vars_list as a variety list. However, vars_list gets no format, allowed-value, or default information despite the schema carrying a large default list, so the compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: DCE daily position rank for a specific contract ("大连商品交易所-每日持仓排名-具体合约"), with a source URL. The "具体合约" qualifier hints at scope but does not explicitly distinguish it from the sibling futures_dce_position_rank_other or the many other rank tools. Purpose is clear; sibling differentiation is not spelled out.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is given. The docstring never mentions futures_dce_position_rank_other, get_dce_rank_table, or get_rank_table_czce, so the agent must infer routing from the name alone. Only the implicit "具体合约" scope hint exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_dce_position_rank_otherCRead-onlyIdempotent
大连商品交易所-每日持仓排名-具体合约-补充 http://www.dce.com.cn/dalianshangpin/xqsj/tjsj26/rtj/rcjccpm/index.html :param date: 交易日 :type date: str :return: 合约具体名称列表 :rtype: list
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20160104 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds only that the return is a list of contract names. It does not disclose any additional behavioral traits such as date format handling, error cases, or dependencies. It does not contradict annotations but adds minimal value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and includes only essential elements: title, source URL, parameter, and return. It is not verbose and is reasonably front-loaded, though the documentation-style fragments lack a unified, sentence-like structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple one-parameter signature and a return type, but the overall purpose is unclear due to the 'supplement' label. No output schema exists, and the description does not explain how this tool fits with related ranking tools or what 'other' distinguishes. The return type is provided, but usage context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description states the date parameter is a trading day (交易日), which adds some semantic meaning beyond the schema's type and default. However, it does not specify the expected format (e.g., YYYYMMDD) beyond the default value, and with only one parameter, the added meaning is moderate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description mostly consists of the title, a URL, and parameter/return docs. It does not clearly state in a verb-driven sentence what the tool does. The title says 'supplement' but the function remains ambiguous, even though the return type indicates it yields a list of contract names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention its relationship to futures_dce_position_rank or any other tool, nor any prerequisites or conditions. The description is entirely silent on usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_delivery_czceBRead-onlyIdempotent
郑州商品交易所-月度交割查询 http://www.czce.com.cn/cn/jysj/ydjgcx/H770316index_1.htm :param date: 年月日 :type date: str :return: 郑州商品交易所-月度交割查询 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210112 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds the data source URL and the return type (pandas.DataFrame), but no additional behavioral context such as data availability, pagination, or error conditions. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the tool's purpose. The URL and parameter/return documentation are each useful. It is minimally verbose, though the return description is somewhat redundant with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter, and the description covers the input format and indicates a DataFrame return. However, without an output schema, the description does not explain the actual data content or columns, making it only partially complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It specifies the date parameter format as '年月日' (YYYYMMDD) and type str, and the schema provides a default example. This adds meaningful format guidance beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool queries monthly delivery data from the Zhengzhou Commodity Exchange (CZCE), which is a specific verb+resource. It distinguishes from sibling tools like futures_delivery_dce and futures_delivery_shfe by specifying CZCE, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. There is no mention of when to use this tool versus other delivery or CZCE-related tools, nor any prerequisites or exclusions. The only hint is the inferred scope from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_delivery_dceCRead-onlyIdempotent
大连商品交易所-交割统计 http://www.dce.com.cn/dalianshangpin/xqsj/tjsj26/jgtj/jgsj/index.html :param date: 交割日期 :type date: str :return: 大连商品交易所-交割统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 202312 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, covering safety. However, the description adds no behavioral context beyond repeating the title and the date parameter. It does not disclose pagination, rate limits, data coverage, or how the date is interpreted beyond '交割日期'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact but somewhat unstructured, mixing a title, a URL, and docstring-style param/return lines. It contains no fluff, but the format is purely technical and the URL is not explained. It could be more readable with a simple sentence, but it is not excessively long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain the return value. It only says 'returns Dalian Commodity Exchange delivery statistics as a pandas.DataFrame' without detailing columns (e.g., contract, delivery volume, delivery price) or any other output characteristics. This leaves the agent with insufficient information to anticipate the result structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one optional 'date' parameter with default '202312', and schema description coverage is 0%. The description's param line only says '交割日期' (delivery date) with type str, but does not specify the expected format (e.g., YYYYMM or YYYY-MM), whether it is a single month or range, or any examples. The default value hints at YYYYMM, but this is not explicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the specific resource (Dalian Commodity Exchange delivery statistics) and includes the official URL. While it lacks an explicit verb like 'fetch' or 'retrieve', the combination of the tool name and description makes the function's purpose clear. It is distinguishable from sibling tools for other exchanges (e.g., futures_delivery_czce) by naming DCE explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that this is for DCE (though the name implies it) or explain any exclusions. No comparison with sibling delivery statistics tools for other exchanges is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_delivery_match_czceCRead-onlyIdempotent
郑州商品交易所-交割配对 http://www.czce.com.cn/cn/jysj/jgpd/H770308index_1.htm :param date: 年月日 :type date: str :return: 郑州商品交易所-交割配对 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210106 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds a source URL and the return type (pandas.DataFrame), but does not disclose behavioral traits like data scope, pagination, or potential scraping limitations. It adds minimal context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but contains redundancy: the opening line and the :return value are identical ('郑州商品交易所-交割配对'). It includes a URL and a docstring-style param section, which is useful, but the repetition wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the returned DataFrame contains, but it only repeats the tool name in both the opening and :return sections. It lacks any detail about columns, data content, or behavioral scope, making it insufficient for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It documents the date parameter as '年月日' (year-month-day) and type str, and the schema default '20210106' hints at the expected format. However, it lacks explicit format specification and constraints, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a noun phrase '郑州商品交易所-交割配对' that restates the tool's title and name without an explicit verb or explanation of what '交割配对' means. It provides a source URL but does not clarify the tool's function beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as futures_delivery_match_dce or futures_delivery_czce. The description only documents the date parameter and gives no context about appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_delivery_match_dceCRead-onlyIdempotent
大连商品交易所-交割配对表 http://www.dce.com.cn/dalianshangpin/xqsj/tjsj26/jgtj/jgsj/index.html :param symbol: 交割品种 :type symbol: str :return: 大连商品交易所-交割配对表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | a |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds the source URL and notes the return type (pandas.DataFrame), but does not disclose details such as data volume, pagination, or any quirks about the delivery matching process. With annotations covering the core behavior, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a standard docstring structure with title, source URL, param, and return. It is not verbose, but the first line duplicates the title already present in annotations, which is slightly redundant. Overall, it is well-structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description bears full responsibility for explaining what the returned DataFrame contains. It only says '交割配对表' (delivery matching table) without specifying columns, row content, or how to interpret the data. It also lacks examples of valid symbol values, making the tool hard to use correctly despite its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate. It defines :param symbol: as 交割品种 (delivery variety), which gives a general meaning, but does not explain valid values, code format (e.g., 'a' for a specific commodity), or how the default works. This minimal explanation is insufficient for an agent to correctly populate the parameter beyond guessing. Score reflects the lack of actionable detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool returns the Dalian Commodity Exchange delivery matching table (大连商品交易所-交割配对表), which clearly identifies the specific resource and distinguishes it from sibling tools like futures_delivery_dce and futures_delivery_match_czce. Although it lacks an explicit verb like 'fetch' or 'get', the ':return:' line makes the purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of when to choose futures_delivery_match_dce over futures_delivery_dce or futures_delivery_match_czce, nor any context about the type of delivery data being queried. This leaves the agent to infer usage solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_delivery_shfeCRead-onlyIdempotent
上海期货交易所-交割情况表 https://tsite.shfe.com.cn/statements/dataview.html?paramid=kx 注意:日期 -> 月度统计 -> 下拉到交割情况表 :param date: 年月日 :type date: str :return: 上海期货交易所-交割情况表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 202312 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered. The description adds the data provenance (the shfe.com.cn statements URL) which is modestly useful context, but says nothing about output shape or any rate/access caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The resource name is front-loaded, but the docstring repeats the title in the ':return' line and adds a redundant ':rtype: pandas.DataFrame' plus an unused URL. Roughly half the lines carry no new information for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-read-only-parameter fetch with no output schema, the description supplies the source and a rough date format, which is minimally adequate. It omits what the returned table contains (columns, coverage period), leaving the agent to infer the payload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It states ':param date: 年月日' (year-month-day), giving format intent beyond the bare schema, though this slightly conflicts with the '202312' default (year-month) and does not resolve the expected input string precisely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource, '上海期货交易所-交割情况表' (SHFE delivery situation table), which an agent can distinguish from delivery siblings tied to other exchanges (czce, dce). However, it is essentially a restatement of the title with no verb describing the operation, so the purpose is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only prose is '注意:日期 -> 月度统计 -> 下拉到交割情况表', which is a website navigation path, not usage guidance. There is no indication of when to call this tool versus futures_delivery_czce, futures_delivery_dce, or the other delivery tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_display_main_sinaCRead-onlyIdempotent
新浪主力连续合约品种一览表 https://finance.sina.com.cn/futuremarket/index.shtml :return: 新浪主力连续合约品种一览表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations (readOnlyHint=true, destructiveHint=false, idempotentHint=true) already establish that this is a safe read-only operation. The description adds the source URL and the return type, which gives some context, but it does not disclose additional behavioral traits such as data update frequency, pagination, or any quirks. There is no contradiction with annotations, but the added info is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and not overly verbose, but it repeats the same phrase '新浪主力连续合约品种一览表' in both the title line and the :return line, which is redundant. The URL and docstring format provide structure, but the repetition wastes a little space without adding value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not fully specify what the returned DataFrame contains beyond the generic 'main continuous contract varieties list'. It does not list columns, describe the nature of the data (e.g., real-time vs. historical), or clarify how it differs from futures_main_sina. Since there is no output schema, the description should provide more detail to enable correct use, but it remains vague.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline score is 4 according to the rubric. There are no parameter details to explain, and the schema is empty, so the description is not required to compensate for missing parameter information. The description adequately covers the absence of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a noun phrase 'Sina main continuous contract varieties list' that restates the tool name in Chinese without a clear action verb like 'fetch' or 'get'. It includes a return type (pandas.DataFrame) which implies data retrieval, but it does not specify the operation explicitly. It also fails to distinguish itself from the sibling tool futures_main_sina, which appears to serve a similar purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no information about when to use this tool versus alternatives. It does not mention any specific use cases, prerequisites, or exclusions, leaving the agent to guess among the many similar futures-related tools. There is no guidance on when to prefer this over futures_main_sina or other spot/realtime tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_fees_infoBRead-onlyIdempotent
openctp 期货交易费用参照表 http://openctp.cn/fees.html :return: 期货交易费用参照表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds that the return type is pandas.DataFrame and includes a source URL, providing some context beyond the annotations. However, it does not disclose any additional behavioral traits such as update frequency or data limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, containing a title, a URL, and return type information in two lines. No unnecessary words, though the phrase '期货交易费用参照表' is repeated in the title and return description, which is mildly redundant but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only, no-parameter tool, the description is fairly complete. It identifies the data source (openctp), provides a URL for details, and states the return type. The lack of an output schema is mitigated by the clarity of the 'fee reference table' concept, and the annotations cover the operational safety aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The schema is empty (100% coverage), and there is nothing for the description to explain. The description appropriately focuses on the output rather than parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool provides an 'openctp 期货交易费用参照表' (openctp futures trading fee reference table) with a source URL. While it lacks an explicit verb, the resource and its purpose are unambiguous. It distinguishes from sibling tools like futures_rule or futures_settle by focusing specifically on fees.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. There is no mention of scenarios where this fee reference table is appropriate, nor any exclusions or comparisons to other futures-related tools. The description only states what it is, not when to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_foreign_commodity_realtimeBRead-onlyIdempotent
新浪-外盘期货-行情数据 https://finance.sina.com.cn/money/future/hf.html :param symbol: 通过调用 ak.futures_hq_subscribe_exchange_symbol() 函数来获取 :type symbol: list or str :return: 行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the data source (Sina) and return type (DataFrame), but does not disclose column contents, real-time latency, or any special behavior. This is acceptable for a simple read-only quote tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured as a docstring with title, URL, param, and return lines. It is compact and to the point, with each line serving a purpose. The URL is a minor redundancy but does not detract significantly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter realtime quote tool with no output schema, the description covers the data source, parameter acquisition, and return type. However, it does not describe the DataFrame columns or any data specifics, leaving some ambiguity about the result contents. It is minimally complete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only specifies symbol as string or array with no description. The description adds that symbol is obtained via a specific subscription function and can be list or str, providing crucial guidance for valid values. This partially compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as '新浪-外盘期货-行情数据' (Sina overseas futures market data) and includes the source URL, making the data source and topic clear. However, it does not explicitly differentiate realtime quotes from sibling tools like futures_foreign_hist or futures_foreign_detail; the generic term '行情数据' weakens the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only explains how to obtain the symbol parameter (via ak.futures_hq_subscribe_exchange_symbol()), but gives no guidance on when to use this tool versus alternatives such as futures_foreign_hist or futures_foreign_detail. The referenced function name may also be inconsistent with the sibling futures_foreign_commodity_subscribe_exchange_symbol, adding potential confusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_foreign_commodity_subscribe_exchange_symbolCRead-onlyIdempotent
需要订阅的行情的代码 https://finance.sina.com.cn/money/future/hf.html :return: 需要订阅的行情的代码 :rtype: list
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds only the source URL and return type, which is minimal. Annotations already declare readOnly/idempotent, so the safety profile is covered, but the description doesn't disclose behavioral traits like whether it fetches live data, caching, or how the list is derived. With annotations present, the bar is lower, but the description still provides almost no additional behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the return information and a URL. However, it is a noun phrase rather than a complete sentence, and the structure is a bit fragmented with the ':return' and ':rtype' lines. It earns points for brevity but loses for lack of a clear, complete statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no params, no output schema), the description still lacks critical context. It doesn't mention that it's specifically for foreign commodity futures, what the exchange symbols look like, or how the list is intended to be used. With many sibling tools, an agent needs more context to decide when this tool is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and the input schema is empty. The baseline for 0 params is 4. The description doesn't mention parameters, but none exist, so no information is missing. It adequately covers the parameter story.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool returns a list of quote codes that need subscription (需要订阅的行情的代码) and includes a source URL. This is clear enough to understand the core purpose, but it lacks an explicit verb and doesn't differentiate from sibling tools like futures_hq_subscribe_exchange_symbol.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are sibling tools for foreign commodity realtime, details, and history, but no exclusions or conditions are mentioned. An agent is left without context for proper selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_foreign_detailBRead-onlyIdempotent
foreign futures contract detail data :param symbol: futures symbol, you can get it from ak.futures_hq_subscribe_exchange_symbol function :type symbol: str :return: contract detail :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | ZSD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the return is a pandas.DataFrame and that the symbol is a futures symbol, but does not disclose what fields or time periods the 'detail' covers, nor any pagination or error behavior. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, using a standard docstring format with a brief summary, param, and return sections. It is front-loaded with the summary and contains no filler, though it could benefit from a more descriptive opening sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-parameter tool with strong annotations, the description is adequate but incomplete. It does not describe the content of the returned 'contract detail' DataFrame or how it differs from related futures tools. There is no output schema and no explanation of coverage (e.g., which foreign exchanges or time ranges). Enough to invoke, but with clear ambiguities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a name, type, and default for the symbol parameter with 0% description coverage. The description compensates by explaining that the parameter is a futures symbol and points to the exact function (ak.futures_hq_subscribe_exchange_symbol) where valid symbols can be obtained. This adds meaningful semantic information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with 'foreign futures contract detail data', which closely mirrors the tool name and title, providing little beyond a noun phrase. It implies the tool returns contract details for a given symbol, but lacks a clear verb or explicit differentiation from sibling tools like futures_foreign_hist or futures_contract_detail. The parameter and return lines add modest clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus alternatives. The only usage hint is that the symbol can be obtained from ak.futures_hq_subscribe_exchange_symbol, which is a prerequisite for the parameter, not a usage guideline. There are no 'when-to-use' or 'when-not-to-use' statements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_foreign_histBRead-onlyIdempotent
外盘期货-历史行情数据-日频率 https://finance.sina.com.cn/money/future/hf.html :param symbol: 外盘期货代码,可以通过 ak.futures_foreign_commodity_subscribe_exchange_symbol() 来获取所有品种代码 :type symbol: str :return: 历史行情数据-日频率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | ZSD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds limited behavioral context: data frequency is daily, data is historical, and the return type is pandas.DataFrame. It does not describe rate limits, data source behavior, or output columns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first line, which is good. However, the raw URL adds noise without explanation, and the return/rtype lines repeat the frequency information already stated in the title, making the docstring less tight than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter data retrieval tool with rich annotations but no output schema, the description covers purpose, parameter acquisition, and return type. It does not describe the returned DataFrame columns or date-range behavior, which are important for an agent to use the output correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden for the single symbol parameter. It does explain that symbol is a foreign futures code and directs the agent to ak.futures_foreign_commodity_subscribe_exchange_symbol() for valid codes, which is meaningful beyond the schema. It does not clarify formatting details such as case or exchange prefixes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource and data type clearly: foreign futures (外盘期货) historical quotes at daily frequency. This distinguishes the tool from real-time variants in name and description, but it does not explicitly contrast with sibling tools such as futures_foreign_commodity_realtime or other historical tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no exclusion conditions, and no named alternatives. The only actionable guidance is how to obtain valid symbol codes, which is parameter acquisition rather than usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_gfex_position_rankBRead-onlyIdempotent
广州期货交易所-日成交持仓排名 http://www.gfex.com.cn/gfex/rcjccpm/hqsj_tjsj.shtml :param date: 开始日期;广州期货交易所的日成交持仓排名从 20231110 开始 :type date: str :param vars_list: 商品代码列表 :type vars_list: list :return: 日成交持仓排名 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20231113 | |
| vars_list | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds one genuinely useful behavioral fact beyond them: the data series starts on 20231110. It says nothing about refresh cadence, pagination, or data coverage limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is compact and front-loads the resource name, with a source URL and Sphinx-style tags that are informative rather than padded. Minor redundancy between the title line and the ':return'/'rtype' tags.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only data-retrieval tool with annotations covering the safety profile and no output schema, the description mentions the return type (pandas.DataFrame) and the date-range constraint, which is adequate at a minimum. The vars_list format and the relationship to sibling rank tools are the notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden; it partially does, explaining that 'date' is a start date and that data begins 20231110, and that 'vars_list' is a commodity-code list. However it never specifies the accepted code format or examples for vars_list, leaving half the parameter semantics unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — GFEX (Guangzhou Futures Exchange) daily trading/position rankings — via the title line and the ':return' tag. It does not, however, distinguish itself from close siblings like futures_dce_position_rank or get_rank_table_czce, so an agent must infer which exchange's rank table this is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit statement of when to use this tool versus the many sibling rank-table tools, nor any prerequisite/exclusion guidance. Usage is only implied by the exchange name in the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_gfex_warehouse_receiptBRead-onlyIdempotent
广州期货交易所-行情数据-仓单日报 http://www.gfex.com.cn/gfex/cdrb/hqsj_tjsj.shtml :param date: 交易日,e.g., "20240122" :type date: str :return: 指定日期的仓单日报数据 :rtype: dict
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240122 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds essentially no behavioral context beyond the title and a source URL – no note on data latency, coverage, pagination, or what the report contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the title line, followed by the authoritative source URL and a compact param/return block. It is slightly redundant in restating the title, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only data fetch with annotations covering the safety profile and no output schema, the description supplies the date format and points to the source, which is enough to call it correctly. Return structure detail is not strictly required here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter meaning, and it does: it names the single parameter date, describes it as the trading day (交易日), and gives the exact format example "20240122". This is the critical semantics the schema omits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a concrete resource and scope: GFEX (广州期货交易所) warehouse-receipt daily report (仓单日报), which is distinct from the sibling warehouse-receipt tools for SHFE, CZCE, and DCE. It is clear and specific, but it does not explicitly name those siblings to help the agent route between exchange variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no mention of alternatives such as futures_shfe_warehouse_receipt or get_receipt. The only usage hint is the date format example, which is a parameter concern rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_global_hist_emBRead-onlyIdempotent
东方财富网-行情中心-期货市场-国际期货-历史行情数据 https://quote.eastmoney.com/globalfuture/HG25J.html :param symbol: 品种代码;可以通过 ak.futures_global_spot_em() 来获取所有可获取历史行情数据的品种代码 :type symbol: str :return: 历史行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | HG00Y |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so safety profile is covered. The description adds that the return is a pandas.DataFrame and that symbol codes can be discovered via another function, but does not detail column names, date ranges, or pagination behavior. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured, starting with a clear title line and source URL, followed by parameter/return documentation. Every sentence contributes useful information, though the URL example could be integrated more elegantly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain return values. It identifies the return as historical market data and a DataFrame, but lacks specifics on columns, date range, or data granularity. The annotations cover risk characteristics, so overall completeness is adequate for a simple one-parameter tool but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains that 'symbol' is a product code and points to futures_global_spot_em for obtaining all valid codes. This adds meaning beyond the schema's bare default value, but it does not explain the format (e.g., what 'HG00Y' represents or how it maps to the URL example).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves historical market data for international futures from Eastmoney, with a specific source URL and data type (pandas.DataFrame). It distinguishes itself as 'international futures' history, which helps separate it from domestic futures tools, though it does not explicitly name sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a concrete method to obtain valid symbol values by referencing ak.futures_global_spot_em(), giving implicit guidance on when to use this tool (when you need historical data for international futures). However, it does not explicitly state when not to use it or compare to alternative futures history tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_global_spot_emBRead-onlyIdempotent
东方财富网-行情中心-期货市场-国际期货 https://quote.eastmoney.com/center/gridlist.html#futures_global :return: 行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that the return is a pandas.DataFrame with market data, which is useful context. However, it does not disclose additional behavioral traits such as refresh frequency or data scope, but the annotation coverage lowers the bar.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and structured like a docstring, with source, URL, return description, and return type. Every line provides some context. The URL adds minor redundancy but is harmless. No fluff is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter read-only spot data tool, the description is reasonably complete: it states the source (East Money), the market category (international futures), and the return format (pandas DataFrame). It lacks explicit detail on columns or data coverage, but given the minimal complexity and good annotations, it is sufficient for an agent to select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so the schema fully defines the input. With no parameters to explain, the description does not need to add param semantics. The baseline of 4 is appropriate for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving international futures market quotes from East Money (东方财富网-行情中心-期货市场-国际期货), and states the return is market data (行情数据). While it lacks an explicit verb like 'get', the meaning is clear. It distinguishes from historical futures tools by including 'spot' in the name and focusing on the quotes center, though it does not explicitly contrast with sibling tools like futures_global_hist_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only gives a source URL and return type, with no mention of scenarios, exclusions, or related tools. An agent has to infer usage solely from the name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_hist_daily_cffexCRead-onlyIdempotent
中国金融期货交易所-交易所日交易数据 http://www.cffex.com.cn/cn/rtj.html :param date: 交易日 :type date: str :return: 交易所日交易数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20260403 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior. The description adds only a source URL and return type, but no behavioral caveats such as date format requirements, data availability constraints, or potential errors. It does not contradict annotations, but adds minimal value beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and avoids wordiness, but it follows a rigid docstring template with a title, URL, and param/return lines. It lacks a clear one-sentence summary or examples, making it minimally adequate rather than well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what data is returned, but it only states 'exchange daily trading data' and pandas.DataFrame. It does not list columns, contract scope, or data granularity, leaving the agent without enough detail to understand the tool's full output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The only parameter documentation is 'date: 交易日' (trading day), which merely restates the field name without specifying format (e.g., YYYYMMDD), valid ranges, or meaning beyond the default value. This does not add meaningful semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves daily trading data from the China Financial Futures Exchange (CFFEX), with a source URL. However, it does not distinguish itself from similar sibling tools like get_cffex_daily or futures_settle_cffex, so it lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only lists a parameter and return type, with no mention of prerequisites, exclusions, or alternative tools. Usage context is entirely absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_hist_emBRead-onlyIdempotent
东方财富网-期货行情-行情数据 https://qhweb.eastmoney.com/quote :param symbol: 期货代码 :type symbol: str :param period: choice of {'daily', 'weekly', 'monthly'} :type period: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :return: 行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | daily | |
| symbol | No | 热卷主连 | |
| end_date | No | 20500101 | |
| start_date | No | 19900101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well covered. The description adds the source URL and return type, but does not disclose behavioral details such as date format requirements, symbol format conventions, or potential error cases. It adds some contextual value but not rich behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a source URL, parameter list, and return type in a clean, structured format. Every line is informative, and there is no redundant prose or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description only states that the return is a pandas DataFrame of market data, without column details. It also lacks explicit date and symbol format guidance, though the default values provide hints. The annotations and parameter list provide a baseline, but the description is not fully complete for a tool with four parameters and no schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden for parameter semantics. It provides meaningful Chinese labels for all four parameters, including the allowed period choices ('daily', 'weekly', 'monthly'). However, it omits details like the expected date format and symbol code conventions, which are only revealed through the default values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as retrieving futures market data from Eastmoney, includes the source URL, and lists the key parameters for symbol, period, and date range. It clearly conveys the resource and operation, though it lacks an explicit verb like 'retrieves' or 'fetches'. It is distinguishable from sibling futures history tools by the Eastmoney source and the combination of parameters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus the many sibling futures history tools, and it does not mention alternatives or exclusions. The intended use is only implied by the tool name and parameter list, which is insufficient given the large number of similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_hist_table_emCRead-onlyIdempotent
东方财富网-期货行情-交易所品种对照表 https://quote.eastmoney.com/qihuo/al2505.html :return: 交易所品种对照表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is clear. The description adds the data source (Eastmoney) and an example URL, plus the return type. However, it does not disclose what the table contains (e.g., columns, scope) or any behavioral nuances such as whether it is historical or static, which the tool name 'hist' suggests.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and contains no filler: a title, a source URL, and return-type annotations. Each element serves a purpose, though a sentence explaining the table's contents would improve it without hurting conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool, the description is incomplete. It does not explain what the returned table actually contains (e.g., columns, which exchanges, whether it is a static mapping or historical), nor does it mention the 'hist' aspect despite the tool name. Without an output schema, the vague return statement is insufficient for an agent to understand the result set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the schema is trivially covered. The description adds the return type (pandas.DataFrame) and states the output is an exchange-variety comparison table, providing minimal but relevant information about the data shape. The baseline of 4 for zero parameters is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description consists of the title, a sample URL, and a return-type line that essentially restates the title. There is no explicit verb indicating what the function does (e.g., fetch, get, retrieve). The core purpose is largely tautological: 'exchange-variety comparison table' repeats the tool's name and title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many futures-related alternatives, such as futures_hist_em or futures_contract_detail_em. It does not mention prerequisites, exclusions, or alternative tools, leaving the agent without selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_hog_coreCRead-onlyIdempotent
玄田数据-核心数据 https://zhujia.zhuwang.com.cn :param symbol: choice of {"外三元", "内三元", "土杂猪"} :type symbol: str :return: 玄田数据-核心数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 外三元 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds no additional behavioral context such as data granularity, rate limits, or the meaning of the DataFrame contents. It does not contradict the annotations, but provides no extra value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the title and URL, followed by docstring-style param/return lines. It is not verbose, but it repeats the same '玄田数据-核心数据' phrase multiple times and the URL insertion feels abrupt. The structure is functional but not polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool returns a pandas.DataFrame, but the description never specifies what columns, indices, or data content the frame contains. With no output schema and a vague name, the agent cannot determine what 'core data' includes. This is especially problematic given the many similar hog data tools, making the description incomplete for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description compensates by specifying the allowed values for symbol ('外三元', '内三元', '土杂猪') and its type (str). This is crucial because the schema only shows a default value without an enum. The description adds real semantic value, though it does not explain the meaning of each pig type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially repeats the title '玄田数据-核心数据' without adding a clear verb or action. It mentions a URL and parameter choices, but never states what 'core data' actually contains or what operation is performed. This borders on tautology, relying on the tool name and title to imply purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus the many sibling hog-related tools (e.g., futures_hog_cost, futures_hog_supply, spot_hog_soozhu). There is no mention of use cases, exclusions, or alternatives, leaving the agent to guess when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_hog_costCRead-onlyIdempotent
玄田数据-成本维度 https://zhujia.zhuwang.com.cn :param symbol: choice of {"玉米", "豆粕", "二元母猪价格", "仔猪价格"} :type symbol: str :return: 玄田数据-成本维度 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 玉米 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering safety. However, the description adds no behavioral context beyond the return type (pandas.DataFrame). It does not disclose what the data contains, whether it is historical or real-time, or any quirks. The URL is unexplained. With annotations present, the description adds minimal value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but repetitive, repeating '玄田数据-成本维度' three times (in the title, the source line, and the return doc). The docstring structure is standard, but the URL is unexplained and the repeated content does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, the description is severely incomplete. It does not explain what the cost dimension data contains, how it relates to hog futures, or what makes it distinct from sibling tools. There is no output schema, so the description should explain return content but only gives a generic return type. This is insufficient for an agent to correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly lists the allowed values for the `symbol` parameter: {"玉米", "豆粕", "二元母猪价格", "仔猪价格"}. This is crucial because the input schema does not include an enum or description. With schema description coverage at 0%, the description compensates well for parameter semantics, though it could further explain what each symbol represents in the context of 'cost'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a Chinese title '玄田数据-成本维度' (Xuandian Data - Cost Dimension) without any verb or action. It does not state what the tool does, such as 'retrieves cost data for hog futures'. The resource is implied from the tool name, but the description restates the title in the return line, making it largely tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is absolutely no guidance on when to use this tool versus alternatives like futures_hog_core or futures_hog_supply. The description only provides a data source URL and parameter documentation but no context for selection, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_hog_supplyBRead-onlyIdempotent
玄田数据-供应维度 https://zhujia.zhuwang.com.cn :param symbol: choice of {"猪肉批发价", "储备冻猪肉", "饲料原料数据", "白条肉", "生猪产能", "育肥猪", "肉类价格指数", "猪粮比价"} :type symbol: str :return: 玄田数据-供应维度 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 猪肉批发价 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type (DataFrame), which are useful but not deep behavioral traits like refresh frequency, pagination, or data coverage. This is adequate given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description uses a structured docstring format, but is somewhat redundant: '玄田数据-供应维度' appears in both the purpose and the return description, adding no new information. The return type information is useful, and the parameter list is necessary, but the overall structure could be tightened with a clearer upfront statement of the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter and rich annotations, the tool is relatively simple. The description provides the parameter choices, return type, and source URL. However, with no output schema, it does not describe the specific columns or units of the returned DataFrame, and it fails to differentiate from siblings. It is minimally complete but leaves gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and no enum is defined in the schema, so the description's explicit list of allowed values for the 'symbol' parameter is critical. It provides a clear enumeration of options, which helps an agent invoke the tool correctly. It does not explain what each symbol represents semantically, but the names are reasonably descriptive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource ('supply dimension' data from 玄田数据) and indicates the return type (pandas.DataFrame) and parameter choices. While there is no explicit verb like 'fetch' or 'list', the intent is clearly data retrieval. It does not, however, distinguish this tool from the many sibling hog-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or scenarios where a sibling tool (e.g., futures_hog_core, spot_hog_soozhu) would be more appropriate. Usage context is only implicit via the parameter choices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_hold_pos_sinaBRead-onlyIdempotent
新浪财经-期货-成交持仓 https://vip.stock.finance.sina.com.cn/q/view/vFutures_Positions_cjcc.php :param symbol: choice of {"成交量", "多单持仓", "空单持仓"} :type symbol: str :param contract: 期货合约 :type contract: str :param date: 查询日期 :type date: str :return: 成交持仓 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240223 | |
| symbol | No | 成交量 | |
| contract | No | OI2501 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds some context beyond annotations: the source URL and that the return is a pandas DataFrame. However, it does not disclose details like data freshness, pagination, or the exact structure of the returned DataFrame. Given annotations cover the key traits, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a clear docstring structure: title, URL, parameters, and return type. Every line serves a purpose and there is no filler text. It is not front-loaded with a user-focused sentence, but it is concise and easy to scan. A 4 reflects good structure within a minimal space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and the description is the only source of parameter meaning, it provides basic completeness: all three params are explained, and the return type is stated as pandas.DataFrame. However, it lacks details about what columns the DataFrame contains, how '成交持仓' is structured, and how this tool relates to the many sibling futures tools. Without this, an agent might not know if it returns daily historical data, current positions, or something else. This is a moderate completeness level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the burden of explaining parameters. It does this well: symbol is given an explicit choice set ({"成交量", "多单持仓", "空单持仓"}), contract is defined as '期货合约', and date as '查询日期'. It also specifies the return type. While date format and contract syntax are not explicitly detailed, the defaults in the schema (e.g., '20240223', 'OI2501') help. This meaningfully compensates for the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is primarily a noun phrase '新浪财经-期货-成交持仓' (Sina Finance - Futures - Volume/Open Interest) followed by a URL and parameter docs. It identifies the data source and topic but lacks an explicit verb like 'query' or 'fetch'. The return type 'pandas.DataFrame' implies data retrieval, but the action is not stated directly. It does not distinguish itself from sibling tools beyond the source and data type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are no exclusions, prerequisites, or references to other tools. It only lists parameters and return type, leaving the agent to infer usage context from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_hq_subscribe_exchange_symbolCRead-onlyIdempotent
将品种字典转化为 pandas.DataFrame https://finance.sina.com.cn/money/future/hf.html :return: 品种对应表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that it returns a pandas.DataFrame and includes a data source URL, but does not disclose any additional behavioral traits such as potential delays, network usage, or column structure. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and includes a useful source URL and return type annotations. However, the opening line is redundant with the annotation title, and the formatting as code-style comments is slightly fragmented. Still, it is efficient and mostly earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with strong annotations, the description is minimally adequate but incomplete. It does not explain what 'subscribe_exchange_symbol' means in practice or specify the DataFrame columns, leaving the tool's exact output and purpose ambiguous despite its low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter schema to elaborate. The description's mention of return type and table content provides baseline semantic value beyond the empty schema, matching the 0-parameter baseline score of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '将品种字典转化为 pandas.DataFrame' is nearly identical to the annotation title and fails to specify the actual action of subscribing or exchanging symbols. It mentions a resource (variety table) and return type, but does not differentiate from sibling tool futures_foreign_commodity_subscribe_exchange_symbol, which likely has a similar purpose for foreign commodities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only states a conversion action and a source URL, with no context about prerequisites, typical use cases, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_index_ccidxCRead-onlyIdempotent
中证商品指数-商品指数-日频率 http://www.ccidx.com/index.html :param symbol: choice of {"中证商品期货指数", "中证商品期货价格指数"} :type symbol: str :return: 商品指数-日频率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 中证商品期货指数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds the daily frequency and the source website, which are useful behavioral details. However, it does not explain what data is returned (e.g., columns, history depth, or whether it is a complete time series).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the essential identity and source. It uses a docstring format with param/return sections, which is conventional and parseable. There is minor redundancy (the title line repeats in the return line), but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description fails to specify the structure of the returned DataFrame, including columns, date range, or how the symbol parameter affects the data. Although the single parameter is simple, an agent would not know what to expect from the result. The lack of return-value detail is a significant gap for a data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines 'symbol' as a string with a default value, providing no description or enum. The description compensates by explicitly listing the two allowed choices: '中证商品期货指数' and '中证商品期货价格指数'. This is meaningful guidance beyond the schema, though it does not explain the difference between the two symbols.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as providing 中证商品指数 (China Securities commodity index) data at daily frequency, along with a source URL. However, it lacks an explicit verb like 'get' or 'retrieve', making it more of a label than a clear action statement. It does distinguish itself from sibling tools by naming a specific index family and frequency.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The sibling list includes many other futures and index tools, but the description gives no comparison or selection criteria. The only hint is the source URL, which does not help an agent choose between related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_inventory_99BRead-onlyIdempotent
99 期货网-大宗商品库存数据 https://www.99qh.com/data/stockIn?productId=12 :param symbol: 交易所对应的具体品种;如:大连商品交易所的 豆一 :type symbol: str :return: 大宗商品库存数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 豆一 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the return type pandas.DataFrame and the data source URL, but does not describe authentication, rate limits, pagination, or output columns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the source and dataset name before the parameter details. The URL and Sphinx-style tags are somewhat raw but still compact, with little wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only data tool with no output schema, the description supplies the return type and symbol semantics. However, it omits valid symbol lists, output structure, and any caveats about the returned DataFrame, so an agent still lacks complete invocation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single optional symbol parameter. The description compensates by explaining that symbol means the specific variety for an exchange, with the example 豆一 from 大连商品交易所, but it does not list valid values or explain the productId mapping seen in the URL.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource and source: 99期货网-大宗商品库存数据, with a URL to the source endpoint. It is clear enough to distinguish data from this provider, but it does not explicitly differentiate itself from sibling inventory tools such as futures_inventory_em beyond naming the source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as futures_inventory_em or other futures data tools. It only documents a source URL and parameter example, leaving usage context to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_inventory_emARead-onlyIdempotent
东方财富网-数据中心-期货库存数据 https://data.eastmoney.com/ifdata/kcsj.html :param symbol: 支持品种代码和中文名称,中文名称参见:https://data.eastmoney.com/ifdata/kcsj.html :type symbol: str :return: 指定品种的库存数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | a |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, covering the safety profile. The description adds contextual value beyond annotations by specifying the exact source URL, the fact that it returns a pandas DataFrame, and the accepted symbol formats. It does not contradict annotations and provides useful additional behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a docstring-like format, with title, URL, param, and return sections. It is appropriately sized for a single-parameter tool, though the URL is repeated twice and the structure could be streamlined. Overall, it is efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter, read-only tool with no output schema, the description provides the essential information: source, parameter semantics, and return type. It is sufficient for an agent to successfully invoke the tool, though it lacks details about date ranges or data structure. Given the simplicity, this level of completeness is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains that 'symbol' accepts both commodity codes and Chinese names, and points to a URL for the list of Chinese names. This adds some semantic meaning, but it doesn't explain the default value 'a', provide examples, or clarify what code format is expected, leaving gaps for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves futures inventory data from Eastmoney's data center for a given symbol, as shown by '东方财富网-数据中心-期货库存数据' and ':return: 指定品种的库存数据'. It names the resource and source, but does not explicitly differentiate from sibling tools like futures_inventory_99 or futures_shfe_warehouse_receipt, so it lacks the sibling contrast needed for a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only explains parameter input (supports codes and Chinese names) and provides a reference URL, but does not mention when this Eastmoney inventory data is preferable over other inventory tools. It fails to give any context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_main_sinaBRead-onlyIdempotent
新浪财经-期货-主力连续日数据 https://vip.stock.finance.sina.com.cn/quotes_service/view/qihuohangqing.html#titlePos_1 :param symbol: 通过 ak.futures_display_main_sina() 函数获取 symbol :type symbol: str :param start_date: 开始时间 :type start_date: str :param end_date: 结束时间 :type end_date: str :return: 主力连续日数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | V0 | |
| end_date | No | 22220101 | |
| start_date | No | 19900101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is established. The description adds the source URL and the dependency on another function for symbol, but does not disclose behavioral traits such as date format expectations, column contents, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a standard docstring format with title, URL, param/type/return lines. It is not overly verbose, though the URL and repetitive type annotations add little value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain return values. It states that the return is a pandas DataFrame of main continuous daily data but does not list columns or describe the data structure. The date format ambiguity and symbol source dependency are also not fully resolved, making the description minimally adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 gives minimal guidance: symbol should be obtained from futures_display_main_sina, and start_date/end_date are '开始时间'/'结束时间' (start/end times). However, it fails to specify the date format (e.g., YYYYMMDD) or provide examples, leaving the agent to infer from defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as Sina Finance futures main continuous daily data (新浪财经-期货-主力连续日数据) and reiterates the return value as 主力连续日数据. It distinguishes itself from many siblings by emphasizing 'main continuous' (主力连续), though it lacks an explicit verb like 'fetch' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a useful usage hint by instructing users to obtain the symbol via ak.futures_display_main_sina(). However, it does not explicitly state when to use this tool versus alternative futures data tools (e.g., futures_zh_daily_sina) or mention any prerequisites or date range constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_news_shmetBRead-onlyIdempotent
上海金属网-快讯 https://www.shmet.com/newsFlash/newsFlash.html?searchKeyword= :param symbol: choice of {"全部", "要闻", "VIP", "财经", "铜", "铝", "铅", "锌", "镍", "锡", "贵金属", "小金属"} :type symbol: str :return: 上海金属网-快讯 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds parameter choices and return type but does not disclose data structure, pagination, or rate limits. This is minimal additional value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with labeled sections for parameters, types, and returns. It is front-loaded with the name and URL, and contains no unnecessary fluff. The structure is clear and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one optional parameter and no output schema, the description covers the source, parameter domain, and return type. However, it does not describe the DataFrame columns or the content of the news flashes, leaving some ambiguity about what the agent will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines 'symbol' as a string with a default, but the description lists all allowed values (全部, 要闻, VIP, 财经, 铜, 铝, etc.), which is critical since schema coverage is 0%. This gives an agent explicit guidance on valid inputs, though it does not explain each category in detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description provides the resource name '上海金属网-快讯' and a URL, indicating it is about Shanghai Metal Network news, but lacks an explicit verb like 'fetch' or 'get'. It differentiates from siblings by naming the specific source, but the purpose is implied rather than clearly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of comparison with other news tools or any prerequisites. The usage context is only implied by the URL and parameter choices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_ruleBRead-onlyIdempotent
国泰君安期货-交易日历数据表 https://www.gtjaqh.com/pc/calendar.html :param date: 需要指定为交易日,且是近期的日期 :type date: str :return: 交易日历数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20231205 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, covering the safety profile. The description adds that the date must be a trading day and recent, and that the return type is a pandas.DataFrame (useful since no output schema exists). It does not describe behavior when an invalid date is passed or any data-freshness details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the data table name and then lists param/type/return. It includes a raw URL that adds little for an agent and a redundant ':rtype: pandas.DataFrame' after ':return:', which could be tighter. Overall it is compact but has some unnecessary clutter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and one parameter, the description adequately covers the parameter constraint and return type. However, it does not describe what columns or data the DataFrame contains, nor how the calendar data should be interpreted, leaving minor gaps for a read-only data-fetch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is 1 parameter, so the description must compensate. It does so by stating the date must be a trading day and a recent date, plus the type is str. The default '20231205' in the schema suggests a YYYYMMDD format, though the description does not confirm it explicitly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource ('国泰君安期货-交易日历数据表') but without a verb, so it reads as a title rather than a clear action. It does not distinguish this from the similar sibling tool_trade_date_hist_sina, which also likely returns trading-calendar data. The name 'futures_rule' is vague and is only partly clarified by the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The note that 'date must be a trading day and recent' is a parameter constraint, not a usage guideline. The agent is left to infer appropriate situations without any explicit when/when-not or sibling routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_settleARead-onlyIdempotent
期货交易所结算参数 :param date: 结算日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象,默认为当前交易日 :type date: str or datetime.date :param market: 交易所代码:CFFEX-中金所,CZCE-郑商所,SHFE-上期所,DCE-大商所,INE-上能中心,GFEX-广期所 :type market: str :return: 结算参数数据(统一格式) :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20260119 | |
| market | No | CFFEX |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a safe, idempotent, non-destructive, open-world read, so safety disclosure is covered. The description adds the default date resolution ('默认为当前交易日') and the return container (pandas.DataFrame of unified-format data). It says nothing about pagination, rate limits, permissions, or the shape of the returned settlement fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is front-loaded with the resource and then the parameters, and every line carries information. It repeats type information via :type/:rtype directives that restore what the schema lacks, which is justified rather than wasteful, though the rst scaffolding adds mild verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two optional parameters, no output schema, and no annotations gaps, the description is nearly sufficient: it documents both inputs completely and names the return type. Its one shortfall is that '统一格式' is left unelaborated, so the agent does not know what columns a settlement-parameter frame contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden and does so well: it spells out the date formats (YYYY-MM-DD, YYYYMMDD, datetime.date), the default, and enumerates every market code with its exchange name (CFFEX/CZCE/SHFE/DCE/INE/GFEX). This maps the enum values the schema omits entirely, fully compensating for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('期货交易所结算参数') and the parameter docs make clear it retrieves settlement parameters for a named exchange on a given date. The verb is only implicit (a noun phrase restating the title), and it never distinguishes itself from the exchange-specific siblings like futures_settle_cffex or futures_settle_gfex, so it is clear but lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance: it does not say to pick this generic tool versus the per-exchange futures_settle_* variants, nor does it state prerequisites or scenarios. The only contextual hint is the default behavior of each parameter (date defaults to the current trading day), which is parameter detail rather than usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_settle_cffexARead-onlyIdempotent
中国金融期货交易所-结算参数 http://www.cffex.com.cn/jscs/ :param date: 结算参数日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象,默认为当前交易日 :type date: str or datetime.date :return: 结算参数数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20260119 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds modest behavioral context: the return is a pandas.DataFrame and the data source is the CFFEX site. It does not describe pagination, data freshness, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring-style layout is compact and front-loads the purpose, then the URL and the single parameter's format. The embedded URL and rtype line are mildly extraneous but each element remains informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema, the description supplies the purpose, the parameter's accepted formats, the default, and the return type, which is what an agent needs to call it correctly. Only the lack of when-to-use guidance keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden, and it does so well: it specifies the date parameter accepts YYYY-MM-DD, YYYYMMDD, or a datetime.date object, and that the default is the current trading day. This fully compensates for the undocumented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (结算参数, i.e. settlement parameters) scoped to the China Financial Futures Exchange (CFFEX), and provides the source URL. This distinguishes it from sibling tools such as futures_settle_czce/gfex/ine/shfe, though the differentiation is carried mainly by the exchange token rather than explicit prose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives (e.g. the other futures_settle_* variants) and no prerequisites or exclusions. The agent must infer the appropriate context entirely from the exchange name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_settle_czceBRead-onlyIdempotent
郑州商品交易所-结算参数 http://www.czce.com.cn/cn/jysj/jscs/H077003003index_1.htm :param date: 结算参数日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象,默认为当前交易日 :type date: str or datetime.date :return: 结算参数数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20260119 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, covering the safety profile. The description adds modestly useful behavior (default is the current trading day, return is a pandas.DataFrame) but says nothing about source latency, coverage limits, or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact docstring form with the exchange and resource front-loaded, followed by param, type, return, and rtype. The raw source URL is marginal noise but not enough to hurt readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, annotation-rich data fetch, the definition supplies purpose, parameter format/default, and return type. An output schema is absent but rtype (pandas.DataFrame) compensates adequately; nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the single parameter, and it does: accepted formats (YYYY-MM-DD, YYYYMMDD, or datetime.date) plus the default-is-current-trading-day behavior. This meaningfully exceeds what the bare string schema conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (settlement parameters, 结算参数) scoped to a named exchange (郑州商品交易所/CZCE). It is clearly distinguishable from the futures_settle_cffex/gfex/ine/shfe siblings via the exchange qualifier, though the description never says so explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus the other exchange-specific settlement tools or futures_settle. The exchange-specific naming is the only routing signal, and the description adds no exclusions or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_settle_gfexBRead-onlyIdempotent
广州期货交易所-结算参数 http://www.gfex.com.cn/gfex/rjycs/ywcs.shtml :param date: 结算参数日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象,默认为当前交易日 :type date: str or datetime.date :return: 结算参数数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20260119 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered structurally. The description adds genuine context beyond that — the upstream source URL, the accepted date formats, and the pandas.DataFrame return type. It does not, however, note the discrepancy between its stated default ('current trading day') and the schema default '20260119', nor describe the returned columns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first line, and the body is short. Minor waste from Sphinx docstring scaffolding (:type, :return, :rtype) and a raw URL, but nothing verbose or padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter, read-only fetch with rich annotations and no output schema, the description is nearly sufficient: purpose, parameter format, default, and return type are all present. The remaining gap is sibling differentiation, which matters here given the dense futures_settle_* family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% — the single 'date' parameter is a bare string with no description — so the description carries the full burden. It compensates well by enumerating accepted formats (YYYY-MM-DD, YYYYMMDD, datetime.date object) and stating the default. This is meaningful semantics that the schema alone does not provide, though it leaves the apparent default mismatch with the schema unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — Guangzhou Futures Exchange settlement parameters (结算参数) — so an agent knows exactly what data it returns, and the source URL reinforces it. However, it never differentiates itself from the numerous sibling settle tools (futures_settle, futures_settle_shfe, futures_settle_czce, futures_settle_ine, futures_settlement_price_sgx); the exchange is implied only by the tool name and the Chinese title, not by an explicit disambiguation statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternative tools. The description only lists the parameter format and default trading day, which is not usage guidance. An agent must infer from the name alone that this is the GFEX-specific variant of the settle family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_settle_ineARead-onlyIdempotent
上海国际能源交易中心-结算参数 https://www.ine.cn/reports/businessdata/prmsummary/ :param date: 结算参数日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象,默认为当前交易日 :type date: str or datetime.date :return: 结算参数数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20260119 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered structurally. The description adds the accepted date formats and the default value, plus the return container (pandas.DataFrame), but discloses nothing about data scope, latency, pagination, or the INE data source's quirks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact Sphinx-style docstring: purpose line, one param block, one return block, no filler. Front-loaded with the resource name, though the raw URL on the first line is mildly noisy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only data-fetch tool with no output schema, stating the exchange scope, accepted date formats, default, and return type is essentially complete. Only the shape/naming of the returned DataFrame columns is left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and does so well: it enumerates three accepted date representations (YYYY-MM-DD, YYYYMMDD, datetime.date) and states the default is the current trading day, which the bare schema ('string', default 20260119) does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — INE (上海国际能源交易中心) settlement parameters — with the source URL, and the tool name plus this content clearly distinguish it from the sibling settlement tools (futures_settle_shfe, futures_settle_czce, futures_settle_gfex). It does not explicitly name the alternative tools, so it falls short of a 5, but the verb+resource+exchange scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The default ('默认为当前交易日') implies the normal usage context of pulling the current trading day's settlement data, but there is no explicit when-to-use / when-not guidance and no cross-reference to the other exchange settlement tools. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_settlement_price_sgxBRead-onlyIdempotent
新加坡交易所-衍生品-历史数据-历史结算价格 https://www.sgx.com/zh-hans/research-education/derivatives :param date: 交易日 :type date: str :return: 所有期货品种的在指定交易日的历史结算价格 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20231107 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral traits beyond the annotations. Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description merely repeats the data source URL and return type without disclosing rate limits, data freshness, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and structured as a docstring with title, source URL, and param/return sections. The first line duplicates the annotation title, but the overall size is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description conveys the exchange, data type, and return shape (DataFrame). However, without an output schema, it doesn't specify the DataFrame's columns or handle edge cases like non-trading dates, so completeness is modest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description documents date as '交易日' (trading day), which adds semantic meaning beyond the schema's bare type/default. However, it doesn't specify the expected format (e.g., YYYYMMDD) beyond the default value, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (SGX derivatives historical settlement prices) and specifies the output: all futures products' historical settlement prices for a given trading day. It distinguishes from exchange-specific siblings by naming 新加坡交易所 (SGX). However, it lacks an explicit verb like 'get' or 'list', relying on the return statement to convey the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description sets context by naming the exchange (新加坡交易所) and data type (historical settlement prices), making it obvious when to use this tool for SGX data. It does not explicitly mention alternatives or exclusions, but the exchange name differentiates it from the many other futures_settle_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_settle_shfeBRead-onlyIdempotent
上海期货交易所-结算参数 https://www.shfe.com.cn/reports/tradedata/dailyandweeklydata/ :param date: 结算参数日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象,默认为当前交易日 :type date: str or datetime.date :return: 结算参数数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20260119 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered. The description adds the default-current-trading-day behavior, which is useful context beyond the annotations, but does not disclose rate limits, pagination, or return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded with the tool identity and source, followed by the parameter and return documentation. The source URL and reST-style directives are slightly noisy but functional. Every sentence carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with no output schema, the description covers the resource, the parameter formats and default, and the return type (pandas.DataFrame). Adequate. Missing only explicit sibling differentiation and any note on output columns, but the annotations already cover safety and the schema covers the parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It documents the accepted formats (YYYY-MM-DD, YYYYMMDD, datetime.date) and the default (current trading day), which is more informative than the bare schema string type. It does not explain the default value mismatch (schema default is '20260119' while description says current trading day), but the format guidance is the key missing piece.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb-resource pair ('上海期货交易所-结算参数') and identifies the data source (SHFE) plus the source URL. It distinguishes itself from other exchange settlement tools via the 'shfe' suffix and the Chinese title. Not a tautology, though it does not explicitly name siblings like futures_settle_czce.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no mention of alternatives, and no exclusions. An agent must infer from the name that this is the SHFE variant of a family of settle tools. The source URL is informational but does not route the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_shfe_warehouse_receiptBRead-onlyIdempotent
上海期货交易所指定交割仓库期货仓单日报 https://www.shfe.com.cn/reports/tradedata/dailyandweeklydata/ :param date: 交易日,e.g., "20260924" :type date: str :return: 指定日期的仓单日报数据 :rtype: dict
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20260924 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and the return type (dict), which is modest extra context, but says nothing about the report's structure, timeliness, or whether a missing trading day returns empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose line is front-loaded and brief, but the raw URL and the bare Sphinx-style docstring (:param:/:type:/:return:/:rtype:) are noisy padding that add little beyond the intended field documentation. It is short but not cleanly structured for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should characterize the return value, but ':return: 指定日期的仓单日报数据 / rtype dict' is vague and gives no field structure. Given annotations cover safety and the parameter is documented, this is minimally viable but leaves the response shape opaque.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% (the only field is a bare string with a default), so the description carries the burden. It does supply meaningful semantics: date is the 交易日 (trading day) in 'YYYYMMDD' form with the example '20260924', which the schema alone does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the resource: the SHFE (上海期货交易所) designated delivery warehouse futures warehouse receipt daily report, which is a concrete verb+resource. However, it does not differentiate itself from close siblings like futures_warehouse_receipt_czce, futures_warehouse_receipt_dce, or futures_gfex_warehouse_receipt beyond the exchange abbreviation already in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling warehouse-receipt and inventory tools (czce/dce/gfex variants, get_receipt, futures_inventory_em). No conditions, exclusions, or alternatives are stated — the agent must infer usage entirely from the exchange in the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_spot_priceARead-onlyIdempotent
指定交易日大宗商品现货价格及相应基差 https://www.100ppi.com/sf/day-2017-09-12.html :param date: 开始日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date 对象;为空时为当天 :param vars_list: 合约品种如 RB、AL 等列表 为空时为所有商品 :return: pandas.DataFrame 展期收益率数据: var 商品品种 string sp 现货价格 float near_symbol 临近交割合约 string near_price 临近交割合约结算价 float dom_symbol 主力合约 string dom_price 主力合约结算价 float near_basis 临近交割合约相对现货的基差 float dom_basis 主力合约相对现货的基差 float near_basis_rate 临近交割合约相对现货的基差率 float dom_basis_rate 主力合约相对现货的基差率 float date 日期 string YYYYMMDD
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240430 | |
| vars_list | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/true, idempotentHint/true, destructiveHint/false, so the safety profile is covered. The description goes further by spelling out that the return is a pandas.DataFrame and enumerating the columns and their types, which is genuine added context. It does not mention rate limits or data-source freshness, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, but the body is a pasted docstring containing a raw 100ppi.com URL and a long return-field table. The field list earns its place given no output schema; the bare URL does not, making the overall structure only adequate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with no output schema, the description supplies parameter formats and a full return-column listing, so an agent has enough to call it. The remaining gap is routing information: nothing tells it apart from the near-identical sibling history tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden, and it largely does: date accepts YYYY-MM-DD, YYYYMMDD, or datetime.date with empty meaning today; vars_list takes contract codes such as RB/AL with empty meaning all commodities. This compensates well for the undocumented schema, though it does not explain the default symbol list.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope: commodity spot prices plus the associated basis (基差) for a given trading day. An agent knows exactly what data comes back. It does not distinguish itself from close siblings such as futures_spot_price_daily, futures_spot_price_previous, or futures_spot_sys, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many related siblings (futures_spot_price_daily, futures_spot_price_previous, spot_price_qh). The parameter docs imply usage but no conditions, exclusions, or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_spot_price_dailyBRead-onlyIdempotent
指定时间段内大宗商品现货价格及相应基差 https://www.100ppi.com/sf/ :param start_day: str 开始日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象;默认为当天 :param end_day: str 结束数据 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象;默认为当天 :param vars_list: list 合约品种如 [RB, AL];默认参数为所有商品 :return: 基差 :rtype: pandas.DataFrame 展期收益率数据: var 商品品种 string sp 现货价格 float near_symbol 临近交割合约 string near_price 临近交割合约结算价 float dom_symbol 主力合约 string dom_price 主力合约结算价 float near_basis 临近交割合约相对现货的基差 float dom_basis 主力合约相对现货的基差 float near_basis_rate 临近交割合约相对现货的基差率 float dom_basis_rate 主力合约相对现货的基差率 float date 日期 string YYYYMMDD
| Name | Required | Description | Default |
|---|---|---|---|
| end_day | No | 20210208 | |
| start_day | No | 20210201 | |
| vars_list | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the output data layout (basis fields), but omits rate limits, data-source caveats, or auth needs, so it is adequate but not rich beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded, followed by structured param and return-field documentation. It is longer than minimal because of the full return-column listing, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned columns and documents all params, so an agent can call and interpret the result. The missing piece is routing guidance relative to sibling spot/basis tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and does so well: it documents all three params, allowed date formats (YYYY-MM-DD, YYYYMMDD, datetime.date), and the vars_list contract-symbol syntax with a default. The only wrinkle is the default ('today') differing from the schema default of 20210208.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: spot prices for commodities plus their basis over a specified date range. It is clear what the tool returns, though it does not distinguish itself from close siblings like futures_spot_price or futures_spot_price_previous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as futures_spot_price_previous or futures_spot_sys, and no stated exclusions or prerequisites. The agent is left to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_spot_price_previousBRead-onlyIdempotent
具体交易日大宗商品现货价格及相应基差 https://www.100ppi.com/sf/day-2017-09-12.html :param date: 交易日;历史日期 :type date: str :return: 现货价格及相应基差 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240430 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is fully covered elsewhere. The description adds the return type (pandas.DataFrame) and the fact that basis is included, but says nothing about data availability, rate limits, or how far back history goes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is compact and front-loaded: the purpose sentence comes first, followed by a source URL and terse docstring tags. There is minor redundancy (the title repeats the first sentence) and the raw docstring syntax is a little noisy, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only query with no output schema, describing the return as spot price plus basis is adequate. However, the unresolved date-format ambiguity and the absence of any routing guidance against the many sibling spot/futures price tools leave gaps an agent would have to resolve by trial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single date parameter has only a default value ('20240430'), so the description carries the burden. ':param date: 交易日;历史日期' usefully clarifies that it is a trading day and may be historical, but the required string format is never stated — the example URL uses '2017-09-12' while the default is '20240430', leaving genuine ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (commodity spot price plus the corresponding basis) scoped to a single trading day, and the example URL makes the data source explicit. It does not, however, distinguish itself from close siblings such as futures_spot_price, futures_spot_price_daily, or spot_price_table_qh, so an agent must infer the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no mention of the alternative spot-price tools in the sibling list. The phrase '历史日期' implies the date can be in the past, but nothing tells the agent when this tool is preferable to futures_spot_price or futures_spot_price_daily.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_spot_stockBRead-onlyIdempotent
东方财富网-数据中心-现货与股票 https://data.eastmoney.com/ifdata/xhgp.html :param symbol: choice of {'能源', '化工', '塑料', '纺织', '有色', '钢铁', '建材', '农副'} :type symbol: str :return: 现货与股票上下游对应数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 能源 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, and non-destructive behavior. The description adds the return type (pandas.DataFrame) and the data's upstream/downstream nature, plus the source URL. It does not disclose further behavioral details like pagination or data freshness, but this is acceptable for a simple read-only fetch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is compact and well-structured with a title, source URL, and parameter/return documentation. There is no redundant filler, though the URL line is informational rather than strictly necessary for tool invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single optional parameter and no output schema, the description covers the core purpose, source, and parameter enum. However, it does not describe the structure of the returned DataFrame (columns, row semantics), which could hinder correct use of the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden for parameter meaning. It provides the exact allowed values for 'symbol' (能源, 化工, 塑料, etc.) and its type, which is essential and not available in the schema. It does not explain the meaning of each category, but the values are self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (现货与股票上下游对应数据) and source (东方财富网数据中心) clearly, and the sector choices imply a filtering capability. It lacks an explicit verb like 'get' or 'retrieve', but the intent is unambiguous and distinguishable from sibling spot/futures tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention prerequisites, use cases, or exclusions. The sector parameter hints at use for sector-specific spot-stock data, but this is implicit and not stated as guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_spot_sysCRead-onlyIdempotent
生意社-商品与期货-现期图 https://www.100ppi.com/sf/792.html :param symbol: 期货品种 :type symbol: str :param indicator: 市场价格;choice of {"市场价格", "基差率", "主力基差"} :type indicator: str :return: pandas.DataFrame :rtype: dict
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 铜 | |
| indicator | No | 市场价格 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive, so the safety profile is covered. The description adds the data source (生意社) and a return type, but the :return: pandas.DataFrame conflicts with the :rtype: dict, and no scoping, pagination, or freshness behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the title, but it is raw numpy-style docstring boilerplate including a bare URL and a self-contradictory return-type pair, so not every line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only the return type named, the agent cannot tell what the call yields (dataframe rows, chart, one indicator series) or how indicator/ symbol interact. For a 2-parameter financial data tool this is under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry param meaning. It does document symbol as 期货品种 and, importantly, lists the three allowed indicator values (市场价格/基差率/主力基差) that the bare schema does not encode. However, it omits the default values (铜, 市场价格) present in the schema and gives no format details for symbol.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title/name combination indicates a 生意社 spot-vs-futures chart for a commodity, so the agent can infer the resource, but the description never states a clear verb or what is returned (chart image, time series, ratio). It does not distinguish itself from closely named siblings such as futures_spot_price, futures_spot_stock, or spot_price_qh.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling spot/futures tools, no prerequisites, and no exclusions. The only routing signal is the hardcoded source URL, which the agent cannot act on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_stock_shfe_jsBRead-onlyIdempotent
金十财经-上海期货交易所指定交割仓库库存周报 https://datacenter.jin10.com/reportType/dc_shfe_weekly_stock :param date: 交易日;库存周报只在每周的最后一个交易日公布数据 :type date: str :return: 库存周报 :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240419 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds that the return type is a pandas.Series and that data is published weekly on the last trading day, which is useful but limited; it does not disclose rate limits, authentication requirements, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the report title, but includes an extraneous URL and RST-style tags (:param, :type, :return, :rtype) that are noisy for an agent. The core information is present but the structure could be cleaner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter data-fetch tool with no output schema, the description covers the source, the content of the report, the parameter's meaning and publication schedule, and the return type. Missing date format details and any statement about output shape beyond 'pandas.Series' are minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the single undocumented parameter. It explains that 'date' refers to a trading day and that the weekly report is only published on the last trading day of each week, adding meaningful semantics beyond the schema's bare string type and default. However, it does not explicitly state the expected date format (although the default '20240419' implies YYYYMMDD).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource: the weekly inventory report of designated delivery warehouses from the Shanghai Futures Exchange, sourced from Jin10 Finance. This distinguishes it from broader warehouse-receipt or inventory siblings, although it is phrased as a title/noun phrase without an explicit verb like 'fetch' or 'return'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage note is embedded in the parameter description: the report is published only on the last trading day of each week. There is no guidance on when to choose this tool over sibling alternatives such as futures_shfe_warehouse_receipt or futures_inventory_em, and no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_symbol_markBRead-onlyIdempotent
期货的品种和代码映射 https://vip.stock.finance.sina.com.cn/quotes_service/view/js/qihuohangqing.js :return: 期货的品种和代码映射 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), which provides some context, but it does not explain data freshness, structure, or any other behavioral traits beyond what annotations already convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and includes a useful source URL and return type, but it is somewhat redundant: the phrase '期货的品种和代码映射' appears both in the main description and in the :return line. It is not front-loaded with an action verb and is presented as unformatted Chinese text, though it is still concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description does specify the return type as DataFrame, which is helpful. However, it lacks details about the mapping's columns, format, or how it relates to other futures tools, leaving some ambiguity about the exact output and use case. For a simple parameterless mapping tool, this is minimally adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline for this dimension is 4. The description correctly does not attempt to explain parameters because there are none, and the empty schema is fully descriptive in that regard.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it provides a mapping of futures varieties and codes ('期货的品种和代码映射'), which is a specific resource and clearly distinguishes it as a symbol/name mapping tool. However, it lacks an explicit verb like 'get' or 'fetch' and is phrased as a noun phrase, making it slightly weaker than a clear action statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 sibling tools such as futures_comm_info or futures_contract_info. There is no mention of prerequisites, contexts, or alternative tools, leaving the agent to infer usage solely from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_to_spot_czceCRead-onlyIdempotent
郑州商品交易所-期转现统计 http://www.czce.com.cn/cn/jysj/qzxtj/H770311index_1.htm :param date: 年月日 :type date: str :return: 郑州商品交易所-期转现统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20231228 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds only a source URL and return type (pandas DataFrame), but no behavioral context such as data availability, pagination, rate limits, or error conditions. This is minimal additional value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with the title and URL first, followed by parameter and return docstrings. It is efficient but slightly repetitive: the title is mentioned in the description, the annotations, and the return line. No unnecessary filler, but the redundancy prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description does not explain what columns or statistics the returned DataFrame contains. It also does not specify whether the date parameter is required, what happens with the default value, or whether the data covers a single day or a range. For a simple tool the description is still incomplete in explaining the actual output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden for parameter meaning. It provides only '年月日' (year-month-day) for the date parameter, which is vague and does not explicitly clarify the format (e.g., YYYYMMDD). The default value hints at the format but is not a substitute for explicit guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as retrieving CZCE futures-to-spot statistics, with the exchange explicitly named, distinguishing it from sibling tools like futures_to_spot_dce and futures_to_spot_shfe. However, it is a noun phrase rather than a clear verb+resource statement, so it does not fully meet the highest bar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention that it is specific to CZCE, how it relates to other futures statistics tools, or any exclusions or prerequisites. The only hint is the exchange name in the title, which is not sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_to_spot_dceDRead-onlyIdempotent
大连商品交易所-期转现 http://www.dce.com.cn/dalianshangpin/xqsj/tjsj26/jgtj/qzxcx/index.html :param date: 期转现日期 :type date: str :return: 大连商品交易所-期转现 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 202312 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds only a source URL and return type (pandas DataFrame), but does not disclose behavior such as date format requirements, pagination, or network dependence. It provides minimal extra context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and not excessively verbose, but its structure is a docstring-like mix of title, URL, and param/return annotations. The first line merely restates the title from annotations, and the content is not front-loaded with a clear purpose sentence. It is compact but somewhat disorganized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool, the description is still incomplete. It does not specify the date format, what columns will be returned, or which exchange (beyond the name). With no output schema, more detail on the return structure and usage context is needed. The URL provides a source but no functional guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter with no description (0% schema coverage), so the description carries the burden. It gives a Chinese label '期转现日期' (futures-to-spot date) and type 'str', but does not clarify the expected format. The default '202312' hints at YYYYMM, but ambiguity remains (full date vs. month). This adds only thin meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a Chinese translation of the tool name (大连商品交易所-期转现 = DCE futures-to-spot) plus a URL. It lacks a clear verb phrase like 'Get futures-to-spot quotation data for DCE'. It identifies the exchange and data type but does not state what action is performed or what output is provided, making it only marginally more informative than the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives. Sibling tools include futures_to_spot_czce and futures_to_spot_shfe, but the description does not mention that this is specific to DCE or point to alternatives for other exchanges. No exclusions, prerequisites, or context for selection are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_to_spot_shfeBRead-onlyIdempotent
上海期货交易所-期转现 https://tsite.shfe.com.cn/statements/dataview.html?paramid=kx 1、铜、铜(BC)、铝、锌、铅、镍、锡、螺纹钢、线材、热轧卷板、天然橡胶、20号胶、低硫燃料油、燃料油、石油沥青、纸浆、不锈钢的数量单位为:吨;黄金的数量单位为:克;白银的数量单位为:千克;原油的数量单位为:桶。 2、交割量、期转现量为单向计算。 :param date: 年月 :type date: str :return: 上海期货交易所期转现 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 202312 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context: units for different commodities (ton, gram, kilogram, barrel) and that delivery/spot volumes are one-way calculated. It also provides a source URL. However, it does not describe return formatting, error behavior, or pagination, so it adds some but not rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description includes a lengthy list of commodity units, which is informative but adds bulk. It is structured as a title, URL, numbered list, calculation note, and type hints. However, it lacks a clear imperative purpose statement and is cluttered with details that could be summarized or moved to the output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter and good annotations, the tool is relatively simple. The description provides useful unit semantics and a note about one-way calculation. However, there is no output schema and the return value is only described as '上海期货交易所期转现', which is vague. The DataFrame columns and row structure are not described, making it incomplete for interpreting the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter (date) with no description and coverage is 0%. The docstring's ':param date: 年月' provides a year-month format hint, which is valuable given the bare schema. The default '202312' implies YYYYMM, but the description does not explicitly state the format or give additional examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first line '上海期货交易所-期转现' clearly identifies the resource (SHFE futures-to-spot) and the exchange, which differentiates it from sibling tools like futures_to_spot_czce and futures_to_spot_dce. However, it lacks an explicit verb such as 'get' or 'retrieve', making it more of a noun phrase than a directive statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives like futures_to_spot_czce or futures_to_spot_dce. The only differentiator is the exchange name in the title, and no prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_warehouse_receipt_czceBRead-onlyIdempotent
郑州商品交易所-交易数据-仓单日报 http://www.czce.com.cn/cn/jysj/cdrb/H770310index_1.htm :param date: 交易日,e.g., "20200702" :type date: str :return: 指定日期的仓单日报数据 :rtype: dict
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20251103 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered externally. The description adds the authoritative source URL and states the return type (dict), but says nothing about rate limits, pagination, auth, or data freshness. This is modest added value on top of rich annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entry is short and front-loads the dataset identity, then the source URL, then the parameter and return docs. The URL is somewhat noisy but earns a small amount of place as provenance. Nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description's ':return: 指定日期的仓单日报数据 / :rtype: dict' is the only return information, and it gives no field-level structure. For a single-parameter data fetch this is minimally adequate but leaves the agent guessing at the shape of the returned dict.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema only shows a default value, so the description carries the burden. It documents the single parameter as 交易日 with an explicit format example ('20200702'), which is exactly the missing information an agent needs to call the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exchange (郑州商品交易所/CZCE), the data category (交易数据) and the exact artifact (仓单日报, warehouse receipt daily report), so an agent can identify the resource. It lacks a verb and does not explicitly contrast with sibling warehouse-receipt tools for DCE/SHFE, but the exchange+dataset pairing is specific enough to route correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of alternatives among the many warehouse-receipt/inventory siblings. The only usage-adjacent content is the parameter docstring, which is not the same as selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_warehouse_receipt_dceBRead-onlyIdempotent
大连商品交易所-行情数据-统计数据-日统计-仓单日报 http://www.dce.com.cn/dce/channel/list/187.html :param date: 交易日,e.g., "20200702" :type date: str :return: 指定日期的仓单日报数据 :rtype: dict :raises APIError: 大连商品交易所网站启用瑞数反爬虫验证,拒绝程序请求时抛出
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20251027 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is well covered. The description adds useful context that the DCE website uses 瑞数 anti-scraping validation and may raise an APIError if it rejects the request. This is valuable behavioral information not present in annotations, though nothing is said about rate limits or response guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the resource description before listing the parameter, return, and exception. However, the inclusion of a raw URL and a multi-level Chinese taxonomy string is somewhat redundant and could be streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose, the parameter format, the return type, and a notable failure mode (anti-scraping). However, it lacks any output structure details (no output schema exists) and does not explain the default behavior or when to prefer this tool over similar warehouse receipt tools from other exchanges. It is adequate but incomplete for an agent that needs to decide among many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It gives the parameter name 'date' and a format example "20200702", which is helpful, but does not explain the default value (20251027) or specify that it is optional and defaults to a specific date. That is a significant omission for a single-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb+resource: it retrieves the daily warehouse receipt report (仓单日报) from the Dalian Commodity Exchange (大连商品交易所). It even provides the source URL and a full metadata hierarchy. It is not differentiated from siblings like futures_gfex_warehouse_receipt or futures_warehouse_receipt_czce, but the exchange-specific name makes its scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus other warehouse receipt tools (e.g., for GFEX or CZCE) or other DCE data tools. The description implies usage by saying it returns the daily warehouse receipt report, but offers no conditions, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_zh_daily_sinaARead-onlyIdempotent
中国各品种期货日频率数据 https://finance.sina.com.cn/futures/quotes/V2105.shtml :param symbol: 可以通过 match_main_contract(symbol="cffex") 获取,或者访问网页获取 :type symbol: str :return: 指定 symbol 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | RB0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered structurally. The description adds the Sina source URL and a pandas.DataFrame return rtype, which is useful operational context, but omits any note on return columns, history depth, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, but the body is raw docstring boilerplate (:param/:type/:return/:rtype) with a bare URL pasted mid-entry. Functional yet not tightly edited.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-param read-only tool with annotations already covering safety and no output schema, the description supplies the source, symbol acquisition path, and return type. The remaining gap, what columns the DataFrame contains, is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter. It does add real value by explaining that symbol comes from match_main_contract(symbol="cffex") or the source web page, even though it never mentions the RB0 default present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening line states a specific resource and cadence: Chinese futures data across all varieties at daily frequency. That distinguishes it from the minute-level sibling futures_zh_minute_sina, though it never names or contrasts alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is embedded in the symbol param note (call match_main_contract or scrape the page), which implies but never states the intended use case. There are no when-to-use or when-not-to-use conditions relative to the many other futures tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_zh_minute_sinaARead-onlyIdempotent
中国各品种期货分钟频率数据 https://vip.stock.finance.sina.com.cn/quotes_service/view/qihuohangqing.html#titlePos_3 :param symbol: 可以通过 match_main_contract(symbol="cffex") 获取,或者访问网页获取 :type symbol: str :param period: choice of {"1": "1分钟", "5": "5分钟", "15": "15分钟", "30": "30分钟", "60": "60分钟"} :type period: str :return: 指定 symbol 和 period 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 1 | |
| symbol | No | IF2008 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the upstream data source URL and the return type (pandas.DataFrame), but says nothing about history depth, rate limits, or data latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first line and the Sphinx-style param/type/return lines are structured and scannable. The raw webpage URL is somewhat boilerplate but short enough not to obstruct.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, no-output-schema data pull with only two defaulted parameters, the description covers the return type (pandas.DataFrame) and both parameters' semantics. Nothing critical for a correct invocation is missing, though the absence of an explicit time-range or history caveat is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the load, and it does: it spells out the full period enum with Chinese labels ("1"=1分钟 ... "60"=60分钟) that the bare schema lacks, and explains how to obtain symbol via match_main_contract. Symbol string-format details beyond the lookup path are the only gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening line states a specific resource and frequency: minute-frequency data for Chinese futures varieties. The '分钟频率' qualifier distinguishes it from daily/spot siblings like futures_zh_daily_sina and futures_zh_spot, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a concrete workflow hint for obtaining the symbol via match_main_contract(symbol="cffex") or the webpage, which is useful. However it never states when to choose this tool over the many other futures/stock minute tools in the sibling list, leaving usage largely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_zh_realtimeARead-onlyIdempotent
期货品种当前时刻所有可交易的合约实时数据 https://vip.stock.finance.sina.com.cn/quotes_service/view/qihuohangqing.html#titlePos_1 :param symbol: 品种名称;可以通过 ak.futures_symbol_mark() 获取所有品种命名表 :type symbol: str :return: 期货品种当前时刻所有可交易的合约实时数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | PTA |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds useful behavior context by including the data source URL (Sina Finance), specifying that data is real-time, and confirming the return type as pandas.DataFrame. This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core purpose, followed by a data source URL and parameter/return documentation. However, the overall description and return line repeat nearly identical phrasing ('期货品种当前时刻所有可交易的合约实时数据'), adding slight redundancy but not significant bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple signature, annotations, and a brief description that covers purpose, parameter, and return type. However, it lacks usage context to differentiate it from several similar sibling tools (e.g., futures_zh_spot, futures_main_sina) and does not describe the output columns or any limitations. For an agent selecting among many futures tools, this is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly explains the 'symbol' parameter as a futures variety name and directs users to ak.futures_symbol_mark() for the full list of valid names. This adds meaningful value beyond the input schema, which only provides a default value (PTA) with no description. The parameter semantics are clear and actionable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves real-time data for all tradable contracts of a futures variety at the current moment. The verb is implied and the resource is specific ('期货品种当前时刻所有可交易的合约实时数据'). It does not explicitly distinguish itself from sibling tools like futures_zh_spot, which may also provide real-time futures quotes, so it loses one point.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only mentions how to obtain the symbol parameter via ak.futures_symbol_mark(), which is a prerequisite rather than usage context. There are no exclusions or comparisons to other futures real-time tools, making selection ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
futures_zh_spotBRead-onlyIdempotent
期货的实时行情数据 https://vip.stock.finance.sina.com.cn/quotes_service/view/qihuohangqing.html#titlePos_1 :param symbol: 合约名称的字符串组合 :type symbol: str :param market: CF 为商品期货 :type market: str :param adjust: '1' or '0';字符串的 0 或 1;返回合约、交易所和最小变动单位的实时数据,返回数据会变慢 :type adjust: str :return: 期货的实时行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | 0 | |
| market | No | CF | |
| symbol | No | V2309 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, and the description adds real behavioral context: setting adjust='1' returns contract, exchange and minimum tick data but makes the response slower. That latency tradeoff is genuinely useful for an agent and goes beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
RST docstring format is readable and the purpose sentence is front-loaded, but the description is padded with a raw documentation URL and repeats '期货的实时行情数据' as both the summary and the :return, adding no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three parameters, no output schema and no structured descriptions, the description should carry more. It explains the adjust tradeoff but leaves the symbol format and the full set of market values undocumented, which an agent needs to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it partially does: adjust's '1'/'0' values and effect are explained and market's CF value is glossed. However, symbol is described only as 'a string combination of contract names' with no format example, and market's other valid values are never enumerated, leaving real gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb-resource pairing: real-time quotation data for futures. The scope (Chinese futures, spot/realtime) is understandable, but it does not distinguish itself from close siblings like futures_zh_realtime or futures_zh_daily_sina, so an agent cannot tell them apart from this text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of when to prefer an alternative futures tool. The only hint is a performance side-effect of adjust='1', which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fx_c_swap_cmCRead-onlyIdempotent
中国外汇交易中心暨全国银行间同业拆借中心-基准-外汇市场-外汇掉期曲线-外汇掉期 C-Swap 定盘曲线 https://www.chinamoney.org.cn/chinese/bkcurvfsw :return: 外汇掉期 C-Swap 定盘曲线 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds the source URL (chinamoney.org.cn) and the return type (pandas.DataFrame), which are not present in annotations. However, it does not describe the data structure, freshness, or any potential side effects like network calls, but given the annotations cover the safety profile, this partial addition warrants a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the first line is a redundant repetition of the product name that is already present in the annotations title. The URL and docstring-style :return: and :rtype: lines add useful information, giving it a recognizable structure. However, the redundant line wastes space, so it is not maximally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the returned DataFrame contains (e.g., tenors, rates, dates), but it only repeats the curve name. It also does not provide any context about the C-Swap fixing curve's meaning or how it differs from other forex tools. This is a simple no-parameter fetcher, but the description lacks enough detail to be fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is trivially complete. Per the rubric, a zero-parameter tool receives a baseline of 4, and the description properly does not need to explain any parameter semantics. The description adds no param details because there are none to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool's full product name (中国外汇交易中心...外汇掉期 C-Swap 定盘曲线) with no explicit verb or action. It identifies the resource but does not state what the tool does beyond returning that curve, and it does not distinguish from sibling tools like fx_swap_quote. The :return: line implies retrieval, but the main body is a noun phrase, making it a tautology of the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description provides only the name, a URL, and return type, with no context for which scenarios warrant calling this tool, or why it should be chosen over related fx tools such as fx_swap_quote or forex_hist_em. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fx_pair_quoteARead-onlyIdempotent
中国外汇交易中心暨全国银行间同业拆借中心-市场数据-市场行情-债券市场行情-外币对即期报价 http://www.chinamoney.com.cn/chinese/mkdatapfx/ :return: 外币对即期报价 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds that the tool returns a pandas.DataFrame and specifies the exact source, which provides useful context about the data format and origin. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively short and front-loaded with the key product term '外币对即期报价'. The URL and return annotations add value without significant fluff. The hierarchical path includes some redundant navigation, but it's not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the return type (pandas.DataFrame) and source, but lacks detail about the actual data structure (columns, currency pairs, time dimensions). With no output schema, more specifics about the returned content would be helpful, though for a no-parameter read-only tool this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers all inputs. The description doesn't need to explain parameters; the 0-parameter baseline of 4 applies, and no additional semantic gaps require compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns 外币对即期报价 (foreign currency pair spot quotes) from the China Foreign Exchange Trade System, with a source URL and return type. This identifies the resource and output clearly, though it lacks an explicit verb and doesn't differentiate from close siblings like fx_spot_quote or forex_spot_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs. alternatives. Among many FX-related siblings (fx_spot_quote, fx_swap_quote, forex_spot_em, currency_latest), the description gives no selection criteria, exclusions, or context about the specific data source beyond the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fx_quote_baiduBRead-onlyIdempotent
百度股市通-外汇-行情榜单 https://finance.baidu.com/top/foreign-rmb :param symbol: choice of {"人民币", "美元"} :type symbol: str :param token: 目标网站复制 acs-token 后传入 :type token: str :return: 外汇行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| symbol | No | 人民币 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds valuable behavioral context: the requirement to copy and pass an acs-token from the target website, the symbol choices (人民币/美元), and the return type (pandas.DataFrame). This goes beyond the annotations and gives the agent practical invocation details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a raw docstring with a title, URL, parameter annotations, and return type. It is reasonably concise but not front-loaded with a plain-language summary. The formatting mixes Chinese and English, and some lines (like the URL) are more noise than signal. It is acceptable but not well-structured for quick agent parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description only partially covers return values by stating 'pandas.DataFrame' but does not describe the columns or the nature of the rankings. It also does not explain how to obtain the acs-token or whether the token is strictly required. Given the tool's simplicity and strong annotations, it is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no descriptions for parameters, and the schema description coverage is 0%, so the description must compensate. It does explain 'symbol' as a choice of {'人民币', '美元'} and 'token' as the acs-token copied from the target site. However, the meaning of 'symbol' (e.g., base or quote currency) is ambiguous, and the token requirement is stated but not elaborated. The description partially compensates but leaves gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's domain: '百度股市通-外汇-行情榜单' (Baidu Stock Market - Foreign Exchange - Market Rankings) along with a specific URL. The tool name 'fx_quote_baidu' further reinforces that it fetches quotes. However, it lacks an explicit verb and does not differentiate itself from sibling forex tools like forex_spot_em or fx_spot_quote, so it is clear but not perfectly distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions or specific scenarios, and the URL is the only hint of its source. Given the large number of similar forex tools among siblings, the absence of usage guidance leaves the agent without context for appropriate selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fx_spot_quoteCRead-onlyIdempotent
中国外汇交易中心暨全国银行间同业拆借中心-市场数据-市场行情-外汇市场行情-人民币外汇即期报价 http://www.chinamoney.com.cn/chinese/mkdatapfx/ :return: 人民币外汇即期报价 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame) but no additional behavioral traits such as data freshness, coverage limits, or pagination behavior. It does not contradict annotations, but it provides minimal extra insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but not optimally structured. It leads with a long Chinese navigation path, then a URL, and then a docstring-style return type. It could be condensed into a single clear sentence without the redundant path hierarchy, but it is not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must fully explain the return value. It merely states that it returns a pandas.DataFrame of RMB FX spot quotes, but provides no details on columns, data frequency, or the set of currency pairs included. This leaves the agent uncertain about the exact nature of the data, especially compared to similar tools like fx_swap_quote.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty with 100% coverage vacuously. As per the rubric, the baseline for 0 parameters is 4, since there are no parameter semantics to explain beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns 人民币外汇即期报价 (RMB foreign exchange spot quotes) from a specific source (China Foreign Exchange Trade System), which aligns with the tool name and distinguishes it from siblings like fx_swap_quote or forex_spot_em. However, it lacks an explicit verb like 'get' or 'fetch', and is phrased as a navigation path rather than a direct statement of functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only states what data is returned and provides a URL, but does not mention any conditions, exclusions, or comparisons to other FX tools in the sibling list, leaving the agent without decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fx_swap_quoteBRead-onlyIdempotent
中国外汇交易中心暨全国银行间同业拆借中心-市场数据-市场行情-债券市场行情-人民币外汇远掉报价 https://www.chinamoney.com.cn/chinese/index.html :return: 人民币外汇远掉报价 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds context by providing the source URL and specifying the return type as a pandas.DataFrame. However, it does not disclose any additional behavioral traits such as data freshness, network dependencies, or error handling, which would be valuable. Thus it earns a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively compact, consisting of a data-path string, a URL, and a return annotation. It is front-loaded with the essential product name '人民币外汇远掉报价'. However, the title-like first line duplicates the annotation's title, and the return type could be integrated into a single sentence. Still, no wasted sentences, so a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description provides the core essentials: the data source, the type of data, and the return format. It could be more complete by mentioning the data's scope (e.g., real-time vs. historical) or typical columns, but given the simplicity, a 4 is reasonable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, and the schema has 100% coverage (empty properties). The description does not need to explain parameters, and it adds meaning by stating the return type and data source. With zero parameters, a baseline of 4 is appropriate, and the return-type note is a useful addition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns '人民币外汇远掉报价' (RMB FX forward swap quotes) from the China Foreign Exchange Trade System, which is a specific data product. However, it lacks an explicit verb like 'get' or 'fetch', and the naming is somewhat implicit. It does distinguish from related siblings like fx_spot_quote by specifying '远掉' (forward/swap), so it earns a 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as fx_spot_quote, fx_pair_quote, or fx_c_swap_cm. It simply states the data source and return type, with no indication of use cases or exclusions. This is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_hot_rank_taptapBRead-onlyIdempotent
TapTap-游戏榜单 https://www.taptap.cn/top/played
:param symbol: 榜单类型;可选 {"热玩榜", "热门榜", "新品榜", "预约榜", "热卖榜"} :type symbol: str :return: 游戏榜单数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 热玩榜 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds the external data source (TapTap) and the return container type (pandas.DataFrame), which is modest but real context beyond the annotations. It does not describe data freshness, rate limits, or row/column shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is compact but formatted as an rST docstring, so :type:, :return:, and :rtype: lines add markup overhead rather than front-loaded natural language. The title and URL lead, which is good, but the structure is machine-style rather than optimised for an agent reading prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only tool with no output schema this is adequate: it identifies the source, the parameter's options, and that a DataFrame is returned. It stops short of describing what columns or ranking fields the DataFrame contains, which leaves the return value underspecified given there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema exposes no enum, so the description carries the full burden — and it delivers by enumerating all five valid board types (热玩榜/热门榜/新品榜/预约榜/热卖榜). This is exactly the information an agent needs to fill the one parameter correctly. It only falls short of 5 because it does not restate the default value or the expected casing of the strings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource clearly ('TapTap-游戏榜单') and ties it to the source URL (taptap.cn/top/played), so an agent can tell this retrieves TapTap game ranking data. It never states an explicit verb like 'fetch/retrieve' but the return clause and URL make the purpose unambiguous. There are no TapTap-related siblings to differentiate from, so no sibling routing is needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no stated prerequisites, and no mention of alternatives or exclusions. The only contextual hint is the set of board types in the symbol parameter, which implies the situations it can serve but does not say when to prefer this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cffex_dailyBRead-onlyIdempotent
中国金融期货交易所-日频率交易数据 http://www.cffex.com.cn/rtj/ :param date: 交易日;数据开始时间为 20100416 :type date: str :return: 日频率交易数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20100416 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered structurally. The description adds genuine context beyond that: the historical data start date (20100416) and the pandas.DataFrame return type. It does not mention rate limits, update cadence, or whether data is end-of-day finalized.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entry is short and front-loads the resource identity, then the parameter note, then the return type. The source URL and Sphinx-style :type:/:rtype: tags are slightly noisy but each clause conveys something usable, with no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter tool with a default and no output schema, the description covers what the tool returns (daily trading data), the return type, the parameter meaning, and the historical floor. Annotations handle the safety profile. What is missing is the exchange scope note (financial futures only) and date-format handling, but the core is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the meaning burden. It usefully clarifies that date means 交易日 (a trading day, not a calendar day) and gives the earliest valid value 20100416, plus str type. It still does not state the expected date format explicitly (only implied by the default) or how invalid/holiday dates are handled, so it does not fully compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource – 中国金融期货交易所 (CFFEX) daily-frequency trading data – which clearly distinguishes it from the sibling exchange tools get_czce_daily, get_dce_daily, get_shfe_daily and get_gfex_daily. The verb is implicit in the get_ prefix and the source URL. It stops short of 5 because it never explicitly contrasts itself with the generic get_futures_daily sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no mention of the alternative tools that fetch the same kind of data for other exchanges. The exchange name in the title implicitly scopes usage, but the agent is left to infer routing entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cffex_rank_tableARead-onlyIdempotent
中国金融期货交易所前 20 会员持仓排名数据明细 http://www.cffex.com.cn/ccpm/ 注:该交易所既公布品种排名,也公布标的排名 :param date: 日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象 为空时为当天 :param vars_list: 合约品种如RB、AL等列表 为空时为所有商品,数据从20100416开始,每交易日16:30左右更新数据 :return: 持仓排名 :rtype: pandas.DataFrame :rfield: rank 排名 int vol_party_name 成交量排序的当前名次会员 string(中文) vol 该会员成交量 int vol_chg 该会员成交量变化量 int long_party_name 持多单排序的当前名次会员 string(中文) long_open_interest 该会员持多单 int long_open_interest_chg 该会员持多单变化量 int short_party_name 持空单排序的当前名次会员 string(中文) short_open_interest 该会员持空单 int short_open_interest_chg 该会员持空单变化量 int symbol 标的合约 string var 品种 string date 日期 string YYYYMMDD
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20190805 | |
| vars_list | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld and non-destructive, so safety is covered. The description adds real behavioral context beyond them: the data availability boundary (20100416) and the daily ~16:30 refresh cadence, plus the note that the exchange publishes both product and underlying ranks. These are genuinely useful traits not in the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and source URL are front-loaded, followed by param docs and a field breakdown. The reST-style rfield listing is verbose but earns its place since no output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 0% param coverage, the description supplies both the two parameter semantics and a full field dictionary (rank, vol, long/short open interest and changes, symbol, var, date), plus the data-start and refresh timing. An agent has everything needed to call and interpret it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full load, and it does: date accepts YYYY-MM-DD, YYYYMMDD, or a datetime.date object and defaults to today; vars_list takes contract-product codes (RB, AL) and defaults to all commodities. That compensates almost fully for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('中国金融期货交易所前 20 会员持仓排名数据明细') and the exchange, distinguishing it from the many sibling exchange rank-table tools (get_shfe_rank_table, get_rank_table_czce, get_dce_rank_table). It does not explicitly reference those alternatives, but the exchange scope makes the intent unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful operating context (data starts 20100416, updated ~16:30 per trading day, empty vars_list means all commodities), which implies usage, but never states when to prefer this tool over the SHFE/CZCE/DCE counterparts or what the note about both variety and contract ranks means for selection. Usage is implied rather than guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_czce_dailyBRead-onlyIdempotent
郑州商品交易所-日频率-量价数据 http://www.czce.com.cn/cn/jysj/mrhq/H770301index_1.htm :param date: 日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date 对象,默认为当前交易日;日期需要大于 20100824 :type date: str or datetime.date :return: 郑州商品交易所-日频率-量价数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20050525 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type (pandas.DataFrame), but does not disclose rate limits, authentication, or other behavioral context; with annotations present, a 3 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short and front-loads the exchange, frequency, and data type before parameter details. The Sphinx-style fields and source URL are somewhat extraneous, but overall it is compact and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter retrieval tool with no output schema, the description supplies the return type (pandas.DataFrame) and a date constraint. However, it does not describe what the volume-price records contain (columns, contract coverage, etc.), and its return line merely repeats the title, leaving the caller with limited output context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain the parameter. It gives acceptable date formats and a minimum-date constraint, but its stated default (当前交易日) conflicts with the schema default (20050525), and that default is also below the stated minimum of 20100824. This inconsistency can mislead the caller.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the data source (郑州商品交易所), frequency (日频率), and data type (量价数据), which lets an agent distinguish this from other exchange-daily tools such as get_gfex_daily or get_dce_daily. It does not state an explicit verb or sibling alternatives, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a date format and a minimum-date constraint, but no guidance on when to use this tool versus its many siblings (e.g., get_futures_daily, get_shfe_daily). There are no when/when-not statements or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dce_dailyBRead-onlyIdempotent
大连商品交易所日交易数据 http://www.dce.com.cn/dalianshangpin/xqsj/tjsj26/rtj/rxq/index.html :param date: 交易日,e.g., 20200416 :type date: str :return: 具体交易日的个品种行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20251027 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered. The description adds the return type (pandas.DataFrame) and the fact that the payload is per-variety market data for one trading day, which is useful, but says nothing about how a non-trading date is handled or how the network fetch behaves (slow, rate limited, HTML scraping of the linked page).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first line and the docstring fields are tight and non-redundant. The raw documentation URL is of marginal value to an agent and is the only mildly wasteful element.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should characterize the return; it does so only at a high level ('具体交易日的个品种行情数据' plus rtype), without listing fields such as contract, open/high/low/close, volume, open interest, or settlement. For a market-data endpoint whose usefulness depends on knowing those columns, this is adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter meaning; it does supply the format and an example ('交易日,e.g., 20200416'), which is genuine added value over the bare string type. However, it does not explain the default '20251027' present in the schema or what happens if date is omitted, leaving a real gap for a zero-coverage single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope: Dalian Commodity Exchange (大连商品交易所) daily trading data for a trading day, with the source URL. That is enough for an agent to distinguish it from the exchange-specific siblings get_cffex_daily, get_czce_daily, get_shfe_daily, get_gfex_daily and get_ine_daily, though it never names those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus get_futures_daily or the other per-exchange daily tools, and no note about trading-day validity, holidays, or historical coverage limits. Usage must be inferred entirely from the exchange name in the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dce_rank_tableARead-onlyIdempotent
大连商品交易所前 20 会员持仓排名数据明细,由于交易所网站问题,需要 20200720 之后才有数据 注:该交易所只公布标的合约排名 :param date: 日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date 对象,为空时为当天 :param vars_list: 合约品种如 RB、AL 等列表为空时为所有商品,数据从 20060104 开始,每交易日 16:30 左右更新数据 :return: 持仓排名 :rtype: pandas.DataFrame
返回值格式 rank 排名 int vol_party_name 成交量排序的当前名次会员 string(中文) vol 该会员成交量 int vol_chg 该会员成交量变化量 int long_party_name 持多单排序的当前名次会员 string(中文) long_open_interest 该会员持多单 int long_open_interest_chg 该会员持多单变化量 int short_party_name 持空单排序的当前名次会员 string(中文) short_open_interest 该会员持空单 int short_open_interest_chg 该会员持空单变化量 int symbol 标的合约 string var 品种 string date 日期 string YYYYMMDD
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20230706 | |
| vars_list | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/destructive=false, so safety is covered. The description adds meaningful behavioral context beyond that: the 20200720 availability floor, the underlying-contract-only limitation, and the ~16:30 trading-day update cadence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose, followed by the data-availability caveat and then parameter notes. It is efficient overall, though the lengthy return-format enumeration (12 fields) makes it longer than strictly necessary for selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by listing the return columns (rank, vol_party_name, long/short open interest, symbol, var, date), and it documents the availability window and both parameters. An agent has enough to invoke and interpret it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the parameter burden and does so reasonably: date accepts YYYY-MM-DD, YYYYMMDD, or datetime.date and defaults to today; vars_list accepts contract codes like RB/AL and defaults to all commodities. It explains both parameters clearly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: DCE (大连商品交易所) top-20 member position ranking detail. It clearly identifies the exchange and data type, though it doesn't explicitly name the sibling rank-table tools (get_cffex_rank_table, get_shfe_rank_table, futures_dce_position_rank) it should be chosen over.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides useful usage constraints: data only available after 20200720, the exchange only publishes underlying-contract rankings, and historical data starts 20060104 with daily updates around 16:30. However, it never states when to prefer this tool over the CZCE/SHFE/CFFEX rank-table siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_futures_dailyBRead-onlyIdempotent
交易所日交易数据 :param start_date: 开始日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象 为空时为当天 :type start_date: str :param end_date: 结束数据 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象 为空时为当天 :type end_date: str :param market: 'CFFEX' 中金所,'CZCE' 郑商所,'SHFE' 上期所,'DCE' 大商所 之一,'INE' 上海国际能源交易中心,"GFEX" 广州期货交易所。默认为中金所 :type market: str :return: 交易所日交易数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | CFFEX | |
| end_date | No | 20220208 | |
| start_date | No | 20220208 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the accepted date formats, the empty-string-means-today default, and the market code mapping, but nothing about rate limits, data latency, or the shape/content of the returned DataFrame beyond its type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring format is compact, but the phrase "交易所日交易数据" is repeated as both the opening line and the :return:, and the most decision-relevant information (market scope, sibling distinction) is not front-loaded. Every field present earns its place; structure is merely adequate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter read-only fetch with no output schema, the parameter-level detail is sufficient and the annotations cover safety. What is missing is anything an agent needs to choose this over the per-exchange siblings and any indication of what columns the returned DataFrame contains, leaving the routing decision incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load, and it does: it documents both date parameters (three accepted formats plus the empty=current-day default) and enumerates the market codes (CFFEX/CZCE/SHFE/DCE/INE/GFEX) with Chinese exchange names and a default, values absent from the raw schema. The only gap is that the enum is prose text rather than listed in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource ("交易所日交易数据" / exchange daily trading data) but uses no real verb and gives no scope. With many siblings that fetch per-exchange daily data (get_cffex_daily, get_shfe_daily, get_czce_daily, get_dce_daily, get_ine_daily, get_gfex_daily, futures_hist_daily_cffex), the description never explains that this tool is the generic, market-parameterized version, so the agent cannot distinguish it from those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusion conditions, and no mention of the sibling exchange-specific tools. The only usable hint is the market enum (which implicitly selects an exchange), but the choice between this tool and the per-exchange siblings is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gfex_dailyARead-onlyIdempotent
广州期货交易所-日频率-量价数据 广州期货交易所:工业硅(上市时间:20221222) http://www.gfex.com.cn/gfex/rihq/hqsj_tjsj.shtml :param date: 日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象,默认为当前交易日 :type date: str or datetime.date :return: 广州期货交易所-日频率-量价数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20221223 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false. The description adds useful context beyond those annotations: the official data source URL, the specific product covered (industrial silicon) with its listing date, accepted date formats, and a default of the current trading day. It stops short of describing return columns or rate limits, but the added context is meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose, then source, parameter, and return type. It is appropriately sized for a simple data retrieval tool. The included URL and repeated return line are slightly redundant but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple one-parameter getter with annotations covering safety and no output schema, the description is mostly complete. However, it does not specify what columns or contracts the returned DataFrame contains, and it does not mention whether historical dates are supported, leaving gaps for an agent that needs to know the return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter. It fully documents the single date parameter with formats (YYYY-MM-DD, YYYYMMDD) and a default value. Minor caveat: it mentions a datetime.date object even though the MCP schema only permits strings, which is a slight mismatch for an MCP tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: daily volume-price data for the Guangzhou Futures Exchange, with an explicit scope note on industrial silicon and its listing date. It distinguishes itself from sibling daily futures tools (e.g., get_cffex_daily, get_dce_daily) by naming the exchange, though it does not explicitly call out those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description gives the data source and parameter formats but never says when this tool is appropriate, what conditions select it over other exchange daily tools, or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ine_dailyBRead-onlyIdempotent
上海国际能源交易中心-日频率-量价数据 上海国际能源交易中心:原油期货(上市时间:20180326);20号胶期货(上市时间:20190812) trade_price: https://www.ine.cn/statements/daily/?paramid=kx trade_note: https://www.ine.cn/data/datanote.dat :param date: 日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象,默认为当前交易日 :type date: str or datetime.date :return: 上海国际能源交易中心-日频率-量价数据 :rtype: pandas.DataFrame or None
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20241129 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds that the default is the current trading day and that the return may be None (no data), which is useful beyond the annotations, but says nothing about non-trading days or field/unit details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, but the block is a docstring dump: the source URLs and the ':return:' line that merely restates the title add little for an agent, and the product listing dates are more context than needed to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read tool whose annotations cover safety, the description supplies param formats, default behavior, and return type, which is enough to invoke it correctly. Only the returned columns/units are unstated, and with no output schema that is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the load and does so well: it documents the accepted formats (YYYY-MM-DD, YYYYMMDD, datetime.date) and the default-to-current-trading-day behavior for the single date parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific resource (INE daily volume-price data) and names the exchange and covered products with their listing dates, which cleanly separates it from sibling exchange dailies like get_shfe_daily/get_czce_daily. The retrieval verb is only implied by the name, so it stops just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance and no reference to the many sibling exchange daily tools (get_gfex_daily, get_shfe_daily, get_futures_daily). Usage is only inferable from the exchange name and the data-source URLs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_qhkc_fund_bsCRead-onlyIdempotent
奇货可查-资金-净持仓分布 可获取数据的时间段为:"2016-10-10:2019-09-30" :param url: 网址 :param date: 中文名称 :return: 净持仓分布 :rtype: pandas.DataFrame symbol_df name value ratio date IC 1552535406 0.195622 20190924 IF 536644080 0.0676182 20190924 橡胶 536439921 0.0675924 20190924 沪铜 460851099 0.0580681 20190924 豆粕 401005794 0.0505275 20190924 螺纹钢 329159263 0.0414747 20190924 焦炭 325646968 0.0410321 20190924 燃料油 313246789 0.0394697 20190924 IH 245556750 0.0309406 20190924 棉花 214538541 0.0270323 20190924 PTA 206340552 0.0259993 20190924 白糖 139901255 0.0176278 20190924 豆油 133664010 0.0168419 20190924 沪铝 109789864 0.0138337 20190924 沪锌 107440906 0.0135378 20190924 纸浆 95517374 0.0120354 20190924 苹果 81058733 0.0102136 20190924 塑料 63665245 0.00802194 20190924 菜油 61544593 0.00775474 20190924 铁矿石 60751108 0.00765475 20190924 焦煤 58327920 0.00734943 20190924 甲醇 52148752 0.00657084 20190924 沥青 49207374 0.00620022 20190924 菜粕 48266258 0.00608164 20190924 棕榈油 31615548 0.00398362 20190924 PP 29374826 0.00370128 20190924 豆一 22368376 0.00281846 20190924 玉米 13861567 0.00174658 20190924 沪锡 7485903 0.000943238 20190924 淀粉 4811234 0.000606225 20190924 棉纱 3627240 0.000457039 20190924 尿素 2290674 0.000288629 20190924 鸡蛋 2035406 0.000256465 20190924 粳米 1999282 0.000251913 20190924 油菜籽 533482 6.72197e-05 20190924 晚籼稻 0 0 20190924 强麦 0 0 20190924 沪铅 89914 1.13293e-05 20190924 豆二 379200 4.77799e-05 20190924 硅铁 5025872 0.000633269 20190924 红枣 8521668 0.00107375 20190924 锰硅 9472832 0.00119359 20190924 郑煤 9888272 0.00124594 20190924 乙二醇 18324242 0.00230889 20190924 PVC 19454830 0.00245135 20190924 玻璃 27076226 0.00341166 20190924 热卷 28832929 0.003633 20190924 沪银 375076371 0.0472603 20190924 沪镍 411622624 0.0518652 20190924 沪金 719371823 0.0906422 20190924
long_short_df name value ratio date 空 6303252093 0.794222 20190924 多 1633136803 0.205778 20190924
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | https://qhkch.com/ajax/fund_bs_pie.php | |
| date | No | 20190924 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the temporal coverage limit and a sample of the returned shape, which the annotations do not provide, but it omits anything about request behavior, pagination, or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A short header, date range, and parameter notes are followed by a ~50-row raw data dump plus a second table, which dominates the description and buries the useful information. A couple of illustrative rows would have conveyed the same shape without the bulk.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the sample output does useful work in showing the returned DataFrames and their columns, and the date-range constraint is present. However, the mislabeled date parameter and the absence of any explanation of filtering/sorting or of how this differs from sibling QHKC fund tools leave gaps for a 2-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it largely fails: 'url: 网址' is trivial, and 'date: 中文名称' mislabels a date parameter (default 20190924) as a Chinese name, which is actively misleading. The sample rows show a date value but nothing explains the expected date format or what url does.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (奇货可查 fund net-position distribution) and implicitly what data it returns, but the phrasing is title-like rather than a clean verb+resource statement. It does not distinguish itself from close siblings such as get_qhkc_fund_position or get_qhkc_fund_money_change, so an agent cannot tell which QHKC fund tool to pick from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the data availability window (2016-10-10 to 2019-09-30), which is genuinely useful for deciding whether the tool can answer a question. There is no statement of when to use this tool versus the other qhkc fund tools, and no mention of prerequisites or required inputs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_qhkc_fund_money_changeBRead-onlyIdempotent
奇货可查-资金-成交额分布 可获取数据的时间段为:"2016-10-10:2019-09-30" :param url: 网址 :param date: 中文名称 :return: 成交额分布 :rtype: pandas.DataFrame name value ratio date 沪镍 2.292e+10 0.145963 2019-09-25 沪银 1.22788e+10 0.0781956 2019-09-25 沪金 11196166005 0.0713011 2019-09-25 IC 1.10958e+10 0.0706619 2019-09-25 螺纹钢 1.02918e+10 0.0655416 2019-09-25 IF 9134893794 0.0581742 2019-09-25 铁矿石 7991427128 0.0508922 2019-09-25 原油 7695016910 0.0490045 2019-09-25 焦炭 5936589656 0.0378063 2019-09-25 甲醇 4.00966e+09 0.0255349 2019-09-25 沪铜 3806033147 0.0242381 2019-09-25 乙二醇 3.64376e+09 0.0232047 2019-09-25 橡胶 3286445958 0.0209292 2019-09-25 燃料油 3227355810 0.0205529 2019-09-25 豆粕 3124163112 0.0198958 2019-09-25 苹果 3.08134e+09 0.0196231 2019-09-25 沪锌 3076039116 0.0195893 2019-09-25 PTA 2.93901e+09 0.0187167 2019-09-25 IH 2578970688 0.0164238 2019-09-25 豆油 2371404714 0.0151019 2019-09-25 沥青 2.17662e+09 0.0138615 2019-09-25 白糖 1814626125 0.0115562 2019-09-25 棕榈油 1687834936 0.0107487 2019-09-25 菜粕 1.58244e+09 0.0100775 2019-09-25 焦煤 1.52553e+09 0.00971509 2019-09-25 PP 1.51981e+09 0.0096787 2019-09-25 塑料 1468988065 0.00935503 2019-09-25 沪铝 1.35968e+09 0.00865893 2019-09-25 不锈钢 1213656556 0.00772899 2019-09-25 棉花 1186243285 0.00755441 2019-09-25 鸡蛋 1175239681 0.00748433 2019-09-25 热卷 1.12293e+09 0.00715118 2019-09-25 纸浆 9.23876e+08 0.00588356 2019-09-25 沪铅 659297524 0.00419864 2019-09-25 菜油 587372274 0.00374059 2019-09-25 郑煤 5.82494e+08 0.00370953 2019-09-25 红枣 499089640 0.00317838 2019-09-25 玉米 458548474 0.0029202 2019-09-25 PVC 334434410 0.00212979 2019-09-25 玻璃 333819628 0.00212588 2019-09-25 沪锡 2.02186e+08 0.00128759 2019-09-25 豆二 185554169 0.00118167 2019-09-25 豆一 184729205 0.00117642 2019-09-25 硅铁 1.54719e+08 0.000985305 2019-09-25 淀粉 112331976 0.000715369 2019-09-25 锰硅 1.10791e+08 0.000705557 2019-09-25 尿素 78648750 0.000500862 2019-09-25 棉纱 5.17932e+07 0.000329837 2019-09-25 NR 34806750 0.000221661 2019-09-25 粳米 7375683 4.69709e-05 2019-09-25 油菜籽 2680922 1.7073e-05 2019-09-25 纤维板 2286460 1.4561e-05 2019-09-25 胶合板 831250 5.29369e-06 2019-09-25 强麦 472400 3.00841e-06 2019-09-25 晚籼稻 159318 1.01459e-06 2019-09-25 线材 90608 5.77023e-07 2019-09-25 粳稻 0 0 2019-09-25 普麦 0 0 2019-09-25 稻谷 0 0 2019-09-25
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | https://qhkch.com/ajax/fund_deal_pie.php | |
| date | No | 20190924 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavioral context not in the annotations: the hard data-availability window of 2016-10-10 to 2019-09-30, which an agent needs to avoid empty results. It does not discuss rate limits or failure modes, keeping it below 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and date-range constraint are correctly front-loaded, and the :param/:return/:rtype blocks are conventional. But the description then dumps ~60 rows of raw sample output, which dominates its length and buries the usable guidance. Given no output schema this sample has some value, but the volume is disproportionate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the embedded sample table does inform the agent about the returned columns (name/value/ratio/date), which is legitimately useful. The date range is also covered. But the misleading 'date' parameter description and the absence of any routing guidance leave clear gaps for a tool sitting among many similar qhkc siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the param burden, and it partly fails: ':param url: 网址' is fine, but ':param date: 中文名称' (Chinese name) mislabels what is clearly a date parameter (default '20190924'). This is misleading rather than merely thin. The schema supplies only defaults, so the mislabel is not corrected anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (奇货可查-资金-成交额分布, i.e. turnover/funding distribution from the QHKC source) and the time window available. It is distinguishable from nearby siblings like get_qhkc_fund_bs and get_qhkc_fund_position, though it never explicitly contrasts itself with them. The tool name ('money_change') and the stated purpose ('成交额分布') are slightly out of sync, which costs a point.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It discloses the usable date range (2016-10-10 to 2019-09-30), which implicitly bounds when the tool is applicable. However, there is no explicit guidance on when to choose this over the other qhkc/资金 tools, nor any note on prerequisites or exclusions. Usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_qhkc_fund_positionBRead-onlyIdempotent
奇货可查-资金-总持仓分布 可获取数据的时间段为:"2016-10-10:2019-09-30" :param url: 网址 :param date: 中文名称 :return: 总持仓分布 :rtype: pandas.DataFrame symbol_df name value ratio date IC 1552535406 0.195622 20190924 IF 536644080 0.0676182 20190924 橡胶 536439921 0.0675924 20190924 沪铜 460851099 0.0580681 20190924 豆粕 401005794 0.0505275 20190924 螺纹钢 329159263 0.0414747 20190924 焦炭 325646968 0.0410321 20190924 燃料油 313246789 0.0394697 20190924 IH 245556750 0.0309406 20190924 棉花 214538541 0.0270323 20190924 PTA 206340552 0.0259993 20190924 白糖 139901255 0.0176278 20190924 豆油 133664010 0.0168419 20190924 沪铝 109789864 0.0138337 20190924 沪锌 107440906 0.0135378 20190924 纸浆 95517374 0.0120354 20190924 苹果 81058733 0.0102136 20190924 塑料 63665245 0.00802194 20190924 菜油 61544593 0.00775474 20190924 铁矿石 60751108 0.00765475 20190924 焦煤 58327920 0.00734943 20190924 甲醇 52148752 0.00657084 20190924 沥青 49207374 0.00620022 20190924 菜粕 48266258 0.00608164 20190924 棕榈油 31615548 0.00398362 20190924 PP 29374826 0.00370128 20190924 豆一 22368376 0.00281846 20190924 玉米 13861567 0.00174658 20190924 沪锡 7485903 0.000943238 20190924 淀粉 4811234 0.000606225 20190924 棉纱 3627240 0.000457039 20190924 尿素 2290674 0.000288629 20190924 鸡蛋 2035406 0.000256465 20190924 粳米 1999282 0.000251913 20190924 油菜籽 533482 6.72197e-05 20190924 晚籼稻 0 0 20190924 强麦 0 0 20190924 沪铅 89914 1.13293e-05 20190924 豆二 379200 4.77799e-05 20190924 硅铁 5025872 0.000633269 20190924 红枣 8521668 0.00107375 20190924 锰硅 9472832 0.00119359 20190924 郑煤 9888272 0.00124594 20190924 乙二醇 18324242 0.00230889 20190924 PVC 19454830 0.00245135 20190924 玻璃 27076226 0.00341166 20190924 热卷 28832929 0.003633 20190924 沪银 375076371 0.0472603 20190924 沪镍 411622624 0.0518652 20190924 沪金 719371823 0.0906422 20190924
long_short_df name value ratio date 空 6303252093 0.794222 20190924 多 1633136803 0.205778 20190924
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | https://qhkch.com/ajax/fund_position_pie.php | |
| date | No | 20190924 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly/idempotent/non-destructive), and the description adds real behavioral context: the temporal bound of the dataset and the shape of the return (a per-symbol position table plus a long/short aggregate). The stale 2019 sample is a weakness, but the output-format disclosure is genuinely useful since no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and time range are front-loaded, but the body is dominated by a 50-row raw data dump of stale example values that consumes most of the text without adding reusable guidance. This is excessive and poorly structured for an agent-facing definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, describing the return is important and the description does show the two-table structure, plus it states the usable date range. But it omits usable parameter semantics (and mislabels date) and gives no routing guidance against numerous sibling tools, leaving clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden, yet it only offers a trivial gloss for url (网址) and a misleading one for date (中文名称 = 'Chinese name'), when the parameter's default '20190924' makes clear it is a date. The misleading label actively harms correct invocation rather than aiding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (奇货可查 fund total position distribution / 总持仓分布) and its example output shows futures symbol position values and long/short breakdowns, so an agent can identify what data comes back. However it does not distinguish itself from close siblings like get_qhkc_fund_bs or get_qhkc_fund_money_change, so the boundary between this and other qhkc fund tools is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the data-availability window (2016-10-10 to 2019-09-30), which tells the agent the effective range but nothing about when to choose this tool over alternatives. There is no mention of when-not-to-use or which sibling covers a related need.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_qhkc_indexARead-onlyIdempotent
奇货可查-指数-指数详情 获得奇货可查的指数数据:'奇货黑链', '奇货商品', '奇货谷物', '奇货贵金属', '奇货饲料', '奇货软商品', '奇货化工', '奇货有色', '奇货股指', '奇货铁合金', '奇货油脂' :param url: 网址 :type url: str :param name: 中文名称 :type name: str :return: 指数详情 :rtype: pandas.DataFrame date price volume ... margin profit long_short_ratio 2013-01-04 1000 260820 ... 1130485758 1816940 52.78 2013-01-07 998.244 245112 ... 1132228518 2514410 52.15 2013-01-08 1000.8 318866 ... 1160374489 2981010 51.99 2013-01-09 998.661 247352 ... 1166611242 3904220 52.44 2013-01-10 999.802 161292 ... 1153164771 1448190 52.81 ... ... ... ... ... ... ... 2019-09-24 845.391 881138 ... 1895149977 128379050 48.5 2019-09-25 845.674 715180 ... 1797235248 128788230 48.29 2019-09-26 840.154 1347570 ... 1730488227 137104890 48.44 2019-09-27 834.831 920160 ... 1605342767 143128540 48.77 2019-09-30 831.959 1031558 ... 1521875378 147810580 48.82
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | https://www.qhkch.com/ajax/index_show.php | |
| name | No | 奇货商品 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. Against that lower bar the description adds real behavioral context: since there is no output schema, the sample DataFrame (date, price, volume, margin, profit, long_short_ratio) discloses the return shape, which an agent could not otherwise infer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and the valid-name list are front-loaded before the longer sample block, and the sample data earns its place given there is no output schema. Minor redundancy in the Sphinx :type/:rtype directives, but no sentence is truly wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter, optional-input read tool with annotations and no output schema, the description supplies the valid name domain and the return structure. It omits any indication of history span or result size (the sample spans years), which is the one remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load, and it does: it documents both params (:param url: 网址, :param name: 中文名称, :type str) and enumerates the valid semantic values for 'name'. The only weakness is the thin treatment of 'url' (just 'website'), which is why this is not a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('获得奇货可查的指数数据' - obtain qhkc index data) and enumerates the exact index names it can return ('奇货黑链', '奇货商品', etc.), which is concrete and useful. It does not explicitly distinguish itself from close siblings like get_qhkc_index_trend or get_qhkc_index_profit_loss, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to use this tool versus the many sibling index/futures tools, nor does it name any alternative or exclusion. The list of valid index names implies the query scope but provides no selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_qhkc_index_profit_lossARead-onlyIdempotent
奇货可查-指数-盈亏详情 获得奇货可查的指数数据:'奇货黑链', '奇货商品', '奇货谷物', '奇货贵金属', '奇货饲料', '奇货软商品', '奇货化工', '奇货有色', '奇货股指', '奇货铁合金', '奇货油脂' :param url: 网址 :type url: str :param name: None :type name: str :param start_date: "" :type start_date: str :param end_date: "20190716" 指定 end_date 就可以了 :type end_date: str :return: 盈亏详情 :rtype: pandas.DataFrame indexes value trans_date 招金期货-沪金 -307489200 2019-09-30 平安期货-沪银 -195016650 2019-09-30 建信期货-沪银 -160327350 2019-09-30 国贸期货-沪银 -159820965 2019-09-30 东证期货-沪银 -123508635 2019-09-30 ... ... ... 永安期货-沪银 187411350 2019-09-30 中信期货-沪金 242699750 2019-09-30 华泰期货-沪银 255766185 2019-09-30 永安期货-沪金 293008700 2019-09-30 国泰君安-沪金 302774950 2019-09-30
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | https://qhkch.com/ajax/indexes_profit_loss.php | |
| name | No | 奇货商品 | |
| end_date | No | ||
| start_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is handled. The description adds real value by showing the exact return shape (a pandas.DataFrame with indexes/value/trans_date columns) even though no output schema exists. It still omits any mention of auth, rate limits, or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and index list are front-loaded and the output sample is informative, but the sphinx-style ':type str' lines merely restate the schema and the ten-row DataFrame sample is longer than needed to convey the column layout. It is serviceable but carries avoidable filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With four parameters at 0% schema coverage and no output schema, the description compensates well: it enumerates valid index names, notes that end_date suffices, and shows the return columns. The remaining gap is that url and start_date semantics (what an empty start_date means, whether the default URL should ever be overridden) are left unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It does explain that end_date alone is sufficient and lists the valid name values (奇货黑链, 奇货商品, etc.), which is genuinely useful. But url is only labeled '网址' and start_date is left as an empty string with no explanation, so coverage is partial rather than complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete resource — profit/loss detail (盈亏详情) for QHKCH indexes — and even enumerates the eleven valid index categories, so an agent knows exactly what data comes back. The verb is implied ('获得...数据') rather than explicit, and it never distinguishes itself from siblings like get_qhkc_index or get_qhkc_index_trend, which is the only thing keeping it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The note '指定 end_date 就可以了' tells the agent that only end_date needs to be supplied, which is genuine usage guidance. However, there is no statement of when to prefer this tool over the sibling index tools, nor any exclusions or prerequisites, so usage remains only partially covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_qhkc_index_trendCRead-onlyIdempotent
奇货可查-指数-大资金动向 获得奇货可查的指数数据:'奇货黑链', '奇货商品', '奇货谷物', '奇货贵金属', '奇货饲料', '奇货软商品', '奇货化工', '奇货有色', '奇货股指', '奇货铁合金', '奇货油脂' :param name: None :type name: str :param url: 网址 :type url: str :return: 大资金动向 :rtype: pandas.DataFrame broker grade money open_order variety 中金期货 B -3.68209e+07 3.68209e+07 沪金 浙商期货 D -25845534 25845534 沪银 永安期货 A -25614000 25614000 沪银 招商期货 D -23517351 23517351 沪银 海通期货 A 21440845 21440845 沪金 美尔雅 D 21370975 21370975 沪金 中原期货 C -21204612 21204612 沪银 国投安信 A -1.52374e+07 1.52374e+07 沪银 中信期货 C 1.50941e+07 1.50941e+07 沪银 海通期货 A -1.47184e+07 1.47184e+07 沪银 方正中期 E -1.31432e+07 1.31432e+07 沪银 东证期货 D -1.283e+07 1.283e+07 沪银 一德期货 A 1.24973e+07 1.24973e+07 沪银 国投安信 A -11602860 11602860 沪金 国泰君安 B -1.09363e+07 1.09363e+07 沪金 华安期货 D -9.99499e+06 9.99499e+06 沪金 南华期货 B -9.23675e+06 9.23675e+06 沪银 国贸期货 B 8.55245e+06 8.55245e+06 沪银 道通期货 C 8527675 8527675 沪金 招商期货 D -7.85457e+06 7.85457e+06 沪金 东方财富 E -7.58235e+06 7.58235e+06 沪银 五矿经易 A 6.95354e+06 6.95354e+06 沪银 银河期货 B 6.84522e+06 6.84522e+06 沪银 国贸期货 B 6731025 6731025 沪金 平安期货 D -6710418 6710418 沪银 上海中期 C 6628800 6628800 沪金 中信期货 C -6345830 6345830 沪金 银河期货 B -6126295 6126295 沪金 华泰期货 A -5.96254e+06 5.96254e+06 沪金 招金期货 E -5.53029e+06 5.53029e+06 沪银 东证期货 D -5.47486e+06 5.47486e+06 沪金 光大期货 C -5334730 5334730 沪金 广发期货 D 5.31904e+06 5.31904e+06 沪金 国信期货 D -5.05211e+06 5.05211e+06 沪金
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | https://qhkch.com/ajax/indexes_trend.php | |
| name | No | 奇货商品 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered without the description. The description adds real context beyond that by showing the returned entity (per-broker money/open_order by variety), but it says nothing about rate limits, auth, or the freshness/completeness of the data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, but roughly eighty percent of the text is a raw 34-row DataFrame dump that repeats what a hypothetical return schema would convey. It bloats the definition and pushes actionable guidance out of view.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the sample table does legitimately communicate the shape of the return (broker, grade, money, open_order, variety), which is the tool's strongest completeness contribution. But defaults ('奇货商品', the qhkch.com URL) and any usage guidance are absent, so an agent still has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load. It does supply the candidate values for `name` (the eleven index categories), which is the single most important semantic detail. However, `:param name: None` is a literal non-documentation, and `url` is only glossed as '网址' with no note that it is a rarely-changed endpoint override, so half the semantics are missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific source and resource: QHKCH index trend / big-money movement (大资金动向), and enumerates the eleven valid index categories, which lets an agent distinguish it from siblings like get_qhkc_index_profit_loss or get_qhkc_fund_position. The English-less title makes it less immediately scannable, but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many related QHKCH siblings (fund_bs, fund_money_change, index_profit_loss). No prerequisites, no exclusions, no context. The reader must infer everything from the name and category list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rank_sumARead-onlyIdempotent
采集五个期货交易所前5、前10、前15、前20会员持仓排名数据 注1:由于上期所和中金所只公布每个品种内部的标的排名,没有公布品种的总排名; 所以函数输出的品种排名是由品种中的每个标的加总获得,并不是真实的品种排名列表 注2:大商所只公布了品种排名,未公布标的排名 :param date: 日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象 为空时为当天 :type date: date :param vars_list: 合约品种如 ['RB', 'AL'] 等列表为空时为所有商品 :type vars_list: list :return: 持仓排名数据 :rtype: pandas.DataFrame symbol 标的合约 string var 商品品种 string vol_top5 成交量前5会员成交量总和 int vol_chg_top5 成交量前5会员成交量变化总和 int long_open_interest_top5 持多单前5会员持多单总和 int long_open_interest_chg_top5 持多单前5会员持多单变化总和 int short_open_interest_top5 持空单前5会员持空单总和 int short_open_interest_chg_top5 持空单前5会员持空单变化总和 int vol_top10 成交量前10会员成交量总和 int
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210525 | |
| vars_list | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, covering the safety profile. The description adds valuable behavioral context beyond annotations: it discloses that the variety rankings are aggregated from symbol rankings for SHFE/CFFEX and thus not true exchange-wide rankings, and that DCE lacks symbol-level rankings. This data-quality caveat is crucial for correct result interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose, followed by notes, parameter documentation, and a lengthy return column listing. While the return column list is useful given the absence of an output schema, the overall text is verbose and could be more tightly structured without losing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (aggregating data across five exchanges), two parameters with zero schema coverage, and no output schema, the description provides a solid picture: purpose, data caveats, parameter formats, and return fields. It is nearly complete, though a brief mention of when to prefer this tool over exchange-specific rank functions would complete the guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does so by documenting the date parameter's accepted formats (YYYY-MM-DD, YYYYMMDD, datetime.date) and default behavior (empty = today), and the vars_list format with an example and default (empty = all commodities). This adds substantial meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool collects member position ranking data (top 5/10/15/20) from five futures exchanges. It identifies the specific resource and scope, but does not explicitly distinguish itself from sibling tools like get_rank_sum_daily or exchange-specific rank table functions, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides important caveats about data availability across exchanges (e.g., SHFE/CFFEX only publish symbol-level rankings, DCE only publishes variety-level rankings), which guides interpretation. However, it offers no guidance on when to choose this tool versus alternatives such as get_rank_sum_daily or per-exchange rank table tools, leaving tool selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rank_sum_dailyARead-onlyIdempotent
采集四个期货交易所前 5、前 10、前 15、前 20 会员持仓排名数据 注1:由于上期所和中金所只公布每个品种内部的标的排名,没有公布品种的总排名; 所以函数输出的品种排名是由品种中的每个标的加总获得,并不是真实的品种排名列表 注2:大商所只公布了品种排名,未公布标的排名 :param start_day: 开始日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象 为空时为当天 :type start_day: str :param end_day: 结束数据 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象 为空时为当天 :type end_day: str :param vars_list: 合约品种如 ['RB'、'AL'] 等列表为空时为所有商品 :type vars_list: list :return: 会员持仓排名数据 :rtype: pandas.DataFrame symbol 标的合约 string var 商品品种 string vol_top5 成交量前5会员成交量总和 int vol_chg_top5 成交量前5会员成交量变化总和 int long_open_interest_top5 持多单前5会员持多单总和 int long_open_interest_chg_top5 持多单前5会员持多单变化总和 int short_open_interest_top5 持空单前5会员持空单总和 int short_open_interest_chg_top5 持空单前5会员持空单变化总和 int vol_top10 成交量前10会员成交量总和 int
| Name | Required | Description | Default |
|---|---|---|---|
| end_day | No | 20210510 | |
| start_day | No | 20210510 | |
| vars_list | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/non-destructive, so the bar is lower, and the description adds genuinely useful data-provenance caveats: SHFE/CFFEX publish only per-symbol rankings so the returned variety ranking is a synthetic aggregation, while DCE publishes only variety-level rankings. That materially affects how an agent should interpret results. It does not mention retrieval cost, rate limits, or whether the underlying endpoints throttle.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is correctly front-loaded and the exchange caveats earn their place, but the Sphinx :param:/:rtype: scaffolding is verbose for three optional params, and the DataFrame field listing is truncated mid-schema (it stops at vol_top10 despite advertising top 5/10/15/20), which reads as sloppy rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so documenting the returned DataFrame columns is valuable, and parameters plus safety-relevant caveats are covered. It falls short only because the return-field list is cut off and nothing is said about row ordering, pagination, or data latency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden, and it does: start_day/end_day accept YYYY-MM-DD, YYYYMMDD, or datetime.date and default to the current day when empty, and vars_list takes a symbol list defaulting to all commodities. One wrinkle: the description says empty means 'today', while the schema hard-codes a 20210510 default, an inconsistency the agent must resolve.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb and resource: collecting top 5/10/15/20 member position ranking data from four futures exchanges (采集…会员持仓排名数据). It is specific about scope and cadence, but never names a sibling such as get_rank_sum, futures_dce_position_rank, or get_rank_table_czce, so the agent cannot distinguish it from those without inspecting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the reader infers 'call this to get member position rankings for a date range / commodity list'. There is no explicit when-to-use statement, no exclusion ('do not use for X'), and no pointer to the get_rank_sum or get_rank_table_* alternatives that overlap in name and data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rank_table_czceARead-onlyIdempotent
郑州商品交易所前 20 会员持仓排名数据明细 https://www.czce.com.cn/cn/jysj/ccpm/H077003004index_1.htm 注:该交易所既公布了品种排名,也公布了标的排名 :param date: 日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象 为空时为当天 :return: 持仓排名数据明细 :rtype: pandas.DataFrame 返回值格式 rank 排名 int vol_party_name 成交量排序的当前名次会员 string(中文) vol 该会员成交量 int vol_chg 该会员成交量变化量 int long_party_name 持多单排序的当前名次会员 string(中文) long_open_interest 该会员持多单 int long_open_interest_chg 该会员持多单变化量 int short_party_name 持空单排序的当前名次会员 string(中文) short_open_interest 该会员持空单 int short_open_interest_chg 该会员持空单变化量 int symbol 标的合约 string var 品种 string date 日期 string YYYYMMDD
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20251103 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the safety profile is covered. The description goes further by disclosing the upstream source URL and, importantly, the full shape of the returned record fields — meaningful when no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a raw docstring: title, URL, note, :param, :return, then a long field-by-field listing. The purpose is front-loaded and the field list earns its place given no output schema, but the structure is not tuned for an agent and mixes languages and markup.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-parameter, read-only data fetch with no output schema, the definition covers returns in detail and the parameter fully, and annotations cover safety. The notable gap is the absence of any guidance on when to prefer this over the other exchange rank-table tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% (only a string 'date' with a default), so the description carries the burden and does so well: it lists three accepted formats (YYYY-MM-DD, YYYYMMDD, datetime.date) and states that empty means today. That is the essential format/default behavior an agent needs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource: CZCE top-20 member holding rank detail, and adds the caveat that the exchange publishes both variety-level and contract-level rankings. An agent knows this is CZCE holding-rank data, but the description never names the sibling alternatives (get_rank_table, get_dce_rank_table, get_cffex_rank_table, futures_dce_position_rank) to sharpen selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not, or alternative-tool guidance is given. The note about the exchange publishing both variety and contract ranks is context, not a usage rule. With dozens of near-identical rank-table siblings, the definition leaves routing entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_receiptBRead-onlyIdempotent
大宗商品-注册仓单数据 :param start_date: 开始日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date 对象 为空时为当天 :type start_date: str :param end_date: 结束数据 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date 对象 为空时为当天 :type end_date: str :param vars_list: 合约品种如 RB、AL 等列表为空时为所有商品 :type vars_list: str :return: 注册仓单数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | ||
| vars_list | No | ||
| start_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuine behavioral context beyond that: defaults (empty dates resolve to today, empty vars_list means all products) and the pandas.DataFrame return type. It does not describe scope limits, data source, or latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the subject, then a tight parameter/return block. Given 0% schema coverage, every line adds information an agent needs; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-param read-only data fetch this is mostly sufficient, and the DataFrame return is named. But with no output schema, the description gives no hint about what the receipt records contain (columns/fields), and it omits any sibling routing, leaving real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden and largely delivers: it documents all three parameters, the accepted date formats (YYYY-MM-DD, YYYYMMDD, or datetime.date), the empty-value defaults, and that vars_list holds commodity varieties. Minor mismatch: it types vars_list as str while the schema defines an array.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Title/description state a specific resource: registered commodity warehouse receipt data (注册仓单数据), a clear verb+resource pairing an agent can understand. However, it never distinguishes itself from the exchange-specific siblings such as futures_warehouse_receipt_czce/dce/shfe/gfex, so an agent cannot tell which receipt tool to pick without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no reference to any alternative. Given the cluster of warehouse-receipt siblings, the definition provides no routing signal about when this general tool is preferred over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_roll_yieldARead-onlyIdempotent
指定交易日指定品种(主力和次主力)或任意两个合约的展期收益率 Parameters
date: string 某一天日期 format: YYYYMMDD var: string 合约品种如 RB、AL 等 symbol1: string 合约 1 如 rb1810 symbol2: string 合约 2 如 rb1812 df: DataFrame或None 从dailyBar得到合约价格,如果为空就在函数内部抓dailyBar,直接喂给数据可以让计算加快
| Name | Required | Description | Default |
|---|---|---|---|
| df | No | ||
| var | No | BB | |
| date | No | ||
| symbol1 | No | ||
| symbol2 | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, so the safety profile is covered. The description adds real behavioral context beyond them: the df parameter is optional, data is fetched from dailyBar internally when df is null, and pre-feeding data speeds up computation. Return format and rate limits are still unstated, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded purpose sentence followed by a clean parameter list; there is little waste. Slightly awkward that the parameters block is embedded in the description rather than the schema, but the structure itself is efficient and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-param tool with no output schema, the description covers purpose and each parameter, which is reasonable. It is incomplete on the return value and, more importantly, on how it differs from the sibling get_roll_yield_bar, which an agent needs to select correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and largely does so, documenting all five parameters with types, formats (date as YYYYMMDD), and examples (variety RB/AL, contracts rb1810/rb1812). Minor gaps remain: it doesn't reconcile the schema default var='BB' with its own RB/AL examples, and symbol1/symbol2 vs. variety-selection interplay is only loosely defined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource: computing the 展期收益率 (roll yield) for a specified trading date and variety (main + secondary main) or for any two contracts. It is clear what the tool returns, but it never differentiates itself from the near-identical sibling get_roll_yield_bar, so an agent cannot route between them from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the two invocation modes (by variety with 主力和次主力, or by an explicit pair symbol1/symbol2), which is useful usage context. However it names no alternative tool and gives no when-not-to-use guidance, leaving the choice against get_roll_yield_bar to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_roll_yield_barARead-onlyIdempotent
展期收益率 :param type_method: 'symbol': 获取指定交易日指定品种所有交割月合约的收盘价;'var': 获取指定交易日所有品种两个主力合约的展期收益率(展期收益率横截面);'date': 获取指定品种每天的两个主力合约的展期收益率(展期收益率时间序列) :param var: 合约品种如 "RB", "AL" 等 :param date: 指定交易日 format: YYYYMMDD :param start_day: 开始日期 format: YYYYMMDD :param end_day: 结束日期 format: YYYYMMDD :return: pandas.DataFrame 展期收益率数据(DataFrame) ry 展期收益率 index 日期或品种
| Name | Required | Description | Default |
|---|---|---|---|
| var | No | RB | |
| date | No | 20201030 | |
| end_day | No | ||
| start_day | No | ||
| type_method | No | var |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the return shape (pandas.DataFrame with a 'ry' column and a date/symbol index), which is useful, but it discloses nothing about data source limits, rate limits, or auth. With annotations carrying the behavioral load, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is dense with no filler, but the structure is a run-on block that opens with the bare title and then dumps five param lines plus a return line without visual hierarchy. It gets the information across but is not crisply front-loaded around the primary decision (which type_method to use).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description correctly supplies the return shape (DataFrame, ry column, index by date or symbol). With all five parameters documented and the three modes explained, an agent has enough to call the tool correctly; only the cross-parameter interaction rules are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry all parameter meaning, and it does: it documents type_method's three modes, var as a contract code like 'RB'/'AL', and the YYYYMMDD format for date, start_day and end_day. The gap is that it never ties start_day/end_day specifically to the 'date' mode or explains their interaction with type_method, so not a full 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (展期收益率/roll yield) and then breaks the tool into three concrete modes via type_method ('symbol' returns all delivery-month closing prices, 'var' returns a cross-section across all symbols' two main contracts, 'date' returns a per-symbol time series). That is far more specific than a tautology. It does not, however, distinguish itself from the sibling get_roll_yield, so it lands at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
By explaining what each type_method value returns, the description implicitly tells the agent which mode to pick for a cross-section vs. a time series. But it never states when to prefer this tool over the sibling get_roll_yield, and it doesn't say which parameters are irrelevant in which mode (e.g. start_day/end_day only matter for 'date'). Usage is implied, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_shfe_dailyARead-onlyIdempotent
上海期货交易所-日频率-量价数据 https://tsite.shfe.com.cn/statements/dataview.html?paramid=kx :param date: 日期 format: YYYY-MM-DD 或 YYYYMMDD 或 datetime.date对象,默认为当前交易日 :type date: str or datetime.date :return: 上海期货交易所-日频率-量价数据 :rtype: pandas.DataFrame or None 上期所日交易数据(DataFrame): symbol 合约代码 date 日期 open 开盘价 high 最高价 low 最低价 close 收盘价 volume 成交量 open_interest 持仓量 turnover 成交额 settle 结算价 pre_settle 前结算价 variety 合约类别 或 None(给定交易日没有交易数据)
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20220415 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so safety/behavior is largely covered. The description adds real behavioral context beyond annotations: the default date resolves to the current trading day, and it explicitly states the tool returns None when a given trading day has no data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It follows a docstring-style layout and is somewhat verbose, but the column enumeration earns its place because there is no output schema. Purpose is front-loaded; the metadata lines are compact and information-dense rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the column-by-column return description (symbol, date, open/high/low/close, volume, open_interest, turnover, settle, pre_settle, variety) plus the None case makes the return contract clear. Parameter semantics are fully covered. The remaining gap is guidance on choosing this tool over sibling exchange-daily tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter is only typed as string with a default. The description fully compensates by specifying three accepted formats (YYYY-MM-DD, YYYYMMDD, or a datetime.date object) and the default behavior (current trading day), which is exactly the semantics the schema omits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope: 上海期货交易所 (SHFE) daily-frequency price/volume data, with a source URL. This distinguishes it reasonably well from siblings like get_cffex_daily/get_dce_daily/get_czce_daily on exchange, though it does not explicitly compare itself to those siblings in text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many other exchange-daily tools, nor any prerequisites or exclusions. The description only repeats the resource and documents the date parameter, leaving selection entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_shfe_rank_tableARead-onlyIdempotent
上海期货交易所会员成交及持仓排名表 https://www.shfe.com.cn/ https://tsite.shfe.com.cn/statements/dataview.html?paramid=kx 注:该交易所只公布每个品种内部的标的排名,没有公布品种的总排名 数据从 20020107 开始,每交易日 16:30 左右更新数据 :param date: 交易日 :type date: str :param vars_list: 合约品种如 RB、AL等列表;为空时为所有商品 :type vars_list: list :return: 上海期货交易所会员成交及持仓排名表 :rtype: dict rank 排名 int vol_party_name 成交量排序的当前名次会员 string(中文) vol 该会员成交量 int vol_chg 该会员成交量变化量 int long_party_name 持多单排序的当前名次会员 string(中文) long_open_interest 该会员持多单 int long_open_interest_chg 该会员持多单变化量 int short_party_name 持空单排序的当前名次会员 string(中文) short_open_interest 该会员持空单 int short_open_interest_chg 该会员持空单变化量 int symbol 标的合约 string var 品种 string date 日期 string YYYYMMDD
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| vars_list | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior. The description adds value beyond these by disclosing the data start date, the daily update schedule, and the important constraint that only per-product rankings are published.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and source links are front-loaded, followed by caveats and parameter notes. The return-field breakdown is verbose but justified given no output schema exists, and nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description thoroughly documents return fields (rank, party names, open interest, changes, symbol, var, date), both parameters, update timing, and scope constraints, giving an agent enough to call and interpret it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and does so well: 'date' is documented as the trading day and 'vars_list' as a list of contract varieties whose empty value returns all commodities. This compensates for the undocumented schema fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: the SHFE member trading and position ranking table. It names the exchange explicitly and explains the scope constraint (per-product, not overall). It does not explicitly differentiate from sibling rank tables like get_rank_table_czce or get_dce_rank_table, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides practical context: data begins 20020107, updates each trading day around 16:30, and the exchange publishes rankings only within each product. However, there is no explicit when-to-use vs the sibling rank-table tools (CFFEX, DCE, CZCE), leaving selection to inference from the exchange name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tokenDDestructive
AKShare API: get_token
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=true, but the description adds no context about what side effects occur when getting a token. It doesn't clarify whether a token is created, refreshed, or invalidated, leaving behavioral uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At six words, the description is minimal but vacuous; it provides no substantive information beyond the name, so its brevity is not a virtue.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that likely interacts with authentication state, the description lacks any explanation of return value, side effects, or relationship to set_token. Despite no parameters and no output schema, the tool is not self-explanatory.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has zero parameters, so there is nothing to document. The baseline of 4 applies because no parameter explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description reads 'AKShare API: get_token' — tautologically restates the tool name without specifying what 'token' means or what the tool returns. Sibling tools like set_token indicate it's about token management, but no resource/verb is clarified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call get_token versus set_token or other authentication-related tools. There is no context about prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_us_stock_nameARead-onlyIdempotent
u.s. stock's english name, chinese name and symbol you should use symbol to get apply into the next function https://finance.sina.com.cn/stock/usstock/sector.shtml :return: stock's english name, chinese name and symbol :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context by specifying the return type (pandas.DataFrame) and a source URL, plus the intended downstream use of the symbol. This goes beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but it repeats the return content in the first line and the ':return:' line, and includes a URL that is not essential. The structure is slightly repetitive and not tightly organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema tool, the description states the output fields and type, but it does not clarify that the tool returns data for all US stocks (since there are no input params). This ambiguity about scope is a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 with 100% description coverage (vacuously). The baseline for 0 params is 4; no parameter explanation is required or provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (US stocks) and the output fields (English name, Chinese name, symbol). It distinguishes itself from sibling price-focused tools by focusing on name/symbol mapping. However, it lacks an explicit verb like 'retrieve' or 'list', relying on the tool name for the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers a usage hint: 'you should use symbol to get apply into the next function', indicating the symbol's role in subsequent calls. However, it does not explicitly state when to use this tool versus alternatives or provide exclusions, so guidance is partial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hf_sp_500BRead-onlyIdempotent
S&P 500 minute data from 2012-2018 :param year: from 2012-2018 :type year: str :return: specific year dataframe :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | 2017 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds the data range and return type (specific year dataframe), but does not disclose any other behavioral traits such as limits, authentication, or data completeness. Since annotations cover a lot, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and the main purpose is front-loaded. It repeats '2012-2018' and uses docstring formatting that could be cleaner, but it remains concise without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool, the description is mostly complete: it states the data source, range, and return type. However, it does not describe the dataframe's columns or interval details, nor does it provide any usage context or error handling information, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no description for the 'year' parameter (0% coverage), but the description compensates by specifying valid values (2012-2018) and the return behavior (dataframe for the specified year). This adds meaningful semantics beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as S&P 500 minute data for 2012-2018, which is specific and distinguishes it from the many other stock and index data tools in the sibling list. It lacks an explicit verb like 'get' or 'fetch', but the noun-phrase description is sufficient to understand the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only states the data range and parameter details, with no mention of alternative tools for other indices or time periods, nor any context about appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hurun_rankARead-onlyIdempotent
胡润排行榜 https://www.hurun.net/CN/HuList/Index?num=3YwKs889SRIm :param indicator: choice of {"胡润百富榜", "胡润全球富豪榜", "胡润印度榜", "胡润全球独角兽榜", "全球瞪羚企业榜", "胡润Under30s创业领袖榜", "胡润中国500强民营企业", "胡润世界500强", "胡润艺术榜"} :type indicator: str :param year: 指定年份;{"胡润百富榜": "2014-至今", "胡润全球富豪榜": "2019-至今", "胡润印度榜": "2018-至今", "胡润全球独角兽榜": "2019-至今", "中国瞪羚企业榜": "2021-至今", "全球瞪羚企业榜": "2021-至今", "胡润Under30s创业领袖榜": "2019-至今", "胡润中国500强民营企业": "2019-至今", "胡润世界500强": "2020-至今", "胡润艺术榜": "2019-至今"} :type year: str :return: 指定 indicator 和 year 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | 2023 | |
| indicator | No | 胡润百富榜 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely non-obvious substance on top: it cites the source site URL and gives per-indicator valid year ranges (e.g. 胡润全球富豪榜 2019-至今), which is behavioral constraint info not present in annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sphinx-style :param:/:type:/:return: boilerplate is redundant with the input schema, and a raw source URL is placed near the top ahead of any usage guidance. The content is useful but not tightly front-loaded, and the indicator-to-year mapping is duplicated in a second list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, no-output-schema tool, the description covers both parameters well, states the return is a pandas.DataFrame, and gives the source for verification. The remaining gap is the internal inconsistency between the indicator list and the year-range map, which could mislead an agent choosing an indicator.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema declares no enums, so the description carries the full burden — and it delivers, enumerating the valid indicator values and the valid year span per indicator. It falls short of 5 because the default values ('2023', '胡润百富榜') and expected string format are never explained, and the year map references '中国瞪羚企业榜' which is absent from the indicator list.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource (胡润排行榜 / Hurun rankings) and enumerates the nine distinct ranking indices the tool can return, so the agent knows exactly what data domain this covers. It is clear enough to distinguish from most siblings, but it never names or contrasts with adjacent ranking tools like forbes_rank or index_bloomberg_billionaires.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the indicator list signals which datasets exist, but there is no when-to-use statement, no exclusions, and no pointer to alternative ranking tools (forbes_rank, xincaifu_rank). The agent must infer the conditions from the enum values alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_ai_cxBRead-onlyIdempotent
财新数据-指数报告-AI策略指数 https://yun.ccxe.com.cn/indices/ai :return: AI策略指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows it is a safe read operation. The description adds a source URL and return type (pandas.DataFrame) but does not disclose details like data granularity, update frequency, or column contents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (three lines) and front-loaded with the resource name and URL, followed by return annotations. It contains no fluff, though the URL may be of marginal value and the structure reads like a docstring rather than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, zero-parameter read-only tool with no output schema, the description gives a minimal but identifiable purpose via the index name and return type. However, it lacks important context such as the data's time range, scope, or DataFrame columns, leaving gaps that an agent would need to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, and the input schema confirms this with 100% coverage. The description augments this by stating the return value and type, which is adequate for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly names the resource ('AI策略指数' from 财新数据) and provides a source URL, making the tool's intent clear. It does not use an explicit verb like 'get' or 'fetch', but the ':return:' annotation confirms it returns the index. It differentiates from sibling index tools by specifying the AI strategy index.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus the many sibling tools (e.g., index_si_cx or other index_*_cx variants). There is no mention of use cases, alternatives, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_all_cniBRead-onlyIdempotent
国证指数-最近交易日的所有指数 https://www.cnindex.com.cn/zh_indices/sese/index.html?act_menu=1&index_type=-1 :return: 国证指数-所有指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the data source URL and return type (pandas.DataFrame), which provides modest behavioral context beyond the annotations. However, it does not disclose details like update frequency, pagination, or data completeness, so it does not go far beyond the structured metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with the main phrase front-loaded followed by a URL and return type. Every line earns its place except perhaps the redundant :return and :rtype lines, which repeat the implied output. Slightly more structure (e.g., a clear verb) would improve clarity, but it is not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only tool with rich annotations (readOnly, openWorld, idempotent, non-destructive), the description is nearly sufficient. It names the specific data set (all CNI indices of the most recent trading day), provides a source URL, and states the return type. It does not explain the exact columns or data format, but given no output schema and the tool's simplicity, the omission is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is vacuously 100% covered. Per the rubric, a no-parameter tool gets a baseline of 4 because there is no parameter semantics to clarify. The description adds no parameter-related content, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource ('国证指数' / CNI indices) and scope ('最近交易日的所有指数' / all indices of the most recent trading day), which aligns with the name 'index_all_cni'. It includes a source URL and return type, which helps distinguish it from sibling index tools like index_detail_cni or index_hist_cni, though it lacks an explicit verb like 'fetch' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention conditions like 'for all CNI indices' or exclude other index-related tools. The sibling list contains many index tools, but the description offers no differentiation or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_analysis_daily_swBRead-onlyIdempotent
申万宏源研究-指数分析 https://www.swsresearch.com/institute_sw/allIndex/analysisIndex :param symbol: choice of {"市场表征", "一级行业", "二级行业", "风格指数"} :type symbol: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :return: 指数分析 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 市场表征 | |
| end_date | No | 20221103 | |
| start_date | No | 20221103 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. The description adds the source URL and the return type (pandas.DataFrame), but it does not disclose what the returned data actually contains, any potential data freshness issues, or other behavioral details. This is modest added value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with clear sections for source URL and parameters. It is well-structured and not overly verbose. The only redundancy is repeating the title as the first line, but that is minor. Overall, it is concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read-only tool with three optional parameters and no output schema. The description defines all parameters and provides the source URL, but the return value is only described as '指数分析', which is vague. Since there is no output schema, the description should better explain what columns or data the DataFrame contains. The tool is not complex, but the missing output detail leaves a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions (coverage 0%), so the description must compensate. It provides the allowed values for symbol (市场表征, 一级行业, 二级行业, 风格指数) and explains start_date/end_date as 开始日期/结束日期. This adds meaning beyond the bare schema. However, the date format is not explicitly given (only implied by defaults), so it is slightly incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (指数分析 from 申万宏源研究) and the scope (choice of symbol categories). The return type is stated as pandas.DataFrame. However, the verb (e.g., 'retrieve', 'fetch') is not explicit, and sibling differentiation (daily vs. weekly/monthly) relies on the tool name rather than the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like index_analysis_weekly_sw or index_analysis_monthly_sw. There are no use cases, prerequisites, or exclusions. The docstring only lists parameters without contextual usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_analysis_monthly_swARead-onlyIdempotent
申万宏源研究-指数分析-月报告 https://www.swsresearch.com/institute_sw/allIndex/analysisIndex :param symbol: choice of {"市场表征", "一级行业", "二级行业", "风格指数"} :type symbol: str :param date: 查询日期;通过调用 ak.index_analysis_week_month_sw() 接口获取 :type date: str :return: 指数分析 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20221031 | |
| symbol | No | 市场表征 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the data source URL and the return type (pandas.DataFrame), which is useful given there is no output schema, but it discloses nothing about rate limits, freshness, or coverage of the report.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is front-loaded with the report name and URL, then parameters and return type, with no filler. Sphinx-style type annotations are slightly redundant but do not bloat the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, read-only, no-output-schema tool, the description covers the resource, both parameters (including enum values), and the return type. An agent has enough to invoke it correctly; only edge behavior (e.g., valid date formats) is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the load, and it does: it lists the four allowed symbol values (市场表征/一级行业/二级行业/风格指数) that appear nowhere in the schema, and explains that date is a query date obtainable via the sibling tool. That materially compensates for the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (申万宏源指数分析/月报告) and the '月报告' scope distinguishes it from the daily and weekly siblings (index_analysis_daily_sw, index_analysis_weekly_sw). It stops short of explicitly routing the agent among those siblings, but the resource and period are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not statement relative to the sibling analysis tools. However, the note that the date must be obtained by first calling ak.index_analysis_week_month_sw() gives an implied workflow dependency, which is more than nothing but less than real selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_analysis_weekly_swBRead-onlyIdempotent
申万宏源研究-指数分析-周报告 https://www.swsresearch.com/institute_sw/allIndex/analysisIndex :param symbol: choice of {"市场表征", "一级行业", "二级行业", "风格指数"} :type symbol: str :param date: 查询日期;通过调用 ak.index_analysis_week_month_sw(date="20221104") 接口获取 :type date: str :return: 指数分析 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20221104 | |
| symbol | No | 市场表征 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and documents the data source URL, but says nothing about rate limits, data freshness, or the shape/coverage of the returned frame.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The identifying line and symbol choices are front-loaded and useful, but the entry is a raw docstring dump that includes a redundant URL and boilerplate ':type'/:rtype' lines that add noise without adding semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter, read-only report-fetching tool with no output schema, the description covers the essentials: what it returns, the valid symbol set, and the date format/source. It is adequate overall, though it omits any description of the returned columns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden. It fully enumerates the four symbol choices (市场表征, 一级行业, 二级行业, 风格指数) and gives a concrete date format example (20221104) plus a pointer to the interface that supplies valid dates. Only the date constraints (valid range, plain 'YYYYMMDD' definition) remain under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the source and report type (申万宏源研究-指数分析-周报告), a specific verb+resource that is distinguishable from siblings like index_analysis_daily_sw and index_analysis_monthly_sw via the '周' (weekly) scope. It states what the tool returns (指数分析 / pandas.DataFrame) but never explicitly contrasts itself with those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus index_analysis_daily_sw or index_analysis_monthly_sw. The only usage-adjacent hint is that the date must be obtained via ak.index_analysis_week_month_sw(date=...), which is parameter sourcing rather than tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_analysis_week_month_swBRead-onlyIdempotent
申万宏源研究-周/月报表-日期序列 https://www.swsresearch.com/institute_sw/allIndex/analysisIndex :param symbol: choice of {"week", "month"} :type symbol: str :return: 日期序列 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | month |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this as a read-only, idempotent operation. The description adds only the source URL and return type, without behavioral details like network dependency or data freshness; since the safety profile is covered, this is acceptable but not enriched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and includes the source URL, then a compact docstring. The structure is adequate though the URL line could be integrated, and it does not waste words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool this may be borderline, but it leaves out what the DataFrame contains (columns, date format) and does not clarify how this relates to the separate weekly/monthly tools. The lack of an output schema heightens the need for a clearer return specification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema defines 'symbol' merely as a string with a default, lacking any enum or description. The description compensates by explicitly listing the allowed values {'week', 'month'}, giving the agent the semantics needed to select the appropriate period.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description primarily restates the tool's title, adding that it returns a date sequence from Shenwan Hongyuan weekly/monthly reports. It lacks a clear verb and does not distinguish from sibling tools such as index_analysis_weekly_sw or index_analysis_monthly_sw, leaving the exact operation ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. It does not mention related sibling tools or any conditions that would make this tool preferable, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_awpr_cxARead-onlyIdempotent
财新数据-指数报告-新经济入职工资溢价水平 https://yun.ccxe.com.cn/indices/nei :return: 新经济入职工资溢价水平 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, so the safety profile is well covered. The description adds some context via the source URL and return type (pandas.DataFrame), but does not disclose any additional behavioral traits such as authentication needs, rate limits, or time period coverage. This is consistent with annotations (no contradiction).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single line for the title, a URL, and a standard :return:/:rtype: pair. There is no fluff or redundant explanation beyond the docstring's return type, which is conventional. It is front-loaded with the resource name and immediately provides the data source.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (zero parameters, read-only, no output schema), the description is largely complete: it identifies the exact data product and its return type. It could elaborate on what the index measures (e.g., definition or units) or its update frequency, but the URL and title provide sufficient context for a basic data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with zero parameters, so there is nothing to explain. Schema description coverage is 100% (vacuous), and the baseline for 0 params is 4. The description does not add parameter information because none exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource: '财新数据-指数报告-新经济入职工资溢价水平' (Caixin Data Index Report – New Economy Entry Wage Premium), which distinguishes it from sibling index tools like index_ai_cx or index_nei_cx. However, it lacks an explicit verb ('get', 'fetch', 'return') in the main description; the :return: line implies retrieval but does not state the action directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It is a bare title followed by a URL and return type, with no mention of use cases, prerequisites, or exclusions. Sibling tools are numerous (many index_*_cx variants), but the description offers no differentiation or selection advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_bei_cxBRead-onlyIdempotent
财新数据-指数报告-基石经济指数 https://yun.ccxe.com.cn/indices/bei :return: 基石经济指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the return type and specific index name, but does not disclose details like data granularity, time range, or update frequency. It provides some context beyond annotations but is 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of a title, URL, return description, and type. It is front-loaded with the resource name and contains no unnecessary prose. The Python docstring markers are slightly technical but acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only, idempotent tool with good annotations, the description is mostly sufficient. It states the output type and source, but the absence of an output schema means the description should clarify what data is returned (e.g., columns, frequency). It is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is empty and trivially fully described. The description adds no parameter information, but none is needed. Baseline 4 applies for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning the '基石经济指数' (Cornerstone Economic Index) from Caixin Data, with a source URL and a pandas.DataFrame return type. The resource is specific and distinct from sibling index tools, though it lacks an explicit verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as other index_*_cx tools or macro indices. The description is purely descriptive and does not mention exclusions or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_bi_cxBRead-onlyIdempotent
财新数据-指数报告-基础指数 https://yun.ccxe.com.cn/indices/dei :return: 基础指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the read-only nature is clear. The description adds the source URL and return type but no additional behavioral details such as data freshness, limitations, or time-series scope. With annotations covering safety, this is adequate but not enriched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a title, URL, return annotation, and return type. It has no wasted words and is front-loaded. However, it's more a docstring fragment than a coherent description, so it earns a 4 rather than a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description only states that it returns a pandas DataFrame of '基础指数', which is vague and doesn't describe columns or meaning. The tool is simple with no parameters and has annotations for safety, which partially compensates, but the return data is under-described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema fully covers the input surface (vacuously). The description provides no parameter-specific semantics, but none are needed. Per baseline for 0 params, this scores 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as '基础指数' (basic index) from Caixin Data and includes a source URL, but it lacks a verb specifying the action. The return annotation '基础指数' implies retrieval, but the purpose is not explicitly stated as an operation. It doesn't differentiate from the many sibling index_*_cx tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage context is provided. The description gives no indication of when to choose this tool over alternatives like index_ai_cx or index_si_cx. It doesn't mention any prerequisites, frequency, or exclusion criteria, leaving the agent without guidance for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_bloomberg_billionairesCRead-onlyIdempotent
Bloomberg Billionaires Index https://www.bloomberg.com/billionaires/ :return: 彭博亿万富豪指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type, providing minimal additional context, but does not disclose any behavioral traits such as data update frequency, rate limits, or data scope beyond the index itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief, containing only the title, URL, return value, and return type. It is compact without excessive waste, though the formatting is a bit raw (colon markers in a block). For a no-parameter tool, this level of conciseness is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description only states that it returns the Bloomberg Billionaires Index as a DataFrame, but does not describe the data's contents, columns, or whether it represents current snapshot vs. historical data. The minimal description is sufficient for a simple retrieval but leaves gaps in understanding exactly what data will be returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to describe. The baseline score of 4 applies because the input schema is empty and fully covers all parameters (none exist), and the description does not need to compensate for any missing schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Bloomberg Billionaires Index' and a :return: of 彭博亿万富豪指数 as a pandas DataFrame, which implies it retrieves the index data. However, there is no explicit verb like 'get' or 'list', and it does not differentiate from the sibling tool index_bloomberg_billionaires_hist, making the purpose somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description does not mention historical vs. current data, nor does it reference any sibling tools or conditions for use, leaving the agent without direction on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_bloomberg_billionaires_histCRead-onlyIdempotent
Bloomberg Billionaires Index https://stats.areppim.com/stats/links_billionairexlists.htm :param year: choice of {"2021", "2019", "2018", ...} :type year: str :return: 彭博亿万富豪指数历史数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | 2021 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds no behavioral context beyond that—no mention of data granularity, pagination, units, rate limits, or any side effects. The URL is a source link but does not disclose behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fragmented: a bare title line, a URL, and a docstring-style parameter/return spec. There is no clear opening sentence that states the tool's function. While the length is short, the information is not structured or front-loaded, making it harder for an agent to quickly parse the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain the return value clearly. It only states '彭博亿万富豪指数历史数据' and 'pandas.DataFrame', but does not describe columns, row content, or the year range. It also omits whether the data reflects rankings, net worth figures, or other metrics. This leaves the tool's output ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description for 'year', so the description adds value by indicating it is a choice of specific years ('2021', '2019', '2018', ...'). However, the list is incomplete and the ellipsis leaves ambiguity about valid values. The type (str) is also restated, but the allowed-value hint is useful. It does not fully compensate for the 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and return type clearly indicate it returns historical Bloomberg Billionaires Index data ('彭博亿万富豪指数历史数据'). The description includes the source URL and parameter documentation, making the purpose evident. However, it lacks an explicit verb like 'retrieve' and does not differentiate from the sibling tool 'index_bloomberg_billionaires' (likely non-historical), so it is clear but not perfectly specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention the sibling index_bloomberg_billionaires for current data, nor any other related tools. There is no context about typical use cases, prerequisites, or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_cci_cxCRead-onlyIdempotent
财新数据-指数报告-大宗商品指数 https://yun.ccxe.com.cn/indices/nei :return: 大宗商品指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds the source URL (https://yun.ccxe.com.cn/indices/nei) and the return type (pandas.DataFrame), which is some useful context. However, it does not disclose other behavioral aspects like data freshness, pagination, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short but is under-specified rather than concise. It is essentially a title, a URL, and a return line with no structured explanation or front-loaded purpose. The content feels incomplete and does not earn its place as a useful description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and no output schema, the description is the only source of semantics. It merely states the returns a '大宗商品指数' with a URL, but fails to specify what this index covers, its frequency, units, or how it differs from sibling index tools. This is insufficient for an agent to understand the tool's capabilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the empty schema fully documents the absence of inputs. The description adds the return type and the fact that it returns a commodity index, which provides a bit of semantic context. With 0 params, a baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description mainly restates the title (财新数据-指数报告-大宗商品指数) and adds a return line (':return: 大宗商品指数'). It conveys that the tool returns a commodity index, but without a clear verb or explicit action, the purpose remains vague. It does not distinguish this tool from many sibling index_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool vs alternatives. The description lacks any context, scenarios, or exclusions, leaving the agent without information on how to select this tool among the many similar index_* functions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_ci_cxBRead-onlyIdempotent
财新数据-指数报告-资本投入指数 https://yun.ccxe.com.cn/indices/nei :return: 资本投入指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the return type (pandas.DataFrame) and a data source URL, but does not mention network dependencies, update frequency, or any other behavioral traits. It neither contradicts nor significantly enriches beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured, containing only three lines: the title, the URL, and the return type/format. Every part adds value without redundancy. This is an appropriate size for a zero-parameter read-only tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple parameterless read-only tool, the description is moderately complete. It identifies the data source, provides a reference URL, and the return type. However, it lacks detail about the DataFrame's columns, index, units, or the period covered, which could be important for an agent to assess the data's relevance. Since no output schema exists, the description carries the full burden for return-value semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters, so the baseline score is 4. The description adds no parameter information (there is nothing to describe), which is acceptable given the empty schema. No additional semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '财新数据-指数报告-资本投入指数' (Caixin Data – Index Report – Capital Input Index), clearly identifying the resource. The return type 'pandas.DataFrame' and URL reinforce that this tool provides capital input index data. It doesn't explicitly distinguish itself from sibling Caixin index tools like index_nei_cx, but the name and description are specific enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as index_nei_cx or other index_*_cx tools. There are no explicit usage conditions, exclusions, or context on when this index is relevant. The usage is only implied by the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_code_id_map_emCRead-onlyIdempotent
东方财富-股票和市场代码 https://quote.eastmoney.com/center/gridlist.html#hs_a_board :return: 股票和市场代码 :rtype: dict
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive. The description adds only the source URL and return type 'dict' but no behavioral details such as the mapping direction, data freshness, or any caveats. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but it is under-specified rather than effectively concise. It consists of a title, a URL, and a return type annotation, with no explanatory sentence about what the tool actually returns or how it behaves.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple no-parameter interface, the description is still incomplete because it fails to specify the structure of the returned dict, exactly what codes are included, or how the mapping works. This is critical for an agent to know whether to invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has zero parameters, so schema description coverage is 100% and there is nothing to document. The description is not required to add parameter semantics; baseline 4 for no-param tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a title (东方财富-股票和市场代码) and a return type note, not a clear verb+resource statement. It does not explain that this tool maps index codes to IDs, using 'stock and market codes' instead, which is ambiguous and does not distinguish it from many sibling index/stock tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. With over 400 sibling tools, no context is given for when a mapping of codes is needed or what specific use case it serves.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_component_swARead-onlyIdempotent
申万宏源研究-指数发布-指数详情-成分股 https://www.swsresearch.com/institute_sw/allIndex/releasedIndex/releasedetail?code=801001&name=%E7%94%B3%E4%B8%8750 :param symbol: 指数代码 :type symbol: str :return: 成分股 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 801001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and source URL but does not disclose any additional behavioral traits such as pagination, rate limits, or data scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured, using a title, a relevant URL, and standard docstring entries for parameter and return. Every element contributes meaning without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool, the description covers the main points: source, parameter meaning, return type, and a default example via the URL. It does not explain how to obtain valid index codes or the exact columns of the returned DataFrame, but it is largely adequate for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single 'symbol' parameter with no description, and schema description coverage is 0%. The description compensates by explaining that 'symbol' is the index code ('指数代码') with type str, which is essential. However, it lacks format examples or a code list, leaving some ambiguity about accepted values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as retrieving index component stocks ('成分股') from Shenwan Hongyuan Research's index release details, with a specific URL and parameter. The resource is clear, but it lacks an explicit action verb (e.g., 'get' or 'fetch'), and it does not directly compare to sibling tools beyond the source name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only includes a parameter docstring and return type; there are no mentions of prerequisites, exclusion criteria, or other related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_csindex_allARead-onlyIdempotent
中证指数网站-指数列表 https://www.csindex.com.cn/#/indices/family/list?index_series=1 Note: 但是不知道数据更新时间 :return: 最新指数的列表, :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond that: the return type is a pandas.DataFrame and the data update time is explicitly unknown, which warns the agent about freshness risk.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the source and URL before the caveat and return type. Minor redundancy in using both ':return:' and ':rtype:' docstring style, but nothing that gets in the way.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless listing call with no output schema, the description covers the source URL, what is returned (latest index list), the return type, and a key caveat about update timing. Enough to call the tool, though the columns returned are unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to document. Per the rubric, a parameterless tool gets a baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific source (中证指数网站) and resource (指数列表/最新指数的列表), giving a clear verb-less but unambiguous fetch operation. However, it does not differentiate itself from the many sibling index-listing tools (e.g., index_all_cni, index_stock_info, stock_zh_index_spot_em), leaving an agent to guess which list source to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided. The only note concerns data freshness uncertainty, not selection among alternatives. An agent gets no help deciding between this and the dozens of other index-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_dei_cxBRead-onlyIdempotent
财新数据-指数报告-数字经济指数 https://yun.ccxe.com.cn/indices/dei :return: 数字经济指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety traits (readOnlyHint=true, destructiveHint=false, idempotentHint=true). The description adds minimal behavioral context: the source URL and the return type (pandas.DataFrame). It does not disclose data content, granularity, or any unique behavioral characteristics beyond those signals, but this is sufficient given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured: it leads with the tool's purpose, then the source URL, then return metadata. Every element is relevant and there is no padding or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple parameterless tool: it tells the agent what it returns (a DataFrame with the Digital Economy Index) and its source. However, it does not describe the DataFrame's columns or data granularity, and there is no output schema to fill that gap. This is a clear limitation, but the description is still usable for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema is empty and the description's main contribution is the return type (:rtype: pandas.DataFrame) and the source URL. With 0 parameters, the baseline is 4, and the description adds value by specifying the output format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource (Digital Economy Index) and the source (Caixin Data) with a URL, and the :return: tag indicates it returns the index. However, it lacks an explicit verb like 'retrieve' or 'get', so it reads more like a title than a clear action statement, though the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternative index tools. The description simply repeats the name and provides a URL and return type. It neither mentions alternatives nor provides exclusion criteria, leaving the agent to infer usage solely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_detail_cniARead-onlyIdempotent
国证指数-样本详情-指定日期的样本成份 https://www.cnindex.com.cn/module/index-detail.html?act_menu=1&indexCode=399001 :param symbol: 指数代码 :type symbol: str :return: 指定日期的样本成份 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 399001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and idempotent. The description adds return type (pandas.DataFrame) and parameter semantics, but not much else. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is short, but the first line repeats the title from annotations, and the URL is arguably unnecessary. Nevertheless, it is structured with param/return docs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool promises 'specified date' components, but the schema has no date parameter. This is a critical gap; the agent cannot control the date. Also, no output schema, but the description says DataFrame.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% coverage, so the description compensates by specifying that symbol is the index code and type str. It also provides an example URL. Could be improved with valid code range/format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns sample constituents for a specified date for the CNI (Guozheng) index, with a specific resource URL and return type. It distinguishes from sibling index tools by specifying the CNI index and 'sample details' domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use vs alternatives; it doesn't mention that it's for CNI index or exclude other index sources. There are many sibling index constituent tools, but no reference to them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_detail_hist_adjust_cniBRead-onlyIdempotent
国证指数-样本详情-历史调样 http://www.cnindex.com.cn/module/index-detail.html?act_menu=1&indexCode=399005 :param symbol: 指数代码 :type symbol: str :return: 历史调样 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 399005 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL (http://www.cnindex.com.cn/module/index-detail.html) and confirms the return type (pandas.DataFrame), but it does not disclose behavioral traits such as date ranges, data columns, or any limitations. Since annotations carry the safety burden, this is adequate but not rich in behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and contains no fluff: a title line, a reference URL, and a concise docstring with param/return/type. Every sentence serves a purpose, though the title and first docstring line are somewhat redundant. It is well under the size limit and front-loaded with the key term '历史调样'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single parameter and no output schema, the description is sufficient for basic invocation but lacks details about the returned DataFrame structure (columns, index, date range) and any pagination or filtering options. The annotations cover safety and idempotency, but a user would still wonder what historical adjustment data looks like in practice. For a simple tool, this is a minimum viable description with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides a single string parameter 'symbol' with default '399005' and no description. The description's docstring clarifies that 'symbol' is the 指数代码 (index code), adding semantic meaning beyond the bare schema. However, it does not explain accepted formats (e.g., 6-digit code vs. full prefix) or the meaning of the default value, leaving some ambiguity for an agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool retrieves '历史调样' (historical sample adjustments) for the 国证指数 (CNI Index), and the docstring clarifies it returns a pandas DataFrame with that data. It is specific about the resource (index samples) and the operation (historical adjustment retrieval), though the title is a noun phrase rather than an action verb. It does not explicitly differentiate from sibling tools like index_detail_cni, but the name and description make the purpose reasonably clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention that index_detail_cni might be for current sample details or that index_hist_cni covers historical index values, nor does it state any exclusions or prerequisites. The URL and docstring imply usage for a single index code, but there is no explicit context on selecting this over sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_detail_hist_cniCRead-onlyIdempotent
国证指数-样本详情-历史样本 https://www.cnindex.com.cn/module/index-detail.html?act_menu=1&indexCode=399001 :param symbol: 指数代码;"399001" :type symbol: str :return: 历史样本 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 399001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the source URL and the return type (pandas.DataFrame), which is genuine context beyond annotations, but says nothing about date ranges, pagination, or scope of the history returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a raw docstring dump: a title, a URL, a :param/:type block and a :return/:rtype block. The leading resource name is front-loaded, but the URL and rtype line add bulk without much decision value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output-schema lookup tool, the description covers the input meaning and return type, which is roughly adequate. It stops short of describing what the historical sample rows contain or how they are ordered, leaving the agent to discover the payload manually.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema supplies no meaning for the single parameter. The description compensates by naming symbol as the index code (指数代码) and giving a concrete example ('399001'), which is enough to call correctly even if format rules are not fully specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys that it returns historical constituent samples (历史样本) of a CNI index, with the example code 399001. However, it does not distinguish this from close siblings like index_detail_cni (current samples) or index_detail_hist_adjust_cni (historical adjustments), so the agent cannot confidently route among them from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The agent must infer from the name alone that this is the historical-sample variant of the CNI index detail family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_eriBRead-onlyIdempotent
浙江省排污权交易指数 https://zs.zjpwq.net :param symbol: choice of {"月度", "季度"} :type symbol: str :return: 浙江省排污权交易指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 月度 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, covering safety and side effects. The description adds the data source URL and parameter choices, but does not disclose response details, data freshness, or failure modes. Given the annotations, the description provides moderate additional context but not rich behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and follows a standard docstring structure with title, URL, parameter, and return sections. It front-loads the index name and source. Minor redundancy exists with the return line repeating the index name, but overall it is well-organized and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only index tool with one parameter and no output schema, the description includes the source URL, parameter choices, and return type (pandas.DataFrame). It lacks contextual details such as data history or column descriptions, but given the tool's simplicity and the presence of strong annotations, this is largely complete. A brief note on data frequency or time range would elevate it further.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no property description for 'symbol' (0% coverage), but the description explicitly defines valid values as {'月度', '季度'} and its type. This is essential information that compensates for the schema gap. It could further elaborate on the meaning of the values (e.g., monthly/quarterly index data) but is already helpful beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as the Zhejiang Province Pollution Discharge Right Trading Index (浙江省排污权交易指数) and provides a source URL (https://zs.zjpwq.net). While it lacks an explicit verb like 'get' or 'query', the purpose is evident and distinct from sibling index tools by region and index type. A verb would make it clearer, but the naming and context suffice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The description only documents parameter choices (月度/季度) and the return type, with no mention of exclusions, prerequisites, or different use cases. For a data retrieval tool among many similar index tools, this lack of usage differentiation is a notable gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_fi_cxCRead-onlyIdempotent
财新数据-指数报告-融合指数 https://yun.ccxe.com.cn/indices/dei :return: 融合指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering the safety profile. The description adds a source URL and return type, which is some useful context. However, it does not describe data shape, potential size, or any other behavioral traits, so the added transparency is minimal but not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (4 lines) and includes relevant information: URL, return value, and return type. The first line repeats the title, which is slightly redundant, but overall it is efficient and front-loaded with the source URL. It earns a high score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter explanations, the description should clarify what the returned DataFrame contains. It only says '融合指数' (fusion index) without explaining its meaning, columns, or granularity. The URL provides a reference but is not self-contained. This is insufficient for a data-returning tool, even with good annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema has no properties (100% coverage by default since nothing needs documenting). The description does not need to explain any parameters. Baseline 4 is appropriate for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description repeats the tool's title (财新数据-指数报告-融合指数) and simply states the return value is 融合指数 with a URL. It does not explain what the fusion index is or what data it contains, making it largely a tautology of the name. No clear verb or resource description distinguishes it from sibling index tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. There are many sibling index_*_cx tools (e.g., index_ai_cx, index_si_cx) with similar naming, but the description does not mention any differences or appropriate usage scenarios, leaving the agent without any decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_global_hist_emBRead-onlyIdempotent
东方财富网-行情中心-全球指数-历史行情数据 https://quote.eastmoney.com/gb/zsUDI.html :param symbol: 指数名称;可以通过 ak.index_global_spot_em() 获取 :type symbol: str :return: 历史行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 美元指数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds that the return type is a pandas DataFrame and that the symbol can be fetched from another function. It does not reveal behavioral traits like date range coverage, data frequency, or output columns, but given the annotations, this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a title, URL, parameter explanation, and return type. It is appropriately sized and front-loaded with the tool's purpose. Each line has a clear function with no redundant text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one optional parameter, but the description only states that it returns historical market data as a DataFrame. It lacks details about the data columns, date range, frequency, or any limitations. Since there is no output schema, these missing details make it somewhat incomplete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no descriptions (0% coverage), so the description must compensate. It explains that 'symbol' is the index name and instructs how to obtain it via another API function, plus provides a default value. This adds meaningful guidance beyond the bare schema, though it could enumerate valid symbols or formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the tool as providing historical market data for global indices from Eastmoney, with a specific source URL. It identifies the action (retrieve historical quotes) and resource (global index) distinctly. It does not explicitly differentiate from sibling tools like index_global_hist_sina, but the name and URL make the source evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions that the symbol can be obtained via ak.index_global_spot_em(), which gives a hint on input sourcing. However, it provides no guidance on when to use this tool versus alternatives, nor does it state any exclusions or preferred scenarios. The usage context is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_global_hist_sinaBRead-onlyIdempotent
新浪财经-行情中心-环球市场-历史行情 https://finance.sina.com.cn/stock/globalindex/quotes/UKX :param symbol: 指数名称;可以通过 ak.index_global_name_table() 获取 :type symbol: str :return: 环球市场历史行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | OMX |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, covering the safety profile. The description adds the return type (pandas DataFrame) and source URL, but does not disclose potential quirks like rate limits, data granularity, or available date ranges. This is acceptable given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: title, URL, param definition, return type. Every line adds value, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple historical data tool, the description covers the purpose, parameter, and return type, but lacks details about the output DataFrame columns, date range, or usage context. With no output schema specified, more detail on the return structure would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a default value for 'symbol' with no description. The description compensates by explaining that symbol is an index name and directs to ak.index_global_name_table() to discover valid values. This is useful and goes beyond schema, though it could include examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this provides historical market data for global indices from Sina Finance, with the resource identified by the URL and title. However, it lacks an explicit verb like 'retrieve' or 'fetch', instead using a noun phrase '环球市场历史行情'. It distinguishes from siblings via the 'sina' source in the name and URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides only a prerequisite for the symbol parameter (obtained via ak.index_global_name_table()) but does not mention when to choose this tool over alternatives like index_global_hist_em. No exclusions or alternative tool references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_global_name_tableBRead-onlyIdempotent
新浪财经-行情中心-环球市场-名称代码映射表 https://finance.sina.com.cn/stock/globalindex/quotes/UKX :return: 名称代码映射表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide strong safety signals (readOnlyHint=true, destructiveHint=false, idempotentHint=true). The description adds the source URL and return type, but no additional behavioral context such as staleness of the mapping, caching, or potential differences from other mapping tools. It does not contradict the annotations, but it adds minimal value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, containing only the title, a reference URL, and the return annotation (:return: and :rtype:). Every line provides useful information without waste. The structure is clean and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description is minimal but somewhat adequate—it tells the agent that the tool returns a DataFrame mapping names to codes for global indices. However, it does not specify the exact columns or how the mapping may be structured, and it lacks any contextual notes on when this mapping would be needed or how it differs from other mapping tables in the sibling set. It is complete enough to invoke correctly but leaves room for uncertainty about the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty (0 parameters), so there are no parameter semantics to explain. The baseline for 0 parameters is 4, and the description does not need to compensate. It also does not introduce any confusion about parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it is a '名称代码映射表' (name/code mapping table) for Sina Finance Global Markets, and explicitly notes the return type is a pandas DataFrame with the URL as a reference. This clearly identifies the resource and function, though the verb is implicit rather than explicit. It distinguishes from sibling index tools that provide historical or spot data by being a mapping table.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not state when to use this tool versus alternatives like index_global_hist_em or index_global_spot_em, nor any prerequisites or exclusions. It only describes what the tool returns, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_global_spot_emARead-onlyIdempotent
东方财富网-行情中心-全球指数-实时行情数据 https://quote.eastmoney.com/center/gridlist.html#global_qtzs :return: 实时行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds the data source URL and return type (pandas.DataFrame), providing some context beyond the annotations, but does not disclose other behavioral traits like update frequency or coverage of specific indices.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main purpose. It includes the source URL and return type in a structured docstring-like format, with no redundant or irrelevant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description adequately communicates that the tool returns a pandas DataFrame of real-time global index quotes. It names the data source and the specific data category, which is sufficient for a simple read-only tool. Additional column details or index coverage would be nice but are not critical for the tool's straightforward purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100% (empty schema), so there are no parameter semantics to explain. The description's mention of the return type adds value, and the baseline of 4 for no-parameter tools is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing real-time global index quotes from Eastmoney, with the specific resource (global indices) and data type (spot/real-time). It distinguishes itself from siblings like index_global_hist_em (historical) through the explicit '实时行情' (real-time) label, though it lacks an explicit verb like 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention that this is for real-time spot data while historical data would come from index_global_hist_em, nor does it reference any other related tools. The name implies real-time, but the description does not explicitly state usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_hist_cniBRead-onlyIdempotent
指数历史行情数据 http://www.cnindex.com.cn/module/index-detail.html?act_menu=1&indexCode=399001 :param symbol: 指数代码 :type symbol: str :param start_date: 开始时间 :type start_date: str :param end_date: 结束时间 :type end_date: str :return: 指数历史行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 399001 | |
| end_date | No | 20240114 | |
| start_date | No | 20230114 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), but does not disclose details like column structure, pagination, or date handling, so it provides only moderate value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a standard docstring pattern: title, source URL, params, and return type. It is front-loaded with the data type and includes only necessary lines, though the title is redundant with the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should describe what the returned DataFrame contains (e.g., OHLCV columns), but it only says 'index historical market data.' It also doesn't clarify index code format or date boundaries, making the tool under-specified for a data-fetching function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain parameters; it does give Chinese labels for symbol (指数代码), start_date (开始时间), and end_date (结束时间). Yet it omits format details such as YYYYMMDD (implied by the defaults) and doesn't explain any constraints, leaving ambiguity for an agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates that this tool provides historical index market data (指数历史行情数据) and includes a source URL identifying cnindex.com.cn. However, it uses a noun phrase rather than an explicit verb+resource statement, and it does not explicitly distinguish from sibling index history tools like index_global_hist_em or index_detail_hist_cni.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus the many sibling index-data tools. It lacks alternatives, exclusions, or contextual prerequisites such as 'use for CNI indices' or 'not for global indices.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_hist_fund_swBRead-onlyIdempotent
申万宏源研究-申万指数-指数发布-基金指数-历史行情 https://www.swsresearch.com/institute_sw/allIndex/releasedIndex/fundDetail?code=807100 :param symbol: 基金指数代码 :type symbol: str :param period: 周期 :type period: str :return: 历史行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | day | |
| symbol | No | 807200 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description doesn't need to cover safety. It does add the return type (pandas.DataFrame) and the source URL, which are useful, but it doesn't disclose any behavioral traits like date range limits, pagination, or data granularity beyond what the annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with title, URL, param list, and return type; every line serves a purpose and there is no fluff. It is front-loaded with the identifying title, making it easy to scan, though the URL is long and not strictly necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple historical data retrieval with two params and no output schema, the description gives the return type and param semantics but omits details like valid period values, output columns, and any data coverage limitations. Given the large sibling set, it also lacks positioning guidance, leaving the agent to guess when to choose this tool over similar ones.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides basic param meanings (symbol = 基金指数代码, period = 周期) and a concrete example URL with code=807100, giving more than the schema's bare names. However, it doesn't specify allowed period values (e.g., day/week/month), and the '周期' description is too vague to fully compensate for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as fetching historical quotes for Shenwan fund indices (申万宏源研究-申万指数-指数发布-基金指数-历史行情), with a source URL and param docs. It distinguishes from siblings like index_hist_sw by focusing specifically on fund indices, though it lacks an explicit verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is absolutely no guidance on when to use this tool versus alternatives such as index_hist_sw or index_realtime_sw. No exclusions, prerequisites, or comparative hints are provided, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_hist_swBRead-onlyIdempotent
申万宏源研究-指数发布-指数详情-指数历史数据 https://www.swsresearch.com/institute_sw/allIndex/releasedIndex/releasedetail?code=801001&name=%E7%94%B3%E4%B8%8750 :param symbol: 指数代码 :type symbol: str :param period: choice of {"day", "week", "month"} :type period: str :return: 指数历史数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | day | |
| symbol | No | 801030 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description adds little beyond confirming the data is returned as a DataFrame. It does not disclose behavioral traits like data source limitations, rate limits, or column contents beyond the basic return type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and structured as a docstring, with title, URL, parameter types, and return type in a logical order. Each line contributes value, though the raw URL could be trimmed without losing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read-only tool, the description covers the core function, parameter meanings, and return type. However, it omits details such as the exact columns of the returned DataFrame, whether prices are adjusted, and any limitations of the data source, leaving minor gaps for an agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates well by explaining symbol as index code and period as a choice of {'day','week','month'}. It also provides a URL example with a concrete symbol code, adding useful context that the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves index historical data ('指数历史数据') for a given symbol and period, with the URL and return type confirming this. It distinguishes from likely siblings like realtime or minute index tools by specifying '历史数据' (historical data), though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as index_min_sw or index_realtime_sw. The description only documents parameters and return type, with no mention of use cases, exclusions, or preferred contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_hog_spot_priceBRead-onlyIdempotent
行情宝-生猪市场价格指数 https://hqb.nxin.com/pigindex/index.shtml :return: 生猪市场价格指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds that the return type is a pandas.DataFrame and provides the source URL, which is some added context. However, it does not disclose data structure, time range, or potential scraping limitations, so it remains modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, with the source URL, return description, and return type. The first line repeats the annotation title, which is mildly redundant, but overall it is economical and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 is too thin. It doesn't explain what columns or index values are returned, whether the data is historical or current, or any interpretation of the index. Even with the DataFrame return type noted, the agent lacks essential context to understand the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is fully self-descriptive. According to the rubric, a baseline of 4 is appropriate; no parameter explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it returns the pig market price index (生猪市场价格指数) from 行情宝 and provides a source URL. This identifies the specific resource, though the verb is implied via ':return:' rather than explicit. It does not distinguish from sibling tools like spot_hog_soozhu, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternative hog price or index tools. There is no mention of prerequisites, scenarios, or exclusions, so the agent receives no directional help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_ii_cxCRead-onlyIdempotent
财新数据-指数报告-产业指数 https://yun.ccxe.com.cn/indices/dei :return: 产业指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only and idempotent, so the safety profile is covered. However, the description only adds the source URL and return type, with no additional behavioral context like network dependencies, data limits, or error conditions, which is a notable gap for a data-fetching tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and to the point, but its structure is a terse Python docstring format. It lacks a clear, human-readable summary and omits potentially useful details, yet it contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description should clarify what the returned DataFrame contains. It merely repeats the title '产业指数' and gives a type, leaving column details, data meaning, and update frequency ambiguous. This is inadequate for an agent to reliably interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, making schema coverage trivially 100%. The description does not need to explain parameter semantics, and no parameter information is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource '产业指数' (industry index) from 财新数据 and specifies the return type as pandas.DataFrame, indicating a clear data retrieval function. However, it lacks an explicit verb and does not differentiate itself from sibling index tools beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as index_dei_cx or other index-related tools. There is no mention of data coverage, frequency, or any prerequisites, leaving the agent uninformed about selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_inner_quote_sugar_msweetARead-onlyIdempotent
沐甜科技数据中心-配额内进口糖估算指数 https://www.msweet.com.cn/mtkj/sjzx13/index.html :return: 配额内进口糖估算指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering behavioral safety. The description adds the return type (pandas.DataFrame) and the source URL, but provides no additional context like data granularity, update frequency, or special behaviors. It gives minimal extra value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise, consisting of a single line describing the index, a source URL, and return type. Every piece of information earns its place, and it is front-loaded with the tool's purpose. There is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (zero parameters, read-only, clear annotations, no output schema), the description is largely complete. It identifies the data source, the exact index name, and the return type. It could theoretically specify column names or data range, but these are not strictly necessary for a straightforward retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is complete (100% coverage), so no parameter explanation is needed. The description appropriately focuses on the output rather than parameter details, aligning with the baseline for parameterless tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a specific index (配额内进口糖估算指数) from Mutian Tech, making the purpose understandable. However, it does not explicitly differentiate itself from closely related siblings like index_outer_quote_sugar_msweet or index_sugar_msweet, leaving some ambiguity for an agent comparing options.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no explicit guidance on when to use this tool vs alternatives. It does not mention related tools or exclusion criteria, relying solely on the tool name and description to imply its use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_kq_fashionBRead-onlyIdempotent
柯桥时尚指数 http://ss.kqindex.cn:9559/rinder_web_kqsszs/index/index_page.do :param symbol: choice of {'柯桥时尚指数', '时尚创意指数', '时尚设计人才数', '新花型推出数', '创意产品成交数', '创意企业数量', '时尚活跃度指数', '电商运行数', '时尚平台拓展数', '新产品销售额占比', '企业合作占比', '品牌传播费用', '时尚推广度指数', '国际交流合作次数', '企业参展次数', '外商驻点数量变化', '时尚评价指数'} :type symbol: str :return: 柯桥时尚指数及其子项数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 时尚创意指数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true and idempotentHint=true, so the safe, read-only nature is known. The description adds the return type and source URL, but lacks further behavioral details such as pagination, data update frequency, or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured, with a short title line, source URL, and standardized :param:/:return: tags. No redundant or filler content is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with rich annotations, the description provides the parameter choices, return type, and source URL, covering the essential invocation needs. The lack of an output schema is partially mitigated by the explicit DataFrame return type, though column details are not mentioned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description for the symbol parameter, but the description provides an exhaustive list of valid choices and its type, which is essential for correct invocation. The meanings are not elaborated beyond the names, but the names are largely self-explanatory, making this a strong compensation for the zero schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '柯桥时尚指数及其子项数据' indicating it returns the Keqiao Fashion Index and its sub-item data, with a source URL and DataFrame return type. However, there is no explicit verb like 'fetch' or 'retrieve', and it does not differentiate from sibling index tools such as index_kq_fz.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative index tools. The description lists parameter options and the data source but gives no context for selection or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_kq_fzBRead-onlyIdempotent
中国柯桥纺织指数 http://www.kqindex.cn/flzs/jiage :param symbol: choice of {'价格指数', '景气指数', '外贸指数'} :type symbol: str :return: 中国柯桥纺织指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 价格指数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type (pandas.DataFrame), which gives modest behavioral context beyond the annotations. It does not contradict the annotations and provides no negative side effects, but it does not deeply describe what the DataFrame contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured as a compact docstring with a title, source URL, parameter definition, and return type. It is mostly efficient, though the return line repeats '中国柯桥纺织指数' after the initial title, which is mildly redundant. Overall, the format is organized and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 strong annotations, the description covers the essentials: what to pass and the return type. However, it does not describe the structure of the returned DataFrame (e.g., columns, time range, history) nor any query limitations. Given no output schema, this leaves some gap, but for such a straightforward index retrieval tool it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single symbol parameter with 0% description coverage, so the description's explicit enumeration of valid choices ({'价格指数', '景气指数', '外贸指数'}) is essential and adds significant meaning. It tells the agent exactly what values are accepted, compensating for the schema's lack of detail. However, it does not explain the nuances of each choice beyond their literal names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '中国柯桥纺织指数' and implies retrieval of this index through its parameter and return documentation. It goes beyond a tautology by specifying the index source URL and that it returns a pandas DataFrame, making the tool's function clear even though no explicit verb like 'get' or 'fetch' is used.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It lists parameters and return type but does not explain context, exclusions, or relationships to sibling tools such as index_kq_fashion. The only implicit hint is that it serves data for the Keqiao textile index, but there is no explicit 'use this when' language.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_li_cxBRead-onlyIdempotent
财新数据-指数报告-劳动力投入指数 https://yun.ccxe.com.cn/indices/nei :return: 劳动力投入指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds that the return is a pandas.DataFrame and includes the source URL, but no further behavioral details such as data range, update frequency, or potential quirks. Annotations already declare this as a safe read-only operation, so the added value is limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, containing only a title, a source URL, and a return type declaration. Every segment serves a purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description should explain the returned data more thoroughly. It only states 'labor input index' without detailing columns, historical range, or how it differs from similarly named sibling tools. This is insufficient for an agent to know exactly what data it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description's mention of return type does not relate to parameter semantics, and there is nothing to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns the 'labor input index' from Caixin Data's index report, with a source URL. It is specific about the resource, but does not explicitly distinguish it from sibling index tools like index_nei_cx.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus other index tools. The description merely states what it is, leaving the agent to infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_min_swBRead-onlyIdempotent
申万宏源研究-指数发布-指数详情-指数分时数据 https://www.swsresearch.com/institute_sw/allIndex/releasedIndex/releasedetail?code=801001&name=%E7%94%B3%E4%B8%8750 :param symbol: 指数代码 :type symbol: str :return: 指数分时数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 801001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and the source URL, which are useful but not behavioral traits like rate limits or data granularity. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with a title, URL, and docstring, but the title is redundant with the annotations title and the URL adds length. It is not overly verbose, but some content could be trimmed for front-loading the core purpose. Overall, it is acceptably concise for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter data retrieval tool with strong annotations (read-only, idempotent), the description is adequately complete: it states the data type, parameter meaning, and return type. It lacks minor details like supported symbol ranges or the exact time series resolution (e.g., 1-minute, 5-minute), but these are not critical for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter (symbol) with no description (0% coverage), but the description explains ':param symbol: 指数代码' (index code) and specifies the default '801001' via schema. This adds essential meaning missing from the schema, though it does not elaborate on valid code formats or how to discover them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing index minute data ('指数分时数据') sourced from Shenwan Hongyuan Research, and the URL specifies the exact data domain. It distinguishes from siblings like index_hist_sw (daily history) and index_zh_a_hist_min_em (different source) through the 'sw' suffix and source context, but lacks an explicit verb (e.g., 'fetch' or 'get').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as index_hist_sw for daily data or index_zh_a_hist_min_em for another source. It only states what it returns, with no exclusions or scenarios. The usage context is implied solely by the tool name and resource label.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_neaw_cxBRead-onlyIdempotent
财新数据-指数报告-新经济行业入职平均工资水平 https://yun.ccxe.com.cn/indices/nei :return: 新经济行业入职平均工资水平 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, non-destructive). The description adds useful context about returning a pandas DataFrame and the source URL, but does not disclose other behavioral specifics such as pagination, data freshness, or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and includes standard docstring elements (URL, :return:, :rtype:). It is front-loaded with the title and avoids redundancy, though the format is slightly non-standard for a tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool, the description adequately conveys the data source, what data is returned, and the return type. The absence of an output schema makes the return-type note valuable. It does not discuss edge cases or selection criteria, but that is not critical for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers parameter semantics (vacuously). The description correctly omits parameter details, and the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (new economy industry entry average salary from Caixin Data) and the return type. It is specific enough to distinguish from sibling index tools like index_nei_cx, though it lacks an explicit verb like 'returns' or 'fetches'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only names the data source and URL, with no mention of exclusions, prerequisites, or comparisons to sibling index tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_neei_cxBRead-onlyIdempotent
财新数据-指数报告-新动能指数 https://yun.ccxe.com.cn/indices/neei :return: 新动能指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey read-only, idempotent, open-world behavior. The description adds the source URL and return type (DataFrame), which is useful but does not go further into data scope, update frequency, or other behavioral traits. It does not contradict annotations and adds minimal context beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, containing only the source title, URL, and return type. Every line serves a purpose with no redundancy or filler. The structure is linear and front-loaded, placing the identifying title first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 provides the essential return type (DataFrame) but lacks details about the dataset's columns, time range, or whether it is a time series or single snapshot. Without an output schema, such information would help, but the description is minimally sufficient for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema coverage is trivially 100%. The description has no parameter information to add, and none is needed. Baseline for 0 parameters is 4, and no deduction applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (新动能指数 / New Kinetic Energy Index) and states it returns a pandas DataFrame. The verb is implicit (get/fetch) but the ':return:' line makes the purpose evident. It distinguishes from similar index_*_cx tools by naming the specific index, though it does not explicitly contrast with siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention scenarios, exclusions, or relationships to similar index tools like index_nei_cx or index_bei_cx. The description only implies usage through its title and return type, with no explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_nei_cxBRead-onlyIdempotent
财新数据-指数报告-中国新经济指数 https://yun.ccxe.com.cn/indices/nei :return: 中国新经济指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so safety is covered. The description adds the data source URL and the return type (pandas.DataFrame), which provides some context beyond annotations. However, it doesn't disclose potential rate limits, data coverage, or update frequency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and structured as a docstring with source URL, return value, and return type. However, the first line repeats the annotation title exactly, which is redundant. The URL may be of limited use to an AI agent. Overall, it is efficient but not perfectly polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter tool, the description provides the essential information: what data is returned and in what format. It lacks details about the data's structure or interpretation, but given the tool's simplicity and the presence of annotations, it is mostly complete. An output schema is absent, so the return type mention partially compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since the tool has zero parameters and the schema is empty, there is no parameter semantics to explain. Per the baseline for 0 parameters, a score of 4 is appropriate. The description does not need to compensate for any schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing the China New Economy Index (中国新经济指数) from Caixin, with the ':return:' field specifying the returned data. However, it lacks an explicit verb like 'fetch' or 'get', making it slightly less direct than ideal. The specific index name distinguishes it from sibling index tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. With many sibling index_*_cx tools, the description does not explain what makes this index unique or when it should be preferred. No exclusions or alternative tool mentions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_news_sentiment_scopeBRead-onlyIdempotent
数库-A股新闻情绪指数 https://www.chinascope.com/reasearch.html :return: A股新闻情绪指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds minimal behavioral context beyond the annotations: it notes the data source (Chinascope via the research URL) and the return type (pandas DataFrame). Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description does not mention update frequency, time range, columns, or any operational caveats, but it does provide the output format which is useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief (three lines) and front-loads the index name. The URL and return type are useful, but the duplicate mention of 'A股新闻情绪指数' wastes space and the overall structure is a stub rather than a well-organized explanation. It is concise but minimal, so it earns a mid-range score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description is incomplete: it only provides the index name and return type, without explaining what the index represents, its market scope (A-share), how it is calculated, or the structure of the returned DataFrame. Given the rich annotations, the description does not need to repeat safety warnings, but it should offer more context to help the agent understand the data and use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and the description correctly reflects this by not discussing any parameters. Since there are no parameters to document, the baseline score of 4 is appropriate. The description does not need to compensate for parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a '数库-A股新闻情绪指数' (Chinascope A-share news sentiment index) and states the return type. However, it lacks an explicit verb like 'get' or 'retrieve', and does not differentiate from sibling index tools that may also provide sentiment or index data. The name itself suggests the function, and the Chinese title plus return specification make the purpose reasonably clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention suitable use cases, prerequisites, or compare this to other sentiment indices or index-producing tools. An agent cannot determine whether this is the right tool without additional context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_1000index_min_qvixCRead-onlyIdempotent
中证1000股指 期权波动率指数 QVIX-分时 http://1.optbbs.com/s/vix.shtml?Index1000 :return: 中证1000股指 期权波动率指数 QVIX-分时 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds only a return type (pandas.DataFrame) and a source URL, but no behavioral details such as data lag, column structure, or rate limits. It repeats the title without enriching beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but redundant: the first line and the :return: line are identical, and the URL is likely not actionable for an AI agent. The repetition wastes space without adding informational value, so it is not a model of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool, the description provides the essential identity (index, metric, timeframe, return type). However, it lacks differentiation from closely related sibling tools (e.g., the non-min version) and does not describe the DataFrame's typical columns or update frequency, leaving gaps for an agent deciding among the many QVIX tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with 0 parameters, and schema_description_coverage is high (100% effectively), so the baseline is 4. The description's mention of return type adds slight context for what the caller receives, though parameter explanation is not needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: 中证1000股指期权波动率指数QVIX-分时 (CSI 1000 index options volatility index QVIX intraday). It distinguishes from non-min siblings by including '分时' (minute-level), matching the tool name's 'min' suffix. However, it lacks an explicit verb like 'fetch' or 'retrieve', but the :return: statement implies it returns such data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. There is no mention of suitable contexts, exclusions, or references to sibling tools (e.g., index_option_1000index_qvix without 'min'). The URL is a data source but provides no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_1000index_qvixBRead-onlyIdempotent
中证1000股指 期权波动率指数 QVIX http://1.optbbs.com/s/vix.shtml?Index1000 :return: 中证1000股指 期权波动率指数 QVIX :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds the return type (pandas.DataFrame) and a source URL, which is some useful context, but it does not clarify the temporal scope of the data or update frequency. This is minimal but acceptable given the strong annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with a title, URL, and docstring. It is slightly redundant by repeating the tool name, but overall it is efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description tells what is returned (QVIX series as a DataFrame) but does not specify whether it returns historical data, a single current value, or a date range. Given the lack of an output schema and the simplicity of the tool, more detail about the data's nature would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the input schema is trivially 100% covered. The baseline for 0-parameter tools is 4, and the description does not need to explain any parameters. No additional parameter semantics are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (中证1000股指期权波动率指数 QVIX) and provides a source URL. It unambiguously states what data the tool returns, but lacks an explicit verb like 'get' or 'fetch'—the purpose is implied by the name and the :return: line.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus the many sibling QVIX tools for other indices (e.g., index_option_300index_qvix). There is no mention of prerequisites, exclusions, or alternatives, so an agent receives no help in selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_100etf_min_qvixBRead-onlyIdempotent
深证100ETF 期权波动率指数 QVIX-分时 http://1.optbbs.com/s/vix.shtml?100ETF :return: 深证100ETF 期权波动率指数 QVIX-分时 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as readOnly, idempotent, openWorld, and non-destructive. The description adds a source URL and return type (pandas.DataFrame), but discloses no other behavioral details such as data frequency, period covered, or potential request limits. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but redundant, repeating the same Chinese phrase for the tool name and the return description. It includes a URL that may be useful but not essential. The structure is functional yet could be more concise by removing duplication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description identifies the data source (QVIX for 100ETF) and period type (intraday), and specifies the return type as pandas.DataFrame. It does not detail the columns or update frequency, but for a simple data-fetch tool this is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is trivially 100%. There are no parameters to explain, and the description appropriately avoids adding unnecessary parameter details. Baseline for zero parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly identifies the resource: Shenzhen 100ETF options volatility index QVIX intraday (深证100ETF 期权波动率指数 QVIX-分时). This distinguishes it from daily QVIX tools by including '分时' and the 'min' in the tool name. However, it lacks an explicit verb (e.g., 'retrieve'), relying on the implicit return statement to convey the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling QVIX tools (e.g., index_option_100etf_qvix, index_option_300etf_min_qvix). There is no mention of use cases, exclusions, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_100etf_qvixARead-onlyIdempotent
深证100ETF 期权波动率指数 QVIX http://1.optbbs.com/s/vix.shtml?100ETF :return: 深证100ETF 期权波动率指数 QVIX :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds no additional behavioral traits beyond the return type (DataFrame) and a source URL, which doesn't disclose side effects or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (three lines), but it repeats the same phrase '深证100ETF 期权波动率指数 QVIX' twice. It could be more concise, but it's not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only index data retriever, the description provides the resource, return type, and source URL. It lacks details about the DataFrame columns, but given the simplicity, it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the input schema fully covers everything. The description doesn't need to explain parameters, and the baseline for 0-param tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Shenzhen 100 ETF options volatility index QVIX) and implies retrieval via ':return:'. It distinguishes from sibling QVIX tools (e.g., 300ETF, 50ETF) by the specific '100ETF' qualifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: this tool is specifically for the 100ETF QVIX index. It doesn't explicitly state alternatives or exclusions, but the name and description make the intended use obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_300etf_min_qvixBRead-onlyIdempotent
300 ETF 期权波动率指数 QVIX-分时 http://1.optbbs.com/s/vix.shtml?300ETF :return: 300 ETF 期权波动率指数 QVIX-分时 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type but does not disclose data availability, latency, or limitations. For a zero-parameter read-only tool, this is minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but contains redundancy: the first line duplicates the title, and the `:return:` line repeats the same phrase. The URL is useful, but the repetitive structure wastes space that could have provided additional details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter data access tool, the description gives the return type and source, but lacks any detail about the DataFrame contents, time range, frequency, or usage context. Given the many sibling QVIX tools, this minimal description may leave an agent uncertain about what distinguishes this tool from the daily version.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is no parameter behavior to explain. The description adds no parameters beyond the schema, but with zero params this is acceptable; the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the exact resource: '300 ETF 期权波动率指数 QVIX-分时' (300 ETF option volatility index QVIX intraday) and the `:return:` line clarifies it returns this data as a pandas DataFrame. However, it lacks an explicit verb like 'fetches' or 'retrieves,' so the action is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus sibling tools like `index_option_300etf_qvix` (the non-minute version) or other QVIX variants. There are no exclusions, alternatives, or contextual triggers mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_300etf_qvixBRead-onlyIdempotent
300 ETF 期权波动率指数 QVIX http://1.optbbs.com/s/vix.shtml?300ETF :return: 300 ETF 期权波动率指数 QVIX :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds a pandas.DataFrame return type and a source URL, but does not elaborate on data frequency, coverage, or limitations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and to the point, containing only a title-like phrase, a source URL, and return type information. The first line duplicates the title, but the overall size is appropriate for such a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool, the description names the resource and return type, which is minimally sufficient. However, it does not state whether this is a daily or spot series (leaving the 'min' sibling to differentiate), nor does it describe historical coverage or data columns, so the agent must infer from the name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4 per the rubric. No parameter documentation is needed since the input schema is empty and the description does not reference parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as the 300 ETF option volatility index QVIX, and the name/title reinforce this. It stops short of explicitly contrasting with sibling QVIX tools (like the 'min' variants), but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many similar QVIX siblings (e.g., index_option_300etf_min_qvix, index_option_300index_qvix). There is no mention of use cases, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_300index_min_qvixBRead-onlyIdempotent
中证300股指 期权波动率指数 QVIX-分时 http://1.optbbs.com/s/vix.shtml?Index :return: 中证300股指 期权波动率指数 QVIX-分时 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is read-only, idempotent, and non-destructive, so the description need not repeat those. It adds a source URL and return type (DataFrame), which offers some behavioral context beyond annotations, but it does not disclose data update frequency, rate limits, or column specifics. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but contains redundancy: the first line and the ':return:' line are identical phrases. The URL and ':rtype:' are useful, but the duplication wastes space and could be consolidated for better structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the zero-parameter, read-only nature with good annotations, the description covers the essentials: it states the data type (QVIX intraday for CSI 300 index options), provides a source URL, and specifies the return DataFrame format. It does not detail columns or update schedule, but for a simple tool this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is fully complete (100% coverage), and the baseline for 0 params is 4. The description adds no parameter-related details, but it provides context about the data source and return format, which is sufficient for a zero-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated in Chinese ("中证300股指 期权波动率指数 QVIX-分时"), identifying the resource and frequency but lacking an explicit verb like 'fetch' or 'return'. It does state the return type (pandas.DataFrame) and a source URL, which adds some clarity, but the purpose is more labeled than defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus similar siblings such as index_option_300index_qvix (likely daily) or other index variants. The description only mentions '分时' (intraday) without contrasting it with alternatives, so an agent cannot easily decide between this and closely named tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_300index_qvixBRead-onlyIdempotent
中证300股指 期权波动率指数 QVIX http://1.optbbs.com/s/vix.shtml?Index :return: 中证300股指 期权波动率指数 QVIX :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and a source URL, but doesn't disclose behavioral nuances like data frequency, columns, or potential delays. It doesn't contradict annotations, so a baseline score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to-the-point, but it's repetitive (the same Chinese phrase appears twice) and includes a raw URL without context. It's not well-structured, mixing the title, URL, and docstring-style returns. It earns a middling score because it's compact but inefficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter data retrieval tool, the description provides the essential information: what it returns (a DataFrame) and a source. However, it doesn't describe the DataFrame's contents or columns, and with no output schema, that's a gap. The annotations cover the read-only aspect, but the description could be more complete about the data's nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so the baseline is 4. The description doesn't need to explain parameter semantics; there are none. It does specify the return type, which adds minimal value beyond the schema. No parameter documentation is required here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: the QVIX (volatility index) for CSI 300 index options. It uses a specific noun phrase and provides a source URL, making the tool's purpose intelligible. However, it lacks an explicit verb like 'get' or 'fetch', and doesn't distinguish itself from similarly named siblings such as index_option_300etf_qvix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool vs. alternatives. The description doesn't mention that this is specifically for the CSI 300 index options (as opposed to ETF options or other index options) or any selection criteria. It simply states what it is without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_500etf_min_qvixBRead-onlyIdempotent
500 ETF 期权波动率指数 QVIX-分时 http://1.optbbs.com/s/vix.shtml?500ETF :return: 500 ETF 期权波动率指数 QVIX-分时 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well covered. The description adds the source URL and return type (pandas.DataFrame) but no additional behavioral traits like data delay, update frequency, or coverage limits. The description does not contradict the annotations, and given the annotation coverage, a mid-level score is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact but repetitive: the title '500 ETF 期权波动率指数 QVIX-分时' appears twice, in the first line and again in the ':return:' line. The URL and rtype lines add some value, but the redundancy suggests inefficient structure. It is still short and not verbose, so it avoids the lowest scores.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter intraday index tool, the description names the data (QVIX for 500 ETF options) and the return type (pandas.DataFrame), but it does not specify columns, frequency, or any caveats. Since there is no output schema, the description carries the burden of explaining what to expect, and it falls short of fully doing so. The tool's simplicity makes it minimally adequate, but there are clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is an empty object with zero parameters, so schema coverage is trivially 100%. The description has no parameter-related responsibilities; the baseline for zero parameters is 4, and the description does not need to explain anything further. No parameter confusion exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as returning the 500 ETF options volatility index QVIX in intraday (分时) form, which matches the tool name's 'min' prefix and distinguishes it from the daily sibling index_option_500etf_qvix. However, it lacks an explicit verb (e.g., '获取' or '查询') and reads as a noun phrase with a URL and return type, so it is clear but not maximally explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as the daily QVIX tool (index_option_500etf_qvix) or other underlying indices (e.g., 300etf, 50etf). The description does not mention any conditions, exclusions, or comparative context, leaving the agent without selection criteria beyond the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_500etf_qvixCRead-onlyIdempotent
500 ETF 期权波动率指数 QVIX http://1.optbbs.com/s/vix.shtml?500ETF :return: 500 ETF 期权波动率指数 QVIX :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which covers the safety profile. The description adds a return type (pandas.DataFrame) and a source URL, which is some value beyond annotations. However, it does not disclose behavioral details like data frequency, historical range, or update schedule, so it only partially enhances transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but redundant: the first line repeats the title, and the ':return:' line repeats the same phrase. The URL adds some value but is not accompanied by any explanatory structure. It is under-specified rather than concise, with no clear sentence structure or front-loaded purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the large number of sibling QVIX tools, this description is incomplete. It does not mention that it likely provides daily QVIX data versus the _min_ variants, nor does it specify any time range, data source characteristics, or update frequency. The presence of no output schema increases the need for descriptive detail, which is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema reflects this with an empty properties object and 100% coverage. With no parameters, the description doesn't need to explain parameter semantics, and the baseline of 4 applies. The description could explicitly state 'no parameters' but that is already clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a tautology: '500 ETF 期权波动率指数 QVIX' restates the tool name and title without any verb or action. It identifies the data resource but does not describe what the tool does beyond that, and it does not differentiate this from sibling tools like index_option_500etf_min_qvix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description gives no context about daily vs. minute data, or how this differs from the many sibling QVIX tools. There is no mention of exclusions or related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_50etf_min_qvixCRead-onlyIdempotent
50 ETF 期权波动率指数 QVIX http://1.optbbs.com/s/vix.shtml?50ETF :return: 50 ETF 期权波动率指数 QVIX :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only adds that it returns a pandas.DataFrame; this is a minimal behavioral detail. It doesn't explain data source specifics, whether data is historical/realtime, or any side effects. The annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds little beyond that. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and includes a structured return type, but most content is redundant with the title and name. The URL is the only unique piece of information. While it's not bloated, the redundancy means it doesn't earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the large family of similar QVIX tools, the description fails to explain what 'min' indicates (likely minute-level data) or how this differs from index_option_50etf_qvix. It also doesn't specify the data range or update frequency. The provided URL is unexplained and may be a data source but lacks context. This leaves the tool insufficiently distinguished for safe agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty. The description correctly implies there are no inputs to worry about. Since there are no parameters, the baseline is 4, and the description doesn't need to provide parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description simply restates the tool name in Chinese ('50 ETF 期权波动率指数 QVIX') and provides a URL and return type. It does not explicitly state an action like 'fetch' or 'query,' and the purpose is largely inferred from the name. This is a tautology rather than a clear functional description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus sibling tools such as index_option_50etf_qvix (without 'min') or other index_option_*_qvix variants. The description doesn't mention use cases, prerequisites, or alternatives, leaving the agent without any context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_50etf_qvixCRead-onlyIdempotent
50ETF 期权波动率指数 QVIX http://1.optbbs.com/s/vix.shtml?50ETF :return: 50ETF 期权波动率指数 QVIX :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds only a source URL and a DataFrame return type. It does not disclose what columns or time period the DataFrame contains, whether it is historical or current, or any other behavioral traits. Annotations already cover read-only and idempotent safety, so the description's minimal extra information is insufficient for behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but contains redundancy: the same phrase '50ETF 期权波动率指数 QVIX' appears as the first line and again in the ':return:' section. The URL is a useful addition, but the layout is awkward and the repetition wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should compensate by describing what the returned DataFrame contains and the data frequency. It does not. It also fails to clarify that this is the daily (non-minute) version, which is important context given similar sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is trivially complete. The description does not need to explain parameter meanings, and the absence of parameters makes this dimension not a concern.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool's name/title: '50ETF 期权波动率指数 QVIX' appears verbatim from the annotations. It lacks an action verb or explicit statement of what the tool does, aside from the docstring's ':return:' line indicating it returns the index. This is closer to a tautology than a clear purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that this is the daily (non-minute) variant, nor does it distinguish it from sibling tools such as index_option_50etf_min_qvix or other QVIX indices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_50index_min_qvixBRead-onlyIdempotent
上证50股指 期权波动率指数 QVIX-分时 http://1.optbbs.com/s/vix.shtml?50index :return: 上证50股指 期权波动率指数 QVIX-分时 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well covered. The description adds the data source URL and confirms the return type (pandas.DataFrame), which goes beyond annotations. However, it does not disclose any further behavioral details such as data granularity (e.g., 1-minute vs 5-minute intervals), trading session specifics, or potential network dependencies. It is not misleading but does not enrich the behavioral picture beyond the basics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the tool's identity. It includes a helpful source URL and a clear rtype declaration. The main redundancy is the repetition of the same Chinese phrase after ':return:', which could be omitted without loss of information. Overall, it is appropriately sized and not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple zero-parameter retrieval tool, and the description states the resource and return type sufficiently for a basic invocation. However, since there is no output schema, the description should ideally clarify the expected DataFrame structure (e.g., column names, index, frequency), but it does not. The source URL helps, but the tool remains underspecified for an agent that needs to interpret the return value programmatically. It is adequate for calling the function but incomplete for data understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% schema coverage, meaning there is nothing to describe. The baseline for 0-parameter tools is 4, and the description adds no parameter-related confusion. It avoids inventing unnecessary parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: '上证50股指 期权波动率指数 QVIX-分时' (SSE 50 Stock Index Options Volatility Index QVIX intraday). It also specifies the return type as pandas.DataFrame, and the appended URL provides the data source. However, it lacks an explicit verb (e.g., 'fetch', 'get'), and the distinction from sibling tools like index_option_50index_qvix (non-min) relies on the parenthetical '分时' rather than any clarifying wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. Despite a large sibling list of QVIX tools for different underlyings and timeframes (e.g., index_option_50index_qvix for daily data, index_option_50etf_min_qvix for ETF-based QVIX), the description does not mention these alternatives or any exclusion criteria. The only hint is the name and '分时', which imply intraday use, but that is implicit and not stated as usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_50index_qvixBRead-onlyIdempotent
上证50股指 期权波动率指数 QVIX http://1.optbbs.com/s/vix.shtml?50index :return: 上证50股指 期权波动率指数 QVIX :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation as read-only, idempotent, and non-destructive. The description adds the return type (pandas.DataFrame) and a source URL, providing some behavioral context beyond the annotations, but it does not disclose response structure, data frequency, or potential limitations such as missing historical data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the essential information, but it redundantly repeats the same phrase multiple times (title, description, return, rtype). This repetition wastes a sentence but the overall length remains acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter data retrieval tool, the description provides the core information (what data and return type) and a reference URL. However, it lacks details about the DataFrame's columns, date range, or whether it returns historical or current data, leaving some ambiguity despite the annotations indicating a safe read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool accepts zero parameters, so the empty schema requires no explanation. The description correctly notes the return type but adds no parameter semantics, which is appropriate given the absence of parameters. The baseline of 4 applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the data as the SSE 50 Stock Index Option Volatility Index (QVIX) with a source URL, making the tool's purpose understandable. It distinguishes from sibling tools that target other underlyings (e.g., 50etf) through the explicit '50index' designation, though it does not clarify the daily vs. minute granularity offered by sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative QVIX tools (e.g., index_option_50index_min_qvix or index_option_50etf_qvix). The description only states what data is returned, not the selection criteria, prerequisites, or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_cyb_min_qvixBRead-onlyIdempotent
创业板 期权波动率指数 QVIX-分时 http://1.optbbs.com/s/vix.shtml?CYB :return: 创业板 期权波动率指数 QVIX-分时 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds a source URL and return type, but does not disclose behavioral details such as data granularity, update frequency, or any quirks. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but redundant: the phrase '创业板 期权波动率指数 QVIX-分时' appears in both the main text and the :return: docstring. The URL adds useful context, but the repetition wastes space and the structure is a raw docstring rather than a clean summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain return values. It states the return type (pandas.DataFrame) and the data source URL, but it does not describe the columns, time index, or data interval, leaving the agent to guess the structure. While the tool is simple, more detail about the DataFrame content would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema already exhaustively covers inputs. The description adds no parameter information, which is appropriate; with 0 params, the baseline is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as the ChiNext (创业板) options volatility index QVIX minute data, which is specific and distinguishes it from non-minute sibling tools like index_option_cyb_qvix. However, it lacks an explicit verb such as 'get' or 'fetch', relying on the tool name and docstring structure to imply the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative QVIX tools (e.g., index_option_50etf_min_qvix). The description simply labels the data without explaining the selection context or exclusions, offering no decision support beyond the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_cyb_qvixCRead-onlyIdempotent
创业板 期权波动率指数 QVIX http://1.optbbs.com/s/vix.shtml?CYB :return: 创业板 期权波动率指数 QVIX :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds a source URL and return type (pandas.DataFrame), but no behavioral traits such as data updates, rate limits, or whether it returns historical or current values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the title. However, it repeats the same phrase in the description, return, and rtype lines, which is slightly redundant. Overall, it is efficient for a tool with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not specify the data frequency (daily vs. minute), which is a critical gap given the existence of the sibling 'index_option_cyb_min_qvix'. It also does not clarify what data range or columns the DataFrame contains, making it incomplete for an agent to understand the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is fully covered. Per the baseline for 0 params, the description does not need to add parameter details, and it provides the return type, which is helpful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource ('创业板 期权波动率指数 QVIX') and provides a source URL, but it lacks an explicit verb like 'get' or 'fetch'. It does not differentiate itself from the similarly named sibling 'index_option_cyb_min_qvix', leaving ambiguity about whether this is the daily or minute-level index.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. There is no mention of data frequency, time range, or any prerequisites, making it impossible for an agent to decide between this and the many other QVIX tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_kcb_min_qvixBRead-onlyIdempotent
科创板 期权波动率指数 QVIX-分时 http://1.optbbs.com/s/vix.shtml?KCB :return: 科创板 期权波动率指数 QVIX-分时 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the source URL and return type (pandas.DataFrame), but does not disclose additional behavioral details such as update frequency, time zone, or potential rate limits. With annotations covering the core safety aspects, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief, which is good for conciseness, but it redundantly repeats the same phrase '科创板 期权波动率指数 QVIX-分时' in both the first line and the :return: line. The URL is somewhat useful but the redundancy could be trimmed to a single sentence without loss of meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter data retrieval tool with annotations and no output schema, the description is minimally viable. It states the data source and returns a DataFrame, but lacks details on expected columns, data granularity (e.g., 1-minute vs. 5-minute), or historical depth. This leaves some ambiguity for an agent seeking to use the data correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and the schema is empty, so the baseline for parameter semantics is 4. The description correctly implies no input is needed, and no parameter documentation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as providing the STAR Market (科创板) options volatility index QVIX intraday (分时) data, and the :return: line explicitly states what is returned. The '分时' term differentiates it from the non-min QVIX sibling tools, although it lacks a direct verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that for daily QVIX data one should use index_option_kcb_qvix, nor does it explain any distinguishing use cases among the many sibling option QVIX tools. The only context is a URL, which does not help with tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_option_kcb_qvixBRead-onlyIdempotent
科创板 期权波动率指数 QVIX http://1.optbbs.com/s/vix.shtml?KCB :return: 科创板 期权波动率指数 QVIX :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds the return type (pandas.DataFrame) and a source URL, but provides no additional behavioral context like update frequency, data history depth, or network dependency. It does not contradict the annotations, but adds only minimal value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but redundant, repeating '科创板 期权波动率指数 QVIX' twice and including a raw URL. It is structured like a docstring label rather than a concise explanation, yet it does front-load the core name and remains compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only, idempotent tool, the description conveys the basic purpose and return type, but omits useful details such as whether the data is historical, the column structure, or the frequency of the QVIX values. Since there is no output schema, more context would improve completeness, but the current description is minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters and the input schema is empty, so parameter documentation is not needed. Per the baseline for a zero-parameter tool, the description is not required to explain parameter semantics, and the schema coverage is effectively 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as the '科创板 期权波动率指数 QVIX' (STAR Market Option Volatility Index) and includes a :return: clause indicating a pandas.DataFrame. This clearly names the specific index and resource, and the KCB/STAR Market designation distinguishes it from sibling QVIX tools. However, it is more a title than an explicit action statement, so it lacks the full clarity of a verb-driven description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as index_option_300etf_qvix or other QVIX variants. It only states what it returns, without any selection criteria, prerequisites, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_outer_quote_sugar_msweetBRead-onlyIdempotent
沐甜科技数据中心-配额外进口糖估算指数 https://www.msweet.com.cn/mtkj/sjzx13/index.html :return: 配额内进口糖估算指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose read-only and idempotent behavior, so the description adds the source URL and return type. However, the `:return:` line states '配额内' (quota inside) while the title and tool name indicate '配额外' (quota extra), creating ambiguity about the data content. No details about columns, time range, or data granularity are provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief (a title, URL, and docstring), but the structure is loose—the URL sits between the title and return tags, and the return line contains a typo ('配额内') that could confuse. Still, it is not verbose or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description should clarify what the returned DataFrame contains and how to interpret the index. The contradictory return line ('配额内' vs '配额外') and lack of any description of the data schema make it incomplete. Annotations provide safety but not content details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the empty schema is trivially complete. The description's docstring mentions the return type (pandas.DataFrame) but no parameter details are needed. Baseline 4 applies for 0 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('配额外进口糖估算指数' – extra-quota imported sugar estimated index) and provides a source URL, with docstring return tags indicating it returns a pandas DataFrame. This distinguishes it from the sibling 'index_inner_quote_sugar_msweet' (配额内), though the action verb (fetch/retrieve) is implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as index_inner_quote_sugar_msweet. The description offers no contextual hints about selection criteria, exclusions, or use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_pmi_com_cxCRead-onlyIdempotent
财新数据-指数报告-财新中国 PMI-综合 PMI https://yun.ccxe.com.cn/indices/pmi :return: 财新中国 PMI-综合 PMI :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds no additional behavioral context such as data volume, time range, or limitations; it only states the return type and source URL, which do not disclose behavioral traits. Minimal value is added beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but includes redundant repetition of the title ('財新中國 PMI-綜合 PMI' appears twice). It uses a multi-line structure with a URL and docstring return annotations, but could be more compact and written as a coherent sentence. Some information is useful, but there is noticeable redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, and the description only states that the return type is a pandas DataFrame and provides the source URL. It does not describe the columns, time series coverage, or any filtering options. For a simple index retrieval tool, this lacks detail about the actual data contents, making it incomplete for agents that need to know what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so there is no parameter guidance needed. The input schema is empty and the description correctly implies the tool takes no arguments. The zero-parameter baseline of 4 is appropriate since the description does not need to explain any parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as returning the Caixin China Composite PMI index report, with a source URL and return type. It clearly names the specific resource (Composite PMI) and distinguishes it from sibling PMI tools such as manufacturing or services. However, it lacks an explicit verb, reading more like a label than a full action-oriented description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative PMI index tools or other macroeconomic data tools. There are no exclusions, prerequisites, or context about use cases, leaving the agent without direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_pmi_man_cxCRead-onlyIdempotent
财新数据-指数报告-财新中国 PMI-制造业 PMI https://yun.ccxe.com.cn/indices/pmi :return: 财新中国 PMI-制造业 PMI :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well-covered. The description adds 'returns pandas.DataFrame' and a source URL, providing minor extra behavioral context (return format, source) without any contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with a clear structure: title, URL, return annotation. Every line carries some information (source, return type), but it lacks a proper explanatory sentence, making it more under-specified than truly well-formatted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no parameters or output schema, the description fails to explain what the returned DataFrame actually contains (columns, time range, frequency). It only repeats the name '财新中国 PMI-制造业 PMI', leaving the agent without enough context to know what data to expect from the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema (empty properties) fully covers parameter requirements per the baseline rule. The description does not need to elaborate on parameters; it appropriately omits them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool name/title ('财新数据-指数报告-财新中国 PMI-制造业 PMI') without adding an explicit verb like 'get' or 'fetch'. It does provide a URL and return type, but the core purpose is a tautology of the title, offering no additional semantic clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The sibling list includes other PMI-related tools (e.g., index_pmi_com_cx, index_pmi_ser_cx, macro_china_pmi) but the description does not differentiate this manufacturing PMI tool from them or suggest any selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_pmi_ser_cxBRead-onlyIdempotent
财新数据-指数报告-财新中国 PMI-服务业 PMI https://yun.ccxe.com.cn/indices/pmi :return: 财新中国 PMI-服务业 PMI :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering safety and idempotence. The description adds the return type (pandas DataFrame) and source URL, but does not disclose additional behavioral traits such as data granularity, historical coverage, or any quirks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and includes essential metadata (title, URL, return type) without redundancy. It is somewhat fragmented as a docstring fragment, but it is appropriately sized and front-loaded with the key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description indicates what data is returned and its type, but does not explain the structure, frequency, historical depth, or columns of the DataFrame. With no output schema, this leaves ambiguity about the actual data content, though for a simple read-only PMI fetcher it may be adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so the description needs to document no parameters. Since there are no params, the baseline is 4, and the description adds nothing beyond that, which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning Caixin China Services PMI data, with the title, URL, and return type specifying the exact series. The name distinguishes it from sibling PMI tools (manufacturing, composite), though the description itself does not 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.
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. The description consists only of the title, source URL, and return type, with no mention of use cases, exclusions, or relationships to sibling PMI tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_price_cflpARead-onlyIdempotent
中国公路物流运价指数 http://index.0256.cn/expx.htm :param symbol: choice of {"周指数", "月指数", "季度指数", "年度指数"} :type symbol: str :return: 中国公路物流运价指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 周指数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds a source URL and return type (pandas DataFrame), but does not disclose any potential network dependencies, update frequency, or data structure quirks. This is acceptable given the strong annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a standard docstring format, including a URL and parameter documentation. Every line serves a purpose, though the format is slightly verbose with separate type and return lines. Overall it is well-structured and easily parseable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter data retrieval tool, the description covers the essential information: source, parameter values, and return type. However, without an output schema, it does not specify the DataFrame's columns or whether historical time series vs. latest values are returned. This leaves some ambiguity for an agent needing exact data structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only provides a default value with no enum or description, so the description carries the full burden. It explicitly lists all four allowed symbol values (周指数, 月指数, 季度指数, 年度指数) and labels the parameter type as string. This fully compensates for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as a tool for retrieving China highway logistics freight price index data, with a source URL and return type. The name and description together distinguish it from sibling index_volume_cflp, which targets volume data. The parameter choices (weekly/monthly/quarterly/yearly) further specify the resource granularity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to choose this tool over alternatives. While the parameter choices indicate possible frequency selections, there is no mention of use cases or exclusions, such as when index_volume_cflp would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_qli_cxCRead-onlyIdempotent
财新数据-指数报告-高质量因子 https://yun.ccxe.com.cn/indices/qli :return: 高质量因子 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds that it returns a pandas.DataFrame and provides a source URL, but it does not disclose any potential behavioral traits such as data delay, column structure, or error conditions. It barely goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, which is not inherently bad, but it is somewhat unstructured—it reads as a title followed by a URL and return type. It is concise but not optimally organized, and it under-specifies the content of the returned DataFrame. It avoids unnecessary words, but the brevity borders on under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only tool, this description is minimally viable. It identifies the data source and return type, but does not describe what the DataFrame contains (e.g., columns, time range, or units). Since there is no output schema, the description should have provided more context about the actual data, but the simplicity of the tool and strong annotations partially compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. There is no parameter information to add, and the description does not need to explain anything. The schema coverage is effectively complete, and the description adds no conflicting or missing parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as '财新数据-指数报告-高质量因子' (Caixin Data - Index Report - High Quality Factor) and states it returns a DataFrame of '高质量因子'. This gives a specific resource and data type, but lacks a clear verb and does not distinguish it from sibling tools like index_ai_cx or index_si_cx. The URL provides a source, but the purpose is more of a label than a full explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus alternatives. The description only states the data source and return type; it does not mention exclusions, prerequisites, or context where other tools would be more appropriate. With no parameters, usage is trivial, but the description still fails to explain when to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_realtime_fund_swARead-onlyIdempotent
申万宏源研究-申万指数-指数发布-基金指数-实时行情 https://www.swsresearch.com/institute_sw/allIndex/releasedIndex :param symbol: choice of {"基础一级", "基础二级", "基础三级", "特色指数"} :type symbol: str :return: 基金指数-实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 基础一级 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds the return type (DataFrame), parameter choices, and source URL, but discloses no additional behavioral traits like data freshness or column details. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with title, URL, param, and return sections, but the first line repeats the tool's title. It is not overly long but includes redundancy and lacks a concise summary sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple real-time quote tool with one optional parameter and good annotations, the description provides sufficient context: source, parameter choices, and return type. It doesn't explain data columns or use cases, but the tool's narrow scope makes this acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly lists the four allowed values for the symbol parameter, which the schema does not provide as an enum. Since schema coverage is 0%, this fully compensates and gives clear semantic meaning to the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it provides real-time quotes for fund indices from SWS Research, with a source URL. It doesn't use an explicit verb like 'get' or 'fetch,' but '实时行情' implies retrieval. It distinguishes from siblings like index_realtime_sw by specifying fund indices, though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like index_realtime_sw or index_hist_fund_sw. The only usage info is the allowed parameter values, which addresses how to call it, not when.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_realtime_swARead-onlyIdempotent
申万宏源研究-指数系列 https://www.swsresearch.com/institute_sw/allIndex/releasedIndex :param symbol: choice of {"市场表征", "一级行业", "二级行业", "风格指数", "大类风格指数", "金创指数"} :type symbol: str :return: 指数系列实时行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 二级行业 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds a source URL and return type (pandas.DataFrame), but no further behavioral details such as data freshness, pagination, or potential errors, which is acceptable given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a title, source URL, parameter specification, and return type. Each element provides necessary information with no redundancy, making it easy to scan and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no output schema), the description provides the essential parameter choices, return type, and data source. It does not describe DataFrame contents or update frequency, which could be useful but are not critical for basic realtime quote retrieval.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a 'symbol' parameter with no description, and schema coverage is 0%. The description fully compensates by listing the exact allowed values (市场表征, 一级行业, 二级行业, 风格指数, 大类风格指数, 金创指数) and stating the parameter type as string, which is essential for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as providing realtime market data for the Shenwan Hongyuan index series (指数系列实时行情数据) with a specific source URL. However, it lacks an explicit verb like 'fetch' or 'retrieve', and does not explicitly differentiate from sibling index tools, though the name and context imply it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided for when to use this tool over alternatives. The description only lists parameters and return type, with no 'use when' or comparison to the many sibling index tools, leaving the agent to infer usage from the name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_si_cxARead-onlyIdempotent
财新数据-指数报告-溢出指数 https://yun.ccxe.com.cn/indices/dei :return: 溢出指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, and idempotentHint=true, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), which is some context beyond annotations. However, it does not disclose other behavioral traits such as data range, update frequency, or any potential network dependencies beyond the URL. With annotations doing the heavy lifting, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a title, URL, return field, and return type. All information is front-loaded and relevant. There is no redundant text, and it earns its place by clarifying the data source and output format. This is a model of brevity without sacrificing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (0 parameters, no output schema), the description is largely complete: it names the resource, provides a URL, and states the return type. However, it lacks details on the data's temporal scope (e.g., historical range, frequency) or any notes on how the spillover index is calculated. These are not critical for a no-parameter tool but would enhance completeness. Annotations and the URL mitigate the gap, so a 4 is justified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and schema coverage is 100% (vacuously). The description correctly adds no parameter details because there are none. Per the baseline for 0-parameter tools, a score of 4 is appropriate. The description also specifies the return type, which is useful for understanding the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as '财新数据-指数报告-溢出指数' (Caixin Data - Index Report - Spillover Index) and states the return type (pandas.DataFrame) with ':return: 溢出指数'. This clearly indicates the tool returns the spillover index data, distinguishing it from sibling tools with different index names (e.g., index_dei_cx, index_ai_cx). However, the verb is implied ('return') rather than an explicit action like 'fetch' or 'get', so it lacks a strong action resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any selection criteria, prerequisites, or exclusions. There is no indication of when this specific spillover index tool is preferred over the many similar index_*_cx tools. This is a clear gap for an agent trying to choose among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_stock_consBRead-onlyIdempotent
最新股票指数的成份股目录 https://vip.stock.finance.sina.com.cn/corp/view/vII_NewestComponent.php?page=1&indexid=399639 :param symbol: 指数代码,可以通过 ak.index_stock_info() 函数获取 :type symbol: str :return: 最新股票指数的成份股目录 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 399639 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so safety is covered. The description adds two useful non-schema facts: the upstream data endpoint and the return type (pandas.DataFrame), which matters since no output schema exists. It still says nothing about pagination, index coverage, or failure behavior for invalid index codes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose, then the endpoint, then sphinx-style param/return lines. Slight redundancy between the opening line and the :return: line, but nothing is bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter read tool the essentials are present, but with no output schema and three indistinguishable siblings, the description leaves the agent unable to confirm this is the right tool or what the returned DataFrame columns mean.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden, and it does explain that symbol is the index code and where to obtain it (ak.index_stock_info()). It omits the accepted format and the fact that the schema defaults to '399639', which the agent would need when calling without arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource – the latest constituent-stock list for a given index – which is unambiguous on its own. However, it does nothing to separate itself from near-identical siblings such as index_stock_cons_sina, index_stock_cons_csindex, and index_stock_cons_weight_csindex, so an agent cannot tell from the text which variant to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no mention of the three sibling constituent tools that differ only by data source (Sina/CSIndex/weighted). The only procedural hint is that the symbol can be obtained from ak.index_stock_info(), which is about a prerequisite value, not about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_stock_cons_csindexBRead-onlyIdempotent
中证指数网站-成份股目录 https://www.csindex.com.cn/zh-CN/indices/index-detail/000300 :param symbol: 指数代码,可以通过 ak.index_stock_info() 函数获取 :type symbol: str :return: 最新指数的成份股 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000300 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and openWorld, so the safety profile is covered. The description adds useful context beyond that — it identifies the upstream data source (CSIndex URL) and the return type/semantics ('最新指数的成份股', pandas.DataFrame) — but says nothing about rate limits, latency, or completeness of coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, followed by a source URL and compact param/return documentation. It is appropriately sized for a one-parameter tool, though the embedded URL and docstring-style :param/:return lines add slight structural noise without new behavioral content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by stating the return is a pandas.DataFrame of the latest index constituents. Combined with the annotated safety profile and the explained parameter, an agent has enough to call it correctly; only routing guidance against sibling constituent tools is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter meaning, and it does: 'symbol' is defined as the index code (指数代码) and a concrete way to obtain it is given via ak.index_stock_info(). This is meaningful semantics beyond the bare schema default of '000300'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific source and resource: '中证指数网站-成份股目录' (CSIndex website – constituent stock directory), which tells an agent this retrieves index constituents from CSIndex. It does not explicitly differentiate from close siblings like index_stock_cons or index_stock_cons_weight_csindex, but the stated source makes the scope clear enough to distinguish it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is how to obtain the input value ('可以通过 ak.index_stock_info() 函数获取'), which is parameter-acquisition help rather than when-to-use guidance. There is no statement of when to prefer this over sibling constituent tools (index_stock_cons, index_stock_cons_sina, index_stock_cons_weight_csindex) or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_stock_cons_sinaCRead-onlyIdempotent
新浪新版股票指数成份页面,目前该接口可获取指数数量较少 https://vip.stock.finance.sina.com.cn/mkt/#zhishu_000040 :param symbol: 指数代码 :type symbol: str :return: 指数的成份股 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000300 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, non-destructive behavior, so the safety bar is low. The description adds a coverage caveat (few indices available) and states the return type, but the caveat largely duplicates the annotation title, and it omits any rate-limit, auth, or pagination detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, but the block includes a raw URL and docstring boilerplate (:param/:type/:return/:rtype) that partly repeats structured information. It is compact but not maximally economical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does supply the return type (DataFrame of constituents), which is helpful. But for a low-coverage single-param tool it leaves the symbol format and the choice against sibling index-constituent tools unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter semantics. It only labels symbol as 指数代码 (index code) without format, prefix, or example (the default 000300 and the URL fragment hint at the shape but are not stated). Type str merely restates the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the source and resource: Sina's new stock-index constituent page, returning 指数的成份股 (index constituent stocks). This is a specific verb+resource and the Sina sourcing implicitly distinguishes it from the sibling csindex/cons tools. However, it never names an alternative, so the differentiation stays implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no pointer to the many sibling constituent tools (index_stock_cons, index_stock_cons_csindex, index_component_sw). The note that coverage is limited is a soft hint but not a routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_stock_cons_weight_csindexARead-onlyIdempotent
中证指数网站-样本权重 https://www.csindex.com.cn/zh-CN/indices/index-detail/000300 :param symbol: 指数代码,可以通过 ak.index_stock_info() 接口获取 :type symbol: str :return: 最新指数的成份股权重 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000300 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so safety and idempotency are covered. The description adds that the returned weights are the 'latest' snapshot (最新) and are a pandas.DataFrame, plus the source website, but says nothing about refresh cadence, coverage, or failure modes beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first line and the docstring-style param/return lines are compact. The raw URL and the :type:/:rtype: markers are slightly noisy but not wasteful for a data-fetch tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter read-only fetch tool with annotations covering the safety profile and no output schema, the description covers purpose, source, parameter origin, and return type. The only real gap is disambiguation from the closely named sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% – the schema only exposes a bare string with default '000300' and no description. The description compensates by defining symbol as 指数代码 (index code) and pointing to ak.index_stock_info() as the way to discover valid values, which is materially more than the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb-less but clear resource: constituent weights (样本权重) from the CSI index website, with the concrete example URL for 000300. This distinguishes it from generic index tools, though it never contrasts itself with the very similar sibling index_stock_cons_csindex, which likely returns constituents rather than weights.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tells the agent where to obtain the symbol value (via ak.index_stock_info()), which is a useful prerequisite. However, it gives no guidance on when to prefer this tool over index_stock_cons_csindex, index_stock_cons, or index_stock_cons_sina, which is the key selection decision given the crowded sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_stock_infoBRead-onlyIdempotent
聚宽-指数数据-指数列表 https://www.joinquant.com/data/dict/indexData :return: 指数信息的数据框 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, openWorldHint, idempotentHint, destructiveHint). The description adds the data source (JoinQuant) and return type (DataFrame), which is useful but does not disclose additional behavioral traits such as pagination, rate limits, or data freshness. This is consistent with annotations and adds some value, so a mid-range score is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, consisting of the title, a reference URL, and return type annotations. It is compact and free of fluff, but it lacks a clearer structure or a sentence explaining the tool's action. Still, every line serves a purpose, so it earns a high score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 gives a basic understanding: it returns a DataFrame of index information. However, it does not specify the columns or confirm the exact output structure, and there is no output schema to fill the gap. The URL might provide details, but it is not self-contained. This is adequate but leaves clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is trivially complete (100% coverage). The description does not need to explain parameter behavior. Per the rubric, a zero-parameter tool gets a baseline score of 4, and no deduction is needed since there are no parameters to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it returns an '指数列表' (index list) from JoinQuant, indicating a tool that retrieves a list of index information. This distinguishes it from sibling tools like index_hist_cni (historical data) or index_stock_cons (constituents). However, there is no explicit verb like 'get' or 'list', so it falls short of a fully specific verb+resource+scope description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any scenarios, prerequisites, exclusions, or alternative tools. The only extra context is a URL to the JoinQuant data dictionary, which is a reference link rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_sugar_msweetBRead-onlyIdempotent
沐甜科技数据中心-中国食糖指数 https://www.msweet.com.cn/mtkj/sjzx13/index.html :return: 中国食糖指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the source URL and the pandas.DataFrame return type, which is useful context. However, it does not disclose the index composition, update frequency, date coverage, or columns, so behavioral transparency is only partially enhanced beyond the annotations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a title line, source URL, and return type/intent lines. Every element adds useful information and there is no filler or repetition, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool with no output schema, the description gives the source and return type but omits details about the returned dataset's structure, periodicity, units, or update schedule. Since the output schema is absent, a bit more detail about what the DataFrame contains would make the tool more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides no parameter information to supplement. Per baseline for 0-parameter tools, a score of 4 is appropriate; the description doesn't need to elaborate on parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as returning the China Sugar Index (中国食糖指数) from Mutian Technology's data center and includes the source URL and return type. While it lacks an explicit verb like 'retrieves' or 'fetches', the title and `:return:` docstring make the purpose reasonably clear. It is distinguishable from sibling sugar quote tools by naming the index rather than quotes, though it doesn't explicitly call out that distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as index_inner_quote_sugar_msweet or index_outer_quote_sugar_msweet. There are no exclusions, prerequisites, or context cues beyond the source and return type, so an agent receives little help in choosing this tool over related ones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_ti_cxARead-onlyIdempotent
财新数据-指数报告-科技投入指数 https://yun.ccxe.com.cn/indices/nei :return: 科技投入指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL (https://yun.ccxe.com.cn/indices/nei) and the return type (pandas.DataFrame), providing useful context about the data origin and output format. There is no contradiction with annotations, and the behavioral traits are sufficiently disclosed for this simple read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: the first line states the index name, followed by a source URL and return type. Every line carries meaningful content with no fluff. While it is very short, it is appropriately sized for a no-parameter read-only tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description could be more complete about what the returned DataFrame contains. It only states '科技投入指数' without describing columns, time range, or granularity. The large number of sibling index_*_cx tools also suggests that a bit more differentiation would help, though the explicit index name and URL provide some context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to explain any parameters, and the input schema is empty. The description adds no param-related information, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the specific resource: '财新数据-指数报告-科技投入指数' (Caixin Data - Index Report - Technology Investment Index) and indicates the return type as a pandas DataFrame. It is specific about the data source and index, but the verb 'return' is implicit rather than an explicit 'get' or 'fetch'. It does not distinguish itself from sibling index_*_cx tools beyond the index name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit usage guidance is provided. The description does not state when to use this tool vs alternatives like index_ai_cx or index_si_cx. The intended use is implied by the index name ('科技投入指数'), making it clear that this tool is for retrieving the technology investment index, but no exclusions or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_us_stock_sinaBRead-onlyIdempotent
新浪财经-美股指数行情 https://stock.finance.sina.com.cn/usstock/quotes/.IXIC.html :param symbol: choice of {".IXIC", ".DJI", ".INX", ".NDX"} :type symbol: str :return: 美股指数行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | .INX |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description does not contradict these. It adds context by specifying the source URL and the pandas DataFrame return type, but it does not disclose behavior such as data freshness, rate limits, or error handling. Given the annotations cover the safety profile, the extra context is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a title, a source URL, and a clear param/return docstring. Every line serves a purpose with no redundancy. It is appropriately sized for a simple single-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple quote tool, the description provides the essential parameter and return type, but the return value is described only as '美股指数行情' (US stock index quotes) without details on the DataFrame structure, columns, or whether it is real-time, delayed, or historical. Since there is no output schema, the description could be more explicit about the data content and format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema for 'symbol' has no description and no enum, so the description compensates by documenting the allowed values: '.IXIC', '.DJI', '.INX', '.NDX', and the type (str). This is valuable and goes beyond the schema. However, it does not explain the meaning of each symbol (e.g., which index they represent), which would be additional context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '新浪财经-美股指数行情' (Sina Finance US stock index quotes) and includes a URL for Sina's US stock index pages, indicating the resource and scope. It distinguishes from sibling tools by specifying US stock indices from Sina rather than global or other exchange indices, though it lacks an explicit verb like 'fetch' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or alternative tools for related data (e.g., historical data or other index providers). The only intended use is implied by the name and the symbol parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_volume_cflpBRead-onlyIdempotent
中国公路物流运量指数 http://index.0256.cn/expx.htm :param symbol: choice of {"月指数", "季度指数", "年度指数"} :type symbol: str :return: 中国公路物流运量指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 月指数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so the tool is clearly a safe read operation. The description adds the data source URL and return type (pandas.DataFrame), but does not disclose any further behavioral traits such as data granularity, update frequency, or potential errors. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the tool's purpose. It includes a source URL and a compact param/return docstring. The main drawback is slight redundancy: '中国公路物流运量指数' appears both in the first line and again in the return line, which could be simplified without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter) and the presence of annotations, the description covers the basics: what is returned, the parameter choices, and the data source. However, it does not describe the structure of the returned DataFrame (e.g., columns or index), nor any coverage or frequency details. This is a notable gap since there is no output schema to provide that information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameter description and lacks an enum, so the description compensates by listing the allowed values for 'symbol': 月指数, 季度指数, 年度指数. This is essential information for correct invocation. However, it does not elaborate on what each choice means beyond the labels themselves (monthly, quarterly, annual), which are fairly self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning the China highway logistics volume index, with a source URL and return type. The name 'index_volume_cflp' and the content distinguish it from the sibling 'index_price_cflp', but the description itself does not explicitly contrast it with that tool. The verb is implied ('return') rather than explicit, but the purpose is still evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The description simply lists parameter choices and return type, with no mention of use cases, prerequisites, or exclusions. Sibling tools like index_price_cflp are not referenced, and no context about selecting monthly vs quarterly vs annual is provided beyond the literal labels.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_ywARead-onlyIdempotent
义乌小商品指数 https://www.ywindex.com/Home/Product/index/ :param symbol: choice of {"周价格指数", "月价格指数", "月景气指数"} :type symbol: str :return: 指数结果 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 月景气指数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool is known to be a safe read-only operation. The description adds the source URL and parameter choices, which provide some context, but it does not disclose other behavioral traits such as data freshness, rate limits, or how the data is fetched. Since annotations carry the safety burden, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the tool name, followed by the source URL and a Python-style docstring. The URL adds source context but is not strictly necessary; however, it does not bloat the description. The structure is clear and efficient, though the mixed Chinese title and English docstring labels could be slightly cleaner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter, read-only index retrieval tool, the description covers the purpose, source URL, allowed parameter values, and return type (pandas.DataFrame). It does not detail the DataFrame structure (e.g., columns or date range), but given the low complexity and the presence of helpful annotations, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines `symbol` as a string with a default, and schema description coverage is 0%. The description explicitly lists the allowed values: "周价格指数", "月价格指数", "月景气指数" (weekly price index, monthly price index, monthly prosperity index). This gives the agent complete information to invoke the tool correctly, fully compensating for the sparse schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as the Yiwu Small Commodity Index (义乌小商品指数) and the docstring shows it returns index results as a DataFrame. However, it lacks an explicit verb like 'get' or 'retrieve', and it does not differentiate from the many other index tools (e.g., index_ai_cx, index_si_cx) that could be confused with it. The name and URL give a clear subject, but the action is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No use cases, prerequisites, or exclusions are mentioned. The description only provides parameter choices and return type, so the agent is left to infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_zh_a_histBRead-onlyIdempotent
东方财富网-中国股票指数-行情数据 https://quote.eastmoney.com/zz/2.000859.html :param symbol: 指数代码 :type symbol: str :param period: choice of {'daily', 'weekly', 'monthly'} :type period: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :return: 行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | daily | |
| symbol | No | 000859 | |
| end_date | No | 22220101 | |
| start_date | No | 19700101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds source (East Money) and return type (pandas.DataFrame), but does not mention rate limits, date format quirks, or potential data gaps. This is acceptable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise and front-loaded with the title. The docstring format is standard and includes a URL. No redundant sentences, though the format is more code-oriented than natural language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what columns are returned and the meaning of '行情数据'. It only says the return type is pandas.DataFrame. The tool is a simple historical data fetcher, but the lack of details about date format, data fields, and potential edge cases makes it insufficient for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates with parameter names, types, and Chinese labels: symbol is '指数代码', start/end dates are clearly start and end dates, and period lists valid choices {'daily', 'weekly', 'monthly'}. However, date format (e.g., YYYYMMDD) is not explicitly stated, and the default end_date '22220101' appears anomalous, limiting clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (East Money China stock index) and the nature of the data (market data). The URL adds specificity. However, it does not explicitly state 'retrieve historical data' and does not differentiate from sibling index tools like index_zh_a_hist_min_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention that this is for daily/weekly/monthly historical index data, nor does it exclude intraday or spot data. The parameter list implies usage but provides no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_zh_a_hist_min_emBRead-onlyIdempotent
东方财富网-指数数据-每日分时行情 https://quote.eastmoney.com/center/hszs.html :param symbol: 指数代码 :type symbol: str :param period: choice of {'1', '5', '15', '30', '60'} :type period: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :return: 每日分时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 1 | |
| symbol | No | 399006 | |
| end_date | No | 2222-01-01 09:32:00 | |
| start_date | No | 1979-09-01 09:32:00 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is known. The description adds the data source URL and return type (pandas.DataFrame), but does not disclose other behavioral traits like date format requirements, data granularity, or potential pagination. With annotations covering the safety aspects, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a structured docstring with a clear title, source URL, param/type/return annotations. It is compact and front-loaded with the primary purpose in the first line. The param lines are repetitive but add value by documenting each field.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain the return data, but it only says '每日分时行情' (daily minute quotes) without describing columns, how periods map to data granularity, or how start/end dates affect the result. It also lacks details like data coverage, timezone, or any access limitations. This is insufficient for a data-returning tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates by explaining each parameter: symbol is the index code, period lists valid choices {'1','5','15','30','60'}, and start_date/end_date are start/end dates. This is critical because the schema only shows defaults and types. However, the description does not specify the exact date-time format, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as returning daily minute-level quotes for indices from Eastmoney, as evidenced by '东方财富网-指数数据-每日分时行情'. This is specific about the resource (index data) and data type, and the URL provides source context. However, it lacks an explicit verb like 'fetch' or 'get', making it slightly less direct than an action-oriented description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are many sibling index tools (e.g., index_zh_a_hist for daily data), but the description does not mention when this minute-level tool is appropriate or what the data represents (e.g., intraday time-sharing).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
interface_infoBRead-onlyIdempotent
返回单个接口的完整元数据。
:param name: 接口名,如 "stock_zh_a_hist" :return: 完整元数据 :rtype: dict
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds only the return type (dict) and the notion of 'complete metadata'; it does not say what the metadata contains, whether unknown names error out, or how large the payload is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded: the purpose sentence comes first, followed by the param and return lines. Slight redundancy in :return: 完整元数据 restating the opening sentence, but nothing seriously wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-purpose introspection tool with no output schema, the description is minimally adequate but leaves a real gap: the whole point is the returned metadata, yet its structure, fields, or size are never characterized. It also omits error behavior for an invalid interface name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the burden: it explains that name is the interface name (接口名) and supplies a concrete example ("stock_zh_a_hist"). That is a meaningful addition beyond the bare `string` type, though the expected naming convention/casing rules are not stated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: returns the complete metadata of a single interface. Given that every sibling tool is a concrete data-fetching endpoint (stock_zh_a_hist, macro_china_cpi, etc.), the fact that this one is a metadata/introspection tool is discernible, though the description never explicitly frames it as the discovery counterpart to those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance, and no mention of alternatives such as list_categories, search, or pro_api that could also help an agent find an interface. The only usage signal is the inline example value for the name parameter, which helps parameterization but not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesARead-onlyIdempotent
列出全部类目及其接口数量。
:return: 类目统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered. The description adds the return type (pandas.DataFrame) and the fact that results are category statistics, which is useful given there is no output schema, but it does not describe pagination, ordering, or other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines with no waste. The purpose is front-loaded, and the return-type annotation is compact and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only listing tool, the description covers what is returned and in what format. Annotations fully cover safety, so nothing critical is missing, though a brief note on what 'categories' refers to would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to clarify. The baseline score of 4 applies for a well-formed no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('列出' / list) and resource ('全部类目及其接口数量' / all categories and their interface counts). No sibling tool in the list performs this meta-listing function, so an agent can distinguish it immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. Usage is only inferable from the purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_australia_bank_rateBRead-onlyIdempotent
东方财富-经济数据-澳大利亚-央行公布利率决议 https://data.eastmoney.com/cjsj/foreign_5_6.html :return: 央行公布利率决议 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the data source URL and return type but does not disclose other behavioral traits such as data coverage, update frequency, or column details. With annotations present, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded with the source and subject. It includes the URL, return type, and description in two short lines with zero wasted words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only data fetch, the description gives the essential information: source, subject, and return type. However, it lacks details about the actual data content (e.g., columns, date range) and does not differentiate from the near-identical sibling macro_bank_australia_interest_rate. With no output schema, the description should do more to explain the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema has 100% coverage (empty properties). The description mentions the return type (pandas.DataFrame) but adds no parameter semantics because none exist. For zero-parameter tools, the baseline is 4, and the description provides no conflicting or missing info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving Australia's central bank interest rate decisions from East Money, including a specific URL and return type. However, it doesn't differentiate from the closely named sibling macro_bank_australia_interest_rate, so the purpose is clear but not distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description provides no context about use cases, prerequisites, or exclusions, and the sibling macro_bank_australia_interest_rate appears overlapping without clarification.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_australia_cpi_quarterlyBRead-onlyIdempotent
东方财富-经济数据-澳大利亚-消费者物价指数季率 https://data.eastmoney.com/cjsj/foreign_5_4.html :return: 消费者物价指数季率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so safety is well-covered. The description adds no behavioral context such as data coverage, update frequency, response size, or limitations. The only additional info is the URL and return type, which is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with a title, URL, and return type note. It is front-loaded with the key information and contains no verbose filler. However, the reliance on a label-style title and the inclusion of a URL that isn't essential for tool invocation prevent a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description states the return type (DataFrame) and the metric (CPI quarterly rate), providing core context. It lacks details about the historical range, column names, units, or data granularity, which are relevant for an agent to fully understand the result. This is minimally adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty schema, so there is nothing to explain. The baseline for 0-param tools is 4. The description doesn't need to elaborate on parameters, and it doesn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly identifies the data source (东方财富/Eastmoney), country (Australia), indicator (Consumer Price Index), and frequency (quarterly). This specific noun-phrase style makes the tool's purpose unmistakable and clearly distinguishes it from siblings like macro_australia_cpi_yearly and macro_australia_ppi_quarterly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It is simply a title and return type, with no mention of exclusions, related tools, or specific use cases. The usage is only implied by the name, not articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_australia_cpi_yearlyARead-onlyIdempotent
东方财富-经济数据-澳大利亚-消费者物价指数年率 https://data.eastmoney.com/cjsj/foreign_5_5.html :return: 消费者物价指数年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds the return type (pandas.DataFrame) and the data source URL, which is useful. However, it doesn't describe the DataFrame's columns, frequency, or any potential network dependencies, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with each line serving a purpose: title, source URL, return value, and return type. It is well-structured and front-loaded, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 provides the essential information: the data source, the specific economic indicator, and the return type. However, without an output schema, it would benefit from describing the DataFrame's structure (e.g., columns) and historical range, which is absent. Still, it is adequate for invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to clarify. The input schema is empty and sufficient. Per the rubric, 0 parameters gets a baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving Australia's Consumer Price Index yearly rate from Eastmoney, including a source URL. It distinguishes from sibling tools like macro_australia_cpi_quarterly by the 'yearly' qualifier in both the name and description. However, it lacks an explicit verb (e.g., 'get', 'fetch'), so it reads more as a title than a directive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It doesn't mention any conditions, exclusions, or related tools. The only context is the indicator name itself, which is insufficient given the large number of sibling macro tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_australia_ppi_quarterlyBRead-onlyIdempotent
东方财富-经济数据-澳大利亚-生产者物价指数季率 https://data.eastmoney.com/cjsj/foreign_5_3.html :return: 生产者物价指数季率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering the safety profile. The description adds the source URL and return type (DataFrame), which provides some context about the data source but does not disclose other behavioral traits like data freshness, column details, or pagination behavior. Given the annotations, this is an acceptable but not enriched disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the tool's title and source URL. It includes only essential information, though the return line repeats the indicator name already in the title and the rtype line is redundant for a function that will return a DataFrame. It is still concise and well-structured for a docstring.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only data retrieval tool, the description provides enough to understand the basic purpose and source, but it omits details like data frequency (quarterly is in the name), historical depth, column names, or units. Since there is no output schema, more detail on the returned DataFrame would improve completeness, but the simplicity of the tool makes this acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is trivially 100%. With no parameters to document, the baseline is 4, and the description does not need to explain any inputs. The description adds nothing about parameter semantics, but none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: it returns Australia's Producer Price Index quarterly data from Eastmoney. The Chinese title and return line specify the exact indicator and source, distinguishing it from sibling tools like macro_australia_cpi_quarterly. However, it lacks an explicit action verb such as 'get' or 'retrieve', relying on the function name and return statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus other Australia macro indicators. The description is purely declarative, stating what the tool returns but offering no context about when it is appropriate or how it differs from similar tools like macro_australia_cpi_quarterly or macro_australia_retail_rate_monthly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_australia_retail_rate_monthlyCRead-onlyIdempotent
东方财富-经济数据-澳大利亚-零售销售月率 https://data.eastmoney.com/cjsj/foreign_5_0.html :return: 零售销售月率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds a source URL (https://data.eastmoney.com/cjsj/foreign_5_0.html) and the return type as a pandas.DataFrame containing '零售销售月率', which provides some context about the data origin and output. However, it does not disclose other behavioral traits such as data frequency, time range, or any network dependency, so the added value is limited to basic source/return information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and contains no fluff, but it is formatted like a docstring label rather than an explanatory entry: a title line, a URL, and a return annotation. It is under-specified for a functional description, yet it does present the minimal metadata efficiently. The structure is acceptable but not well-balanced; it front-loads a title that repeats the tool name instead of a clear purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's simplicity (0 params, read-only, no output schema), the description is not fully self-contained. It fails to state in a clear sentence what the tool does, leaving the agent to infer from the name. It also lacks any differentiation from the large set of sibling tools covering other Australian economic indicators, and does not describe the data structure beyond a vague return label. The annotations cover safety, but the description does not provide sufficient domain context for reliable selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 there is nothing for the description to explain regarding parameters. Per the rubric, a 0-parameter tool receives a baseline of 4 since no parameter documentation is needed. The description correctly omits any parameter-related content.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a Chinese translation of the tool name ('东方财富-经济数据-澳大利亚-零售销售月率'), which repeats the semantics already in 'macro_australia_retail_rate_monthly'. It lacks an explicit verb or action statement, so it reads as a heading rather than a functional description. It also does not differentiate this tool from siblings like macro_australia_cpi_yearly or macro_australia_trade, all of which are similarly named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many other Australian macroeconomic tools. The description provides only a URL and a return annotation, with no mention of alternatives, prerequisites, or specific use cases. The agent must infer the appropriate context solely from the tool name, which the description does not support or clarify.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_australia_tradeBRead-onlyIdempotent
东方财富-经济数据-澳大利亚-贸易帐 https://data.eastmoney.com/cjsj/foreign_5_1.html :return: 贸易帐 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the tool as read-only, idempotent, and non-destructive, covering safety. The description adds the data source URL and return type (pandas.DataFrame), but this is minimal. It does not describe potential quirks like date ranges or data granularity, but given the annotations, this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, including only the source, the return data concept, and the return type. It is not verbose, though the structure is more of a code docstring than a human-readable explanation, but it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is somewhat complete but lacks details about the returned DataFrame contents (columns, frequency, units) and historical coverage. The source URL hints at context but is not explained. For a simple data retrieval tool, this is near the minimum viable level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (empty properties). No parameter documentation is needed, and the description does not attempt to add unnecessary parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as returning Australia's trade balance (贸易帐) from East Money economic data, naming a specific resource and the returned data. It distinguishes from sibling Australia macro tools by the trade balance topic, though it lacks an explicit verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. With many sibling Australia macro tools, the description does not mention that this is specifically for trade balance data or exclude other indicators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_australia_unemployment_rateARead-onlyIdempotent
东方财富-经济数据-澳大利亚-失业率 https://data.eastmoney.com/cjsj/foreign_5_2.html :return: 失业率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), but does not disclose details about the data's content, frequency, or range, leaving the agent to infer the exact behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with only the title, source URL, and return type. It is front-loaded with the essential identification, but the docstring format (':return:') is not tailored for agent consumption, and the URL is not functional.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (no parameters, no output schema), the description provides basic adequacy but lacks detail on what the returned DataFrame contains (e.g., columns, time range, update frequency). The sibling tools for other Australian indicators are similar, so the agent might need more context to differentiate data contents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the empty input schema accurately reflects that. The description adds no parameter information, but none is needed; the baseline for zero-parameter tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as fetching Australia's unemployment rate from Eastmoney economic data, distinguishing it from sibling tools covering other countries or indicators. However, it lacks an explicit action verb like 'fetch' or 'retrieve', relying on the name to convey the function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. The specific country and indicator in the name imply its use case, but there is no mention of exclusions or alternative tools for other data series.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_bank_australia_interest_rateBRead-onlyIdempotent
澳洲联储决议报告,数据区间从 19800201-至今 https://datacenter.jin10.com/reportType/dc_australia_interest_rate_decision https://cdn.jin10.com/dc/reports/dc_australia_interest_rate_decision_all.js?v=1578582414 :return: 澳洲联储决议报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive, so the safety profile is covered. The description contributes the useful historical start date (19800201) and the return shape (pandas.Series of 今值 %), which is genuine added context, though it says nothing about update cadence or missing-value behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence plus the :return:/:rtype: line are front-loaded and short, but two raw CDN/datacenter URLs are pasted in that carry no decision value for an agent and dilute the otherwise tight definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless single-series fetch, the description supplies scope (start date), unit (%), and return type, which is enough to call it correctly. Without an output schema it still communicates the payload, so only update frequency/coverage details are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies; there are no parameter semantics for the description to clarify or omit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource: the RBA (澳洲联储) interest-rate decision report, with its historical coverage (19800201-present) and returned metric (今值 %). It is separable from the US/UK/Japan rate siblings by country, but it never distinguishes itself from the near-identical sibling macro_australia_bank_rate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no pointer to the very close alternative macro_australia_bank_rate. The description only asserts what data exists, leaving selection among the many macro_bank_* siblings to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_bank_brazil_interest_rateBRead-onlyIdempotent
巴西利率决议报告,数据区间从 20080201-至今 https://datacenter.jin10.com/reportType/dc_brazil_interest_rate_decision https://cdn.jin10.com/dc/reports/dc_brazil_interest_rate_decision_all.js?v=1578582718 :return: 巴西利率决议报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is clear. The description adds the data start date and return format but does not disclose other behavioral traits such as update frequency, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first line front-loads the purpose and data range effectively, but the inclusion of two raw URLs and non-standard format tags (:return:, :rtype:) adds clutter. Every sentence could be structured more cleanly for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only data retrieval tool, the description supplies the essential context: data range, return value, and type. Annotations cover safety, and no output schema exists, so the description is largely complete, though it could mention the data source's nature more explicitly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so per the rubric the baseline is 4. No parameter-related guidance is needed or expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific data resource (Brazil interest rate decision report) and its temporal scope (20080201-present), distinguishing it from sibling country-specific interest rate tools like macro_bank_usa_interest_rate. It also specifies the return value and type. However, it lacks an explicit action verb, though the resource is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any exclusions. It only describes the data content; an agent must infer that this is the correct tool for Brazilian interest rate decisions from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_bank_china_interest_rateCRead-onlyIdempotent
中国央行决议报告,数据区间从 19990105-至今 https://datacenter.jin10.com/reportType/dc_newzealand_interest_rate_decision https://cdn.jin10.com/dc/reports/dc_newzealand_interest_rate_decision_all.js?v=1578582075 :return: 新西兰联储决议报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is fully covered without the description. The description adds the useful historical coverage window (1999-01-05 onward) and the unit of the returned value (%), but nothing about auth, rate limits, or update cadence. No contradiction with the annotations themselves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a raw docstring dump: a header line followed by two unfiltered source URLs, one with a cache-busting query string, plus Sphinx-style :return:/:rtype: tags. The URLs add no decision-relevant information for an agent and dilute the one useful fact (the date range).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description partially compensates by giving :rtype: pandas.Series and the value unit (%), plus the historical window. However, the conflicting country metadata (China in the title/name, New Zealand in the URLs and return tag) leaves the actual returned series ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (empty schema), so there is no parameter semantics for the description to supply. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first line names a resource and scope (China central bank decision report, 1999-01-05 to present), but the body then embeds two URLs for 'dc_newzealand_interest_rate_decision' and ends with ':return: 新西兰联储决议报告-今值(%)', pointing at New Zealand rather than China. The agent cannot tell whether this tool returns China or New Zealand policy-rate data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling rate tools such as macro_bank_newzealand_interest_rate, macro_china_lpr, or macro_bank_usa_interest_rate. It also does not state whether any arguments or preconditions are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_bank_english_interest_rateBRead-onlyIdempotent
英国央行决议报告,数据区间从 19700101-至今 https://datacenter.jin10.com/reportType/dc_english_interest_rate_decision https://cdn.jin10.com/dc/reports/dc_english_interest_rate_decision_all.js?v=1578582331 :return: 英国央行决议报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds useful context beyond that: the data coverage window (1970-01-01 to present) and the return type (a pandas.Series of 今值 %). It says nothing about refresh cadence, auth, or rate limits, so it clears the lowered bar without being rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The report name and coverage window are front-loaded, and the whole thing is short. The two raw source URLs and the ':return:'/':rtype:' docstring lines are mildly noisy but do convey origin, so they roughly earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only time series with no output schema, the description supplies the essentials: what the series is, its date coverage, and that the value is a percent in a pandas.Series. Nothing critical to calling it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so the baseline of 4 applies. There are no parameter semantics to clarify, and the description does not need to compensate for any documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: it returns the Bank of England interest-rate decision report ('英国央行决议报告') and specifies the data range from 1970-01-01 to present. The name and country make it clearly separable from the macro_bank_*_interest_rate family, though the description itself never names an alternative like macro_uk_bank_rate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Given many near-siblings (macro_uk_bank_rate, macro_bank_usa_interest_rate, macro_bank_euro_interest_rate), the agent gets no explicit condition that selects this one; usage is only inferable from the name and country label.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_bank_euro_interest_rateBRead-onlyIdempotent
欧洲央行决议报告,数据区间从 19990101-至今 https://datacenter.jin10.com/reportType/dc_interest_rate_decision https://cdn.jin10.com/dc/reports/dc_interest_rate_decision_all.js?v=1578581663 :return: 欧洲央行决议报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds real context beyond them: the historical coverage window (19990101-present), the external data source URLs, and the return format (pandas.Series of the current value %), which is meaningful for a data-fetch tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and data range are front-loaded in the first clause, followed by return info. Two raw source URLs and the rtype/treturn ormatter add length, but the whole thing remains short and skimmable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and no output schema, the description reasonably supplies the return shape (pandas.Series, current value in %), the data range, and the upstream source, so an agent knows what to expect. Only explicit sibling routing is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing parameter-level for the description to clarify, and it correctly implies a parameterless fetch.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (European Central Bank interest rate decision report) and the data range (19990101-present), which clearly distinguishes it from the many sibling macro_bank_*_interest_rate tools by country/issuer. However, it never explicitly names or contrasts with those siblings, relying on the identifier alone for differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention that the tool takes no parameters, and no indication of how it relates to alternatives such as macro_bank_usa_interest_rate or other regional rate tools. Usage must be fully inferred from the name and content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_bank_india_interest_rateBRead-onlyIdempotent
印度利率决议报告,数据区间从 20000801-至今 https://datacenter.jin10.com/reportType/dc_india_interest_rate_decision https://cdn.jin10.com/dc/reports/dc_india_interest_rate_decision_all.js?v=1578582645 :return: 印度利率决议报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds useful non-annotation context — the historical window starting 2000-08-01 and the return payload (current value in percent as a pandas.Series) — but says nothing about update frequency or data source reliability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded, but the body is raw Python docstring boilerplate with two paste-in URLs and ':return:'/':rtype:' tags that read as source-code remnants rather than agent-facing guidance. The essential content is one sentence buried in scaffolding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-input, read-only series endpoint, the description supplies the data coverage window and the return type/value semantics, which is most of what an agent needs. Missing only release frequency and any note on whether the series includes projections versus actual decisions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4; the schema is trivially fully covered. The description correctly adds no parameter claims, avoiding confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (India interest-rate decision report) and its coverage window (20000801 to present), which is enough for an agent to recognize it among the many macro_bank_* siblings (USA, China, Japan, etc.). It lacks an explicit action verb, but for a zero-parameter data-retrieval tool the resource identification is the operative information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no mention of alternatives, and no note of the report's release cadence or how it relates to sibling rate tools. The agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_bank_japan_interest_rateBRead-onlyIdempotent
日本利率决议报告,数据区间从 20080214-至今 https://datacenter.jin10.com/reportType/dc_japan_interest_rate_decision https://cdn.jin10.com/dc/reports/dc_japan_interest_rate_decision_all.js?v=1578582485 :return: 日本利率决议报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds the data coverage window (20080214-至今) and the return payload (今值 in %) with rtype pandas.Series, which is genuinely useful beyond the annotations, but says nothing about update cadence, source latency, or freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence and the return annotation are front-loaded and useful, but two raw source URLs are embedded in the description text, which is noise that does not help an agent decide or invoke. Trimming the URLs would sharpen it considerably.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter retrieval tool with no output schema, the description supplies the coverage range and the return type/value semantics (:return: 今值 (%), :rtype: pandas.Series), which is what an agent needs to interpret the result. Nothing critical is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema fully covers invocation and the baseline is 4. The description correctly avoids inventing parameter semantics that do not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific resource (Japan interest rate decision report) and its temporal coverage from 2008-02-14 to present. An agent can identify it as the Japan rate-decision dataset, but the description does not distinguish it from close siblings like macro_japan_bank_rate or macro_bank_usa_interest_rate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this tool versus the numerous sibling interest-rate tools, and no preconditions or exclusions. The agent must infer usage entirely from the name and the Japan/rate-decision wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_bank_newzealand_interest_rateBRead-onlyIdempotent
新西兰联储决议报告,数据区间从 19990401-至今 https://datacenter.jin10.com/reportType/dc_newzealand_interest_rate_decision https://cdn.jin10.com/dc/reports/dc_newzealand_interest_rate_decision_all.js?v=1578582075 :return: 新西兰联储决议报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds useful context beyond that: the data range and the returned field (今值 %, a pandas Series). It does not explain refresh cadence or whether the series includes historical decision points vs. only the latest value, but for a parameterless read 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first clause, but the body is cluttered with two raw CDN/source URLs and docstring artifacts (:return:, :rtype:) that are not needed at selection time. These consume space without helping an agent decide whether to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless data-fetch tool with no output schema, the description covers the key facts an agent needs: the specific report, the historical coverage, and the shape of the return value. It stops short of describing update frequency or exact return columns/timestamp semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty, so there is nothing to document; baseline 4 applies. The description's note on the return field partially compensates for the absence of an output schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific report (新西兰联储决议报告 = RBNZ interest-rate decision report) and its coverage window (1999-04-01 to present), which cleanly distinguishes it from siblings like macro_bank_usa_interest_rate or macro_bank_japan_interest_rate. It states what is fetched, though it reads as a restatement of the title rather than an independent description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many other central-bank interest-rate tools in the sibling list, nor any prerequisites, exclusions, or alternatives named. Usage is only implied by the report name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_bank_russia_interest_rateBRead-onlyIdempotent
俄罗斯利率决议报告,数据区间从 20030601-至今 https://datacenter.jin10.com/reportType/dc_russia_interest_rate_decision https://cdn.jin10.com/dc/reports/dc_russia_interest_rate_decision_all.js?v=1578582572 :return: 俄罗斯利率决议报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description usefully adds the data start date and the return shape (current value in %, pandas.Series), but says nothing about update frequency or freshness of the series.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and efficient, but it is followed by two raw source URLs and docstring-style ':return:'/':rtype:' lines that add clutter rather than agent-facing value. Trimming the CDN URL would tighten it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter macro series with no output schema, the description conveys source, range, and return type, which is close to sufficient. It omits how often the data refreshes and whether a single latest value or a full history is returned, which an agent would want for a time-series report tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema has nothing to document and the description carries no parameter burden. Baseline 4 applies; no parameter-level semantics are needed or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (Russia interest rate decision report) with its temporal coverage (20030601–present), which cleanly distinguishes it from the ~15 other macro_bank_*_interest_rate siblings. The retrieval verb is implied rather than stated, but the resource and scope are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus e.g. macro_bank_usa_interest_rate or macro_china_lpr, and no exclusions or prerequisites. The only routing signal is the resource name itself, leaving usage inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_bank_switzerland_interest_rateBRead-onlyIdempotent
瑞士央行利率决议报告,数据区间从 20080313-至今 https://datacenter.jin10.com/reportType/dc_switzerland_interest_rate_decision https://cdn.jin10.com/dc/reports/dc_switzerland_interest_rate_decision_all.js?v=1578582240 :return: 瑞士央行利率决议报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered externally. The description adds the useful facts of the historical coverage start date (2008-03-13) and that the return is the report's current value in percent, but says nothing about update frequency or auth. A 3 is appropriate given annotations carry the behavioral burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core statement is front-loaded and brief, but the body is padded with two raw data-source URLs and Sphinx-style :return:/:rtype: docstring artifacts that add noise rather than agent-facing clarity. The useful content could be conveyed in one clean sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema fetcher, the description supplies the resource, the historical window, and the return payload (a pandas.Series of the current value in percent), which is enough for an agent to call it correctly. It stops short of stating refresh cadence or how far back series data actually extends in practice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. Schema coverage is 100% and there is nothing parameter-level that the description needs to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Swiss National Bank interest rate decision report) with a defined data range (2008-03-13 to present), which clearly distinguishes it from the many sibling macro_bank_* and macro_swiss_* tools. However, it does not explicitly contrast itself against those siblings (e.g. macro_bank_usa_interest_rate, macro_swiss_cpi_yearly), so the differentiation is only implied by the country and metric.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Given dozens of near-identical macro_* rate/report tools in the sibling list, an agent gets no help deciding whether this Swiss rate report is the right choice over, say, macro_bank_usa_interest_rate or macro_swiss_gbd_bank_rate. No prerequisites or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_bank_usa_interest_rateBRead-onlyIdempotent
美联储利率决议报告,数据区间从 19820927-至今 https://datacenter.jin10.com/reportType/dc_usa_interest_rate_decision :return: 美联储利率决议报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the observation window (1982-09-27 to present) and the return shape (:return 今值 %, :rtype pandas.Series), which is genuine context beyond the annotations, but it says nothing about refresh cadence, unit conventions, or missing-data behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and the whole definition is only a few lines. The raw source URL is arguably filler and the docstring-style ':return:'/':rtype:' lines are unpolished, but nothing is bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter macro-data fetch with no output schema, the description supplies the essential missing pieces: what the series is, its historical span, and the returned object type. Only freshness/unit details are absent, which is a minor gap at this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description legitimately has no parameter semantics to explain, and the empty schema is consistent with the 'no-argument report fetch' framing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (美联储利率决议报告 / Fed interest-rate decision report) and scope (data from 1982-09-27 onward), which is enough to identify it against the sea of macro_bank_* rate siblings. It is clear but offers no explicit differentiation from those siblings (e.g. macro_japan_bank_rate, macro_bank_china_interest_rate), so it stops short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, nor any mention of the many alternative interest-rate tools in the same family. An agent must infer selection purely from the tool name and the source URL, which is not a substitute for routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_canada_bank_rateBRead-onlyIdempotent
东方财富-经济数据-加拿大-央行公布利率决议 https://data.eastmoney.com/cjsj/foreign_7_4.html :return: 央行公布利率决议 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows this is a safe read operation. The description adds the source URL and return type (pandas.DataFrame), which provides some context, but it does not disclose behavioral traits such as data coverage, update frequency, or rate limits. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the title and URL, but it repeats the title in the ':return:' line ('央行公布利率决议'), which adds redundancy. It is appropriately sized for a no-parameter tool but could be structured to avoid repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should ideally explain what data is returned, but it only says '央行公布利率决议' (interest rate decision) without fields, examples, or historical coverage. While the simple nature and annotations help, the lack of detail on return structure leaves the agent guessing about the DataFrame contents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. Per the baseline, this scores 4 because there is no parameter ambiguity to resolve. The description does not need to add parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as retrieving Canada's central bank interest rate decision from East Money's economic data section (央行公布利率决议), which clearly distinguishes it from sibling bank rate tools for other countries. However, it relies on a noun phrase rather than an explicit verb like 'Get' or 'List', making the intended action slightly less direct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description provides only a source URL and return type, with no mention of suitable contexts, prerequisites, or alternative tools. The country is the only implicit differentiator, but no explicit usage direction is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_canada_core_cpi_monthlyCRead-onlyIdempotent
东方财富-经济数据-加拿大-核心消费者物价指数月率 https://data.eastmoney.com/cjsj/foreign_7_6.html :return: 核心消费者物价指数月率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey that the tool is read-only, idempotent, and non-destructive. The description adds only the data source and return type, but discloses no other behavioral traits such as data frequency, historical range, or release delay. Thus it contributes little beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief—a title, URL, and standard return annotations—so it is concise and front-loaded. It wastes minimal space, though it does repeat the tool name almost verbatim, which is slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only macro indicator, the description gives the series name and return type, which is somewhat useful. However, there is no output schema, and the description does not describe the structure of the returned DataFrame (e.g., columns, date range), leaving some ambiguity about what data is actually returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% schema description coverage, so there is no parameter semantics to clarify. With no parameters, the baseline of 4 is appropriate, and the description does not need to compensate for missing schema details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as returning the Eastmoney Canada core CPI monthly rate, but it does so largely by restating the tool name in Chinese without a clear verb phrase. It gives the source and return type, and the term '月率' hints at the monthly frequency, but it does not explicitly contrast with the yearly sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the closely related `macro_canada_core_cpi_yearly` or `macro_canada_cpi_monthly` alternatives. Usage context is only implied by the tool name and the URL, not by any explicit recommendation or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_canada_core_cpi_yearlyBRead-onlyIdempotent
东方财富-经济数据-加拿大-核心消费者物价指数年率 https://data.eastmoney.com/cjsj/foreign_7_5.html :return: 核心消费者物价指数年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe, non-mutating read. The description adds that the return type is a pandas.DataFrame and the data is core CPI yearly, which is useful but minimal. It does not disclose potential caveats such as data availability, update frequency, or formatting specifics, but this is partially mitigated by the strong annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, consisting of a title, source URL, and return annotations. It is concise and front-loaded with the key information. However, it is somewhat fragmented and reads more like a docstring fragment than a polished description, and the title line repeats the tool name. Still, no words are wasted, and the URL provides actionable context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only data retrieval tool with strong annotations, the description covers the essential points: data source, geographic focus, metric type, frequency, and return type. There is no output schema, so the description's mention of 'pandas.DataFrame' partially fills that gap, though column details are not provided. Given the simplicity of the tool, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty, so there are no parameter semantics to explain. Per the scoring guide, a baseline of 4 is appropriate when there are no params. The description does not need to compensate for any missing schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving Canada's core consumer price index yearly rate from Eastmoney, with the specific resource named in both the title and body. While it lacks an explicit verb like 'fetch' or 'get', the name and context make the action unambiguous. It is distinct from sibling tools like macro_canada_cpi_yearly by explicitly stating 'core' and 'yearly'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 related alternatives such as macro_canada_cpi_yearly or macro_canada_core_cpi_monthly. The description only states the data source and return type, leaving the agent to infer the appropriate context. There are no exclusions, prerequisites, or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_canada_cpi_monthlyARead-onlyIdempotent
东方财富-经济数据-加拿大-消费者物价指数月率 https://data.eastmoney.com/cjsj/foreign_7_8.html :return: 消费者物价指数月率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds a source URL and return type (pandas.DataFrame), which is useful context but does not describe pagination, rate limits, or data structure details. With annotations providing the safety baseline, the description's contribution 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of a title line, URL, return name, and return type. It is front-loaded with the key information and contains no unnecessary elaboration. The title line somewhat repeats the tool name, but overall it is efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema), the description provides the source URL and return type, which is a reasonable baseline. However, it does not clarify the DataFrame's columns, date range, or units, which could be important for an agent deciding whether this data meets a need. The indicator name is clear, but the completeness is only adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty with 100% coverage. Per the scoring rules, the baseline for 0 parameters is 4. The description does not need to explain any parameters, and it does not add anything beyond what the schema already implies (no parameters needed).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly labels the tool as Eastmoney economic data for Canada's Consumer Price Index monthly rate, which identifies the resource and scope. It distinguishes from sibling tools like macro_canada_cpi_yearly by explicitly specifying '月率' (monthly rate). However, it lacks an explicit verb (e.g., 'get' or 'return'), though the URL and return statement imply retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives like macro_canada_cpi_yearly or macro_canada_core_cpi_monthly. The name and description imply usage for monthly CPI data, but no exclusions or alternative references are provided. This is borderline between implied usage and no guidance, so a 3 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_canada_cpi_yearlyARead-onlyIdempotent
东方财富-经济数据-加拿大-消费者物价指数年率 https://data.eastmoney.com/cjsj/foreign_7_7.html :return: 消费者物价指数年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), providing some extra context but no additional behavioral details such as data range or update frequency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and free of fluff, containing the data source, return type, and a brief descriptor. The line breaks are slightly awkward but do not detract from its efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with no output schema, the description adequately identifies the data (Canada yearly CPI) and return format (DataFrame). It lacks details on the exact data columns or time range, but such details are less critical for a simple data fetch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% with an empty schema. The description correctly notes the return type and data source, which is sufficient given no parameters require explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as fetching Canada's yearly Consumer Price Index (CPI) rate from Eastmoney. It is specific to the yearly CPI metric, distinguishing it from siblings like macro_canada_cpi_monthly and macro_canada_core_cpi_yearly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., monthly CPI or core CPI). It simply names the data source and return type without contextual use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_canada_gdp_monthlyCRead-onlyIdempotent
东方财富-经济数据-加拿大-GDP 月率 https://data.eastmoney.com/cjsj/foreign_7_9.html :return: GDP 月率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive hints. The description adds a pandas.DataFrame return type and a source URL but no additional behavioral context such as date range, units, frequency, or potential quirks. There is no contradiction with annotations, but the added value is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, front-loaded with the title, then source URL and return type. It is concise with minimal repetition, though the URL may be of limited value for an AI agent deciding to invoke the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the returned DataFrame contains. It only states 'GDP月率' (GDP monthly rate), which is vague and lacks details on columns, units, historical depth, or the exact metric (e.g., month-over-month growth rate). An agent would have to inspect the data to understand its structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is fully complete. Per the rubric, a 0-parameter tool receives a baseline of 4; the description does not need to add parameter details since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Canada GDP monthly rate) via the Chinese title and return line, but it lacks an explicit verb and is essentially a restatement of the tool name. It does not differentiate from closely related sibling tools like macro_canada_cpi_monthly or macro_canada_bank_rate beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only includes a source URL and return type, with no mention of preferred use cases, exclusions, or comparison to other macro indicators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_canada_new_house_rateARead-onlyIdempotent
东方财富-经济数据-加拿大-新屋开工 https://data.eastmoney.com/cjsj/foreign_7_0.html :return: 新屋开工 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the data source (East Money) and the return type (pandas.DataFrame), which are useful behavioral details beyond the annotations. It does not describe data granularity or date range, but for a zero-param read-only tool this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with the title, source URL, return label, and return type each on their own line. Every line provides useful information without verbosity, making it easy for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (zero parameters, read-only, clear annotations), the description provides sufficient context: it identifies the data source, the specific indicator, and the return type. While it could mention whether the data is historical or current, the URL and return type 'pandas.DataFrame' imply a tabular dataset, which is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty input schema, so the baseline for parameter semantics is 4. The description adds no parameter information, but none is needed. The schema coverage for parameters is effectively 100% since no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it retrieves Canada new housing starts data from East Money (东方财富) economic data. The title and return type (`:return: 新屋开工`, `:rtype: pandas.DataFrame`) specify the exact indicator and output format, distinguishing it from sibling macro_canada_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides the data source (URL) and confirms it is a data retrieval operation, but does not explicitly state when to use this tool over alternatives. The usage is implied by the name and category, but no exclusions or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_canada_retail_rate_monthlyBRead-onlyIdempotent
东方财富-经济数据-加拿大-零售销售月率 https://data.eastmoney.com/cjsj/foreign_7_3.html :return: 零售销售月率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is known. The description adds that the return type is a pandas.DataFrame and provides a source URL, but does not reveal any edge cases, rate limits, or data quirks. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is minimal, with three components: title, URL, and return type. It is not verbose, but the structure is more of a stub than a well-organized explanation, lacking any usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no params, read-only, no output schema), the description is barely adequate. It mentions the metric and return type but omits details about the DataFrame columns, date range, or units, which would be valuable for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides complete coverage. The description correctly does not need to explain parameters, and the return type is mentioned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the data source (Eastmoney), country (Canada), and metric (retail sales monthly rate), which distinguishes it from sibling macro tools. However, it lacks an explicit verb like 'fetches' or 'returns', relying on the title to convey the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as macro_canada_cpi or macro_australia_retail_rate_monthly. It simply states the topic and returns a DataFrame, leaving the agent to infer suitability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_canada_tradeBRead-onlyIdempotent
东方财富-经济数据-加拿大-贸易帐 https://data.eastmoney.com/cjsj/foreign_7_2.html :return: 贸易帐 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, lowering the burden on the description. The description adds the source URL and return type (pandas DataFrame), which is useful, but it does not disclose additional behavioral traits such as data freshness, column structure, or any quirks of the Eastmoney source. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, containing only the title, URL, and return annotations. It wastes no words, but the formatting is somewhat fragmented, with line breaks separating elements rather than flowing prose. Still, it is efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, read-only tool with no parameters and no output schema, the description provides the essential context: source (Eastmoney), the specific indicator (Canada trade account), and the return type (DataFrame). It lacks details about the exact columns or date range, but that is likely acceptable for this level of complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 effectively 100% covered (empty schema). The description correctly provides no parameter details, and the baseline of 4 applies since there is nothing to explain. No additional meaning is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Canada trade data from Eastmoney) and distinguishes it from sibling trade tools by country. However, it lacks an explicit verb like 'get' or 'retrieve', relying instead on the ':return:' annotation to imply data retrieval. The URL and data type make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternative trade tools such as macro_uk_trade or macro_usa_trade_balance. The description only states the source and data type, leaving the agent to infer usage context from the tool name alone. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_canada_unemployment_rateBRead-onlyIdempotent
东方财富-经济数据-加拿大-失业率 https://data.eastmoney.com/cjsj/foreign_7_1.html :return: 失业率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering safety and side-effect behavior. The description adds a source URL and return type (pandas DataFrame) but does not disclose additional behavioral traits such as data frequency, historical range, or units. This modest addition warrants a middle score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, consisting of a title, URL, and return type. While every line is purposeful, it is more of a docstring fragment than a structured description. It is concise and front-loaded with the resource name, but lacks a clear narrative sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter read-only tool, the description provides the source and return type. However, it omits practical details like the time series frequency (e.g., monthly), the historical period covered, or column names. Since there is no output schema, these details would help the agent set expectations. The annotations compensate somewhat, but the description remains minimal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 with 100% coverage. According to the rubric, a baseline of 4 is appropriate when there are no parameters. The description does not need to explain parameter semantics, and no information is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: Eastmoney economic data for Canada's unemployment rate. It also specifies the return type (pandas DataFrame) and provides a source URL. However, it lacks an explicit action verb like 'get' or 'retrieve', relying on the tool name and context, which slightly weakens clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or distinguish it from other macro economic data tools for Canada or other countries. An agent is left without context on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_agricultural_indexCRead-onlyIdempotent
农副指数 https://data.eastmoney.com/cjsj/hyzs_list_EMI00662543.html :return: 农副指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering the safety profile. The description adds only a URL and return type, contributing no additional behavioral context such as data scope, update frequency, or access constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the name, but it repeats '农副指数' multiple times and compresses information into a docstring format. It is minimally sufficient but not well-structured or informative enough to earn a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter read-only tool, the description provides the essential idea (returns agricultural index data) and a source URL. However, it lacks details about the data content, time range, or intended use, leaving room for confusion about what exactly is returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%. The baseline for zero-parameter tools is 4; the description does not need to explain parameters. The lack of parameter information is not a gap because there is nothing to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('农副指数' / agricultural by-product index) and specifies the return type as pandas.DataFrame, indicating it retrieves index data. However, it lacks an explicit verb (e.g., 'get' or 'fetch') and does not differentiate from siblings like macro_china_energy_index beyond the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No context is given about the type of data, its source, or how it differs from related macro_china_* tools. The agent is left to infer usage from the name and URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_agricultural_productBRead-onlyIdempotent
农产品批发价格总指数 https://data.eastmoney.com/cjsj/hyzs_list_EMI00009274.html :return: 农产品批发价格总指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and a source URL, which provides some context beyond the annotations, but it does not describe data granularity, potential missing values, or other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the ':return' line merely repeats the title, which is redundant. The URL is useful, but the structure resembles a raw docstring rather than a polished description, and the redundancy costs a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain the return value in more detail. It only provides the index name and the DataFrame type, but does not describe columns, time range, or whether it is historical or current data. The safe-read annotations help, but the overall context is incomplete for an agent to fully understand the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 with 100% coverage. Since there are no parameters to explain, the description does not need to add parameter semantics, and the baseline of 4 for a zero-param tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as the agricultural product wholesale price total index, and the included URL provides a unique data series identifier. However, it lacks an explicit verb and does not differentiate from sibling tools like macro_china_agricultural_index, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It neither states the intended use case nor mentions any exclusions or alternative tools, leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_au_reportBRead-onlyIdempotent
上海黄金交易所报告,数据区间从20100331-至今 https://datacenter.jin10.com/reportType/dc_sge_report :return: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety/idempotency are covered. The description adds the temporal coverage boundary, which is useful, but says nothing about refresh cadence, pagination, or completeness of the returned report.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines with the key fact (what report, from when) front-loaded; the source URL is a legitimate reference. The ':return: pandas.DataFrame' token is a docstring artifact, but with no output schema it does convey return type, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless macro pull the description covers source and date range, but it omits what columns/fields the report contains and whether results are a single snapshot or a series. With no output schema, this leaves the return shape under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (empty schema, 0 required), so there is no parameter semantics to explain and the baseline is 4. The stated coverage start date (20100331) is the only input-relevant constraint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (上海黄金交易所报告 / SGE report) and its data range, so the agent knows the content domain. But there is no verb, and among many near-neighbour gold/SGE siblings (spot_hist_sge, spot_quotations_sge, spot_golden_benchmark_sge, macro_china_fx_gold) nothing states how this report differs from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only gives the data coverage window; it never says when to choose this tool over the other SGE/gold macros, nor any usage conditions or prerequisites. The link is a data-source reference, not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_bank_financingBRead-onlyIdempotent
银行理财产品发行数量 https://data.eastmoney.com/cjsj/hyzs_list_EMI01516267.html :return: 银行理财产品发行数量 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds a source URL and return type (pandas.DataFrame) but does not disclose additional behavioral traits such as data frequency or filtering limitations. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the data name. It repeats the Chinese phrase twice and includes a URL and return type, but every sentence serves a purpose. It could be more concise by removing duplication, but it is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter tool, the description is adequate: it states the indicator and return type. However, it does not specify the data's time range, frequency, or any additional columns beyond the count, leaving some ambiguity about what the DataFrame contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%, so there are no parameter semantics to explain. The description's mention of the return type adds minimal value but is not necessary; baseline of 4 is appropriate for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the data being returned: the number of bank wealth management products issued (银行理财产品发行数量), and provides a source URL. It distinguishes this from sibling macro tools by specifying a unique indicator, though it lacks an explicit verb like 'get' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternative macro indicators, nor does it mention any exclusions or prerequisites. It merely states what data is returned without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_bdti_indexCRead-onlyIdempotent
原油运输指数 https://data.eastmoney.com/cjsj/hyzs_list_EMI00107668.html :return: 原油运输指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint=true, destructiveHint=false) and idempotency. The description adds the source URL and return type (pandas.DataFrame), which are useful behavioral traits, but it does not explain data granularity, time span, or any underlying data retrieval behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, but the first line redundantly repeats the title from annotations. The URL and return type provide value, yet the duplication constitutes minor waste, making it adequate but not exemplary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though the tool is simple with no parameters, the description does not clarify what the returned DataFrame contains (e.g., historical index values, dates, columns), what time range or frequency is covered, or what the BDTI index conceptually represents. The URL hints at East Money but leaves the output contents ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description is not responsible for explaining parameters. The baseline of 4 applies, and no additional parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely states '原油运输指数' (crude oil transport index), which is identical to the title, along with a source URL and return type. It does not articulate a distinct action or resource beyond the tool's name, and it fails to differentiate from similar macro indices like macro_china_energy_index or macro_china_freight_index.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description lacks any mention of use cases, prerequisites, or comparison with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_bond_publicBRead-onlyIdempotent
中国-债券信息披露-债券发行 https://www.chinamoney.com.cn/chinese/xzjfx/ :return: 债券发行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and idempotent behavior, and the description adds only the source URL and return type. It does not disclose data scope, columns, or any other behavioral details beyond what annotations already cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief and front-loaded with the title, followed by a useful URL and return type. It is appropriately sized for a zero-parameter tool, though it omits some useful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify the shape of the returned DataFrame. It only states 'bond issuance' without detailing columns, date range, or data granularity, leaving significant ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing to document. The description correctly implies no inputs are needed, and the schema confirms this with 100% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving Chinese bond issuance data from chinamoney.com.cn, with a return type of pandas.DataFrame. However, it lacks an explicit verb like 'fetch' or 'query' and does not differentiate from sibling bond-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It only supplies a source URL and return type, with no exclusions or references to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_bsi_indexCRead-onlyIdempotent
超灵便型船运价指数 https://data.eastmoney.com/cjsj/hyzs_list_EMI00107667.html :return: 超灵便型船运价指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the return type (pandas.DataFrame) and a data source URL, which is useful. Given that annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, the description does not need to restate safety, but it could disclose more about data content or behavior beyond simply returning the index.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it is merely a concatenation of a title, a URL, and a return type. It avoids verbosity, but it is not a coherent, well-structured sentence that explains the tool clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter details, the description should explain what the returned DataFrame contains (e.g., columns, frequency) and any other relevant context. It only provides the index name and a source URL, which is insufficient for an agent to fully interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema already reflects this (100% coverage). With no parameters to document, the description is not expected to add parameter information, so the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as '超灵便型船运价指数' (Supramax shipping freight index) and provides a source URL, but lacks an explicit verb like 'retrieve' or 'get.' It is distinct from sibling shipping indices by name, but doesn't differentiate beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. It does not state any exclusions, prerequisites, or preferred contexts, leaving the agent without enough information to select it over sibling shipping index tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_central_bank_balanceBRead-onlyIdempotent
新浪财经-中国宏观经济数据-央行货币当局资产负债 https://finance.sina.com.cn/mac/#fininfo-8-0-31-2 :return: 央行货币当局资产负债 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, providing a clear safety profile. The description adds the return type (pandas.DataFrame) and source URL, which is useful but does not elaborate on data granularity, update frequency, or potential network dependencies. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but somewhat repetitive: the title, URL, and return line all convey the same dataset. It is not poorly structured, but it lacks a clear separation of purpose, source, and output. The URL might be superfluous for an agent, though it is not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless data retrieval tool with strong annotations, the description provides sufficient context: the dataset name, source URL, and return type. It does not specify data columns or time coverage, but given the low complexity and no output schema, this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (empty properties). The description correctly omits parameter details, and with no parameters to explain, a baseline of 4 is appropriate. It adds no unnecessary parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving the central bank monetary authority balance sheet from Sina Finance's China macroeconomic data section. It names the specific dataset and provides a source URL, distinguishing it from other macro_china_* tools. However, it lacks a direct verb like 'get' or 'fetch', relying on the implicit return statement to convey its function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description does not mention any exclusions, prerequisites, or preferred use cases. It is purely descriptive and does not help an agent decide between this and sibling tools like macro_china_money_supply or macro_china_pmi.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_commodity_price_indexCRead-onlyIdempotent
大宗商品价格 https://data.eastmoney.com/cjsj/hyzs_list_EMI00662535.html :return: 大宗商品价格 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds only a return type (pandas.DataFrame) and a source URL, but does not disclose what the DataFrame contains, the index composition, data frequency, or any limitations. This is minimal and does not meaningfully enrich the behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short but also repetitive, repeating '大宗商品价格' three times. It includes a URL and docstring-style return annotations, but no structured explanation. This is under-specification rather than efficient conciseness, as the space is not used to add meaningful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter tool with no output schema, the description must at least clarify what the returned data represents, its granularity, and how it relates to sibling indices. Here, it only gives a generic Chinese label and a URL. Missing critical details like the index code EMI00662535, historical vs. current values, column structure, and update frequency make the description inadequate for an agent to use the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides no parameter details to explain. Per the baseline rule, score 4 is appropriate because there is nothing for the description to add about parameters; it cannot be faulted for missing param semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '大宗商品价格' is essentially a noun phrase that restates the tool name (commodity price index) without a verb indicating an action. It does not clarify what the tool does (e.g., fetch, return) nor distinguish it from sibling tools like macro_china_energy_index or macro_china_construction_price_index. The URL is the only unique identifier, but it is not explained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool or when to prefer alternative macro index tools. The description lacks any mention of typical use cases, prerequisites, or exclusions. An agent given this description would have no idea how to select it over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_construction_indexCRead-onlyIdempotent
建材指数 https://data.eastmoney.com/cjsj/hyzs_list_EMI00662541.html :return: 建材指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and a source URL, which are useful but minimal. It does not disclose data granularity, column structure, or any potential limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, totaling three lines. It leads with the key identifier and includes a source URL and return type. However, the format is a raw docstring with minimal structure; the URL is a long string that may clutter the description without adding immediate semantic value. It is concise but not polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no parameters, the description should compensate by explaining what data is returned, its structure, or the time range. The description merely restates the name and gives a URL, leaving the agent to guess the DataFrame columns, whether it is historical or current, and the update frequency. This is inadequate for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema provides no constraints. The baseline for 0 parameters is 4, and the description does not need to explain parameters. No value is lost here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '建材指数' (Building Materials Index) and a source URL, which conveys the resource, but lacks a specific verb like 'returns' or 'fetches'. It is essentially the title repeated, providing no scope details (e.g., historical vs. current data). This does not distinguish it from similar macro indices like macro_china_energy_index or macro_china_construction_price_index.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of use cases, prerequisites, or exclusions. The only implicit signal is the name itself, which is already available to the agent without reading the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_construction_price_indexBRead-onlyIdempotent
建材价格指数 https://data.eastmoney.com/cjsj/hyzs_list_EMI00237146.html :return: 建材价格指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safe read-only nature is established. The description adds the source URL and return type (pandas.DataFrame), which is useful context, but it does not disclose data update frequency, date range, or any quirks. Given the annotation coverage, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very compact: three lines containing the title, a source URL, and return type. It is appropriately concise for a no-parameter retrieval tool, with no wasted words. It reads like a stub rather than a polished description, but the brevity is suitable for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter tool with no output schema, the description gives the essential 'what' (construction materials price index) and 'where' (East Money URL), but it does not describe the returned DataFrame columns (e.g., date, value). Since there is no output schema, the description carries the burden of explaining return values, and it falls short of being fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is 100% (trivially). There is nothing for the description to explain regarding parameter meaning, and the baseline for 0 parameters is 4. The description correctly does not attempt to add parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource as '建材价格指数' (construction materials price index) and indicates a pandas DataFrame return type, which clearly identifies what the tool provides. It avoids being a pure tautology by adding the data source URL and the return type, but it lacks an explicit verb like 'get' or 'retrieve' and does not explicitly distinguish itself from the closely named sibling macro_china_construction_index.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus the many other macro_china_* index tools (e.g., macro_china_construction_index, macro_china_commodity_price_index). There is no mention of alternatives, prerequisites, or suitable scenarios, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_consumer_goods_retailARead-onlyIdempotent
东方财富-经济数据-社会消费品零售总额 https://data.eastmoney.com/cjsj/xfp.html :return: 社会消费品零售总额 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive, covering safety. The description adds the data source URL and the return type (pandas.DataFrame), which is useful context. However, it does not describe the structure of the returned data, frequency, or any potential edge cases, so it only partially goes beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a title, a source URL, and a return type declaration. Every line provides relevant information with no fluff. It is front-loaded with the data name and source.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (zero parameters, read-only, no output schema), the description provides adequate information: it identifies the data, the source, and the return type. However, it does not specify whether the DataFrame contains historical time series, what columns are included, or the data frequency, which could leave some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100% (empty schema), so there are no parameter semantics to explain. Per the rubric, a zero-parameter tool receives a baseline score of 4. The description correctly omits parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing China's total retail sales of consumer goods data from East Money (东方财富). The name itself is highly descriptive, and the return type (pandas.DataFrame) confirms it retrieves data. However, it lacks an explicit verb like 'get' or 'fetch' and does not explicitly differentiate from other macro_china_* tools beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus other macroeconomic data tools. It simply states the data source and return type. There is no mention of use cases, exclusions, or alternative tools, leaving the agent to infer from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_cpiCRead-onlyIdempotent
东方财富-中国居民消费价格指数 https://data.eastmoney.com/cjsj/cpi.html :return: 东方财富-中国居民消费价格指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which cover safety. The description adds only a source URL and return type (DataFrame), but does not disclose what the CPI data looks like (e.g., time series, columns, frequency) or any other behavior. This is minimal added value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but the ':return:' line just repeats the title, adding redundancy. The source URL is useful, but the overall structure is loose and could be condensed into a single meaningful sentence. It lacks a clear, front-loaded explanation of the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description should at least explain the nature of the returned CPI data. It only says 'China CPI' and a DataFrame, without specifying time period, frequency, columns, or data source details beyond the URL. This is insufficient for a user to understand what will be returned, making the tool underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema has no properties, so schema coverage is 100%. With no parameters to document, the description does not need to compensate; the baseline for zero parameters is 4. The description confirms it expects no input, aligning with the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool provides China's Consumer Price Index (CPI) data from East Money, including a source URL. The verb is implied rather than explicit, and the tool name 'macro_china_cpi' plus the Chinese title unambiguously identify the resource. However, it does not differentiate from siblings like macro_china_cpi_monthly or macro_china_cpi_yearly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description does not mention the distinction between monthly, yearly, or overall CPI tools, nor any context for selecting this one. It simply states the title and source, leaving the agent without decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_cpi_monthlyBRead-onlyIdempotent
中国月度 CPI 数据,数据区间从 19960201-至今 https://datacenter.jin10.com/reportType/dc_chinese_cpi_mom :return: 中国月度 CPI 数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered elsewhere. The description adds genuine value by disclosing the historical coverage window (since 1996-02-01) and the upstream source, but says nothing about update cadence, lag, or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is short and front-loads the resource definition, coverage window, and source URL. The trailing ':return:' and ':rtype: pandas.DataFrame' docstring fragments are mild clutter since no output schema exists, but they do communicate the return type efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only macro series whose annotations already carry the safety profile, the description supplies the two things an agent actually needs: what the series is and how far back it goes. No output schema exists, so noting the pandas.DataFrame return is a reasonable substitute.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description correctly implies no inputs are required; nothing further is needed on this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and frequency ('中国月度 CPI 数据' – China monthly CPI data) with a concrete coverage window (19960201–present), which distinguishes it from macro_china_cpi_yearly by frequency. However it never explicitly states the monthly/yearly relationship to those siblings, so the differentiation must be inferred from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-selection guidance. The agent gets no signal about preferring this over macro_china_cpi_yearly or macro_china_cpi, beyond guessing from the frequency word embedded in the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_cpi_yearlyBRead-onlyIdempotent
中国年度 CPI 数据,数据区间从 19860201-至今 https://datacenter.jin10.com/reportType/dc_chinese_cpi_yoy :return: 中国年度 CPI 数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful non-annotation context (the 1986-02-01 start date and the upstream source), and the :rtype: pandas.DataFrame tells the agent the return shape. It does not describe the columns returned or any rate/refresh behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening line is front-loaded and useful, but the trailing reST boilerplate (:return: 中国年度 CPI 数据, :rtype: pandas.DataFrame) largely restates the first line, with the only new information being the DataFrame return type. Compact overall but partly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless macro-data fetcher with no output schema, the description supplies the coverage window, source, and return type, which is close to sufficient. It still omits the returned columns/fields and units, which an agent would need to interpret CPI values correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. No parameter meaning is required beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: China (中国) yearly (年度) CPI data spanning 19860201 to present, with a source URL. The word 年度 implicitly distinguishes it from the sibling macro_china_cpi_monthly, but no sibling is named explicitly, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as macro_china_cpi_monthly or macro_china_cpi. The only contextual clue is the historical range starting in 1986, which hints at long-horizon annual series but does not route the agent explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_cx_pmi_yearlyBRead-onlyIdempotent
中国年度财新 PMI 数据,数据区间从 20120120-至今 https://datacenter.jin10.com/reportType/dc_chinese_caixin_manufacturing_pmi :return: 中国年度财新 PMI 数据 :return: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, covering the safety profile. The description adds the historical coverage window and the upstream data source, plus the return type (pandas.DataFrame), which is modest but genuine added context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the dataset and date range, which is the essential information. The final ':return:' line restates the purpose verbatim and is pure redundancy, and the raw URL is arguably metadata rather than description text, but it is short overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument, read-only time-series endpoint whose annotations already carry the safety profile, the description supplies the two things an agent needs to call it correctly: what the data is and how far back it goes. It is not quite complete because return shape and update cadence are left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify and the baseline is 4. No parameter semantics are missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (China Caixin PMI data) plus a temporal scope (20120120–present) and a source URL, so the agent knows exactly what dataset it gets. However, it does not disambiguate from the sibling macro_china_cx_services_pmi_yearly: the name implies manufacturing but the description never says so, leaving some sibling ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternatives are named, even though the sibling list contains several closely related PMI tools (yearly, services, non-manufacturing). The agent must infer applicability from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_cx_services_pmi_yearlyBRead-onlyIdempotent
中国财新服务业PMI报告,数据区间从 20120405-至今 https://datacenter.jin10.com/reportType/dc_chinese_caixin_services_pmi https://cdn.jin10.com/dc/reports/dc_chinese_caixin_services_pmi_all.js?v=1578818109 :return: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply the full safety profile (readOnlyHint, idempotentHint, openWorldHint, destructiveHint=false), so the description need not restate those. It adds the historical coverage start date and the upstream source URLs, which is genuinely useful provenance. It does not describe return shape beyond ':return: pandas.DataFrame', pagination, or update cadence, so it is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The resource name and date range are sensibly front-loaded, but two raw CDN/JS URLs and a bare ':return:' annotation add clutter that a reader must parse. It is short overall, yet not every element earns its place in a description intended for tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter retrieval tool with annotations covering the safety profile and no output schema, the essentials are present. But the description never clarifies the reporting frequency implied by the 'yearly' suffix in the name, nor the granularity of the returned DataFrame, leaving an ambiguity an agent might care about.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the documented baseline of 4. There is no parameter syntax to explain, so the description cannot and need not add parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource: the Caixin (财新) China Services PMI report, with a concrete data range (20120405 to present). An agent can identify it as a macroeconomic data retrieval tool. However, it offers no differentiation from near-identical siblings such as macro_china_cx_pmi_yearly (composite) or macro_china_pmi_yearly (official PMI), so the agent must infer the distinction from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no exclusions, and no named alternatives, despite a very crowded sibling set of PMI and macro-China tools. The agent is left to infer usage purely from the name and report title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_czsrCRead-onlyIdempotent
东方财富-财政收入 https://data.eastmoney.com/cjsj/czsr.html :return: 东方财富-财政收入 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds the source URL and return type but no extra behavioral traits like date ranges, refresh behavior, or data granularity. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only a few short lines, but it reads like a fragmented docstring rather than a structured description. It includes the URL and return type in a non-sentential format, and while it is not verbose, it lacks a clear lead sentence that would make it easier to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should compensate by explaining what the returned DataFrame contains (e.g., time series columns, date, revenue amount). It only says '财政收入' and return type, leaving the data structure and frequency unclear, which is insufficient for an AI agent to understand the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema already fully documents the absence of arguments. The description adds nothing beyond the schema, but with no parameters, there is nothing to explain; baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description provides the tool's Chinese label '东方财富-财政收入' (Eastmoney - Fiscal Revenue) and a source URL, which identifies the resource but lacks an explicit verb like 'retrieves'. It distinguishes itself from sibling macro tools by being specifically about fiscal revenue, but the action is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, no typical use cases, and no context on how fiscal revenue data is typically accessed. The description is just a data source reference with no practical usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_daily_energyBRead-onlyIdempotent
中国日度沿海六大电库存数据,数据区间从20160101-至今 https://datacenter.jin10.com/reportType/dc_qihuo_energy_report :return: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the temporal coverage (2016-01-01 to present) and return type (pandas.DataFrame), which is useful context beyond annotations. However, it does not disclose rate limits, authentication needs, or update frequency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core subject (the data content) before the URL and return type. It is efficient, though the return type annotation could be considered slightly redundant with the structured schema context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description provides adequate context: the data source, temporal coverage, and return type. It could be more complete by describing the columns or update frequency, but it is sufficient for an agent to understand what the tool returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so the baseline score is 4. The description does not need to explain parameter semantics, and it correctly provides no parameter-related information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: daily coastal six major power plant inventory data for China, with the date range and source URL. It is specific enough to distinguish from other macro_china tools, though it lacks an explicit verb like 'fetch' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. There is no mention of exclusions, prerequisites, or how it relates to sibling data sources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_energy_indexCRead-onlyIdempotent
能源指数 https://data.eastmoney.com/cjsj/hyzs_list_EMI00662539.html :return: 能源指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive, so the description does not need to repeat those. However, the description adds minimal context: a source URL and return type. It fails to disclose anything about the data content, periodicity, or potential quirks. The description is too sparse to be genuinely transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and not verbose, which is positive. However, it is under-specified to the point of being a stub. It front-loads the title and a URL, but the content is too thin to be considered well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what the returned DataFrame contains. It only says 'energy index' without specifying columns, time range, or meaning. The URL is a hint but not an explanation. The overall context is insufficient for an agent to understand the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline for this dimension is 4. The description does not need to explain parameters, and it already specifies the return type as pandas.DataFrame, offering slight value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a tautology: '能源指数' (energy index) matches the tool name and provides no verb or action. It gives a source URL and return type, but does not clearly state what the tool does with the data, such as retrieving or listing energy index data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool compared to alternatives. It does not mention any similar tools, prerequisites, or specific scenarios. The lack of any usage context leaves the agent without direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_enterprise_boom_indexBRead-onlyIdempotent
https://data.eastmoney.com/cjsj/qyjqzs.html 中国-企业景气及企业家信心指数 :return: 企业景气及企业家信心指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and a return type, but does not disclose additional behavioral traits such as data frequency, range, or whether it scrapes dynamically. With annotations present, the minimal extra context is acceptable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, containing only a URL, a Chinese title, and a return type annotation. It is front-loaded with the source URL and title, and each element serves a purpose. It is appropriately sized for a no-parameter data retrieval tool, though it could benefit from a small amount of explanatory prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description names the specific economic index and identifies the source URL, which helps an agent understand what data is returned. However, there is no output schema and the description does not describe the DataFrame's columns, frequency, or historical coverage. Given the large number of sibling tools, a bit more detail would help disambiguate, but the core purpose is reasonably covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is trivially complete with 100% coverage. Per the baseline for 0 params, the description need not explain parameter semantics. The absence of parameters is fully clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source via URL and gives a clear Chinese title '中国-企业景气及企业家信心指数' (China Enterprise Prosperity and Entrepreneur Confidence Index), which specifies the content. The return type pandas.DataFrame confirms it is a data retrieval function. However, there is no explicit verb like 'get' or 'fetch', though the title makes the purpose sufficiently clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool instead of the many other macro_china_* tools. There are no alternatives mentioned, no context for use cases, and no exclusions. An agent is left to infer the tool's niche solely from the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_exports_yoyBRead-onlyIdempotent
中国以美元计算出口年率报告,数据区间从 19820201-至今 https://datacenter.jin10.com/reportType/dc_chinese_exports_yoy :return: 中国以美元计算出口年率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is fully covered. The description adds useful behavioral context with the historical coverage window (1982-02-01 to present) and the upstream source URL, but says nothing about frequency or update behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence and data range are front-loaded and efficient, but the ':return:' and ':rtype:' lines largely restate the opening sentence, adding redundancy rather than information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-argument historical report this is adequate: coverage window and source are given, and the return type (pandas.DataFrame) is stated. However, with no output schema, the description still leaves the DataFrame's columns and structure unexplained, which would help an agent interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero input parameters with 100% schema coverage, so the baseline of 4 applies; there are no parameters requiring semantic explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and measurement (China exports YoY in USD), so an agent knows exactly what data is returned. It does not, however, distinguish itself from adjacent siblings such as macro_china_imports_yoy or macro_china_trade_balance, so the differentiation requires the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains no when-to-use indication, no prerequisites, and does not name or reference any alternative tool. The agent must infer usage purely from the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_fdiBRead-onlyIdempotent
东方财富-经济数据一览-中国-外商直接投资数据 https://data.eastmoney.com/cjsj/fdi.html :return: 外商直接投资数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and the source URL, but these are minor additions. It does not disclose other behavioral traits like the data range, granularity, or any potential quirks, but given the annotations, the lack of such detail is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and to the point, consisting of a source name, URL, and return type annotations. It does not waste words, though the docstring-style ':return:' and ':rtype:' are a bit awkward. Still, it is appropriately sized for a simple tool with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description states the tool returns '外商直接投资数据' (FDI data) as a pandas DataFrame, but it does not specify the data's structure, time coverage, or units. This might be acceptable for a zero-parameter tool that returns all available data, but without an output schema, more context would help an agent understand what the returned DataFrame contains. Still, the name and source URL provide reasonable context for a macro data lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description is not responsible for explaining parameter semantics. The baseline for 0 params is 4, and the description does not need to add anything beyond what the schema already shows (empty object). It correctly implies a no-argument data retrieval operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning China's foreign direct investment data from East Money ('东方财富-经济数据一览-中国-外商直接投资数据'), and the name macro_china_fdi matches. It lacks an explicit verb like 'fetch' or 'get', but the resource and scope are unambiguous. It does not explicitly differentiate from sibling macro tools, but the specific FDI indicator is clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. While the name implies it is for China FDI data, there is no explicit context such as 'Use this when you need...' or any mention of how it differs from other macro_china_* siblings. The usage context is only implied by the resource name, which is weak guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_foreign_exchange_goldBRead-onlyIdempotent
央行黄金和外汇储备 https://finance.sina.com.cn/mac/#fininfo-5-0-31-2 :return: 央行黄金和外汇储备 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this as read-only, idempotent, and non-destructive. The description adds minimal behavioral context beyond a source URL and return type; it does not disclose data granularity, time range, or other traits. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and to the point, with no redundant language. It includes the title, source URL, and return type in a compact format, but it is perhaps too sparse to be considered well-rounded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for a tool with no output schema. It does not describe the columns of the DataFrame, the frequency of data, or the time period covered. The agent only knows the return type and the general topic, which is insufficient for fully understanding the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing to explain. The baseline of 4 applies, and the description does not need to compensate for parameter ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (central bank gold and foreign exchange reserves) and states the return type, making it clear the tool returns this data. However, it lacks a specific verb like 'get' or 'fetch', and it doesn't explicitly differentiate from sibling macro tools beyond naming the resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no mention of context, and no exclusions or alternatives listed. The description only provides a data source URL and return type, offering no decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_freight_indexBRead-onlyIdempotent
新浪财经-中国宏观经济数据-航贸运价指数 https://finance.sina.com.cn/mac/#industry-22-0-31-2 :return: 航贸运价指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety is covered. The description adds only the source URL and return type, but no additional behavioral context such as network dependencies, data freshness, or output structure. It does not contradict annotations, but also does not add meaningful behavioral insight beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally brief, composed of a title, URL, and return type statement. It is front-loaded with the resource identity and contains no filler. While sparse, it is appropriately concise for a tool with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and annotations cover its safety profile, the description is minimally complete. It states the return type (pandas.DataFrame) and the value (航贸运价指数), but does not describe the data's time range, column structure, or any caveats about usage or availability. For a data retrieval tool, this is adequate but leaves some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the description cannot add parameter meaning. Schema coverage is 100% (empty schema), and the description correctly implies no input is required. Per rubric, a 0-param tool receives a baseline score of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as the Sina Finance China macro freight index (航贸运价指数) and states the return type. It is distinguishable from sibling tools by the specific index name, but lacks an explicit verb like 'fetches' or 'returns' to fully articulate the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternative macro indicators or freight-related tools. It does not mention any context, prerequisites, or exclusions, leaving the agent without information to differentiate its use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_fx_goldCRead-onlyIdempotent
东方财富-外汇和黄金储备 https://data.eastmoney.com/cjsj/hjwh.html :return: 外汇和黄金储备 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description only adds the return type (pandas.DataFrame) and a source URL, without additional behavioral context such as data scope, update frequency, or potential quirks. It does not contradict annotations but adds minimal value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and front-loaded with the data source and subject. It includes a URL and return type in a concise docstring format. It could be slightly improved with a proper sentence, but it avoids unnecessary verbosity and earns a high score for economy of words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description must explain what the returned DataFrame contains. It only says 'foreign exchange and gold reserves' without specifying columns, granularity, time range, or whether it returns historical or current data. This is insufficient for an agent to have confidence in what it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is trivially 100%. The description correctly notes the return type, which is the only meaningful semantic information a parameterless retrieval tool needs to convey. No parameter explanation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description provides the source (East Money) and subject matter (foreign exchange and gold reserves), but it lacks a clear verb indicating the action (e.g., 'get', 'retrieve', 'fetch'). It reads more like a title than an instruction, and it does not differentiate from similar sibling tools like macro_china_foreign_exchange_gold or macro_china_fx_reserves_yearly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention any conditions, prerequisites, or comparisons to other macro tools, leaving the agent without a rationale for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_fx_reserves_yearlyARead-onlyIdempotent
中国年度外汇储备数据,数据区间从 20140115-至今 https://datacenter.jin10.com/reportType/dc_chinese_fx_reserves :return: 中国年度外汇储备数据 :return: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds the concrete date range and return type ('pandas.DataFrame'), which are useful behavioral details not found in the annotations. It does not contradict any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core dataset name and date range. The repeated ':return:' lines are slightly redundant, but the overall structure is efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless retrieval tool with no output schema and complete annotation coverage, the description supplies the data range, source URL, and return type. It is nearly complete, though it could mention update frequency or data granularity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to document. The description correctly does not invent parameter details, and the baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource ('中国年度外汇储备数据') and its temporal coverage ('20140115-至今'). It is clearly distinguishable from sibling macro tools such as macro_china_fx_gold or macro_china_foreign_exchange_gold, though it does not explicitly state a verb like 'fetch' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives the data range but no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or related sibling tools, leaving usage entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_gdpBRead-onlyIdempotent
东方财富-中国国内生产总值 https://data.eastmoney.com/cjsj/gdp.html :return: 东方财富中国国内生产总值 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the data source URL and return type, which is some context, but it does not disclose what the DataFrame contains, time range, or frequency. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and structured, but it contains redundancy: the title is repeated verbatim in the :return: line. The URL is useful, but the docstring could be more concise without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a data retrieval tool with no output schema, so the description should explain what the returned DataFrame contains. It only says 'China GDP' and 'DataFrame' without specifying frequency, columns, units, or historical coverage. Given the sibling macro_china_gdp_yearly, the description also fails to clarify how this tool differs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so the baseline is 4. The description provides the return type (pandas.DataFrame), which is the only relevant semantic detail. No parameter documentation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (China GDP) and source (East Money), and specifies it returns a pandas DataFrame. It lacks an explicit verb, but the name and title together make the purpose unambiguous. It does not differentiate from the sibling macro_china_gdp_yearly beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as macro_china_gdp_yearly. There is no mention of use cases, prerequisites, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_gdp_yearlyBRead-onlyIdempotent
金十数据中心-中国 GDP 年率报告,数据区间从 20110120-至今 https://datacenter.jin10.com/reportType/dc_chinese_gdp_yoy :return: 中国 GDP 年率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered. The description adds useful behavioral context – the historical coverage start date and that the return is a pandas.DataFrame – but nothing about freshness, update cadence, or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and short, with the key scope (China GDP yearly, date range) leading. The raw Sphinx-style ':return:'/':rtype:' markers and URL are slightly noisy but not wasteful for a data-fetch tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only data retrieval endpoint with full annotation coverage, the description supplies what an agent needs: the resource, the historical range, and the return type. No output schema exists, so the stated DataFrame return is helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource – China GDP yearly rate report from 金十数据中心 – with a source URL. It is distinguishable from quarterly/other-country GDP siblings by the '年率' qualifier, though it does not explicitly name the alternatives it is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use or when-not-to-use guidance and names no alternative sibling. It only states the data coverage window (20110120 onwards), which is context rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_gdzctzBRead-onlyIdempotent
东方财富-中国城镇固定资产投资 https://data.eastmoney.com/cjsj/gdzctz.html :return: 东方财富中国城镇固定资产投资 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered. The description's only added behavioral fact is the rtype pandas.DataFrame, which tells the agent the return shape; it does not disclose data frequency, update cadence, or history span. With annotations carrying the main burden, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but poorly structured: the resource name is stated twice (title line and :return: line) and the URL and rtype are dumped without front-loading any actionable framing. It is efficient in length but redundant in content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter macro-indicator fetch with no output schema, the description plus annotations give enough to invoke it: what it returns (a DataFrame of China urban fixed asset investment) and that it is a safe read. The rtype substitutes for an output schema. Only the lack of data frequency/coverage detail keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate beyond what the empty schema already implies. Baseline 4 applies for parameterless tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource, China urban fixed asset investment from East Money, and provides a source URL, so an agent can tell what data it returns. However, it contains no verb and it essentially restates the tool name/title rather than describing the retrieval action, and it does nothing to distinguish this indicator from the many sibling macro_china_* indicators (e.g. macro_china_real_estate, macro_china_construction_index). Purpose is inferable but vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternative or related indicators among the numerous siblings. The agent is left to infer entirely from the name that this fetches this one specific indicator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_gyzjzBRead-onlyIdempotent
东方财富网-经济数据-工业增加值增长 https://data.eastmoney.com/cjsj/gyzjz.html :return: 工业增加值增长 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds the source URL and return type (pandas.DataFrame), which is helpful but does not disclose additional behavioral details such as data granularity, update frequency, or potential network dependency. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of a title line, a URL, and a return type. It is easy to scan and contains no unnecessary filler. However, the title is redundant with the description, and the lack of any usage context slightly reduces its structural polish.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with no parameters, the description provides core information: what data it returns and from where. However, it does not specify the format or columns of the DataFrame, the time range covered, or how the data is organized. The annotations cover the read-only nature, but the description only minimally fills in the data semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is no need for parameter explanations. The baseline for zero-parameter tools is 4, and the description does not need to compensate for any missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as providing industrial value-added growth (工业增加值增长) from Eastmoney's economic data section, with a source URL. It clearly distinguishes itself from sibling macro_china_* tools by naming the specific indicator. However, it lacks an explicit action verb like 'fetch' or 'retrieve', relying on the return type to imply the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus the many other macro_china_* siblings. The description only lists the source URL and return type without any context about typical use cases, data frequency, or when an alternative would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_hgjckBRead-onlyIdempotent
东方财富-海关进出口增减情况一览表 https://data.eastmoney.com/cjsj/hgjck.html :return: 东方财富-海关进出口增减情况一览表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds the source URL and return type but provides no additional behavioral context such as data structure, time range, or limitations, which is acceptable given the simple read-only nature but adds limited value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and structured with labels, front-loading the key resource information. It repeats the Chinese title in the :return: field, which is slightly redundant, but overall it is minimal and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only tool, the description covers the source and return type. However, it lacks details about the DataFrame columns, data period, or any qualifiers, which would help an agent understand the exact output and how to interpret it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so parameter semantics are trivially satisfied. The description does not need to compensate for missing parameter details, meeting the baseline of 4 for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as the Eastmoney customs import/export increase/decrease list and provides the source URL and return type (pandas.DataFrame). While it lacks an explicit verb like 'fetch', the meaning is unambiguous and the tool is distinguished from other macro_china_* siblings by its specific data content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. It only states the data source and return type, with no mention of exclusions or alternative tools, leaving the agent to infer usage solely from the resource description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_hk_building_amountBRead-onlyIdempotent
东方财富-经济数据一览-中国香港-香港楼宇买卖合约成交金额 https://data.eastmoney.com/cjsj/foreign_8_6.html :return: 香港楼宇买卖合约成交金额 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds that the return is a pandas.DataFrame and provides a source URL, which is some useful context. However, it does not disclose details like data frequency, date range, or column structure, so it remains at a baseline level.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but somewhat redundant: the title is repeated in the annotation, and the ':return:' line essentially restates the title. The URL is useful but the structure is not optimized. It is not as lean as a two-sentence description that adds distinct value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters, but there is no output schema. The description only gives a generic label and return type, without explaining what columns, time periods, units, or ranges are included. This is insufficient for an agent to understand what data will be returned and how it might be used.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty. With no parameters to document, a baseline of 4 applies. The description does not need to explain parameter semantics because there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the specific resource: Hong Kong building sale contract transaction amounts from East Money, with a source URL. It implies retrieval and the return type is stated as pandas.DataFrame. While there is no explicit verb like 'get' or 'fetch', the resource and scope are clear, and the name distinguishes it from the sibling macro_china_hk_building_volume.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or context in which this data would be preferable. The description is purely declarative and leaves the agent to infer usage from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_hk_building_volumeBRead-onlyIdempotent
东方财富-经济数据一览-中国香港-香港楼宇买卖合约数量 https://data.eastmoney.com/cjsj/foreign_8_5.html :return: 香港楼宇买卖合约数量 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that the return type is pandas.DataFrame and the data comes from East Money, but it does not disclose additional behavioral traits such as data frequency, historical depth, or potential delays, which would be useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, containing only the title, source URL, and return type in a few lines. It is appropriately sized for a no-parameter tool, though the inline URL adds minor clutter. The essential information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no parameters, the description tells the user what is returned but misses helpful context such as the data's time coverage, units, or whether it is monthly/annual. The annotations and simple nature of the tool lower the burden, but the description could still be more informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter semantics, and the empty schema is fully documented. No omissions are present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 香港楼宇买卖合约数量 (Hong Kong building sale/purchase contract volume) as a pandas DataFrame, with a source URL. It is specific about the resource but does not explicitly distinguish itself from the similar sibling macro_china_hk_building_amount, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like macro_china_hk_building_amount or other macro China-HK indicators. The description only states the data source and return type, with no context on expected use cases or criteria for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_hk_cpiARead-onlyIdempotent
东方财富-经济数据一览-中国香港-消费者物价指数 https://data.eastmoney.com/cjsj/foreign_8_0.html :return: 消费者物价指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds that the return type is a pandas.DataFrame and includes the source URL, but it does not disclose details such as the date range, column structure, or whether the data is seasonally adjusted. For a simple read-only retrieval tool, this is minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and to the point, containing the resource name, a supporting URL, and return type. However, the first line is redundant with the title (already provided in annotations), and the URL occupies a line that could have been used for more relevant behavioral details. Still, it is concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter macro data retrieval tool, the description covers the basic purpose and return type, but it lacks detail about the DataFrame contents (e.g., columns, periodicity, units). An agent might not know whether this provides monthly or annual CPI, or if it includes multiple series. Given the lack of an output schema, the description should provide more context to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline score is 4. The description does not need to explain any parameters because there are none. Schema coverage is trivially 100%, and the empty schema requires no further elaboration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this tool returns the Consumer Price Index for Hong Kong from Eastmoney. The specific resource (中国香港-消费者物价指数) and URL provide unambiguous scope. It also includes a return type (pandas.DataFrame), reinforcing the purpose of data retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternative macro indicators or sibling tools like macro_china_hk_cpi_ratio or macro_china_cpi. No context is provided about the data frequency (monthly/yearly) or specific use cases. The description only names the resource without any selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_hk_cpi_ratioARead-onlyIdempotent
东方财富-经济数据一览-中国香港-消费者物价指数年率 https://data.eastmoney.com/cjsj/foreign_8_1.html :return: 消费者物价指数年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which covers the safety profile. The description adds the return type (pandas.DataFrame) and the metric, but does not disclose additional behavioral traits such as data range, update frequency, or potential missing values. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the most critical information: the source, the specific data indicator, the URL, and the return type. Every sentence is informational and not redundant. It appropriately uses a structured docstring format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only data fetch, the description is reasonably complete: it names the data source, the metric, and the return type. However, with no output schema, it does not describe the columns or time-frequency of the DataFrame, which would be useful for an agent expecting a specific structure. Given the simplicity, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameter semantics. The schema confirms no required inputs, and the description correctly implies a no-argument call. Baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as 东方财富-经济数据一览-中国香港-消费者物价指数年率 (Eastmoney Economic Data Overview - Hong Kong - CPI YoY). It specifies the exact data item and source URL. The name and description together distinguish it from other HK macro tools by explicitly stating the year-on-year ratio.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not mention when to use this tool versus alternatives such as macro_china_hk_cpi or other HK economic indicators. There is no explicit context for selection, only an implicit 'this is what it provides'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_hk_gbpARead-onlyIdempotent
东方财富-经济数据一览-中国香港-香港 GDP https://data.eastmoney.com/cjsj/foreign_8_3.html :return: 香港 GDP :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds behavioral context by specifying the return type (pandas.DataFrame) and providing the source URL, which helps set expectations for the data format and origin. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (four lines), but the first line exactly repeats the title provided in annotations, and the ':return:' line repeats '香港 GDP'. The URL is useful, and the docstring format with return type is clear. Slight redundancy prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, zero-parameter, read-only tool, the description is largely sufficient. It identifies the data, the source URL, and the return type. It does not describe the columns or time range of the returned DataFrame, but given no output schema and the simplicity of the data, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameters, and the schema's empty properties are sufficient. The description's mention of '香港 GDP' reinforces the output but does not add parameter-related semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source (East Money) and the specific economic indicator (Hong Kong GDP), with a URL and return type. However, it lacks an explicit verb like 'retrieve' or 'list', making it more of a title than a functional description. It does not explicitly distinguish from sibling tools like macro_china_hk_gbp_ratio, though the GDP focus is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description does not mention any conditions, prerequisites, or exclusions. Given the large number of sibling macro tools, this absence of usage context is a notable gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_hk_gbp_ratioBRead-onlyIdempotent
东方财富-经济数据一览-中国香港-香港 GDP 同比 https://data.eastmoney.com/cjsj/foreign_8_4.html :return: 香港 GDP 同比 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well covered. The description adds a useful detail by specifying the return type as pandas.DataFrame and provides the data source URL, but it does not go beyond that to describe data granularity, update frequency, or any other behavioral nuances.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, with three concise parts: the title, the source URL, and the return type. It avoids unnecessary verbosity, though the first line merely echoes the title, which is slightly redundant. Overall, it is efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no parameters and no output schema, the description provides the essential facts: what data it returns (Hong Kong GDP YoY) and the return format (pandas DataFrame). However, it is minimal—no explanation of the data's columns, the time series nature, or any limitations, which may leave an agent uncertain about the exact structure of the returned data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is an empty object. According to the baseline for zero parameters, the description does not need to add parameter-level detail, and it correctly omits any. The lack of parameters is clearly communicated through the schema, and the description does not introduce any confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving Hong Kong GDP year-over-year data from East Money, and the return type is specified as a pandas DataFrame. However, it lacks an explicit verb like 'fetch' or 'return'—the description is largely a restatement of the title, which itself already provides the same information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no description of ideal use cases, and no mention of prerequisites or exclusions. Sibling tools like macro_china_hk_gbp or macro_china_hk_cpi_ratio are not referenced, leaving the agent without any context for selecting this specific tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_hk_market_infoBRead-onlyIdempotent
香港同业拆借报告,数据区间从 20170320-至今 https://datacenter.jin10.com/reportType/dc_hk_market_info https://cdn.jin10.com/dc/reports/dc_hk_market_info_all.js?v=1578755471 :return: 香港同业拆借报告-今值(%) :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld behaviour, so safety is covered. The description adds the underlying data source URLs and the return type, which is genuinely useful context, but says nothing about refresh cadence or column contents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded, leading with the dataset and its coverage. The two raw URLs add clutter but serve as the authoritative data source, and the docstring-style :return:/:rtype: is compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-param, fixed-report tool with no output schema the description is mostly adequate, giving the source and return type. However a multi-field Hong Kong interbank report likely returns many columns, and the description only names 今值(%) rather than describing the DataFrame contents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to document; a baseline 4 applies. The description correctly reflects this no-argument design.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Identifies the resource precisely as the Hong Kong interbank lending report with an explicit date coverage (20170320-present), so an agent understands what dataset it returns. It does not name a verb or differentiate itself from near siblings like macro_china_shibor_all or rate_interbank, but the resource scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides the effective date range as a scoping hint but gives no when-to-use guidance and never names an alternative sibling. The agent must infer from the name alone whether this or a related interbank tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_hk_ppiARead-onlyIdempotent
东方财富-经济数据一览-中国香港-香港制造业 PPI 年率 https://data.eastmoney.com/cjsj/foreign_8_8.html :return: 香港制造业 PPI 年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior, so the description need not repeat that. The description adds the data source URL and the return type (pandas DataFrame), providing some context beyond the annotations, but it does not detail data granularity, date ranges, or update frequency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief and includes essential elements: source, indicator, and return type. It is appropriately sized, though the structure is somewhat fragmented as a title-like fragment rather than a full descriptive sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description explains the return value as a DataFrame of the HK manufacturing PPI YoY. However, it omits useful details such as the time range, frequency, or columns of the returned data, which could be important for correct interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty input schema, so the baseline for this dimension is 4. The description does not need to clarify parameter semantics, and none are missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns Hong Kong Manufacturing PPI year-over-year data from East Money, including a specific source URL and return type. It distinguishes this tool from sibling macro indicators by naming the exact metric and region.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as other macro_china indicators. It does not mention exclusions, alternatives, or contextual use cases, leaving the agent to infer its applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_hk_rate_of_unemploymentARead-onlyIdempotent
东方财富-经济数据一览-中国香港-失业率 https://data.eastmoney.com/cjsj/foreign_8_2.html :return: 失业率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior, so the description doesn't need to repeat that. It adds concrete details: the data source URL and output as a pandas.DataFrame. However, it does not disclose any additional behavioral traits like update frequency, data granularity, or error scenarios.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely compact, containing only the essential components: data source, URL, return content, and return type. There is no redundant text or filler, and all lines contribute value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-argument, read-only tool with annotations and no output schema, the description provides enough information to select and invoke it correctly. It states the source, content, and output type. It lacks details on the DataFrame structure (columns, time range), but this is not critical for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty input schema, so the description is not required to explain parameters. The baseline score for 0-parameter tools is 4, and the description does not introduce any ambiguity or missing parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Hong Kong unemployment rate) and source (Eastmoney official data), and explicitly states the return type (pandas.DataFrame) and content (失业率). It distinguishes this tool from sibling macro tools by naming the specific region and indicator, though it lacks an explicit action verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., other Hong Kong macro indicators like CPI or PPI). There are no prerequisites or context hints about suitability for specific queries. Usage is only implied by the tool name and data description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_hk_trade_diff_ratioBRead-onlyIdempotent
东方财富-经济数据一览-中国香港-香港商品贸易差额年率 https://data.eastmoney.com/cjsj/foreign_8_7.html :return: 香港商品贸易差额年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds the return type (pandas.DataFrame) and source URL but no additional behavioral context like update frequency or data limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with three lines including the title, URL, and return type. There is no redundant verbiage, though the title is repeated from the annotation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, parameterless economic indicator tool, the description provides the essential information: source, indicator name, and return type. However, it omits details like time range or update schedule, which would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, and the schema has no properties. The description does not need to explain parameters since there are none, and the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data resource as '香港商品贸易差额年率' (Hong Kong merchandise trade balance annual rate) from East Money, with a source URL. It clearly indicates the tool returns this economic indicator as a pandas DataFrame, distinguishing it from other macro_hk_* tools by specifying the exact metric.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description does not mention any conditions, prerequisites, or comparisons to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_imports_yoyCRead-onlyIdempotent
中国以美元计算进口年率报告,数据区间从 19960201-至今 https://datacenter.jin10.com/reportType/dc_chinese_imports_yoy https://cdn.jin10.com/dc/reports/dc_chinese_imports_yoy_all.js?v=1578754588 :return: 中国以美元计算进口年率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds the historical coverage window (19960201 to present), which is genuinely useful behavioral context, but it does not describe return shape, update cadence, or data source reliability beyond raw URLs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two raw URLs and a repeated ':return:' line that simply restates the resource name pad the description without adding decision-relevant information. The signal (resources + coverage window) is there but buried under non-functional noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only report tool with annotations covering safety and no output schema, the description plus annotations are minimally sufficient. However, it says nothing about the return columns or units beyond 'imports YoY in USD', leaving the agent to guess what the DataFrame contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case. The description implicitly confirms there is nothing to configure by presenting the tool as a fixed report, consistent with the empty schema and required=0.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (China's imports YoY report in USD) and the date range, which identifies the tool. But with dozens of near-identical macro_china_* siblings (exports_yoy, cpi_yearly, ppi_yearly, etc.), it offers no explicit differentiation beyond the resource name itself, so an agent must infer from the name rather than the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many adjacent macro siblings such as macro_china_exports_yoy or macro_china_trade_balance. The only contextual cue is the embedded data range and URLs, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_industrial_production_yoyBRead-onlyIdempotent
中国规模以上工业增加值年率报告,数据区间从19900301-至今 https://datacenter.jin10.com/reportType/dc_chinese_industrial_production_yoy https://cdn.jin10.com/dc/reports/dc_chinese_industrial_production_yoy_all.js?v=1578754779 :return: 中国规模以上工业增加值年率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the historical start date and source URLs, which is useful context, but it does not describe update frequency, rate limits, or any behavioral traits that would materially change how the agent invokes the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the report name and date range before the source URLs and return type. It is efficiently sized for a no-parameter data-fetch tool, though the raw URL lines are somewhat noisy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only macro report with no output schema, the description supplies the report identity, date range, and source links. It could be stronger by mentioning column structure or update cadence, but it gives enough context for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero input parameters and schema coverage is complete, so the baseline is 4. The description does not need to document parameters and adds nothing in this area.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific economic report (China industrial value added YoY) and its date coverage (19900301-present), so an agent can tell broadly what data it returns. However, it does not distinguish this tool from closely related siblings such as macro_china_gyzjz or other industrial-production series, leaving the choice ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this report versus alternatives like macro_china_gyzjz or macro_usa_industrial_production, nor any prerequisites or exclusions. The description provides no routing information beyond the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_insuranceARead-onlyIdempotent
新浪财经-中国宏观经济数据-保险业经营情况 https://finance.sina.com.cn/mac/#fininfo-19-0-31-3 :return: 保险业经营情况 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is known. The description adds useful context by specifying the data source URL and the return type (pandas.DataFrame), but it does not disclose other behavioral traits such as data coverage, update frequency, or potential latency. With annotations doing heavy lifting, this is adequately transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a source line, URL, and return type declarations. Every element serves a purpose, and it is front-loaded with the resource name. It is appropriately sized for a no-parameter data retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no parameters and no output schema, but the description provides the source and return type. However, it does not detail the exact contents of the DataFrame (e.g., columns, units, time coverage). For a simple getter, this is acceptable but leaves ambiguity about what '保险业经营情况' specifically includes, especially given the sibling macro_china_insurance_income. More detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 with 100% coverage trivially. The baseline for no parameters is 4, and the description adds no parameter information because none exist. There is no need for additional parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '保险业经营情况' (insurance industry operation situation) from Sina Finance's China macro data, and specifies the return type as pandas.DataFrame. It is clear what data the tool provides, but it lacks an explicit action verb and does not differentiate from the closely related sibling tool macro_china_insurance_income.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for retrieving insurance industry operating data from the Sina Finance macro dataset, but it provides no explicit guidance on when to use this tool versus alternatives, nor any exclusion criteria. The context is implied by the name and description but not stated directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_insurance_incomeBRead-onlyIdempotent
原保险保费收入 https://data.eastmoney.com/cjsj/hyzs_list_EMM00088870.html :return: 原保险保费收入 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this as read-only, idempotent, and non-destructive, so the description has a lower burden. It adds a source URL and states the return type (pandas.DataFrame), but provides no additional behavioral context such as data coverage, frequency, or update schedule.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and includes a useful source URL. However, it repeats the term '原保险保费收入' three times (in title, description, and docstring), which is slightly redundant but not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter macro data tool, the description gives the source URL and return type, which is a reasonable starting point. However, it does not specify the DataFrame's columns, time range, units, or whether it is historical or current, leaving some gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is fully covered. With no parameters to document, the description is not expected to add parameter details, and any additional info would be optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: China original insurance premium income, and provides a source URL. While it lacks an explicit verb like 'fetch' or 'list', the intent is unambiguous. It does not explicitly differentiate itself from the sibling macro_china_insurance, but its specificity is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention context, exclusions, or comparisons with sibling macro tools, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_international_tourism_fxBRead-onlyIdempotent
新浪财经-中国宏观经济数据-国际旅游外汇收入构成 https://finance.sina.com.cn/mac/#industry-15-0-31-3 :return: 国际旅游外汇收入构成 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds that it returns a pandas.DataFrame, which is useful but minimal. It does not disclose data range, columns, or error behavior, but the annotation coverage lowers the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief, consisting of a title, a URL, and return type annotations. It is concise and front-loaded, though the structure is slightly fragmented with separate :return: and :rtype: lines.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 provides the data source and return type, but lacks detail on the structure or content of the returned DataFrame. Since there is no output schema, more explanation about the data (e.g., columns, time range) would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so parameter semantics are trivial. The description correctly implies no arguments are needed, and the schema confirms this. The baseline for 0 parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the specific dataset: 新浪财经-中国宏观经济数据-国际旅游外汇收入构成, and includes a source URL and return type. It distinguishes from sibling tools by naming the exact resource, but lacks an explicit verb like 'retrieve' or 'return'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 other macro data tools. The description only states the source and return type, with no mention of use cases, alternatives, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_lpi_indexCRead-onlyIdempotent
物流景气指数 https://data.eastmoney.com/cjsj/hyzs_list_EMI00352262.html :return: 物流景气指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior. The description adds a source URL and return type, but no behavioral context such as rate limits, data coverage, or potential performance implications. It adds minimal value beyond what annotations already provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (only a title, URL, and return type), so it is concise. However, it is not well-structured; the docstring format mixing a URL with :return: and :rtype: is awkward, and the title is redundant. It is under-specified rather than merely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and the description provides minimal context: it names the index, gives a source URL, and states the return type. It does not explain what data is actually returned (e.g., columns, time period, frequency) or how this index relates to other macro indicators. For an agent, this is insufficient on its own to fully understand the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is trivially complete (100% coverage). The description adds no parameter semantics, but with no parameters this is not a gap; a baseline score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially '物流景气指数' (logistics prosperity index), which is just the title. It includes a URL and return type docstring, but lacks an explicit verb like 'get' or 'query'. It restates the tool's name rather than clearly describing its function, and does not distinguish it from sibling macro indicators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives (e.g., other macro indicators like macro_china_pmi). No context, prerequisites, or exclusions are provided, so the agent gets no help in selecting this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_lprCRead-onlyIdempotent
LPR品种详细数据 https://data.eastmoney.com/cjsj/globalRateLPR.html :return: LPR品种详细数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, openWorldHint, and idempotentHint, which cover the basic safety profile. The description adds no further behavioral context such as data freshness, pagination, or potential errors. It only mentions the return type (DataFrame), which is not a behavioral trait.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but includes redundant content by repeating 'LPR品种详细数据' and adding a docstring-style return type. The URL may be informative but does not help an AI agent select or invoke the tool. It is concise overall, but not every element adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no parameters and no output schema, the description leaves gaps about what the LPR data actually includes (e.g., tenors, historical range, columns). An agent would need more detail to understand what to expect from the returned DataFrame. The description is minimally viable but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is empty and the description need not explain parameter details. The baseline for zero-parameter tools is 4, and the description does not introduce any confusion about parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as LPR and indicates 'detailed data', which makes it clear the tool provides LPR information. However, it uses a noun phrase rather than an explicit verb like 'retrieve' or 'get', and does not explicitly distinguish itself from sibling macro tools beyond the LPR topic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling macro tools. It does not state any use cases, prerequisites, or alternatives. The description simply provides a source URL and return type, leaving the agent to guess the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_m2_yearlyBRead-onlyIdempotent
中国年度 M2 数据,数据区间从 19980201-至今 https://datacenter.jin10.com/reportType/dc_chinese_m2_money_supply_yoy :return: 中国年度 M2 数据 :return: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds two genuinely useful facts beyond that: the data range (19980201–present) and the return type (pandas.DataFrame), though it does not say whether values are YoY growth or level, despite the source URL suggesting yoy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the purpose and date range. However, the duplicated ':return:' lines (restating 'China annual M2 data' plus the DataFrame type) and the raw URL add redundancy that a single return statement would have covered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only data-fetch tool with annotations covering safety and no output schema, the description supplies the key missing pieces: the subject, the temporal coverage, and the return container. The remaining gap is not clarifying YoY-vs-level semantics, which matters given the sibling money-supply tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly does not invent parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (China annual M2 data) and the coverage window (19980201–present), but it uses no verb and essentially restates the tool name and title. It does not distinguish this from closely named siblings such as macro_china_money_supply or macro_china_supply_of_money, leaving overlap unresolved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no named alternative, despite the tool sitting among dozens of macro_* series with overlapping money-supply semantics. The only mildly useful context is the stated data range, which implies historical-only coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_market_margin_shBRead-onlyIdempotent
上海融资融券报告,数据区间从 20100331-至今 https://datacenter.jin10.com/reportType/dc_market_margin_sse :return: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful context: the historical start date (20100331) and the upstream data source URL. It does not, however, describe the returned columns or data frequency, which matters for a macro dataset.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded: the resource and date range come first, followed by a source link and the Sphinx-style ':return: pandas.DataFrame'. The URL and return annotation are mildly useful; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter data-fetch tool with no output schema, the description covers the resource, date range and return type, but does not say what fields/metrics the DataFrame contains or its update frequency, which an agent would need to use the result intelligently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing further the description could add about parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource, '上海融资融券报告' (Shanghai margin trading report), and pins the data coverage to 20100331-present. The '上海' qualifier implicitly separates it from the sibling macro_china_market_margin_sz, though that sibling is never named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, no prerequisites, and no mention of the Shenzhen counterpart. Usage must be inferred entirely from the tool name and data-range note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_market_margin_szBRead-onlyIdempotent
深圳融资融券报告,数据区间从20100331-至今 https://datacenter.jin10.com/reportType/dc_market_margin_sz :return: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description adds genuinely useful behavior context: the data starts at 20100331, the upstream source URL, and that the return is a pandas.DataFrame. It does not mention update frequency 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short lines with the dataset and coverage front-loaded. The source URL and return-type line are compact and informative rather than padded, though the text is essentially the title expanded with a URL.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-param macro data fetch with safety annotations already present, the description is mostly sufficient, but it never describes what the returned DataFrame contains (e.g. margin balance, buy/sell amounts), which matters for a data-consumer tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes 0 parameters, so the baseline is 4. There is no parameter meaning to add, and the description correctly does not invent any argument semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific dataset (Shenzhen margin financing/securities lending report) and its temporal coverage from 20100331 to present, so it is clear what is fetched. It does not explicitly differentiate itself from the sibling macro_china_market_margin_sh, though the Shenzhen location is implied by name and text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the obvious alternative macro_china_market_margin_sh for Shanghai data. The only useful hint is the data-range coverage, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_mobile_numberCRead-onlyIdempotent
手机出货量 https://data.eastmoney.com/cjsj/hyzs_list_EMI00225823.html :return: 手机出货量 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds the return type (pandas.DataFrame) and the data source URL, which are useful but do not disclose additional behavior like error handling, rate limits, or data range. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but it includes a long URL that is not essential to understanding the tool's function. The structure is docstring-like with ':return:' and ':rtype:', which is organized but somewhat under-specified. It earns a middle score for brevity but lacks polish.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description only reiterates the topic and gives a URL. It does not explain the data's time range, granularity, or columns, which could leave the agent uncertain about what the DataFrame contains. The simplicity of the tool raises the bar for clarity, but the description remains minimal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter semantics, and it correctly remains silent on this aspect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says '手机出货量' (mobile phone shipments) and specifies the return type, but it lacks an explicit verb like 'get' or 'return'. It identifies the resource but is essentially a label with a data source URL, not a clear statement of function. It is distinguishable from siblings by its unique topic, but the purpose is only implicitly conveyed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention context, prerequisites, or exclusions. Among many macro_china_* siblings, there is no situational differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_money_supplyCRead-onlyIdempotent
东方财富-货币供应量 https://data.eastmoney.com/cjsj/hbgyl.html :return: 货币供应量 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the source URL and return type (pandas.DataFrame), providing some value beyond annotations, but lacks details on data coverage, frequency, or quirks. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but not well-structured: it is a title, URL, and docstring fragments rather than a clear sentence. It is not verbose, but it lacks front-loaded purposeful phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter fetch tool, the description provides the source and return type but omits what specific money supply data is returned (e.g., M0, M1, M2), historical coverage, or column structure. No output schema exists, so the description should carry more weight but does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so the description has no parameter burden. Baseline for 0 parameters is 4, and no additional semantic detail is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is '东方财富-货币供应量' which translates to 'Eastmoney - Money Supply', essentially restating the tool name in Chinese. It includes a URL and return type but no verb or scope, making it near-tautological and not distinguishing it from sibling money supply tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not mention when to use this tool versus alternatives like macro_china_m2_yearly or macro_china_supply_of_money. It only gives a data source URL without any contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_national_tax_receiptsBRead-onlyIdempotent
中国-全国税收收入 https://data.eastmoney.com/cjsj/qgsssr.html :return: 全国税收收入 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and indicates the return type, which provides some context beyond annotations. However, it does not disclose behavioral traits such as data freshness, time coverage, or any filtering/limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very compact, consisting of a one-line title, a source URL, and two short docstring lines specifying return value and type. Every element adds useful information without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description is the only source of information about the returned DataFrame. It merely states 'national tax revenue' and the type, without specifying columns, time range, frequency, or data source details beyond a bare URL. This is insufficient for an agent to fully understand what data it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is no parameter semantics to clarify. Per the rubric, the baseline for a zero-parameter tool is 4, and the description does not need to compensate for missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as 'China - National tax revenue' and states that it returns a pandas DataFrame of this data, adding the source URL. Although it lacks an explicit verb like 'retrieve' or 'list', the intent is unambiguous. It does not differentiate from sibling tools beyond the name, but the resource and return type are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or alternative tools for related data (e.g., other macro_china_* tools). This absence leaves the agent without decision support for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_nbs_nationBRead-onlyIdempotent
国家统计局全国数据通用接口 https://data.stats.gov.cn/dg/website/page.html :param kind: 数据类别 :param path: 数据路径 :param period: 时间区间,例如'LAST10', '2016-2023', '2016-'等 :return: 国家统计局统计数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| path | Yes | ||
| period | No | LAST10 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true), so the description only needs to add behavioral context. It adds the source URL and return type (pandas.DataFrame), but does not disclose potential failure modes, rate limits, or how the path interacts with the NBS website.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a one-line title, the source URL, a standard docstring-style parameter list, and the return type. Every line earns its place and there is no redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This generic tool has no output schema and only sparse annotations, so the description must explain how to use it. It provides the source URL and parameter basics, but does not explain how to discover valid path values, what the returned DataFrame columns are, or how to map a user's data needs to a kind/path combination. This leaves a critical gap for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions (0% coverage), so the description must compensate. It provides a Chinese label for each parameter (kind, path, period) and gives concrete examples for period ('LAST10', '2016-2023', '2016-'). However, path remains vague as '数据路径' without explaining where valid paths come from or how to construct them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies this as the National Bureau of Statistics national data general interface and states it returns a pandas DataFrame of statistical data. It is clearly a generic data retrieval tool, but it lacks an explicit action verb like 'retrieve' or 'query', and while it distinguishes itself from specific macro_china_* siblings by being a '通用接口', it does not state exactly what data it returns beyond '统计数据'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this generic tool versus the many specific macro_china_* functions (e.g., macro_china_cpi, macro_china_pmi). It does not mention alternatives, exclusions, or conditions that favor this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_nbs_regionCRead-onlyIdempotent
国家统计局地区数据通用接口 https://data.stats.gov.cn/dg/website/page.html :param kind: 数据类别 :param path: 数据路径 :param indicator: 指定指标 :param region: 指定地区 当指定region时,将symbol设为None可以同时获得所有可选指标的值 :param period: 时间区间,例如'LAST10', '2016-2023', '2016-'等 :return: 国家统计局统计数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| path | Yes | ||
| period | No | LAST10 | |
| region | No | ||
| indicator | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. However, the description introduces a confusing instruction to set 'symbol' to None, which does not match any input parameter in the schema (which uses 'indicator'), potentially misleading an agent. It also omits details on rate limits or any other runtime constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is reasonably short and front-loaded with the title and URL. The parameter and return structure is logical, but the confusing 'symbol' reference serves as a distractor, and a quick example of a valid path and indicator would make it more actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
As a generic interface with five parameters and no output schema, the description should explain valid path values, indicator formats, and the overall return structure. The current text only promises a pandas.DataFrame and leaves the agent to discover path/indicator conventions elsewhere, making it incomplete for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description defines all five parameters, including concrete period format examples ('LAST10', '2016-2023', '2016-') and the region/indicator interaction. While the 'symbol' wording is a minor inconsistency, the description adds substantial meaning beyond the bare schema, which is especially valuable given 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as the National Bureau of Statistics regional data general interface, with a direct data source link. It distinguishes itself from sibling tools like macro_china_nbs_nation by focusing on region-level data, although the verb 'retrieve' is implied rather than stated explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as macro_china_nbs_nation or macro_cnbs. The description only lists parameters and return type, leaving the agent to infer the appropriate use case from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_new_financial_creditBRead-onlyIdempotent
中国-新增信贷数据 https://data.eastmoney.com/cjsj/xzxd.html :return: 新增信贷数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety behavior is covered. The description adds the data source URL and return type (pandas.DataFrame), but does not explain data frequency, granularity, or any other behavioral nuances. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, containing a title, source URL, and return type in a docstring-like structure. Every line serves a purpose (identifies resource, gives provenance, and output type), but it is under-specified rather than optimally concise. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 is incomplete. It does not describe what the data actually means (e.g., monthly new loans, sector breakdown), the data frequency, or how it differs from similar macro indicators. The return description '新增信贷数据' just repeats the title, adding little value. Given the absence of an output schema, the description should provide more context about the returned data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is trivially complete (100%). The description does not need to explain parameters since there are none. Baseline of 4 for zero parameters is appropriate; no additional parameter semantics are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing China's new credit data (中国-新增信贷数据) and includes the data source URL. The resource is specific and the return type is stated, but it lacks an explicit verb and does not differentiate from other macro_china_* credit-related tools beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. With many sibling macro_china_* tools, the description does not mention exclusions, prerequisites, or comparison to similar tools like macro_china_money_supply or macro_rmb_loan.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_new_house_priceCRead-onlyIdempotent
中国-新房价指数 https://data.eastmoney.com/cjsj/newhouse.html :param city_first: 城市;城市列表见目标网站 :type city_first: str :param city_second: 城市;城市列表见目标网站 :type city_second: str :return: 新房价指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| city_first | No | 北京 | |
| city_second | No | 上海 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint and destructiveHint, so the safety profile is fully covered by structured data. The description adds the source URL and the return type (pandas.DataFrame), which is modest extra context but says nothing about freshness, coverage period, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is short and front-loaded with the resource name and source link. However, the repeated :param/:type docstring lines add schema-redundant noise, and the final '城市列表见目标网站' pointer is vague rather than informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity two-parameter read tool with no output schema, the description covers the source and return type adequately. It still omits what the two city parameters mean in relation to each other and any usage context, leaving meaningful gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It labels both parameters simply as '城市' and defers the allowed values to an external website, and it never explains the relationship between city_first (default 北京) and city_second (default 上海) or why two cities are input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (中国-新房价指数, China new-house price index) and cites the exact data source URL, so an agent knows what data it yields. It does not explicitly differentiate itself from nearby siblings such as macro_china_real_estate or macro_usa_house_price_index, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, and no prerequisites or exclusions. The only guidance is 'see the target website for the city list,' which is a parameter hint rather than usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_non_man_pmiBRead-onlyIdempotent
中国官方非制造业 PMI,数据区间从 20160101-至今 https://datacenter.jin10.com/reportType/dc_chinese_non_manufacturing_pmi :return: 中国官方非制造业 PMI :return: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds useful context the annotations lack: the concrete date coverage (20160101–present) and the upstream data source URL. It does not describe update frequency or return shape beyond 'pandas.DataFrame'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the key identifier and coverage range, and short overall. The trailing ':return:' lines restate the same resource twice (once as PMI, once as DataFrame) and the title duplicates the description, adding mild redundancy without hurting usability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter data-fetch tool whose annotations already cover the safety profile, the description supplies the essential missing context: what series it returns, its historical coverage, and its source. No output schema exists, but 'pandas.DataFrame' plus the series name is sufficient for an agent to know what comes back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4; there are no parameter semantics to document or clarify, and nothing is misrepresented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (China official non-manufacturing PMI) and its data range (20160101–present), which distinguishes it from the manufacturing PMI, Caixin services PMI, and US ISM non-PMI siblings by the 'official' + 'non-manufacturing' qualifiers. It stops short of explicitly naming an alternative, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only states what the data is and its coverage window; there is no guidance on when to select this tool over the many macro_china_* PMI siblings, nor any prerequisite or exclusion. Usage is left entirely to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_passenger_load_factorBRead-onlyIdempotent
新浪财经-中国宏观经济数据-民航客座率及载运率 https://finance.sina.com.cn/mac/#industry-20-0-31-1 :return: 民航客座率及载运率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the return type (pandas.DataFrame) and a source URL, offering some context beyond annotations. However, it does not disclose any other behavioral traits, such as data range, potential missing data, or request behavior. With annotations covering the main concerns, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, containing the title, source URL, return value, and return type in a few lines. It is not bloated, but the structure is fragmented (multiple lines without full sentences) and the information is somewhat sparse. Still, every part adds a small piece of context, so it earns a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should clarify what the return looks like. It states the return type is pandas.DataFrame and labels the content as '民航客座率及载运率', but it does not specify columns, date range, or data granularity. For a no-parameter read-only tool, this is adequate but leaves the agent uncertain about the actual data structure. A 3 reflects this acceptable yet incomplete explanation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and schema description coverage is 100%. The baseline for zero parameters is 4, as there is nothing to explain. The description correctly avoids fabricating parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as '民航客座率及载运率' (civil aviation passenger load factor and load factor) from Sina Finance, which conveys the subject matter. However, it lacks an explicit verb like 'retrieve' or 'get', relying on the tool name and title to imply the action. It does distinguish from siblings by naming a specific macro indicator, but the absence of a clear action verb makes it moderately clear rather than fully explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many other macro_china_* tools. There is no mention of alternatives, prerequisites, or suitable contexts. Only the data source URL is given, which is not usage guidance. The intended use is merely implied by the title and name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_pmiBRead-onlyIdempotent
东方财富-中国采购经理人指数 https://data.eastmoney.com/cjsj/pmi.html :return: 东方财富中国采购经理人指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and idempotentHint annotations, the description adds the URL source and the return type (pandas.DataFrame). This provides some context about the data origin and format, but it does not disclose other behavioral traits such as whether the data covers all historical periods or the latest value only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the title and source URL. However, it repeats the index name in the title and the :return: line, which is slightly redundant. Overall, it is efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless data retrieval tool with strong annotations, the description is mostly adequate. It states the source and return type but does not explain the data structure (e.g., columns, frequency) or differentiate from similar PMI tools. Given the lack of an output schema, a bit more detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100%, so the baseline is 4. The description does not mention parameters, but since there are none, no additional semantic explanation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves the China Purchasing Managers' Index from East Money, with a specific resource URL. However, it does not differentiate itself from sibling tools like macro_china_pmi_yearly or macro_china_cx_pmi_yearly, so it lacks explicit sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of exclusions, contexts, or typical use cases. The only implied guidance is that it returns PMI data, but this is not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_pmi_yearlyBRead-onlyIdempotent
中国年度 PMI 数据,数据区间从 20050201-至今 https://datacenter.jin10.com/reportType/dc_chinese_manufacturing_pmi :return: 中国年度 PMI 数据 :return: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds the start date of the series and the upstream source URL, which is genuinely useful behavioral context beyond the annotations, but says nothing about update cadence or freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short and front-loads the data range. It contains mild redundancy, restating the dataset name twice (':return: 中国年度 PMI 数据') and duplicating the date range already carried by the annotation title, but no sentence bloats the description overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and rich annotations, the description mostly holds up, and it usefully indicates a pandas.DataFrame return. But with no output schema, an agent still cannot know the series' columns, frequency definition, or units. Providing the return type is a partial compensation, not a full one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The empty schema and the absence of arguments are consistent with the description, which presents this as an unfiltered fetch.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (China yearly PMI data) and its coverage window (2005-02-01 to present), so an agent can tell what data comes back. However, it has no action verb and offers no differentiation from close siblings such as macro_china_pmi or macro_china_cx_pmi_yearly, which are different PMI series. Adequate but not distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many sibling PMI/China macro tools. No prerequisites, no exclusions, no alternatives named. The agent must infer selection purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_postal_telecommunicationalBRead-onlyIdempotent
新浪财经-中国宏观经济数据-邮电业务基本情况 https://finance.sina.com.cn/mac/#industry-11-0-31-1 :return: 邮电业务基本情况 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type (pandas.DataFrame), but does not disclose behavioral traits such as update frequency, coverage limitations, or any quirks. This is acceptable given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact but includes a URL and the phrase '邮电业务基本情况' appears in both the title and the :return: line, creating redundancy. It is not structured with an action-first verb and mixes human-readable text with docstring-like syntax.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, fixed-data retrieval tool, the description provides the data topic, source, and return type, which is reasonably complete. It does not describe the DataFrame's columns or index, but since there is no output schema and the dataset is named, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters (empty schema), and the description correctly implies a no-argument call. With no parameters to document, the baseline score is 4, and the description does not need to add parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: '邮电业务基本情况' (postal and telecommunications business basic situation) from Sina Finance macro data. However, it lacks an explicit action verb like 'get' or 'return', instead using a noun phrase. It distinguishes from siblings by naming the exact data domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention exclusions or alternative tools for similar macro data. The only signal is the data name itself, which implies usage but does not explicitly state it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_ppiBRead-onlyIdempotent
东方财富-中国工业品出厂价格指数 https://data.eastmoney.com/cjsj/ppi.html :return: 东方财富中国工业品出厂价格指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the return type (pandas.DataFrame) and the data source URL, which adds value beyond the annotations. However, with annotations already declaring readOnly, openWorld, and idempotent hints, the additional behavioral context is limited; it does not mention data granularity, update frequency, or potential network dependencies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with only three lines, but the first line largely restates the tool name, and the URL may be of marginal use. It is structured with the title, source, and return type, though the redundancy slightly reduces efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool with strong annotations, the description is adequate but not fully complete. It states the source and return type but does not describe the contents of the DataFrame or the time period covered, which would be useful for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to explain. The baseline for no parameters is 4, and the description does not need to compensate for any missing parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the specific resource (China industrial producer price index from Eastmoney) but lacks a verb and reads more like a title than an action statement. It does not explicitly say 'get' or 'fetch', making it somewhat vague, though it is distinguishable from generic terms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as macro_china_ppi_yearly or other macro indicators. The description does not mention any exclusions or alternative scenarios, leaving the selection entirely to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_ppi_yearlyBRead-onlyIdempotent
中国年度 PPI 数据,数据区间从 19950801-至今 https://datacenter.jin10.com/reportType/dc_chinese_ppi_yoy :return: 中国年度 PPI 数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is fully covered. The description adds a useful data-coverage range (19950801-present) and the source URL and return type, though it does not note refresh cadence or update frequency for a macro series.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded: the resource and scope come first, followed by the source link and rtype. The ':return:'/' :rtype:' boilerplate is mildly redundant but low-cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter data-fetch tool with no output schema, the description supplies the essentials: what the data is, its date coverage, its source, and its return type (pandas.DataFrame). Nothing critical to invoking it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There is no parameter surface for the description to explain, and none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: Chinese yearly PPI data with a concrete date range (19950801-present). The name and description both make clear it is the yearly PPI series. It does not explicitly differentiate from the sibling macro_china_ppi (monthly) or macro_china_hk_ppi, leaving the agent to infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternatives named. With macro_china_ppi and macro_china_hk_ppi as close siblings, the description should say when to pick this yearly series instead, but it offers nothing beyond the data range.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_qyspjgBRead-onlyIdempotent
东方财富-经济数据一览-中国-企业商品价格指数 https://data.eastmoney.com/cjsj/qyspjg.html :return: 企业商品价格指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and source URL, but does not disclose other behavioral traits like rate limits, data freshness, or potential errors. It is consistent with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief and to the point, containing only the data name, source URL, and return type. It avoids unnecessary words, though the structure is more like a fragment than a coherent sentence. Still, every piece of information earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain the return value. It does specify that a DataFrame is returned and names the index, but it does not describe columns, date ranges, or data granularity. This is adequate for a simple no-parameter tool but lacks depth for a richer understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has zero parameters, so the description does not need to explain parameter details. The baseline score of 4 applies because there are no parameter semantics to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides China's enterprise commodity price index data from Eastmoney, identifying the specific resource and source URL. However, it lacks an explicit action verb like 'get' or 'fetch', and does not explicitly differentiate from similar sibling tools such as macro_china_commodity_price_index.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus other economic data tools. It only states what data is returned, without any context on suitable scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_real_estateBRead-onlyIdempotent
国房景气指数 https://data.eastmoney.com/cjsj/hyzs_list_EMM00121987.html :return: 国房景气指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds a source URL and return type (pandas.DataFrame) but does not disclose data frequency, coverage, or limitations. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and free of filler, with the URL and return type being useful additions. However, it repeats '国房景气指数' three times and lacks structured formatting, which slightly detracts from clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter data retrieval tool with strong annotations, the description is minimally adequate: it names the index and provides a source URL. Yet it omits details on what the index measures, update frequency, and how it differs from other China real estate indicators, so an agent must infer context from the name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters and the input schema is empty, so there are no parameter semantics to describe. The baseline for zero-parameter tools is 4, and the description contains no irrelevant parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as 国房景气指数 (China Housing Prosperity Index) and provides a source URL, but it lacks an explicit verb or action (e.g., 'fetches' or 'retrieves'). It does not differentiate from sibling tools like macro_china_new_house_price, though the name is fairly specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternative macro China tools. The description provides no context for selection, exclusions, or preferred scenarios, leaving the agent to guess based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_reserve_requirement_ratioCRead-onlyIdempotent
存款准备金率 https://data.eastmoney.com/cjsj/ckzbj.html :return: 存款准备金率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is known. The description adds only the return type (pandas.DataFrame) and a source URL, but does not disclose any behavioral traits such as data granularity, network dependence, or potential delays. With no output schema, the description carries the burden of explaining what the agent can expect, and it falls short.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and does not waste words, but it mixes a Chinese term, a URL, and Python docstring conventions in a somewhat unstructured way. It is front-loaded with the indicator name, which is helpful. It earns a 4 for being brief, though it could be more coherent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple zero-parameter read-only tool, but the description lacks essential context about the data: what columns the DataFrame contains, whether it covers large/small financial institutions, historical depth, or update frequency. Since there is no output schema, the description should explain the return data's structure and scope, but does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The schema coverage is trivially 100% with no properties, and the description does not need to elaborate on inputs. No additional parameter meaning is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (存款准备金率 - deposit reserve ratio) and states it returns a pandas DataFrame, but lacks an explicit verb (e.g., 'get', 'fetch') or scope (e.g., historical, current). It does not distinguish itself from other macro_china_* sibling tools beyond the name itself, making the purpose somewhat vague but still inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like macro_china_money_supply or macro_china_pmi. There is no mention of prerequisites, typical use cases, or exclusions, leaving the agent without context for selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_retail_price_indexCRead-onlyIdempotent
商品零售价格指数 https://finance.sina.com.cn/mac/#price-12-0-31-1 :return: 商品零售价格指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint, openWorldHint, and idempotentHint. The description adds only a source URL and return type, without disclosing data frequency, units, time range, or any other behavioral traits. It provides minimal context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but under-specified. It is not conciseness that adds value; it omits essential information and lacks structured explanation beyond the docstring lines.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is insufficient. It does not explain what data will be returned (e.g., historic time series, units, or period), leaving significant ambiguity for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description indicates the return type as a DataFrame, which is helpful, but there are no parameters to elaborate on.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (商品零售价格指数) and provides a source URL and return type, but lacks an explicit action verb like 'retrieves' or 'returns'. It identifies the index but does not clearly differentiate from sibling macro tools beyond the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus other macro economic data tools. No alternatives, prerequisites, or context are mentioned, leaving the agent without direction on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_rmbBRead-onlyIdempotent
中国人民币汇率中间价报告,数据区间从 20170103-至今 https://datacenter.jin10.com/reportType/dc_rmb_data :return: 中国人民币汇率中间价报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is fully covered by structured data. The description contributes the historical coverage window (20170103-至今), which is genuinely useful behavioral context, but says nothing about update frequency, source refresh, or data completeness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The useful content is one short sentence front-loaded correctly, but the entry leaks Python docstring artifacts (`:return:` and `:rtype:`) and repeats the title, adding noise without information. A trimmed single sentence would be tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter data-fetch tool with no output schema, the description conveys the resource and its time coverage, which is the minimum needed. It stops short of describing the returned fields (e.g., the parity rate series, currency pairs covered) or the pandas.DataFrame shape, so an agent cannot anticipate the result structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline for a 0-param tool is 4; no syntax or format gaps exist because there are no inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: it reports China's RMB central parity rate (汇率中间价) covering 20170103 to present. That is clear enough for an agent to know what the tool returns. However, it does not distinguish itself from closely named siblings like macro_rmb_deposit, macro_rmb_loan, or the currency_* tools, so the differentiation burden falls on the reader.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage-relevant content is the date range starting 20170103. There is no statement of when to prefer this over macro_china_fx_gold, currency_boc_safe, or the many other RMB/FX siblings, and no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_shibor_allBRead-onlyIdempotent
上海银行业同业拆借报告,数据区间从20170317-至今 https://datacenter.jin10.com/reportType/dc_shibor https://cdn.jin10.com/dc/reports/dc_shibor_all.js?v=1578755058 :return: 上海银行业同业拆借报告-今值(%) :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds only the data coverage range and a return type, without disclosing update frequency, rate limits, or data limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first clause, but the description then includes two long source URLs and a redundant return-type line. These metadata lines do not help an agent invoke the tool and add clutter, though the overall length remains moderate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what the tool returns. It only states ':return: 上海银行业同业拆借报告-今值(%)' and ':rtype: pandas.DataFrame', which is a partial hint but does not describe the actual DataFrame columns or update cadence. The absence of parameters and annotations eases the burden, but the return shape remains underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero input parameters, so there are no input semantics to explain. The mention of '今值(%)' relates to the return value rather than an input parameter. Baseline 4 applies when no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource, the Shanghai banking interbank lending report, and provides its temporal coverage (20170317-present). This is clearer than a verb-less noun phrase alone, but it does not explicitly distinguish itself from related macro rate tools such as rate_interbank or macro_china_swap_rate, leaving sibling differentiation to the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no alternatives are mentioned. The description only supplies the report subject, data range, and source URLs, leaving the agent to infer that this tool should be used for SHIBOR data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_shrzgmBRead-onlyIdempotent
商务数据中心-国内贸易-社会融资规模增量统计 https://data.mofcom.gov.cn/gnmy/shrzgm.shtml :return: 社会融资规模增量统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type (pandas.DataFrame), which is useful, but it does not disclose data granularity, update frequency, or potential scraping/network behavior. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately short, containing a title, URL, and docstring-style return info. It is front-loaded with the title, but there is no explanatory sentence about the data itself. It is concise with no wasted words, yet slightly under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter retrieval tool, the description gives the source and output type, but it omits what columns, time periods, or data granularity the returned DataFrame contains. Since there is no output schema, the description should provide more detail about the returned data to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 with 100% schema description coverage. Per the rubric, the baseline for 0 parameters is 4, and the description does not need to add parameter details since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (社会融资规模增量统计) and provides the source URL, making clear it returns social financing scale increment statistics. However, it lacks an explicit verb like 'fetch' or 'get', and does not explicitly differentiate from sibling macro tools, though the title is specific enough to imply the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as macro_china_money_supply or macro_china_pmi. The description does not mention data coverage, update frequency, or any prerequisites, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_society_electricityBRead-onlyIdempotent
新浪财经-中国宏观经济数据-全社会用电分类情况表 https://finance.sina.com.cn/mac/#industry-6-0-31-1 :return: 全社会用电分类情况表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), which is useful context, but it doesn't disclose data freshness, column structure, or any potential fetching issues. With annotations doing heavy lifting, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the title, followed by the source URL and return type in standard structured format. It wastes few words, though the first line duplicates the annotation title, which is a minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only fetcher with strong annotations, the description is minimally viable: it specifies the data source and return type. However, there is no output schema, and the description does not elaborate on the actual columns, data granularity, or meaning of 'classification' beyond the title, which could be important for an AI agent deciding if this meets a user's request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 the description carries no parameter burden. Per the guideline, a baseline of 4 is appropriate when there are no params to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning a table of China's total society electricity consumption classification from Sina Finance, and the specific topic distinguishes it from sibling macro tools. However, the verb is implicit ('return' rather than an explicit action like 'fetch'), so it's clear but not maximally explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No information is provided about when to use this tool versus alternatives, such as related macro_china_energy_index or macro_china_daily_energy. There are no exclusions, prerequisites, or contextual hints about selecting this over other macro data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_society_traffic_volumeBRead-onlyIdempotent
新浪财经-中国宏观经济数据-全社会客货运输量 https://finance.sina.com.cn/mac/#industry-10-0-31-1 :return: 全社会客货运输量 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the data source URL and return type, which is useful but does not disclose any additional behavioral traits such as data freshness, time range, or potential limitations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the tool's title and source, followed by a URL and return type. It is appropriately sized for a zero-parameter tool and contains no filler, though the URL fragment is somewhat cryptic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter read-only tool, the description is mostly adequate, but it does not describe the structure of the returned DataFrame or any specifics about the data (e.g., time period, units, or columns). Given the lack of an output schema, a bit more detail about the data content would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is trivially complete. With no parameters to explain, the description need not compensate for parameter documentation. The absence of parameters is clear from the schema, so the description's mention of the return type is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing China's total social passenger and freight transport volume from Sina Finance, with the URL as a source reference and the return type specified as a pandas DataFrame. It is distinct from sibling macro tools because it specifically targets traffic volume data, but the description lacks an explicit verb like 'fetch' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or typical scenarios, leaving the agent to infer usage from the name and source alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_stock_market_capBRead-onlyIdempotent
东方财富-全国股票交易统计表 https://data.eastmoney.com/cjsj/gpjytj.html :return: 全国股票交易统计表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which the description does not contradict. The description adds the return type (pandas.DataFrame) and source URL, which is useful. However, it does not disclose what columns or data range are included, so behavioral insight is limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, including a source URL and return type in a structured docstring format. No extra fluff, but the inclusion of a URL and docstring markers is slightly verbose for a zero-param tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (no params, no output schema), but the description does not explain what fields or statistics are included in the DataFrame. The tool name mentions 'stock_market_cap' while the description says 'trading statistics', creating potential ambiguity about the actual data content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema already fully covers inputs. The baseline is 4, and the description does not need to add parameter details. It correctly mentions the return type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '全国股票交易统计表' (national stock trading statistics) from East Money, and states the return type as pandas.DataFrame. While it omits an explicit verb like 'get' or 'list', the intent to fetch this table is clear and distinguishable from sibling macro tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It gives a source URL but no context, prerequisites, or exclusions. An agent must infer its applicability from the title alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_supply_of_moneyARead-onlyIdempotent
新浪财经-中国宏观经济数据-货币供应量 https://finance.sina.com.cn/mac/#fininfo-1-0-31-1 :return: 货币供应量 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, and the description adds the source URL and return type (pandas.DataFrame). This confirms it's a safe read operation returning tabular data, adding context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the tool's purpose, but it includes a raw URL and docstring-style return statements that could be more polished. It's reasonably concise but not exceptionally structured, with a few lines that carry limited value for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has zero parameters, clear annotations, a source URL, and return type indication, the description is complete enough for an agent to understand what data will be returned and that it's a safe read operation. It lacks details like time range or columns, but with no params and a well-known metric, this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the schema coverage is 100% (vacuously). The description references the return type and data source, and with no params, it doesn't need to explain parameter semantics; the baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it retrieves money supply data from Sina Finance China macro economy, with the title confirming the specific metric. However, it doesn't explicitly differentiate from the sibling tool 'macro_china_money_supply', which appears to serve a similar purpose, so it's clear but lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a source URL and return type, implying it's used to fetch this specific dataset, but provides no explicit guidance on when to use it versus alternatives like 'macro_china_money_supply'. Context is clear for this specific data, but no exclusions or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_swap_rateARead-onlyIdempotent
FR007 利率互换曲线历史数据;只能获取近一年的数据 https://www.chinamoney.com.cn/chinese/bkcurvfxhis/?cfgItemType=72&curveType=FR007 :param start_date: 开始日期,开始和结束日期不得超过一个月 :type start_date: str :param end_date: 结束日期,开始和结束日期不得超过一个月 :type end_date: str :return: FR007利率互换曲线历史数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | 20231204 | |
| start_date | No | 20231101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds real value beyond them by disclosing the one-year data availability window and the one-month maximum query range, which are behavioral limits an agent would otherwise only discover by failing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and the data-window limit are front-loaded, which is good. However, the raw source URL and the residual Sphinx :type:/:rtype: scaffolding add noise without helping an agent decide or invoke the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter read-only macro tool with no output schema, the description supplies purpose, data window, range constraint and both parameter meanings, which is close to sufficient. The only meaningful omission is the date string format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It names both start_date and end_date and their mutual constraint (span <= one month), which is genuinely useful, but it never states the expected date format even though the defaults (20231101, 20231204) imply YYYYMMDD.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource unambiguously: FR007 interest-rate-swap curve historical data, which distinguishes it from sibling rate tools like macro_china_shibor_all or rate_interbank. It does not explicitly contrast itself against those siblings, but the named instrument is specific enough for an agent to identify the tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage through the constraints 'only the last year of data is available' and 'start and end must not span more than one month', which tell the agent when the tool can be called. However, there is no explicit when-to-use vs when-to-use-an-alternative guidance against the many sibling macro rate tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_trade_balanceBRead-onlyIdempotent
中国以美元计算贸易帐报告,数据区间从 19810201-至今 https://datacenter.jin10.com/reportType/dc_chinese_trade_balance https://cdn.jin10.com/dc/reports/dc_chinese_trade_balance_all.js?v=1578754677 :return: 中国以美元计算贸易帐报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety and side-effect profile. The description adds useful context by stating the data range (19810201–present), return type (pandas.DataFrame), and source URLs, but it does not disclose update frequency, granularity, or authentication requirements, leaving some behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the main report statement, but it includes two raw URLs and redundant :return/:rtype lines that restate what the description already conveys. These elements do not help an agent select or invoke the tool, so the structure is only moderately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should carry more burden for explaining the returned data. It gives the report name, date range, and return type, but omits the frequency of observations, column structure, and update cadence, which an agent would need to use the data correctly. It is adequate but incomplete for a no-parameter macro data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema description coverage is 100%, so there are no parameter semantics for the description to clarify. Per the rubric, a zero-parameter tool receives a baseline of 4 when the schema requires no additional explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning China's trade balance report calculated in USD, with an explicit historical data range starting from 19810201. This distinguishes it from sibling trade balance tools such as macro_usa_trade_balance and macro_euro_trade_balance, though it could more explicitly state when to choose it over those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It mentions the data range, but does not explain whether it is appropriate for historical analysis, monthly tracking, or comparison with other macro indicators. The agent is left to infer usage from the tool name and data range alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_urban_unemploymentARead-onlyIdempotent
国家统计局-月度数据-城镇调查失业率 https://data.stats.gov.cn/dg/website/page.html#/pc/national/monthData :return: 城镇调查失业率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds the source URL and returns type pandas.DataFrame, which is useful context but does not disclose additional behavioral traits like data update frequency or field specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting only of a title, a URL, and return type annotations. Every line carries essential information, and there is no redundant content. The front-loaded title immediately conveys the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (no parameters, no output schema), the description is largely complete. It identifies the data source (National Bureau of Statistics), the frequency (monthly), and the returned value. Some minor details like date range or column names are absent, but the tool is simple enough that these are not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is fully covered. The description adds meaning by explicitly stating the return type and the data returned (城镇调查失业率), making the tool's purpose clear without needing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning the urban surveyed unemployment rate from National Bureau of Statistics monthly data, with a specific title and return type. It is distinct from sibling macro tools that cover other economic indicators, though it lacks an explicit verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives, nor does it mention any exclusions or preferred contexts. It only lists the data source URL and return type, leaving the agent to infer usage from the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_vegetable_basketCRead-onlyIdempotent
菜篮子产品批发价格指数 https://data.eastmoney.com/cjsj/hyzs_list_EMI00009275.html :return: 菜篮子产品批发价格指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. However, the description adds little behavioral context, such as data source reliability, update frequency, or any caveats. The URL is present but not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the title and URL, but it lacks meaningful explanatory content. The format is clear (title, URL, return/type lines) but almost every element is redundant with the name or the schema. It is concise but not informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is simple with no parameters and good annotations, the need for extensive description is reduced. However, the description still does not explain what data exactly is returned (e.g., historical series, current value), the frequency, or the specific source beyond a bare URL. It feels incomplete even for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so there is no parameter burden. The description adds a return type and URL, which is acceptable for a parameterless tool. The baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name ('菜篮子产品批发价格指数') with a URL and return type. There is no explicit verb indicating an action like 'fetch' or 'retrieve', so it fails to clearly state what the tool does beyond repeating its name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. There is no mention of scenarios, comparisons with sibling macro indices, or exclusions. The description merely states the data source and return type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_wbckCRead-onlyIdempotent
东方财富-本外币存款 https://data.eastmoney.com/cjsj/wbck.html :return: 东方财富-本外币存款 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a URL and a return type (pandas.DataFrame), but it does not describe what data is contained, whether it is historical or current, what the DataFrame columns are, or any other behavioral details. Annotations already declare the tool read-only and safe, so the description adds minimal context beyond what annotations provide. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but it is repetitive: the first line duplicates the tool's title, and the ':return:' line repeats the same phrase. This is under-specification rather than purposeful conciseness. The URL is the only non-redundant piece of information, so the structure wastes its brevity on redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple fetch tool with no parameters, the annotations cover safety, but the description does not explain the data contents or structure. The lack of an output schema means the agent has no idea what columns, time range, or granularity to expect from the returned DataFrame. The URL and return type alone are insufficient for a complete understanding of the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameter semantics. The input schema is trivially complete (100% coverage), and for 0 params the baseline is 4. The description adds no parameter-specific information, but none is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool's title '东方财富-本外币存款' without any action verb like 'fetch' or 'retrieve.' The only additional information is a source URL and a return type, which do not clarify what the tool actually does. This is a tautological description that lacks a clear purpose statement and does not distinguish it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no context about when to use this tool or how it differs from similarly named macro_* tools. There are no alternatives mentioned, no exclusions given, and no indication of the appropriate scenario for invoking this tool. An agent would have zero guidance on usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_whxdBRead-onlyIdempotent
东方财富-外汇贷款数据 https://data.eastmoney.com/cjsj/whxd.html :return: 东方财富-外汇贷款数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds a source URL and return format (pandas.DataFrame), but no additional behavioral details such as data freshness, pagination, or rate limits. This meets the lower bar set by annotations but does not enrich much beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but it repeats the same phrase '东方财富-外汇贷款数据' twice, which is redundant. It also mixes a URL and a Python-style docstring return tag, which is a bit unstructured. It earns a middle score because it is brief but not perfectly streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a simple no-parameter data fetch, the description gives the source and return type, which is enough to call it. However, it does not explain what the data contains (e.g., historical series, current values, units) or whether it is updated periodically, leaving gaps for an agent trying to interpret the result. This is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is trivially complete. The description adds no parameter information because none is needed. The return type is stated, which helps understand what the tool produces.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning East Money (东方财富) foreign exchange loan data, with a source URL. It distinguishes itself from sibling tools by naming the specific dataset, but lacks an explicit verb like 'get' or 'retrieve' and does not describe the data's scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It only provides a title and return type, with no context on typical use cases or comparisons to other macro_china tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_xfzxxARead-onlyIdempotent
东方财富网-经济数据一览-消费者信心指数 https://data.eastmoney.com/cjsj/xfzxx.html :return: 消费者信心指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds the source URL and return type (pandas.DataFrame), which is slight additional context, but no behavioral details such as data range, update frequency, or rate limits are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: one line identifying the indicator and source, a URL, and a return type annotation. No redundant information; every element contributes useful context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and is a simple read-only data retrieval operation, the description sufficiently covers the source, return type, and purpose. It does not detail DataFrame columns or update schedule, but the low complexity and rich annotations make this adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters, and schema coverage is effectively 100% (no properties). The description mention of the return type provides some semantic value, and the baseline for zero-parameter tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly names the resource (Consumer Confidence Index from Eastmoney) and provides the source URL. It clearly distinguishes this tool from other macro_china_* siblings by the specific indicator name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit statement about when to use this tool versus alternatives, but the indicator name and source URL make the use case implied. No exclusions or alternative references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_china_yw_electronic_indexBRead-onlyIdempotent
义乌小商品指数-电子元器件 https://data.eastmoney.com/cjsj/hyzs_list_EMI00055551.html :return: 义乌小商品指数-电子元器件 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, covering safety. The description adds the return type and a data source URL but no further behavioral traits such as update frequency, data range, or access limitations. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief yet front-loaded, consisting of a title, URL, and return annotations. It is waste-free but fragmentary, reading more like a docstring header than a coherent instruction. For a simple no-parameter tool this is appropriate, though it could use one sentence of explanation without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, read-only retrieval), the description is minimally sufficient, but it fails to explain what the returned DataFrame contains (e.g., columns, time range, index history). With no output schema, the description must carry that burden, and it only states the type. It is not egregiously incomplete relative to similar tools but lacks useful detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts no parameters and the schema provides 100% coverage (empty object). With zero parameters, the baseline is 4, and no description compensation is needed. The description adds no parameter mechanics because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as '义乌小商品指数-电子元器件' (Yiwu Small Commodity Index – Electronic Components) with a source URL and a return type of pandas.DataFrame. This clearly names a specific resource and distinguishes it from sibling index tools like macro_china_energy_index, though it lacks an explicit action verb such as 'retrieves'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No mention of use cases, prerequisites, or exclusions. The description simply states what the index is, providing no contextual direction for selecting it over related macro/economic index tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_cnbsBRead-onlyIdempotent
国家金融与发展实验室-中国宏观杠杆率数据 http://114.115.232.154:8080/ :return: 中国宏观杠杆率数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so safety is covered. The description adds the source URL and return type, which is some useful context, but it does not disclose any other behavior such as data update frequency, potential errors, or limitations. Given annotations, this is adequate but not enriched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with three short lines covering the data name, source URL, and return type. There is no wasted text, and it is front-loaded with the key identifier. It could be slightly more structured but is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and the description provides only a high-level label. It does not explain what columns, frequency, or time range the data covers. An agent selecting this tool would lack a clear picture of what data it will get, making the description incomplete for a data-retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description mentions the return type (pandas.DataFrame), which adds a bit of insight into what the agent will receive, though no parameter explanation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as providing China macro leverage ratio data from the National Institute of Finance and Development Laboratory. It names the specific resource and the data type returned, which distinguishes it from sibling macro tools. However, it lacks an explicit verb like 'retrieve' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, nor any exclusions or prerequisites. The context is implied only by the title and description, which is insufficient for an agent to choose it over other macro data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_cons_goldARead-onlyIdempotent
全球最大黄金 ETF—SPDR Gold Trust 持仓报告,数据区间从 20041118-至今 https://datacenter.jin10.com/reportType/dc_etf_gold :return: 持仓报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds genuinely new context — the temporal coverage (2004-11-18 onward) and the upstream data source URL — which the annotations do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded with the key identity and date range. Minor noise from duplicated title text and docstring artifacts (':return:', ':rtype:'), but nothing verbose or rambling.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument time series tool with no output schema, the definition supplies enough to call it: what the data is, its temporal coverage, the source, and the return type (pandas.DataFrame). Output columns are unspecified, but nothing blocks correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no semantics to document; per the baseline this scores 4. The description appropriately spends no words on inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: the SPDR Gold Trust (world's largest gold ETF) holdings report, with an explicit data range from 2004-11-18 to present. This clearly differentiates it from siblings like macro_cons_silver or macro_china_au_report, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains no when-to-use, when-not-to-use, or alternative-tool guidance. It simply asserts what the tool is; an agent must infer the use case and cannot tell from the text why it should pick this over macro_china_fx_gold or macro_cons_silver.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_cons_opec_monthARead-onlyIdempotent
欧佩克报告-月度,数据区间从 20170118-至今 这里返回的具体索引日期的数据为上一个月的数据,由于某些国家的数据有缺失 只选择有数据的国家返回 20200312:fix:由于 “厄瓜多尔” 已经有几个月没有更新数据,在这里加以剔除 https://datacenter.jin10.com/reportType/dc_opec_report :return: 欧佩克报告-月度 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower, yet the description adds meaningful behavior: the returned index date reflects the prior month's data, countries with missing data are dropped, and Ecuador was excluded from 20200312. This is genuinely useful context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key scoping fact (data range and previous-month semantics) is front-loaded, but the text is cluttered with a maintenance changelog line (20200312 fix) and docstring artifacts (:return:, :rtype:), which do not help tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description supplies what an agent needs: source, coverage window, the previous-month indexing quirk, and the pandas.DataFrame return type. It is largely complete, missing only explicit sibling differentiation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies. There is nothing further for the description to clarify about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States clearly it returns the OPEC monthly report data, with a specific resource and the covered date range (20170118-present). It does not, however, explicitly distinguish itself from close siblings like macro_cons_gold or macro_cons_silver, so an agent must infer the distinction from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains data characteristics (previous-month lag, missing-country filtering, Ecuador exclusion) but gives no guidance on when to use this tool versus the many other macro_* siblings. There is no explicit when/when-not or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_cons_silverBRead-onlyIdempotent
全球最大白银 ETF—SPDR Gold Trust 持仓报告,数据区间从 20041118-至今 https://datacenter.jin10.com/reportType/dc_etf_sliver :return: 持仓报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so safety is covered. The description usefully adds the historical coverage window (20041118-present) and the return type (pandas.DataFrame). It does not disclose update frequency or source reliability, so it adds modest value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded: instrument, data range, source URL, then return type. The docstring-style :return:/:rtype: lines are slightly redundant with the closing content but add the DataFrame return type, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only data-fetch tool with no output schema, the description covers the resource, the temporal scope, and the return type. The one gap is the internal inconsistency between 'silver ETF' and 'SPDR Gold Trust', which an agent could misinterpret.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (schema description coverage 100%), so there is nothing for the description to clarify. Baseline 4 applies; the description does not need to compensate for any parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb/resource: retrieves the holdings report for a major silver ETF, plus the data range (20041118-present). An agent can identify the resource, though the text calls SPDR Gold Trust (a gold ETF) the 'largest silver ETF', which muddies exactly which instrument this returns. Sibling macro_cons_gold is not distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance. It does not mention the closely related macro_cons_gold or macro_cons_opec_month alternatives, nor any condition for choosing this over them. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_cpi_momBRead-onlyIdempotent
欧元区 CPI 月率报告,数据区间从 19900301-至今 https://datacenter.jin10.com/reportType/dc_eurozone_cpi_mom https://cdn.jin10.com/dc/reports/dc_eurozone_cpi_mom_all.js?v=1578578318 :return: 欧元区CPI月率报告 :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered and the description is not obligated to restate it. The description does add genuinely useful context not in the annotations: the historical coverage starts 19900301 and the return type is a pandas.Series. It says nothing about update frequency, latency, or how missing periods are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core statement (instrument plus coverage window) and only two lines of boilerplate source URLs and type hints follow. It is short and every line is informational, though the raw CDN .js URL is noise for an agent selecting a tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless single-series fetcher with no output schema, the definition supplies the essential facts an agent needs: the subject, the coverage window, and the return type (pandas.Series). It stops short of stating frequency or update behavior, but nothing required for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema carries no semantic burden and the baseline is 4. Nothing in the description is needed to explain invocation, and none of the text conflicts with the empty parameter object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb-resource pair (Euro zone CPI MoM report) plus a data range (19900301-present), so an agent knows exactly what is returned. It does not explicitly contrast itself with the close sibling macro_euro_cpi_yoy, though the name and '月率' framing make the distinction reasonably inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no pointer to an alternative such as macro_euro_cpi_yoy or macro_usa_cpi_monthly. The agent must infer from the name alone that this is the Euro-area monthly CPI series.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_cpi_yoyBRead-onlyIdempotent
欧元区CPI年率报告,数据区间从19910201-至今 https://datacenter.jin10.com/reportType/dc_eurozone_cpi_yoy https://cdn.jin10.com/dc/reports/dc_eurozone_cpi_yoy_all.js?v=1578578404 :return: 欧元区CPI年率报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds the temporal coverage of the series and the source URLs, which is useful, but says nothing about update frequency, rate limits, or whether the series is revised.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and range, then links, then return info in RST style. The only noise is the cache-busted JS URL, which is minor and does not obscure the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no input parameters and no output schema, the description usefully supplies the return type (pandas.Series) and the meaning of the returned value (current YoY CPI in %), which is exactly the missing information an agent would need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline rule the schema carries no parameter burden and a 4 is appropriate. The description needs no parameter explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and metric: Eurozone CPI YoY report, with an explicit data range (1991-02-01 to present). The 'YoY' qualifier intrinsically separates it from macro_euro_cpi_mom, though the description never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as macro_euro_cpi_mom or macro_usa_cpi_yoy despite the very large family of sibling macro CPI tools. The data range is the only contextual hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_current_account_momBRead-onlyIdempotent
欧元区经常帐报告,数据区间从20080221-至今,前两个值需要去掉 https://datacenter.jin10.com/reportType/dc_eurozone_current_account_mom https://cdn.jin10.com/dc/reports/dc_eurozone_current_account_mom_all.js?v=1578577976 :return: 欧元区经常帐报告-今值(亿欧元) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds a genuine behavioral caveat — that the first two values must be dropped (前两个值需要去掉) — plus the return type, but this quirk is stated without explanation of why or how it manifests.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, but the body mixes Chinese source text, two raw URLs, and Python docstring artifacts (:return:, :rtype:) in one undifferentiated block. It is short but not cleanly structured, and the caveat about dropping values is buried between links.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries most of the burden; it does give the return type (pandas.Series) and the anomaly caveat, which is helpful. It still doesn't describe the series contents (what the index or units represent are only partly implied), leaving a small gap for a data-retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing for the description to clarify beyond what an empty schema already implies, and it correctly adds no spurious parameter talk.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (欧元区经常帐报告 / Eurozone current account report) and its data range, which lets an agent distinguish it from the sibling macro_usa_current_account. However, it never states an explicit verb ('retrieve'/'get') and doesn't call out the US counterpart, so the differentiation is implicit rather than deliberate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, nor any prerequisites. For a zero-parameter macro fetcher the risk is low, but the description offers no routing guidance at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_employment_change_qoqBRead-onlyIdempotent
欧元区季调后就业人数季率报告,数据区间从20083017-至今 https://datacenter.jin10.com/reportType/dc_eurozone_employment_change_qoq https://cdn.jin10.com/dc/reports/dc_eurozone_employment_change_qoq_all.js?v=1578578699 :return: 欧元区季调后就业人数季率报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the data interval and return field/type, but does not explain update frequency, authentication needs, rate limits, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The report purpose and date range are front-loaded, and the return details are compact. The two raw URLs and docstring-style :return/:rtype lines are somewhat untidy but do not make the description excessively long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter historical report, the description states the subject, date coverage, and return type/value field. With annotations covering safety and no output schema present, this is nearly complete, though it omits update cadence and exact output-column semantics beyond 今值(%).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to document parameter meaning, though it does supply return-value context instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific report, the eurozone seasonally adjusted employment change QoQ series, and states its data coverage. It is clear enough to distinguish from other macro_euro siblings by resource, but it does not explicitly contrast itself with alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use guidance, prerequisites, or alternatives. The only contextual hint is the stated date range from 20083017 to present, which does not help an agent choose this tool over related macro indicators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_gdp_yoyBRead-onlyIdempotent
欧元区季度 GDP 年率报告,数据区间从 20131114-至今 https://datacenter.jin10.com/reportType/dc_eurozone_gdp_yoy :return: 欧元区季度 GDP 年率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the historical coverage window (20131114-present), the source URL, and the return type (pandas.DataFrame), which is genuine extra context but not deep behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and date coverage are front-loaded in the first sentence, which is efficient. The trailing ':return:' line merely restates the subject and ':rtype: pandas.DataFrame' is a docstring artifact, minor redundancy but not bloating.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema report endpoint, the description gives the subject, region, history window, source, and return type — enough for an agent to invoke it correctly. It lacks only guidance on result granularity or update cadence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing for the description to disambiguate, and schema coverage is effectively 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: the Eurozone quarterly GDP YoY report, with a concrete data coverage window (20131114 to present). An agent can tell it apart from China/US/UK GDP siblings by region, though no sibling is named explicitly. Clear but without explicit differentiation language.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is offered. The description only states the data's subject and date range, leaving the agent to infer that this should be used for Eurozone GDP YoY time-series needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_industrial_production_momBRead-onlyIdempotent
欧元区工业产出月率报告,数据区间从19910301-至今 https://datacenter.jin10.com/reportType/dc_eurozone_industrial_production_mom https://cdn.jin10.com/dc/reports/dc_eurozone_industrial_production_mom_all.js?v=1578577377 :return: 欧元区工业产出月率报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered without the description. The description usefully adds the coverage window (data since 1991-03-01) and the source endpoints, but says nothing about update frequency, latency, or how the series is indexed — hence a middling score rather than a high one.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The resource name and date range are front-loaded and the whole text is short, but the two raw CDN/JS URLs and the python-idiom ':return:/:rtype:' tags add clutter that an agent gains little from. It is not verbose, but not every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by stating the return payload ('今值(%)') and type (pandas.Series), and it discloses the temporal coverage. Annotations carry the safety profile. For a parameterless data-retrieval tool this is close to sufficient, with only update cadence and null/missing handling left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema carries no semantics to document and the baseline is 4. The description cannot add parameter meaning because there is none to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('欧元区工业产出月率报告') and adds a concrete data range (19910301-至今), so an agent knows exactly what data this returns. It never states a verb (fetch/retrieve) and does not distinguish itself from near-neighbors like macro_euro_ppi_mom or macro_usa_industrial_production, so it falls short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternative tools for related Euro-zone monthly indicators. The agent must infer usage purely from the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_lme_holdingARead-onlyIdempotent
伦敦金属交易所(LME)-持仓报告,数据区间从 20151022-至今 https://datacenter.jin10.com/reportType/dc_lme_traders_report https://cdn.jin10.com/data_center/reports/lme_position.json?_=1591533934658 :return: 伦敦金属交易所(LME)-持仓报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, and non-destructive behavior. The description adds useful context beyond annotations: the data source URLs, the historical coverage start date, and the return type (pandas.DataFrame). It does not cover authentication or rate limits, but for a simple data-retrieval tool this is solid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and date range are front-loaded, but the description includes two raw URLs that add clutter without helping an agent decide how to invoke the tool. It is not excessive in length, but not maximally concise either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no input parameters, rich annotations, and no output schema, the description is nearly complete for invocation: it names the dataset, date range, source, and return type. It lacks detail on returned columns, but without an output schema that is a minor gap for a simple data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so parameter semantics are not applicable; the baseline for zero-parameter tools is 4. No additional parameter meaning is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource: London Metal Exchange (LME) holdings report, with a clear date coverage range. It is distinguishable from the sibling macro_euro_lme_stock by the word '持仓' versus stock, though the description does not 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a temporal scope ('20151022-至今') but gives no explicit guidance on when to use this tool versus alternatives such as macro_euro_lme_stock or other LME-related tools. Usage is only implied by the report name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_lme_stockBRead-onlyIdempotent
伦敦金属交易所(LME)-库存报告,数据区间从 20140702-至今 https://datacenter.jin10.com/reportType/dc_lme_report https://cdn.jin10.com/data_center/reports/lme_stock.json?_=1591535304783 :return: 伦敦金属交易所(LME)-库存报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds the data range, source URLs, and return type (pandas.DataFrame), which is useful, but it does not disclose update frequency, pagination, authentication, or rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and date range are front-loaded, which is good. However, the :return: line repeats the resource name without adding information, and the two raw URLs are of questionable use for invoking the tool, making the description slightly less tight than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only data retrieval tool with rich annotations and no output schema, the description provides enough to call it correctly: it states the resource, time coverage, source, and return type. Missing details such as update frequency or caveats about the data are minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify beyond what the empty schema already communicates. The baseline for a no-parameter tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (LME inventory report) and its coverage period (20140702 to present), which clearly distinguishes it from sibling macro_euro_lme_holding (LME holdings report). However, it does not use an explicit verb and relies on the resource name and sibling naming convention for differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as macro_euro_lme_holding, futures_inventory_99, or other inventory-related tools. The date range and source URLs provide context but do not tell the agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_manufacturing_pmiBRead-onlyIdempotent
欧元区制造业PMI初值报告,数据区间从20080222-至今 https://datacenter.jin10.com/reportType/dc_eurozone_manufacturing_pmi https://cdn.jin10.com/dc/reports/dc_eurozone_manufacturing_pmi_all.js?v=1578577537 :return: 欧元区制造业PMI初值报告-今值 :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the data start date and specifies the return as a pandas Series of the current value (今值), which is useful behavioral context beyond the annotations, though authentication, rate limits, and update frequency are not addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the report name, but it includes two raw URLs and repeats the resource name in the :return: field, which adds some clutter. It is not poorly structured, but not every element clearly earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter macro data retrieval tool with no output schema, the description supplies the data range, the return object type, and the returned field (今值). Together with annotations that cover the safety profile, this is nearly complete, though update frequency and source reliability remain unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero input parameters, so there are no parameter semantics to document. Baseline score of 4 is appropriate; the description's return-type note is helpful but does not substitute for missing parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (欧元区制造业PMI初值报告) and its temporal coverage (20080222-至今), which distinguishes it from siblings like macro_euro_services_pmi or macro_euro_ppi_mom. It does not use an explicit retrieval verb, but the purpose is clear from the tool name and the stated content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives, and no exclusions are given. The agent must infer usage solely from the tool name and data coverage; there is no statement about when this should be selected over other Eurozone macro tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_ppi_momBRead-onlyIdempotent
欧元区PPI月率报告,数据区间从19810301-至今 https://datacenter.jin10.com/reportType/dc_eurozone_ppi_mom https://cdn.jin10.com/dc/reports/dc_eurozone_ppi_mom_all.js?v=1578578493 :return: 欧元区PPI月率报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context the annotations do not: the data coverage window (19810301-present) and the return payload (今值 %, a pandas.Series). It omits update frequency and any rate-limit/auth notes, so it is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The resource and date range are front-loaded, which is good, but the body embeds two raw source URLs and Sphinx-style :return:/:rtype: tags that read as scraped docstrings rather than agent-facing guidance. It is compact but not cleanly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter data-fetch tool with no output schema, the description supplies the key facts an agent needs: what series it is, its historical span, and the return type/value. Missing only freshness/frequency details, which are secondary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (schema coverage 100%), so there is nothing for the description to disambiguate; per the baseline for a 0-param tool, this scores 4. The description correctly implies the tool is callable with no arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (欧元区PPI月率报告 = Eurozone PPI MoM report) and pins its scope (data range 19810301-present), which is enough for an agent to identify it. It does not, however, explicitly distinguish itself from the many sibling macro_euro_* and macro_*_ppi tools, so differentiation relies on the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as macro_china_ppi_yearly or macro_usa_ppi, nor any prerequisites or exclusion conditions. The agent must infer usage purely from the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_retail_sales_momARead-onlyIdempotent
欧元区零售销售月率报告,数据区间从20000301-至今 https://datacenter.jin10.com/reportType/dc_eurozone_retail_sales_mom https://cdn.jin10.com/dc/reports/dc_eurozone_retail_sales_mom_all.js?v=1578578576 :return: 欧元区零售销售月率报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the safety profile is covered. The description still adds real value beyond them: the coverage window (2000-03-01 to present) and the returned object (:rtype: pandas.Series containing 今值 %), which the annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and coverage are front-loaded in the first clause, but two raw CDN/datacenter URLs are embedded as noise an agent cannot act on. Short overall, yet some content does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the return-value burden and does so (:return:: 今值(%); :rtype: pandas.Series), plus the historical range. Missing only any note on update frequency/lag, which is minor for a read-only macro series.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters, so the baseline is 4; there is no parameter semantics to explain and the description correctly documents no arguments, only the data range.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific metric and scope: the Eurozone retail sales MoM report, with the data range (20000301-至今) front-loaded. An agent can tell it apart from adjacent tools by region+metric even though no sibling (e.g. macro_uk_retail_monthly, macro_euro_ppi_mom) is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never states when to use this tool versus alternatives, nor any prerequisites or freshness caveats. It is purely a data-source pointer, leaving selection entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_sentix_investor_confidenceBRead-onlyIdempotent
欧元区Sentix投资者信心指数报告,数据区间从20020801-至今 https://datacenter.jin10.com/reportType/dc_eurozone_sentix_investor_confidence https://cdn.jin10.com/dc/reports/dc_eurozone_sentix_investor_confidence_all.js?v=1578577195 :return: 欧元区Sentix投资者信心指数报告-今值 :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds the historical start date and names the upstream data source (jin10 datacenter), which is genuinely useful, but says nothing about update frequency, latency, or how fresh the 'present' value is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core statement is front-loaded and short, but two raw URLs and a cache-busting query string are pasted in without explaining their role, which is noise for an agent selecting a tool. The :return:/:rtype: docstring lines are useful but Sphinx-specific formatting.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by naming the return field (今值) and return type (pandas.Series), plus the coverage window. For a zero-argument single-series macro fetcher this is close to sufficient; only update cadence is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing to disambiguate; baseline 4 applies. No misleading parameter hints are present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — the Eurozone Sentix investor confidence index report — and states its temporal scope (2002-08-01 to present), which distinguishes it from sibling sentiment series such as macro_euro_zew_economic_sentiment. It lacks an explicit verb (retrieve/fetch) and reads more like a data catalog entry, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many other macro_euro_* and sentiment tools, no prerequisites, no exclusions. The only contextual cue is the coverage window, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_services_pmiARead-onlyIdempotent
欧元区服务业PMI终值报告,数据区间从 20080222-至今 https://datacenter.jin10.com/reportType/dc_eurozone_services_pmi https://cdn.jin10.com/dc/reports/dc_eurozone_services_pmi_all.js?v=1578577639 :return: 欧元区服务业PMI终值报告-今值 :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, idempotent, open-world data lookup with no destructive behavior. The description adds useful context by stating the historical range and the return value/rtype, though it does not cover update frequency or any source caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the report name and coverage period, then the source URLs and Sphinx return fields. The two raw URLs are somewhat extraneous for invocation, but the overall text is compact and does not pad the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter macro data endpoint with annotations covering safety, the description supplies the dataset name, coverage range, source, and return type. It is complete enough to invoke correctly, though it could add update frequency or clarify the exact output columns beyond the current value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to document; this meets the baseline of 4 for a no-parameter tool. The description appropriately avoids inventing inputs and instead clarifies the dataset itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact dataset (Eurozone services PMI final report) and its coverage range, making it clearly distinguishable from siblings like macro_euro_manufacturing_pmi and macro_usa_services_pmi. It is specific about the resource and scope, though it does not use an explicit retrieval verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance and does not mention alternatives or exclusions. It implies this tool retrieves Eurozone services PMI data, but an agent must infer selection from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_trade_balanceCRead-onlyIdempotent
欧元区未季调贸易帐报告,数据区间从19990201-至今 https://datacenter.jin10.com/reportType/dc_eurozone_trade_balance_mom https://cdn.jin10.com/dc/reports/dc_eurozone_trade_balance_mom_all.js?v=1578577862 :return: 欧元区未季调贸易帐报告-今值(亿欧元) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety profile (readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false). The description adds a useful data-range fact (1999-02-01 to present) but says nothing about return shape, refresh cadence, or units beyond the trailing ':return' note. Adds modest context over the annotations but not rich behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the report name but then dumps two raw URLs plus :return:/:rtype: docstring fragments into the description. The links are not useful prose for an agent and cost space without earning it. Structurally it reads like a docstring echo rather than a tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param, read-only data pull with annotations covering the safety profile, the essential information (what series, its unit, its coverage window) is present. But there is no mention of frequency (monthly MoM variants among siblings), no output schema, and no disambiguation from sibling trade-balance tools, so it is adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description does not mention any params, which is correct, and the ':return' hint (今值,亿欧元) adds value about the returned series' unit and semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific data series (欧元区未季调贸易帐报告) and gives a date range, which is a real resource identification. However it never states a verb (fetch/retrieve) and does not differentiate itself from close siblings like macro_usa_trade_balance, macro_uk_trade, macro_australia_trade, or macro_china_trade_balance beyond the region name embedded in the title. The purpose is inferable but not crisply stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance at all. An agent choosing between this and the dozen other trade-balance tools in the sibling list gets no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_unemployment_rate_momARead-onlyIdempotent
欧元区失业率报告,数据区间从19980501-至今 https://datacenter.jin10.com/reportType/dc_eurozone_unemployment_rate_mom https://cdn.jin10.com/dc/reports/dc_eurozone_unemployment_rate_mom_all.js?v=1578578767 :return: 欧元区失业率报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, open-world safety. The description adds useful behavioral context beyond annotations: the historical data range, the specific return field (今值(%)), and the pandas.Series return type, which helps an agent understand the output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and data range, followed by source URLs and return documentation. It is reasonably concise, though the raw URLs and repeated title from annotations add some avoidable length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description covers the essentials: what the report is, the historical range, and the returned value/type. It is slightly incomplete in not clarifying the monthly or month-over-month nature implied by the tool name, but it is adequate for a no-param read-only data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema cannot provide parameter semantics. The baseline for 0 params is 4, and the description does not need to compensate for undocumented inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific data resource (欧元区失业率报告), its coverage range (19980501-至今), and the returned field (今值(%)). It is distinguishable from other unemployment tools by the Eurozone scope, though it does not explicitly contrast itself with siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative macro-unemployment tools, nor any exclusions or preconditions. The data range gives a hint about coverage but not usage selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_euro_zew_economic_sentimentARead-onlyIdempotent
欧元区ZEW经济景气指数报告,数据区间从20080212-至今 https://datacenter.jin10.com/reportType/dc_eurozone_zew_economic_sentiment https://cdn.jin10.com/dc/reports/dc_eurozone_zew_economic_sentiment_all.js?v=1578577013 :return: 欧元区ZEW经济景气指数报告-今值 :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds useful non-safety context: the start date of the data (20080212), the source URLs, and the return type (pandas.Series of the current value). It does not contradict any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key report name and date range are front-loaded, but the description then embeds two raw URLs, including a cache-busted JavaScript asset URL, and Sphinx-style :return:/:rtype: markers. Some of this is source context, but it is not tightly structured for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter macro-data retrieval tool with no output schema, the description is largely complete: it states the report, historical coverage, source, and returned value type. It omits update frequency and units, but those are relatively minor for selecting and calling the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero input parameters, so there are no parameter semantics to explain. The baseline for a no-parameter tool is 4; the description correctly does not invent parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource, 欧元区ZEW经济景气指数报告 (Eurozone ZEW Economic Sentiment report), and states the data range from 2008-02-12 onward. It implicitly distinguishes itself from the Germany-specific sibling macro_germany_zew by keeping the Eurozone scope, though it does not explicitly name that alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no conditions for selecting this tool over the many other macro tools, and no exclusions. Usage is only implied by the report name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_fx_sentimentCRead-onlyIdempotent
金十数据-外汇-投机情绪报告 外汇投机情绪报告显示当前市场多空仓位比例,数据由8家交易平台提供,涵盖11个主要货币对和1个黄金品种。 报告内容:品种:澳元兑日元、澳元兑美元、欧元兑美元、欧元兑澳元、欧元兑日元、英镑兑美元、英镑兑日元、纽元兑美元、美元兑加元、美元兑瑞郎、美元兑日元以及现货黄金兑美元。 数据:由Shark - fx整合全球8家交易平台( 包括 Oanda、FXCM、Insta、Dukas、MyFxBook以及FiboGroup) 的多空投机仓位数据而成。 名词释义:外汇投机情绪报告显示当前市场多空仓位比例,数据由8家交易平台提供,涵盖11个主要货币对和1个黄金品种。 工具使用策略:Shark-fx声明表示,基于“主流通常都是错误的”的事实,当空头头寸超过60%,交易者就应该建立多头仓位;同理,当市场多头头寸超过60%,交易者则应该建立空头仓位。此外,当多空仓位比例接近50%的情况下,我们则倾向于建议交易者不要进场,保持观望。 https://datacenter.jin10.com/reportType/dc_ssi_trends :param start_date: 具体交易日 :type start_date: str :param end_date: 具体交易日,与 end_date 相同 :type end_date: str :return: 投机情绪报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | 20221017 | |
| start_date | No | 20221011 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description needn't cover safety. It adds useful context about data sources (8 platforms, listed names) and the report's coverage, but omits behavioral details like update frequency, rate limits, or response shape beyond the rtype.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is bloated and repetitive: the opening paragraph and the '名词释义' section duplicate the same content. It includes a lengthy trading strategy and a URL that, while contextually relevant, are not needed to invoke the tool correctly. It is not front-loaded for tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and two undocumented parameters, the description provides substantial content about the report's scope and data sources. However, it lacks essential parameter formats and the parameter notes contain an error, leaving gaps for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists start_date and end_date as 'specific trading day' but gives no format (e.g., YYYYMMDD) and contains a likely error ('same as end_date' for end_date). This is insufficient for correct parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a Jin10 forex speculative sentiment report, detailing the exact currency pairs and gold instrument covered. It distinguishes itself from generic forex quote tools by focusing on long/short position ratios from multiple platforms, but it does not explicitly name sibling alternatives or state a verb like 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a contrarian trading strategy for interpreting the data (e.g., when short positions exceed 60%, go long), but this is not guidance on when to call this tool versus other forex or macro tools. There is no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_germany_cpi_monthlyARead-onlyIdempotent
东方财富-数据中心-经济数据一览-德国-消费者物价指数月率终值 https://data.eastmoney.com/cjsj/foreign_1_1.html :return: 消费者物价指数月率终值 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and side-effect transparency. The description adds useful context by specifying the source URL and the return type (pandas.DataFrame), which is not in the annotations. However, it does not disclose potential data ranges, refresh frequency, or other behavioral nuances, so it only partially adds value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a short source label, a URL, and a docstring return specification. It is front-loaded with the main purpose and contains no redundant words. Every line earns its place, making it an efficient, well-structured description for a simple data-retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of a zero-parameter tool and the presence of annotations covering safety, the description is mostly adequate. However, it lacks details about the returned DataFrame's contents beyond 'consumer price index monthly rate final value'—such as date range, units, or historical depth. Since there is no output schema, this information would be helpful for the agent to know what to expect, so it is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is vacuously 100%. According to the scoring guideline, a baseline of 4 is appropriate for a zero-parameter tool. The description does not need to explain any parameter semantics, and it doesn't contradict the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: it retrieves the Germany Consumer Price Index (CPI) monthly rate final value from East Money's data center. The resource (specific geographic region and metric) is unambiguous, and it distinguishes itself from siblings like macro_germany_cpi_yearly by specifying 'monthly' and 'final value'. The docstring return statement reinforces the action of returning a DataFrame.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only states the data source and what is returned, with no mention of use cases, exclusions, or comparisons to related tools. In a sibling set containing many macro indicators, the agent receives no explicit direction for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_germany_cpi_yearlyBRead-onlyIdempotent
东方财富-数据中心-经济数据一览-德国-消费者物价指数年率终值 https://data.eastmoney.com/cjsj/foreign_1_2.html :return: 消费者物价指数年率终值 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), which is some context, but it does not disclose any behavioral traits such as the historical range covered, data frequency, or that it fetches from a live web endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, consisting of a title line, a URL, and a return-type docstring. It is efficient and front-loaded, with no wasted words. However, it reads more like a mechanical docstring than a thoughtfully written description, so it doesn't earn the top score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple no-parameter retrieval, and the description states the source URL and return type, which is sufficient for a basic invocation. But it lacks information about the data's time span, update frequency, or any caveats, and there is no output schema to fill those gaps. It is minimally complete but leaves open questions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty with 100% coverage. The description adds no parameter details, but none are needed. Per the baseline for 0-parameter tools, this scores 4 because the schema fully documents the absence of parameters and the description does not need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: Germany's Consumer Price Index yearly rate final value from Eastmoney's data center. The title and URL provide specific context, but there is no explicit verb like 'retrieve' or 'get'; the purpose is implied by the name and title rather than stated directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternative macro data tools, such as macro_germany_cpi_monthly or macro_germany_gdp. The description does not mention exclusions, prerequisites, or comparison to sibling tools, so the agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_germany_gdpBRead-onlyIdempotent
东方财富-数据中心-经济数据一览-德国-GDP https://data.eastmoney.com/cjsj/foreign_1_4.html :return: GDP :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds the source URL and return type but does not disclose potential data limitations, update frequency, or network behavior. It provides minimal additional context beyond what annotations already state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, containing only the source title, URL, return type, and return format. Every line serves a purpose, and there is no redundant or filler content, making it well-structured for a zero-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 provides the basic essentials: source, URL, and return format. However, it lacks details about the DataFrame's columns, data frequency (e.g., quarterly), units, or time coverage, which could be important for an agent deciding if this tool meets a user's need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, there is nothing for the description to explain. The schema coverage is 100% vacuously, and the baseline for a zero-parameter tool is 4 per guidelines.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a source for German GDP data from the East Money data center, with a specific URL and return type. The name and description together distinguish it from other macro indicators, though it lacks an explicit verb like 'get' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many other macro_* tools for different countries or indicators. There are no explicit alternatives, exclusions, or usage context beyond the obvious 'German GDP' implication.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_germany_ifoCRead-onlyIdempotent
东方财富-数据中心-经济数据一览-德国-IFO商业景气指数 https://data.eastmoney.com/cjsj/foreign_1_0.html :return: IFO商业景气指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds the return type (pandas.DataFrame) and source URL, which is some context, but it does not disclose any additional behavioral traits such as data range, freshness, or units. No contradiction with annotations is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three lines and compact, containing the title, source URL, and return type. It is not verbose and each line carries some information, though it is more of a metadata listing than a coherent prose description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description should explain the returned data. It minimally states that the return is the IFO index as a DataFrame, but lacks specifics about columns, frequency, or units. This is adequate for a simple zero-parameter fetch but leaves ambiguities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description does not need to document parameters and it does not, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a title and a URL, with a docstring-like :return: line. It restates the tool name 'macro_germany_ifo' as '德国-IFO商业景气指数' without an active verb or a clear explanatory sentence, making it closer to a tautology. It adds the source URL and return type, but the core purpose is simply a label.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling macro tools (e.g., macro_germany_cpi, macro_germany_gdp). It only provides a source URL and return type, so the agent gets no decision support or alternative exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_germany_retail_sale_monthlyARead-onlyIdempotent
东方财富-数据中心-经济数据一览-德国-实际零售销售月率 https://data.eastmoney.com/cjsj/foreign_1_5.html :return: 实际零售销售月率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds meaningful context beyond annotations by specifying the return type (pandas.DataFrame), the source URL, and the exact data content (实际零售销售月率). This helps the agent understand output format and provenance. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of a title, source URL, return description, and return type. All lines contribute useful information. It is front-loaded with the key purpose. However, '实际零售销售月率' appears twice (in the title and return), which is a slight redundancy, preventing a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple no-parameter data retrieval tool with no output schema. The description provides the source, return type, and data description, which is sufficient for an agent to understand what it returns. It does not explain the data frequency or interpretation of '月率', but that is largely carried by the name and context. For its simplicity, it is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is fully covered (trivially). With 0 params, the baseline for this dimension is 4. The description does not need to explain parameters, and it adds value by stating the return type, which is the only meaningful semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves Germany's actual retail sales monthly rate from Eastmoney Data Center, with a specific URL and return type. It distinguishes from sibling tools like macro_germany_retail_sale_yearly by explicitly naming the monthly rate (月率). However, it lacks an explicit verb like 'fetch' or 'get', relying on the noun phrase to imply retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool vs alternatives like macro_euro_retail_sales_mom or macro_germany_retail_sale_yearly. The context is implied by the name and description (Germany, monthly retail sales), but without clear exclusions or explicit when-to-use instructions, it falls short of a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_germany_retail_sale_yearlyARead-onlyIdempotent
东方财富-数据中心-经济数据一览-德国-实际零售销售年率 https://data.eastmoney.com/cjsj/foreign_1_6.html :return: 实际零售销售年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the source URL and return type (pandas DataFrame) but does not disclose any additional behavioral traits such as pagination, rate limits, or data freshness. It is consistent with annotations, so no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loads the essential information: source, metric, URL, return value. It is slightly redundant in repeating the metric name in the return line, but overall every sentence serves a purpose and the structure is clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple read-only nature and no parameters, the description is adequate. However, there is no output schema, so the description should more explicitly describe the DataFrame's structure (e.g., columns or index). It only names the metric without specifying the data shape or historical range.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the parameter schema is trivially complete. With no parameters, the description need not elaborate on parameter meaning. The baseline of 4 applies because no parameter information is necessary.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the data source (东方财富/Data Center), the geographic and metric scope (Germany real retail sales annual rate), and the return type (pandas DataFrame). It distinguishes from sibling tools like macro_germany_retail_sale_monthly by explicitly specifying 'yearly'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving Germany's real retail sales annual rate from Eastmoney, but provides no explicit guidance on when to use this tool versus alternatives (e.g., monthly data, other countries). No exclusions or alternative recommendations are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_germany_trade_adjustedCRead-onlyIdempotent
东方财富-数据中心-经济数据一览-德国-贸易帐(季调后) https://data.eastmoney.com/cjsj/foreign_1_3.html :return: 贸易帐(季调后) :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that: no update frequency, no release lag, no units/currency, no coverage of the historical range — all of which matter for a macro time series and are the description's job to supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the resource name, which is good. But the content is docstring boilerplate — a raw URL plus ':return:' and ':rtype: pandas.DataFrame' lines that restate the name and add little for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn what the returned DataFrame contains (columns, frequency, units, date span). None of that is provided, leaving the agent unable to judge whether the result matches the request without calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. The schema is empty and fully self-describing; there are no argument semantics requiring further explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource — Germany's seasonally-adjusted trade balance from Eastmoney's data center — but does so by restating the tool name and title in Chinese with no verb explaining the action. It never distinguishes this series from the many sibling trade-balance tools (macro_usa_trade_balance, macro_euro_trade_balance, macro_uk_trade, macro_canada_trade), so an agent must infer the Germany/seasonally-adjusted scope from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite context, and no mention of alternatives or how this series differs from other trade-balance tools. The only added content is a source URL, which helps a human find the page but tells the agent nothing about when to invoke this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_germany_zewBRead-onlyIdempotent
东方财富-数据中心-经济数据一览-德国-ZEW 经济景气指数 https://data.eastmoney.com/cjsj/foreign_1_7.html :return: ZEW 经济景气指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and a source URL, which is useful but does not disclose additional behavior such as data frequency, date range, or pagination. It does not contradict annotations, so a mid-range score is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of the title, a URL, and a return-type annotation. It is well-structured with clear labels for return and rtype. No unnecessary words. However, it is almost too terse, lacking any explanatory prose that could help an agent understand the tool's broader role.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides essential context: the data is Germany's ZEW index from a specified source, and the return type is a DataFrame. Yet it omits critical details like time range, frequency, or the columns included in the DataFrame. Without an output schema, the description carries the burden of explaining the return value, but it only states the index name. This is enough for a basic retrieval but not richly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (empty). The description does not need to elaborate on parameters. It mentions the return value, which is relevant context for a parameterless function. Baseline for 0 params is 4, and the description satisfies this.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: Germany's ZEW Economic Sentiment Index, sourced from Eastmoney's data center. It states the return type and a URL, making the tool's primary purpose apparent. However, it lacks an explicit verb (e.g., 'retrieves' or 'returns'), leaning on the name and title to convey action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool over alternatives. Sibling tools include macro_euro_zew_economic_sentiment and other Germany-specific macro indicators, but the description does not differentiate or provide context for choosing this tool. It simply provides a title and URL, leaving the agent without usage criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_global_sox_indexBRead-onlyIdempotent
费城半导体指数 https://data.eastmoney.com/cjsj/hyzs_list_EMI00055562.html :return: 费城半导体指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to restate safety. It adds the return type (pandas.DataFrame) and a source URL, which are useful. However, it does not disclose other behavioral traits such as data frequency, time range, or whether the data is historical or real-time. With good annotation coverage, this is acceptable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of the index name, a URL, and a docstring. There is no fluff or redundancy beyond the repeated name, but the raw URL adds a practical source reference. The structure is reasonably clean, though it could be more readable if the URL were presented as a label.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter read-only tool, this description is minimally viable. It names the index and its source, and specifies the return type. However, it does not clarify whether the returned DataFrame contains historical time series or just a current snapshot, nor does it describe the columns or time span. Given no output schema exists, the description should provide more detail about the data structure to fully inform the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter semantics to explain. The description correctly indicates the return type (DataFrame), which is the only relevant semantic. The schema is empty, so the description adds value by stating the return structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as the Philadelphia Semiconductor Index (费城半导体指数) and provides a data source URL. While it lacks an explicit action verb like 'get' or 'return', the docstring ':return: 费城半导体指数' and the tool name make it evident that the tool returns this index data. It distinguishes itself from siblings by being specifically for the SOX index, but the phrasing is minimal and relies on the name/context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or scenarios where this index would be preferred over other macro/index tools. The agent is left to infer usage solely from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_info_wsCRead-onlyIdempotent
华尔街见闻-日历-宏观 https://wallstreetcn.com/calendar :param date: 日期 :type date: str :return: 日历-宏观 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240514 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, so the safety profile is fully covered. The description adds the source URL and the fact that it returns a pandas.DataFrame in the docstring, which is useful but minimal. It does not disclose behavioral details like date format handling, pagination, or row contents, so it provides only modest value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but not concisely informative; it is under-specified. It blends a title, URL, and docstring without forming a clear, complete sentence. A concise description would convey the tool's purpose and key behavior, but this one only provides a label.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only one optional parameter and rich annotations, so it is simple, but the description is still incomplete. It does not explain what the macro calendar contains, how the date parameter filters results, or when to prefer this tool over the many other macro_* siblings. The return type is given, but the returned data structure is not outlined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description's docstring for 'date' merely says '日期' (date), which only restates the parameter name. It does not specify the expected format (e.g., YYYYMMDD) beyond the schema default. The return type is mentioned but no return structure is described. Thus the description adds very little semantic value for the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a title and a URL: '华尔街见闻-日历-宏观' and 'https://wallstreetcn.com/calendar'. It lacks an explicit verb or statement of what the tool does beyond implying macro calendar data. There is no clear differentiation from the many sibling macro_* tools that also provide macro-related data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus the numerous similar macro tools. There is no mention of context, exclusions, or alternatives. The description is purely nominal and provides no decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_japan_bank_rateBRead-onlyIdempotent
东方财富-经济数据-日本-央行公布利率决议 https://data.eastmoney.com/cjsj/foreign_3_0.html :return: 央行公布利率决议 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds minimal behavioral context—only that the return type is pandas.DataFrame. It does not mention any pagination, rate limits, or data completeness, but for a simple read-only data retrieval with no parameters, this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and to the point, containing only the source label, URL, and return type. However, the formatting is somewhat unstructured with the URL embedded, and the ':return:' line redundantly repeats the title. Despite this, every part adds some information and there is no wasted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no output schema, the description should at least clarify what the returned DataFrame contains. It only says '央行公布利率决议' (central bank interest rate decision), which is vague about columns, historical coverage, or data structure. The low complexity makes this minimally viable, but more detail would help an agent understand the exact data returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema carries full coverage (100%). The description does not need to explain parameters, and it doesn't. The baseline of 4 for zero-parameter tools applies, and the description's mention of the return type adds a small but useful detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing Japan's central bank interest rate decisions from Eastmoney economic data, with a specific source URL. While it lacks an explicit verb like 'get' or 'returns', the title and context make the purpose unambiguous. It does not explicitly differentiate from similar sibling tools like macro_bank_japan_interest_rate, but the specific data source and wording make its scope clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The many sibling tools, including macro_bank_japan_interest_rate and other Japan macro indicators, make this a significant gap. A sentence indicating that this tool is for interest rate decision announcements rather than current rate levels would be valuable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_japan_core_cpi_yearlyARead-onlyIdempotent
东方财富-经济数据-日本-全国核心消费者物价指数年率 https://data.eastmoney.com/cjsj/foreign_2_2.html :return: 全国核心消费者物价指数年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, ensuring the agent knows this is a safe read operation. The description adds the data source (East Money) and return type (pandas.DataFrame), which provides context beyond the annotations without any contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and structured with a title, source URL, return value, and return type. Each line has minimal waste, though the URL is somewhat noisy and the return statement essentially repeats the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify return values. It provides the return type and a generic name for the data series, but it does not specify columns, date range, or frequency. For a simple no-param data retrieval tool, this is minimally viable but leaves some ambiguity about the DataFrame's structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema coverage is 100% and there is no parameter ambiguity. The baseline of 4 applies, and the description correctly does not need to explain parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the data (Japan national core CPI yearly) via its title and return statement, and it distinguishes from sibling tools like macro_japan_cpi_yearly by specifying 'core'. However, it lacks an explicit action verb like 'fetch' or 'retrieve', relying on the docstring 'return' to imply the tool's behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of use cases, exclusions, or comparisons with other macro economic data tools, leaving the agent to infer usage solely from the tool name and title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_japan_cpi_yearlyBRead-onlyIdempotent
东方财富-经济数据-日本-全国消费者物价指数年率 https://data.eastmoney.com/cjsj/foreign_3_1.html :return: 全国消费者物价指数年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the data source URL and return type (pandas.DataFrame) but no additional behavioral traits such as data frequency, coverage period, or rate limits. It does not contradict the annotations, and the added context is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of a title line, a URL, and return/rtype lines. It avoids unnecessary elaboration, and the source URL is informative. However, the structure is fragmented rather than a flowing natural-language sentence, which slightly reduces clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless data-retrieval tool, the description provides the source, return type, and the specific data item. It does not describe the returned DataFrame's columns, update schedule, or any limitations, but given the simple nature and existing annotations, it is minimally adequate. More context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is empty and schema description coverage is 100%. The description need not explain parameters. The baseline for zero parameters is 4, and there is nothing more to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a noun phrase: '东方财富-经济数据-日本-全国消费者物价指数年率' (Eastmoney - Economic Data - Japan - National Consumer Price Index Year-on-Year Rate). It clearly identifies the specific data resource and differentiates from siblings like macro_japan_core_cpi_yearly by specifying '全国' (national), but it lacks an explicit action verb like 'fetch' or 'get', making it more of a title than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention usage context, exclusions, or alternative tools. For a parameterless fetch, the intended use is implied by the title, but there is no explicit statement of when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_japan_head_indicatorBRead-onlyIdempotent
东方财富-经济数据-日本-领先指标终值 https://data.eastmoney.com/cjsj/foreign_3_4.html :return: 领先指标终值 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, and idempotentHint=true, covering the safety profile. The description adds the return type (pandas.DataFrame) and a source URL, but does not disclose additional behavioral details like data granularity or update frequency. This is adequate given the strong annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is quite short, essentially a title, a URL, and a return-type note. It is not verbose, but it lacks a structured explanation of the data and could benefit from a brief sentence describing what 'leading indicator final value' means. It is under-specified rather than concise in a meaningful way.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description is minimal but mostly sufficient for an agent to know what data it returns. However, it does not explain the data's frequency or scope (e.g., monthly releases, historical coverage), which would be helpful for context. The strong annotations reduce the burden, but the description could still be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and the schema is empty, so the baseline for parameter semantics is 4. The description correctly notes the return type and data source, but there is nothing to add for parameter explanations. The score reflects that the tool is parameterless and no compensation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as returning Japan's leading indicator final value from Eastmoney's economic data, which clearly distinguishes it from sibling macro tools (e.g., macro_japan_bank_rate, macro_japan_cpi_yearly). It lacks an explicit verb like 'get' or 'fetch', but the noun-phrase description is unambiguous about the data resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. While the no-parameter design implies simple use, there is no explicit or implicit context helping an agent decide between this and similar Japan-specific macro indicators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_japan_unemployment_rateARead-onlyIdempotent
东方财富-经济数据-日本-失业率 https://data.eastmoney.com/cjsj/foreign_2_3.html :return: 失业率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the data source (East Money URL) and return type (pandas.DataFrame), which provides some extra context beyond annotations. However, it doesn't disclose data frequency, coverage limitations, or potential missing values, so transparency is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, containing only the essential elements: the data source, URL, return value, and return type. Every line serves a purpose. It's slightly unstructured due to the raw docstring format, but it's appropriately sized for a simple, parameterless tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description provides enough context: it states the data source, what is returned (unemployment rate), and the return type (DataFrame). It doesn't specify historical range or update frequency, but the low complexity and clear naming make the tool usable. Slight gaps exist, such as column details, but these aren't critical for the tool's basic function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so schema coverage is 100% by default. The description doesn't need to explain parameter details. The baseline for 0 parameters is 4, and the description correctly omits any parameter information, as there is nothing to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource: East Money economic data for Japan's unemployment rate (东方财富-经济数据-日本-失业率). It includes a source URL and return type, making it distinct from sibling tools for other countries' unemployment rates. The verb is implied (retrieve/get), but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when Japan's unemployment rate is needed, and the name distinguishes it from other country-specific tools. However, it provides no explicit guidance on when to choose this tool over alternatives, and doesn't mention any exclusions or prerequisites. Usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_rmb_depositBRead-onlyIdempotent
同花顺-数据中心-宏观数据-人民币存款余额 https://data.10jqka.com.cn/macro/rmb/ :return: 人民币存款余额 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well covered. The description adds the return type (pandas.DataFrame) and source URL, which are useful but minimal. It does not mention any potential limitations, such as data frequency, date range, or network dependencies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of a title, URL, and two docstring lines. It is appropriately sized for a zero-parameter tool. However, there is redundancy: the title '人民币存款余额' is repeated in the :return: line. Still, every piece of information is relevant and the structure is clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description provides basic information: source, data type, and return type. However, it does not explain what the returned DataFrame contains beyond '人民币存款余额'—such as time series frequency, columns, or historical depth. Given no output schema, more detail about the return value would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema has full coverage by definition. The description adds no parameter information, which is acceptable given there is nothing to document. The baseline for 0-param tools is 4, and there are no gaps to penalize.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving RMB deposit balance data from Flush Data Center, with the return type specified as pandas.DataFrame. However, it lacks an explicit verb like 'retrieve' or 'get', and does not distinguish itself from similar macro tools such as macro_china_rmb or macro_rmb_loan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It simply states the source and return type, with no mention of use cases, prerequisites, or when not to use it. There is no comparison to sibling tools like macro_china_rmb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_rmb_loanBRead-onlyIdempotent
同花顺-数据中心-宏观数据-新增人民币贷款 https://data.10jqka.com.cn/macro/loan/ :return: 新增人民币贷款 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type (pandas.DataFrame), but it does not disclose whether the data is scraped, how fresh it is, or the DataFrame's columns/units. It provides some context but does not substantially go beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with a clear label, source URL, and return annotation. It is front-loaded with the indicator name and contains no filler. The structure is a bit docstring-like rather than a full sentence, but it is efficient and every line adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter read-only tool, the description provides the essential source and return type, but it omits specifics like data periodicity (monthly?), the exact columns in the DataFrame, and whether it returns historical series or only the latest value. Since there is no output schema, more detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is trivially complete. The description does not need to explain parameter meaning, and the baseline of 4 is appropriate since there is nothing to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing new RMB loan (新增人民币贷款) macro data from THS Data Center, with a source URL and return type. It distinguishes itself from sibling tools like macro_rmb_deposit and macro_china_new_financial_credit by naming the specific indicator, though it lacks an explicit action verb like 'fetch' or 'query'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as macro_china_money_supply or macro_china_new_financial_credit. The description does not mention data frequency (e.g., monthly), date ranges, or any constraints, leaving the agent with no criteria for choosing it over similar macro tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_shipping_bciCRead-onlyIdempotent
海岬型运费指数(BCI) https://data.eastmoney.com/cjsj/hyzs_list_EMI00107666.html :return: 海岬型运费指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds only a data source URL and return type, but no behavioral context such as data scope, update frequency, or limitations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and compact, but the structure is fragmented, mixing a raw URL with docstring-style :return: and :rtype: lines. It is not poorly sized, but the format is not polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter data retrieval tool, the description does not specify whether the data is historical or current, what columns are present, or the time range. The presence of an output schema would mitigate this, but there is none, so the description carries the full burden and falls short.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the baseline for this case is 4. The description correctly notes the return type and does not need to explain parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's resource as the Capesize Freight Index (BCI) and indicates it returns a pandas DataFrame. It distinguishes itself from sibling shipping tools by naming the specific index, though it lacks an explicit verb like 'fetch' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as macro_shipping_bdi, macro_shipping_bpi, or macro_shipping_bcti. The description does not mention any context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_shipping_bctiBRead-onlyIdempotent
成品油运输指数(BCTI) https://data.eastmoney.com/cjsj/hyzs_list_EMI00107669.html :return: 成品油运输指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds a source URL and a return type (pandas.DataFrame), which provides some context beyond the title, but does not disclose additional behavioral traits such as data frequency, date ranges, or potential parse failures. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the key identifier (BCTI), followed by a source URL and return type. However, the ':return:' line partially repeats the title, making it slightly redundant. Still, the structure is efficient and not verbose, earning a strong score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 is mostly adequate, but it lacks details about the DataFrame's contents, such as columns, time range, or update frequency. The URL provides a hint about the data source, and the return type is stated, but without an output schema, more descriptive detail would help the agent understand what data is returned. Slightly below the higher end due to this gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description is not required to explain parameter semantics. The baseline of 4 applies because no parameters exist and the description correctly implies no input is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as the refined oil transportation index (BCTI) and states it returns that index via the ':return:' line. Although no explicit verb like 'fetch' or 'get' is used, the resource is specific and distinct from the many shipping/macro sibling tools. Lacks explicit differentiation from siblings, but the name and return statement make the purpose reasonably clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as macro_shipping_bdi, macro_shipping_bpi, or macro_shipping_bci. The description does not mention any context, exclusions, or alternatives, leaving the agent without decision support for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_shipping_bdiARead-onlyIdempotent
波罗的海干散货指数(BDI) https://data.eastmoney.com/cjsj/hyzs_list_EMI00107664.html :return: 波罗的海干散货指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds useful context: it names the data source (eastmoney.com) and specifies the return type as pandas.DataFrame, which goes beyond structured annotations. However, it doesn't elaborate on data frequency (daily? historical range?) or any quirks, but given the strong annotations, this is solid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and gets to the point, but it includes an awkwardly placed URL followed by :return: and :rtype: docstring fragments that look like leftover code documentation rather than polished prose. It is not poorly sized, but the structure is somewhat messy and could be cleaner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is mostly complete for a simple parameterless retrieval tool, and the annotations and empty schema make this straightforward. However, it lacks any indication of the time coverage, update frequency, or historical depth of the data, which could matter to an agent choosing between this and similar shipping index tools like macro_shipping_bci. It is adequate but with room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is trivially complete with 100% coverage. The description reinforces that the tool returns the BDI index as a DataFrame, which is enough semantic context for a parameterless retrieval function. No additional parameter explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as returning the Baltic Dry Index (BDI) and includes a data source URL, which clearly conveys its purpose. However, it doesn't explicitly differentiate it from sibling tools like macro_shipping_bci, macro_shipping_bpi, and macro_shipping_bcti, which are related shipping indices, so it sits just below a top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is used for retrieving the BDI because it names the index and provides a source, but it does not explicitly state when to use it over alternatives such as macro_shipping_bci or macro_shipping_bpi, nor does it mention exclusions or complementary tools. The usage context is only implicitly that the user wants BDI data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_shipping_bpiBRead-onlyIdempotent
巴拿马型运费指数(BPI) https://data.eastmoney.com/cjsj/hyzs_list_EMI00107665.html :return: 巴拿马型运费指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the description does not need to restate safety. It adds a source URL and return type (pandas.DataFrame), but does not disclose data frequency, historical scope, or any quirks of the data source. With annotations covering the safety profile, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (three lines) and gets to the point quickly. However, the first line duplicates the title, and the docstring-style return statement adds minimal value. The URL is useful but makes the description a bit noisy. Overall, it is appropriately sized but not perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool with annotations and no output schema, the description gives a source URL and return type, which is a reasonable baseline. However, it lacks details about the DataFrame contents (e.g., columns, date range, unit) and whether it provides historical data or just a snapshot. This is adequate for a simple tool but leaves room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is 100% by default. The baseline for parameter semantics is 4, and the description does not need to explain any parameters. It does confirm the return type, which is useful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool returns the 巴拿马型运费指数 (BPI), which is a specific resource. It distinguishes from sibling shipping indices (BCI, BDI) by its name and title, though the description itself is mostly a restatement of the title with a source URL and return type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternative shipping index tools. It does not specify that it is specifically for BPI or compare with related tools like macro_shipping_bdi, leaving the agent with no contextual selection cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_stock_financeBRead-onlyIdempotent
同花顺-数据中心-宏观数据-股票筹资 https://data.10jqka.com.cn/macro/finance/ :return: 股票筹资 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the read-only, idempotent, non-destructive profile, so the bar for additional disclosure is lower. The description adds the source URL and the pandas.DataFrame return format, which is useful context, but it reveals nothing about columns, time ranges, pagination, or data freshness. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the data source label and URL. However, the line ':return: 股票筹资' largely restates the title, making it slightly redundant, while the rtype line adds genuine information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain the return value shape, but it only gives the topic (股票筹资) and container type. The DataFrame's columns, units, and temporal scope are unspecified, which is a notable gap, though the zero-parameter design keeps overall complexity low.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema fully covers inputs and the baseline of 4 applies. The description's return-type note ('pandas.DataFrame') adds marginal value, and there are no undocumented parameters to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly labels the data resource (同花顺-数据中心-宏观数据-股票筹资, i.e., THS Data Center macro stock financing) and states that it returns a pandas DataFrame of 股票筹资 data, making the basic purpose evident. However, it lacks an explicit action verb and does not differentiate itself from sibling tools like macro_china_stock_market_cap or stock_financial_abstract.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It is purely a data-source label with a URL and return type, with no mention of appropriate scenarios, exclusions, or preferred sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_swiss_cpi_yearlyARead-onlyIdempotent
东方财富-经济数据-瑞士-消费者物价指数年率 http://data.eastmoney.com/cjsj/foreign_2_2.html :return: 消费者物价指数年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, openWorld, idempotent), the description adds only a source URL and return type. It does not disclose data coverage, update frequency, or potential limitations. With annotations already covering safety, the description provides minimal additional behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise but under-structured; it consists of a title, a URL, and return annotations. It front-loads the main purpose but lacks explanatory sentences. It is not verbose, yet it reads more like a label than a crafted description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 provides the essential details: source, indicator, and return type. However, it omits information about the data's time range, frequency, or columns, and does not differentiate it from the many similar macro tools. It is minimally complete but not rich enough for easy selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema fully covers this aspect. The description supplements with the return type (pandas DataFrame) and the specific indicator name, which adds useful semantic context. Baseline for zero parameters is 4, and the description meets that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Eastmoney Swiss economic data) and the specific metric (consumer price index yearly rate). It distinguishes from sibling tools by naming the country and indicator explicitly. The verb is implied but unmistakable given the tool naming convention.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: to retrieve yearly CPI data for Switzerland from Eastmoney. However, there is no explicit guidance on when to use this tool versus alternatives, nor any mention of prerequisites or exclusions. It relies on the name and title to convey usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_swiss_gbd_bank_rateBRead-onlyIdempotent
东方财富-经济数据-瑞士-央行公布利率决议 http://data.eastmoney.com/cjsj/foreign_2_5.html :return: 央行公布利率决议 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety characteristics. The description adds that it returns a pandas DataFrame of central bank interest rate decisions, which is useful. However, it doesn't disclose any additional behavioral constraints or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of a title, a source URL, and return information. It is front-loaded with the purpose. The URL may be of limited use to an AI agent, but the overall structure is efficient and not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with no output schema, the description adequately specifies the output content (central bank interest rate decisions) and format (pandas DataFrame). It provides enough context for basic invocation, though it could mention data granularity or historical range.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description doesn't need to explain input semantics. This is a simple retrieval tool with no inputs, and the schema already reflects this with 100% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving Switzerland's central bank interest rate decisions from East Money data, using a specific title. However, it does not explicitly differentiate from sibling tools like macro_bank_switzerland_interest_rate, which likely serves a similar purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus similar Swiss macro indicators. It only gives a title and return type, without any context about selection criteria or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_swiss_gbd_yearlyARead-onlyIdempotent
东方财富-经济数据-瑞士-GDP 年率 http://data.eastmoney.com/cjsj/foreign_2_4.html :return: GDP年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame) but does not disclose any side effects or limitations. This is adequate but not rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, containing only the title, a source URL, and return type. Every part contributes information, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only data retrieval, the description provides the key facts: the data (Swiss GDP annual rate), the source (East Money URL), and the return format (DataFrame). It omits columns or date ranges, but these are not essential for tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is fully covered and the description does not need to explain any input semantics. Per the guideline, a baseline of 4 is appropriate for 0-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: Swiss GDP annual rate from East Money, and the intended data type is stated. It implies a data retrieval operation, but lacks an explicit action verb. The name 'GDP 年率' distinguishes it from sibling tools like macro_swiss_gdp_quarterly, though this is indirect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus other Swiss macro tools or alternatives. The description simply states the data source and return type without any context, exclusions, or comparisons to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_swiss_gdp_quarterlyBRead-onlyIdempotent
东方财富-经济数据-瑞士-GDP季率 http://data.eastmoney.com/cjsj/foreign_2_3.html :return: GDP季率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds that it returns a pandas.DataFrame and cites a data source URL, but offers no additional details about data behavior, latency, or limitations. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and directly states the data source, return type, and purpose in two lines. It is efficiently front-loaded, though the URL might be secondary information. No unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple parameterless data retrieval tool, the description covers the essential points: what data (Swiss GDP quarterly rate), from where (East Money URL), and return type (DataFrame). It lacks an output schema, but the return type hint conveys the shape. This is adequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is trivially complete. The description adds no parameter details, but none are needed. Baseline of 4 applies due to absence of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing Swiss GDP quarterly rate from East Money economic data, with a specific return type. It distinguishes from siblings by its explicit Switzerland GDP quarterly scope, though it lacks an explicit action verb like 'get' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives or any exclusions. It neither states a preferred context nor mentions related tools, leaving the agent to infer usage solely from the name and URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_swiss_svmeBRead-onlyIdempotent
东方财富-经济数据-瑞士-SVME采购经理人指数 http://data.eastmoney.com/cjsj/foreign_2_0.html :return: SVME采购经理人指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds a return type (DataFrame) and a source URL, but does not disclose any additional behavioral traits like data frequency, date range, or potential issues. This is consistent with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very compact: a title line, a URL, and a return type/return value docstring. It contains no wasteful prose. However, the first line is more of a header than a full descriptive sentence, which slightly reduces clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with no parameters, the description conveys the source, indicator, and return type. However, it lacks any information about the returned DataFrame's structure (columns, date range, frequency). This is acceptable given the simplicity, but leaves some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% by default. With no parameters to describe, the description's omission is not a gap. The baseline of 4 applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning the SVME Purchasing Managers' Index for Switzerland from East Money, naming the specific country and indicator. However, it uses a noun-phrase (title) rather than an explicit verb like 'get' or 'fetch', and does not distinguish itself from sibling macro tools beyond the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as macro_swiss_cpi_yearly or macro_china_pmi. It simply states the data source and return type, with no mention of selection criteria, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_swiss_tradeCRead-onlyIdempotent
东方财富-经济数据-瑞士-贸易帐 http://data.eastmoney.com/cjsj/foreign_2_1.html :return: 贸易帐 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the bar is lower. However, the description adds only a source URL and return type, which are not behavioral traits. It does not mention any side effects, data sources beyond the URL, or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short but under-specifies. It reads as a docstring metadata block rather than a structured tool description, lacking any actionable verb or context. Conciseness is not valuable when it omits essential purpose and usage information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should explain what the returned DataFrame contains beyond just '贸易帐'. It does not mention columns, time range, or any unique characteristics. Given the tool's simplicity, the description is still insufficient for an agent to fully understand the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty (100% coverage), so there is nothing to explain. The baseline for 0 params is 4, and the description correctly does not attempt to describe non-existent parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a title and return type, restating the tool name and the data it returns ('贸易帐' - trade account). It does not use a verb to indicate an action, and the only additional context is the source URL. This is close to tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. With numerous sibling tools like macro_uk_trade and macro_australia_trade, the description provides no selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_uk_bank_rateBRead-onlyIdempotent
东方财富-经济数据-英国-央行公布利率决议 https://data.eastmoney.com/cjsj/foreign_4_3.html :return: 央行公布利率决议 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type (DataFrame), but does not disclose other behavioral traits such as data update frequency or potential network delays. With annotations present, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a title-like line, a source URL, and two docstring lines. Every element is purposeful with no redundancy, appropriate for a zero-parameter data retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides basic context: the source, the subject (UK central bank rate decision), and the return type. However, it lacks details about the DataFrame's columns or the exact nature of the data, and there is no output schema to compensate. Given the simplicity of the tool, this is adequate but leaves room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters, so there are no parameter semantics to explain. The description correctly omits parameter details, aligning with the baseline of 4 for parameterless tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the subject as UK central bank rate decisions from Eastmoney economic data, and the :rtype: pandas.DataFrame indicates data retrieval. It distinguishes from sibling macro tools by explicitly naming the UK, though it lacks an explicit action verb like 'get' or 'return'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It is implied from the name and title that it relates to UK bank rate, but there is no mention of when to prefer this over sibling tools like macro_bank_english_interest_rate or macro_uk_cpi_yearly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_uk_core_cpi_monthlyARead-onlyIdempotent
东方财富-经济数据-英国-核心消费者物价指数月率 https://data.eastmoney.com/cjsj/foreign_4_5.html :return: 核心消费者物价指数月率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. The description adds a return type (pandas.DataFrame) and source URL, but no further behavioral details like data frequency, date range, or potential caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a title line, a URL, and a return type annotation. Every line earns its place, and the most important info (metric and source) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-param tool with no output schema, the description provides the essential context: the specific economic indicator (UK core CPI monthly rate), the source (East Money with URL), and the return format (pandas.DataFrame). It lacks details like units or column names, but these are not critical for basic selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing to explain. Schema coverage is 100% (empty object) and the baseline for 0 params is 4; the description does not need to add parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving UK core consumer price index monthly rate data from East Money (东方财富). It specifies the exact metric (核心消费者物价指数月率) and includes the source URL, effectively distinguishing it from siblings like macro_uk_cpi_monthly by the 'core' qualifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as macro_uk_core_cpi_yearly or macro_uk_cpi_monthly. The description simply names the metric and source, leaving the agent to infer usage context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_uk_core_cpi_yearlyBRead-onlyIdempotent
东方财富-经济数据-英国-核心消费者物价指数年率 https://data.eastmoney.com/cjsj/foreign_4_4.html :return: 核心消费者物价指数年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds only the source URL and return type, with no additional behavioral context such as data update frequency or page limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise—a title, URL, and return type—with no fluff. However, it is terse and lacks any explanatory sentence, but for a simple tool this is acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-param data retrieval, the description gives the source, return type, and indicator name. It doesn't specify the historical depth, units, or frequency, but given the annotations and minimal complexity, it's minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is vacuous. Since the description doesn't need to explain parameter usage, the baseline 4 applies. The description's mention of pandas.DataFrame return type adds slight context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact data product (UK core CPI yearly) and states the return type, making the purpose clear. However, it lacks an explicit verb like 'retrieve' or 'fetch', and it essentially repeats the tool name. It does distinguish from siblings like macro_uk_cpi_yearly by specifying 'core'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., macro_uk_core_cpi_monthly or other UK macro indicators). The description provides no usage context, exclusions, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_uk_cpi_monthlyBRead-onlyIdempotent
东方财富-经济数据-英国-消费者物价指数月率 https://data.eastmoney.com/cjsj/foreign_4_7.html :return: 消费者物价指数月率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds the source URL and return type (pandas.DataFrame) but does not disclose additional behavioral characteristics like data frequency, update timing, or any edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and follows a clear structure: title, source URL, and return type. It is front-loaded with the core purpose and avoids unnecessary details, though it is minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description only states the return type as pandas.DataFrame, not the actual columns, range, or units. While the tool is simple, an agent might need more details about the expected data structure to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. There is no parameter information to add or clarify; the description is not lacking in this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing UK CPI monthly data from Eastmoney. It specifies the source, country, metric, and period. However, it lacks an explicit verb like 'get' or 'fetch', reading more as a title than a command.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 related siblings such as macro_uk_cpi_yearly or macro_uk_core_cpi_monthly. There are no exclusions, conditions, or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_uk_cpi_yearlyBRead-onlyIdempotent
东方财富-经济数据-英国-消费者物价指数年率 https://data.eastmoney.com/cjsj/foreign_4_6.html :return: 消费者物价指数年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and source URL, but does not disclose data granularity, columns, update frequency, or any caveats about the scraping source. This is modest added value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, with a title line, URL, and return docstring. It wastes no words and is front-loaded with key identifying information. However, the structure reads more like a code comment than a coherent narrative, which slightly reduces clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter read-only tool, the description provides essential identification and return type, which is minimally adequate. However, without an output schema, it does not describe the DataFrame's columns, time range, units, or other details, leaving an agent uncertain about the exact output format beyond the indicator name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is fully self-descriptive (100% coverage). The description confirms the return type but adds no parameter semantics, which is appropriate and consistent with the baseline for parameterless tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly identifies the source (Eastmoney/东方财富), country (UK/英国), and indicator (CPI yearly rate/消费者物价指数年率), with a URL for the data page. This clearly distinguishes it from siblings like macro_uk_cpi_monthly or macro_uk_core_cpi_yearly, though it lacks an explicit verb such as 'get' or 'return', making it more of a label than a complete sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention related tools like macro_uk_cpi_monthly or macro_uk_core_cpi_yearly, nor does it provide selection criteria. The only implicit signal is the tool's name and the indicator label.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_uk_gdp_quarterlyARead-onlyIdempotent
东方财富-经济数据-英国-GDP 季率初值 https://data.eastmoney.com/cjsj/foreign_4_12.html :return: GDP 季率初值 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds context about the data source (East Money, with URL) and the return type (pandas.DataFrame), which is useful beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, but it contains some redundancy by repeating the title in the first line and then again in the return annotation. The URL is useful context but not strictly necessary. Overall, it is concise and structured with clear return information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple, no-parameter tool with no output schema. The description tells the agent exactly what data it returns (GDP quarterly rate preliminary value), in what format (pandas.DataFrame), and from where (East Money URL). This is fully sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description provides no parameter-level details because none exist, which is appropriate and complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing UK GDP quarterly rate preliminary value from East Money, and the name distinguishes it from yearly GDP tools. However, it lacks an explicit verb like 'retrieve' or 'get', relying on the noun phrase and tool name to convey the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the data type and source but gives no explicit guidance on when to use this tool versus alternatives such as macro_uk_gdp_yearly. Usage is implied by the 'quarterly' qualifier and the tool name, but no direct comparison or exclusion is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_uk_gdp_yearlyBRead-onlyIdempotent
东方财富-经济数据-英国-GDP 年率初值 https://data.eastmoney.com/cjsj/foreign_4_13.html :return: GDP 年率初值 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds minimal behavioral context, only mentioning the source URL and that it returns a DataFrame. It does not disclose update frequency, data granularity, or potential external dependencies beyond the URL.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, structured with docstring markers (:return:, :rtype:) and a source URL. It is front-loaded with the metric name. The URL adds some clutter but serves as provenance. Overall, it is efficiently written with no redundant sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description should clarify the return structure. It only states 'GDP 年率初值' as the return, which is the metric name, without indicating columns or date range. For a simple no-parameter tool, this is somewhat adequate but leaves ambiguity about the DataFrame contents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description correctly omits parameter details, and the schema confirms no parameters exist. The mention of return type is irrelevant to parameter semantics but does not detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning UK GDP annual rate preliminary values from Eastmoney, which is a specific resource. It distinguishes from the sibling tool macro_uk_gdp_quarterly by specifying the yearly metric. However, it lacks an explicit action verb like 'get' or 'retrieve', relying on the tool name and context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention any use cases, exclusions, or related tools, despite a large sibling set with similar macro economic indicators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_uk_halifax_monthlyARead-onlyIdempotent
东方财富-经济数据-英国-Halifax 房价指数月率 https://data.eastmoney.com/cjsj/foreign_4_0.html :return: Halifax 房价指数月率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well-covered. The description adds the return type (pandas.DataFrame) and source URL, which are useful but do not go beyond the annotations' safety traits. No additional behavioral context (e.g., update frequency, data completeness) is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two lines with the data provider, specific indicator, and source URL, plus a clear return type. Every element is purposeful, no filler or repeated information from the tool name or annotations. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, zero-parameter data retrieval tool with no output schema, the description is sufficiently complete: it states the source, the exact indicator, and the return format. The annotations cover safety, so no additional context is critical. A slight gap is the lack of any mention of time range or currency, but these are minor given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is an empty object with 100% coverage (vacuously). There is nothing to document, and the baseline for 0 params is 4. The description does not need to add parameter semantics, but it also does not introduce any confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (UK Halifax house price index monthly rate from Eastmoney economic data) and explicitly states what is returned (a pandas DataFrame of the monthly rate). It is distinct from siblings like macro_uk_halifax_yearly by specifying '月率' (monthly rate), so an agent can differentiate it without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not mention when to use this tool versus alternatives such as macro_uk_halifax_yearly, macro_uk_rightmove_monthly, or other UK economic indicators. The agent is left to infer usage solely from the name and the generic 'economic data' label.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_uk_halifax_yearlyBRead-onlyIdempotent
东方财富-经济数据-英国-Halifax 房价指数年率 https://data.eastmoney.com/cjsj/foreign_4_1.html :return: Halifax房价指数年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type (pandas DataFrame), but does not disclose details like columns, data period, or potential latency, which are beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a title line, a source URL, and a return-type line. Every element is useful and there is no unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter read-only tool, the description identifies the data source and return type, but it leaves out structural details of the returned DataFrame (e.g., column names, time range) and any caveats about data coverage. With no output schema, more description would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. The description appropriately adds nothing about parameters because there are none to explain, matching the baseline for 0 params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the UK Halifax house price index yearly rate from East Money, using the Chinese name and URL. It identifies the specific resource, but does not explicitly contrast with the sibling macro_uk_halifax_monthly, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention the monthly variant or any other related macro tools, leaving the agent to infer usage solely from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_uk_retail_monthlyARead-onlyIdempotent
东方财富-经济数据-英国-零售销售月率 https://data.eastmoney.com/cjsj/foreign_4_8.html :return: 零售销售月率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, which cover safety expectations. The description adds the source URL and return type (pandas.DataFrame), providing some context about return format, but does not disclose further behavioral details like data granularity or update frequency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a title line, a source URL, a return value line, and a return type line. Every line earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description includes the source, the exact indicator, the frequency, and the return type. It could be more explicit that it returns a time series of historical monthly values, but it is largely complete for a simple data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline score of 4 applies. The description adds no parameter-specific meaning, but none is needed. It does document the return value and type, which is useful context for the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '东方财富-经济数据-英国-零售销售月率' (Eastmoney - Economic Data - UK - Retail Sales Monthly Rate) and specifies the return value as '零售销售月率' (retail sales monthly rate). This distinguishes it from sibling macro_uk_retail_yearly by frequency.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about the data returned but gives no explicit guidance on when to use this tool versus alternatives. Sibling tools like macro_uk_retail_yearly exist, but no exclusions or alternatives are mentioned. Usage is implied by the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_uk_retail_yearlyBRead-onlyIdempotent
东方财富-经济数据-英国-零售销售年率 https://data.eastmoney.com/cjsj/foreign_4_9.html :return: 零售销售年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint: true, idempotentHint: true, and destructiveHint: false, covering the safety profile. The description adds the source URL (https://data.eastmoney.com/cjsj/foreign_4_9.html) and the return type (pandas.DataFrame), which provides useful context beyond the annotations. No additional behavioral traits like rate limits, pagination, or limitations are mentioned, but none are evident for this zero-parameter data fetch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of a title line, a URL, and docstring-style return information. It is front-loaded with the primary purpose. Minor redundancy exists because the first line mirrors the tool name and title annotation, but the text is otherwise free of waffle and each segment earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description is reasonably complete. It states the data source, the metric, and the return type. It does not specify the date range, column names, or unit, but these are typically implied by the metric name. Given the low complexity, the description provides sufficient context for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so the input schema is trivially complete. Per the rubric, a baseline of 4 applies when there are no parameters. The description does not need to elaborate on parameter semantics, and it doesn't attempt to invent any.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource and metric: '东方财富-经济数据-英国-零售销售年率' (East Money - Economic Data - UK - Retail Sales Annual Rate). It distinguishes this from sibling UK macro tools by naming the exact indicator. However, it lacks an explicit action verb (e.g., 'retrieves' or 'returns'), relying on the docstring-style ':return:' to imply data fetching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as macro_uk_retail_monthly or macro_uk_trade. It neither states use cases nor excludes other tools. The implied usage (need UK retail sales yearly data) is present but not explicitly communicated, so it fails to help the agent make a deliberate selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_uk_rightmove_monthlyCRead-onlyIdempotent
东方财富-经济数据-英国-Rightmove 房价指数月率 https://data.eastmoney.com/cjsj/foreign_4_11.html :return: Rightmove 房价指数月率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true. The description adds only the source URL and return type, which are not behavioral traits such as rate limits, data update frequency, or potential errors. It provides minimal additional context beyond what annotations already offer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but somewhat repetitive, echoing the title and using a docstring format. It includes the URL and return type, but the structure is flat and the information is thin. It is not overly long, but it under-specifies key details like data columns or units.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless data retrieval tool, the description should explain what the returned DataFrame contains (e.g., columns, units, date range). It only states the indicator name and return type, leaving the agent without enough information to understand the output or limitations. The absence of an output schema makes this gap more significant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is complete and the description does not need to explain parameter usage. The return type is mentioned but is not parameter-related. A baseline score of 4 is appropriate for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing the UK Rightmove house price index monthly rate from Eastmoney, including the source URL. It distinguishes from siblings like macro_uk_rightmove_yearly by specifying 'monthly' in the name and description. However, it lacks an explicit verb (e.g., 'fetch', 'get'), so the purpose is clear but not phrased as an action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention that this is the monthly rate and that other tools exist for yearly rates or other UK economic indicators. No exclusions or alternative tool references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_uk_rightmove_yearlyBRead-onlyIdempotent
东方财富-经济数据-英国-Rightmove 房价指数年率 https://data.eastmoney.com/cjsj/foreign_4_10.html :return: Rightmove 房价指数年率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, providing safety transparency. The description adds that it returns a pandas DataFrame, which is a small behavioral detail. It does not describe potential side effects or data update behavior, but the annotations cover the key safety profile, so 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, containing the title, source URL, and return type. It is not verbose, but it is fragmented into three lines without clear labeling (e.g., 'Returns:') and is mostly in Chinese. Still, it is concise and every line provides useful information, though a cleaner structure would improve it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (no params, no output schema, strong annotations), the description is nearly adequate. It provides the source and return type. However, it does not explain what the returned DataFrame contains (columns, date range, interpretation of 'yearly rate'), which could be important for an agent to know. There is also no indication of data freshness or any usage caveats.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty with 100% coverage (trivially). The description does not need to explain parameter meanings. The baseline for 0 parameters is 4, and the description appropriately avoids inventing unnecessary parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides UK Rightmove house price index yearly data from Eastmoney, with a specific source URL and return type. It names the exact metric and source, making the purpose unambiguous. It does not explicitly contrast with the sibling tool macro_uk_rightmove_monthly, though the name implies a yearly variant, so no explicit differentiation is present.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention the sibling monthly version or any other related tools, nor does it specify any context or prerequisites. The description only provides a source URL and return type, which are not usage guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_uk_tradeBRead-onlyIdempotent
东方财富-经济数据-英国-贸易帐 https://data.eastmoney.com/cjsj/foreign_4_2.html :return: 贸易帐 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint: false, covering the safety profile. The description adds the data source URL and return type, but does not disclose additional behavioral traits such as date range, data granularity, or any rate limits, which is acceptable given the annotations but adds only marginal value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact stub with four short lines, each serving a purpose: dataset origin, URL, return value, and return type. It is appropriately brief for a simple tool, though it could be more structured for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter retrieval tool, the description names the dataset, source, and return format, which is minimally adequate. However, it omits details about the output content (e.g., columns, time series coverage), leaving some ambiguity about what the DataFrame actually contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to add parameter semantics and does not attempt to, which is appropriate for this empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing UK trade balance data from East Money, complete with a source URL and return type (pandas DataFrame). It is specific enough to distinguish from sibling macro_uk_* tools covering CPI, GDP, etc., though it lacks an explicit verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as macro_uk_cpi or macro_uk_gdp. There is no mention of prerequisites, context, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_uk_unemployment_rateBRead-onlyIdempotent
东方财富-经济数据-英国-失业率 https://data.eastmoney.com/cjsj/foreign_4_14.html :return: 失业率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering safety. The description adds minimal context: it returns a pandas DataFrame of unemployment rate from Eastmoney. No additional behavioral traits (e.g., pagination, data update frequency) are disclosed, but nothing contradicts the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, containing the source name, a URL, and a return specification. It is front-loaded with the purpose and does not waste words. However, the URL line is somewhat terse and could be considered extraneous, though it does add source credibility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description provides the essential return type and indicator, but it lacks details such as the frequency of the data (e.g., monthly, quarterly), the columns included in the DataFrame, or how the data is structured. Given the simplicity, this is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description correctly states the return type (pandas.DataFrame) and the content (unemployment rate), which is sufficient since there are no parameters to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving UK unemployment rate data from Eastmoney economic data. It names the specific indicator and source, distinguishing it from sibling tools like macro_uk_trade or macro_uk_bank_rate. However, it lacks an explicit verb like 'get' or 'fetch', relying on the tool name for the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The description only provides a source URL and return type, with no mention of when to prefer this over other UK macro indicators or any exclusions. Users must infer usage from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_adp_employmentBRead-onlyIdempotent
美国ADP就业人数报告,数据区间从 20010601-至今 https://datacenter.jin10.com/reportType/dc_adp_nonfarm_employment :return: 美国ADP就业人数报告 :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the historical range and the return type (pandas.Series), which is useful, but says nothing about update frequency, latency, or the shape of the series beyond the type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the purpose, but includes docstring artifacts (:return:, :rtype:) and a raw source URL that add little for an agent choosing a tool. No wasted prose, but not cleanly structured either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-arg data fetch with no output schema, the description conveys the subject, date range, and return type, which is the minimum needed. It does not describe the returned fields or units, so the agent cannot fully anticipate the result shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing to document and no schema gap to compensate for; baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (US ADP employment report) and adds the data coverage window (20010601-至今), which is concrete. It does not, however, distinguish this tool from closely related siblings like macro_usa_non_farm or macro_usa_unemployment_rate, so an agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of alternatives, despite many overlapping US labor-market siblings (macro_usa_non_farm, macro_usa_job_cuts, macro_usa_initial_jobless). The agent gets no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_api_crude_stockARead-onlyIdempotent
美国 API 原油库存报告,数据区间从 20120328-至今 https://datacenter.jin10.com/reportType/dc_usa_api_crude_stock https://cdn.jin10.com/dc/reports/dc_usa_api_crude_stock_all.js?v=1578743859 :return: 美国API原油库存报告-今值(万桶) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the data window (20120328-present) and the meaning of the return value (current value in ten-thousand barrels), which is not in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded correctly, but two raw URLs and docstring artifacts (:return:, :rtype:) are mixed into the prose, adding noise an agent does not need. It is adequately sized but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no input schema, no output schema and annotations covering the safety profile, the remaining burden is describing coverage and return shape. The description supplies the date range and the return type/units, which is largely sufficient, though the Series structure itself is only hinted at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. The description does not need to explain arguments, and it adds the units and semantics of the returned current value instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource, the US API crude oil inventory report, and states its temporal coverage (20120328-present), so an agent knows exactly what data it returns. It implicitly distinguishes itself from crude-related siblings like macro_usa_eia_crude_rate and macro_usa_crude_inner by the 'API' qualifier, but never explicitly differentiates them, capping it below 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use guidance and no explicit alternatives among siblings. It implies the report is a data-retrieval endpoint via the range and return hints, but an agent gets no help choosing it over the many other crude/inventory tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_building_permitsARead-onlyIdempotent
美国营建许可总数报告,数据区间从 20080220-至今 https://datacenter.jin10.com/reportType/dc_usa_building_permits :return: 美国营建许可总数报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond annotations: it names a source URL and specifies the return type as pandas.DataFrame, though it does not discuss authentication, rate limits, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the report name and date range, then includes a URL and Sphinx-style return information. There is minor redundancy in restating the return value and type, but the content is relevant and not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully supplies the return type and source URL. It could be more complete by describing the DataFrame columns or update frequency, but for a no-parameter macro-data retrieval tool with safety annotations already present, it is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero input parameters, so there are no parameter semantics to document. Per the rubric, a zero-parameter schema earns a baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific report, '美国营建许可总数报告', and gives a clear temporal scope from 2008-02-20 to present. It does not explicitly use a retrieval verb or name a sibling tool, but the resource is distinct enough from related macro housing indicators such as house starts or new home sales.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling macro tools, nor any exclusion criteria or prerequisite context. The only context provided is the data range and a source URL, which does not help an agent choose among alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_business_inventoriesBRead-onlyIdempotent
美国商业库存月率报告,数据区间从 19920301-至今 https://datacenter.jin10.com/reportType/dc_usa_business_inventories :return: 美国商业库存月率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description usefully adds the data range and the return type (pandas.DataFrame), but discloses nothing about update cadence or freshness beyond the range.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded: the report subject and range come first, followed by a source link and return type. The :return:/:rtype: lines are slightly boilerplate but not wasteful since no output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless single-report tool with no output schema, the description covers subject, temporal scope, and return type, which is sufficient to call it correctly. Update frequency is the only notable omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the schema is trivially complete and the baseline is 4. The description adds the meaningful constraint that the data spans 19920301 to present, which is the only semantic detail a caller needs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (US business inventories monthly report) and its temporal scope (19920301-present), which clearly distinguishes it from the many other macro_usa_* siblings. It lacks an explicit retrieval verb, but the report naming is concrete enough for selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no reference to alternative macro tools. The description says what the data is but not when an agent should call this versus another report.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_cb_consumer_confidenceBRead-onlyIdempotent
金十数据中心-经济指标-美国-领先指标-美国谘商会消费者信心指数报告,数据区间从 19700101-至今 https://datacenter.jin10.com/reportType/dc_usa_cb_consumer_confidence :return: 美国谘商会消费者信心指数报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so safety behavior is covered. The description adds useful context beyond that — the source URL and the historical range starting 19700101 — but says nothing about update cadence or refresh lag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense line that largely restates the annotation title, plus a URL, a data range and boilerplate :return:/:rtype: lines. Nothing is wasteful exactly, but it is not front-loaded prose and the :rtype: line duplicates the return statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter report fetcher with no output schema, the description supplies the essential facts: what the dataset is, its source, its time span, and the return type (pandas.DataFrame). Column-level detail is absent, but the core contract is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the description has nothing extra to explain; the schema fully covers the (empty) input surface. Baseline 4 applies for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — the US Conference Board (谘商会) Consumer Confidence Index report from Jin10 Data Center — with a concrete verb implied (retrieve the report). It is clear what data the agent gets, but it does not distinguish this from the near-identical sibling macro_usa_michigan_consumer_sentiment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the data range (19700101-present) but gives no guidance on when to choose this tool over the many other US macro indicators in the sibling list. No exclusions, no alternatives, no scenario framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_cftc_c_holdingCRead-onlyIdempotent
美国商品期货交易委员会CFTC商品类非商业持仓报告,数据区间从 19830107-至今 https://datacenter.jin10.com/reportType/dc_cftc_c_report :return: 美国商品期货交易委员会CFTC外汇类非商业持仓报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful scope context (historical coverage back to 1983) but does not disclose update cadence, publication lag, or fresh-data availability, which matters for a recurring macro report.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Reasonably compact, but the payload is diluted by a raw URL exposed in-line and a :return:/:rtype: docstring block that contradicts the stated subject. The commodity/forex conflict is not merely wasted space, it actively confuses the reader.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the burden of describing the returned DataFrame's shape and semantics. It only supplies :rtype: pandas.DataFrame and a contradictory subject line, leaving the agent unable to predict the report's fields or reconcile the commodity/forex discrepancy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to document; per the rubric a 0-parameter tool baselines at 4. No parameter-related information is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource (CFTC 商品类非商业持仓报告) and a data range (19830107-至今), which tells the agent what it fetches. However, it undercuts itself: the :return: line says 外汇类非商业持仓报告 (forex), directly contradicting the 商品类 (commodity) label in the title/name. This self-contradiction makes it hard to distinguish from siblings like macro_usa_cftc_nc_holding and macro_usa_cftc_merchant_currency_holding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this tool versus the several closely related CFTC holding siblings (merchant_currency, merchant_goods, nc_holding, cme_merchant_goods). A URL is provided but no usage conditions or exclusions. The agent is left to infer selection criteria entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_cftc_merchant_currency_holdingBRead-onlyIdempotent
美国商品期货交易委员会CFTC外汇类商业持仓报告,数据区间从 19860115-至今 https://datacenter.jin10.com/reportType/dc_cftc_merchant_currency :return: 美国商品期货交易委员会CFTC外汇类商业持仓报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is fully covered structurally. The description adds the historical coverage window (19860115-present) and a source URL, which is useful context, but says nothing about update cadence or latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with the resource name, coverage range, and source link. The ':return:' line only restates the tool name, which is mild redundancy, but the ':rtype: pandas.DataFrame' adds return-type value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering the safety profile and the description supplying data range, source URL, and return type, an agent has enough to invoke it correctly. Since there is no output schema, naming the pandas.DataFrame return type is the right compensating detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so the baseline of 4 applies. There is nothing for the description to disambiguate, and it correctly implies the call is a bare fetch.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific report — CFTC forex/currency commercial-position holdings — which is a concrete resource and distinguishes it semantically from the goods, non-commercial, and CME siblings in the tool list. It stops short of naming those siblings explicitly, so the agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no reference to the closer CFTC alternatives (macro_usa_cftc_nc_holding, macro_usa_cftc_merchant_goods_holding, macro_usa_cftc_c_holding). The agent is left to infer selection from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_cftc_merchant_goods_holdingBRead-onlyIdempotent
美国商品期货交易委员会CFTC商品类商业持仓报告,数据区间从 19860115-至今 https://datacenter.jin10.com/reportType/dc_cftc_merchant_goods :return: 美国商品期货交易委员会CFTC商品类商业持仓报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds genuine context the annotations lack — the start date of the series and the upstream data source URL — but says nothing about update frequency, latency, or response size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the report name and date range, then the source URL and return type. Slightly cluttered by leftover docstring artifacts (:return:, :rtype:) that duplicate information already implied, but it is short and wastes no sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless data-fetch tool with no output schema, the description supplies the resource, coverage window, source, and return type (pandas.DataFrame), which is enough to call it correctly. Frequency of the underlying report and column semantics remain undocumented, but those are secondary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the schema is closed (additionalProperties=false) and 100% covered. Baseline 4 applies for a no-parameter definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource — the CFTC commercial (merchant) goods positions report — plus the historical coverage window (1986-01-15 to present), which lets an agent distinguish it from siblings like macro_usa_cftc_nc_holding (non-commercial) and macro_usa_cftc_merchant_currency_holding. It does not name those siblings explicitly, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of the report's cadence (weekly CFTC release), and no routing to the closely related sibling tools (nc_holding, c_holding, cme_merchant_goods_holding). The agent must infer applicability purely from the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_cftc_nc_holdingBRead-onlyIdempotent
美国商品期货交易委员会CFTC外汇类非商业持仓报告,数据区间从 19830107-至今 https://datacenter.jin10.com/reportType/dc_cftc_nc_report :return: 美国商品期货交易委员会CFTC外汇类非商业持仓报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description contributes real context beyond that: the historical depth of the series (1983 to present), the upstream source URL, and the pandas.DataFrame return shape. It still says nothing about update frequency or how large the payload is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the resource and date range, but the ':return' line merely restates the same Chinese phrase as the opening sentence and the ':rtype' adds only 'pandas.DataFrame'. Two of four lines are near-duplicates.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description does tell the agent what the returned object is (a DataFrame) and how far back the data goes, which is the minimum an agent needs. It stops short of describing the columns/fields any consumer of a holdings report would need, so it is adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (schema coverage 100%), so there is nothing for the description to compensate for; baseline 4 applies. No misleading parameter hints are present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (CFTC 外汇类非商业持仓报告 / non-commercial forex holdings) and pins the coverage window (19830107-至今) plus the source URL, so an agent can tell what data it returns. It does not, however, distinguish itself from close siblings such as macro_usa_cftc_merchant_currency_holding or macro_usa_cftc_c_holding, which an agent could easily confuse.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the other CFTC/持仓 siblings, no prerequisites, and no exclusions. The agent must infer usage purely from the tool name and the report type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_cme_merchant_goods_holdingBRead-onlyIdempotent
CME-贵金属,数据区间从 20180405-至今 https://datacenter.jin10.com/org :return: CME-贵金属 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description usefully adds the data coverage window (2018-04-05 to present) and the data origin, which the annotations do not. It does not disclose return columns or freshness beyond the vague 'to present'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded with the resource name and coverage window. The ':return:'/':rtype:' docstring fragments are slightly mechanical, but the DataFrame return type is genuine information given there is no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless data-fetch tool with no output schema, the description covers what it returns and the time span but omits the returned column semantics and how 'to present' updates. It is adequate but leaves the agent guessing about fields, which matters because no schema documents them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies; there is no parameter semantics to document. Schema coverage is moot at 0 params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it returns CME precious-metals holding data across a date range and gives a source URL, so the resource is identifiable. However, it does not distinguish this tool from the many near-identical holding siblings (macro_usa_cftc_merchant_goods_holding, macro_usa_cftc_merchant_currency_holding, macro_usa_cftc_c_holding, macro_euro_lme_holding). The name ('merchant goods') and description ('贵金属'/precious metals) are also not perfectly aligned, adding mild ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no conditions distinguishing it from alternative holding datasets, and no mention of the other CME/CFTC/COT-style tools. The only context is a static date range and a source link.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_core_cpi_monthlyBRead-onlyIdempotent
美国核心 CPI 月率报告,数据区间从 19700101-至今 https://datacenter.jin10.com/reportType/dc_usa_core_cpi :return: 美国核心CPI月率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered structurally. The description usefully adds the data coverage window (19700101-present) and the source URL, but says nothing about update cadence, latency, or how current the 'present' endpoint is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose and data range are front-loaded in the first sentence, with the source URL immediately after. The trailing ':return:' line is redundant since it merely restates the resource name, and the ':rtype:' docstring boilerplate is minor noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema data retrieval tool, the description supplies the essential facts: what the dataset is, its full temporal coverage, its source, and the return type (pandas.DataFrame). Only a note on update frequency or column structure is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing to document and the baseline is 4. The description correctly implies a parameterless, full-history pull rather than any filtered query.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (美国核心 CPI 月率报告) with its temporal scope (19700101-至今), so an agent knows exactly what dataset this returns. The '核心' (core) qualifier implicitly distinguishes it from the headline macro_usa_cpi_monthly sibling, but this distinction is not made explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many closely-named siblings (macro_usa_cpi_monthly, macro_usa_cpi_yoy, macro_usa_core_ppi, macro_usa_core_pce_price). No exclusions or alternative routing are provided; the agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_core_pce_priceARead-onlyIdempotent
美国核心PCE物价指数年率报告,数据区间从 19700101-至今 https://datacenter.jin10.com/reportType/dc_usa_core_pce_price :return: 美国核心PCE物价指数年率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so safety is covered. The description adds genuinely useful behavioral context beyond them: the historical coverage window (19700101–present), the upstream source URL, and the pandas.DataFrame return type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the resource name, but the report name is repeated three times (title, opening line, :return: line), and the :rtype: line is Sphinx boilerplate. It is readable but contains avoidable duplication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless data-fetch tool with no output schema, the description supplies the essentials: what data, what time coverage, and the return type. Only update frequency / granularity of the series is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4; there is nothing for the description to disambiguate and no undocumented inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (US core PCE price index YoY report) and the data range, which is enough for an agent to identify it versus the many macro_usa_* siblings. It does not explicitly contrast itself with near-neighbors like macro_usa_core_cpi_monthly or macro_usa_cpi_yoy, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent must infer 'call this to retrieve US core PCE YoY data.' There is no statement of when to prefer it over sibling inflation series and no exclusions or prerequisites given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_core_ppiBRead-onlyIdempotent
美国核心生产者物价指数(PPI)报告,数据区间从20080318-至今 https://datacenter.jin10.com/reportType/dc_usa_core_ppi :return: 美国核心生产者物价指数(PPI)报告-今值(%) :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: the historical start date and the returned field (今值 %), which tells the agent the metric is expressed as a percentage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core statement is front-loaded and short, but it pads with a raw documentation URL and doctest-style :return:/:rtype: tags that are largely internal artifacts. It is acceptable but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-argument macro data lookup with no output schema, the description covers what the tool returns and over what period. It stops short of describing the DataFrame structure (columns, index, frequency), so an agent cannot fully anticipate the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate at the argument level; the baseline for a no-param tool applies. Schema coverage is trivially 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (美国核心生产者物价指数 / US Core PPI report) and its coverage window (20080318-present), so an agent knows exactly what data comes back. The 'core' qualifier implicitly distinguishes it from the sibling macro_usa_ppi, but no explicit differentiation is stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives, even though a close sibling (macro_usa_ppi, headline US PPI) exists and would need disambiguation. The only usable context is the date range, which is scope rather than usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_cpi_monthlyBRead-onlyIdempotent
美国 CPI 月率报告,数据区间从 19700101-至今 https://datacenter.jin10.com/reportType/dc_usa_cpi :return: 美国 CPI 月率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is fully covered by structured data. The description adds the historical start date (1970) and the pandas.DataFrame return type, which is useful context but not deep behavioral detail such as update frequency or revision policy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core statement is front-loaded and short, but it carries Sphinx docstring residue (':return:', ':rtype: pandas.DataFrame') and a raw source URL that add little for an agent selecting a tool. Every element is harmless but not all of them earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only macro series with no output schema, the description covers what the data is and how far back it goes, which is roughly adequate. It omits update frequency, whether values are MoM percentages, and column structure of the returned DataFrame, leaving some gaps an agent would want.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to explain and the description cannot be faulted for omitting them. Baseline for a parameterless tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (美国 CPI 月率报告) and even the data coverage window (19700101-至今), which is more than a bare restatement of the name. It does not, however, distinguish itself from near-identical siblings such as macro_usa_cpi_yoy or macro_usa_core_cpi_monthly, so the agent must infer the difference from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives (e.g. the YoY or Core CPI variants that crowd the sibling list), and no stated prerequisites or update cadence. The agent is left to infer applicability entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_cpi_yoyBRead-onlyIdempotent
东方财富-经济数据一览-美国-CPI年率,数据区间从 2008-至今 https://data.eastmoney.com/cjsj/foreign_0_12.html :return: 美国 CPI 年率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds genuinely new context: the upstream source URL, the 2008-present history depth, and that the return is a pandas.DataFrame. It does not mention update cadence or freshness, which matters for a macro series.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short lines: identity, source link, return metadata. Front-loaded and free of filler. The :return:/:rtype: Sphinx tags are slightly redundant with the annotations but cost little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless data-retrieval call with no output schema, the description supplies what an agent needs: what the series is, its historical depth, the source, and the return container type. Missing only freshness/update frequency, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so nothing needs documenting and the baseline of 4 applies. The description does not over-explain an empty interface, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the source (东方财富), the resource (美国 CPI 年率) and the coverage window (2008-至今), so the agent knows exactly what series it yields. It does not name or distinguish itself from the near-identical siblings macro_usa_cpi_monthly / macro_usa_core_cpi_monthly, which is the only thing keeping it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this over alternatives. Given the dense cluster of macro_usa_cpi_monthly, macro_usa_core_cpi_monthly and other country CPI tools, the agent must infer that 'yoy' means year-over-year rather than month-over-month, and nothing in the text confirms that routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_crude_innerBRead-onlyIdempotent
美国原油产量报告,数据区间从 19830107-至今 https://datacenter.jin10.com/reportType/dc_eia_crude_oil_produce :return: 美国原油产量报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the historical coverage range (19830107-present), which is genuine behavioral context, but says nothing about granularity, update cadence, or return shape beyond the rtype.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the resource and date range, but the ':return: 美国原油产量报告' line merely restates the title and the bare URL adds little actionable signal. Mild redundancy without being bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 0-param read-only tool with no output schema, the description gives the resource, coverage window, and return type, which is minimally sufficient. Missing are update frequency and a note on how this differs from the other crude-oil tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the schema has nothing to document and the baseline is 4. The description correctly implies a parameterless full-history call with no filtering options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (US crude oil production report) and adds useful scope (data from 1983-01-07 to present). This distinguishes it partially from crude-related siblings, though it does not explicitly contrast with macro_usa_eia_crude_rate or macro_usa_api_crude_stock.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no mention of alternatives, despite many closely related crude/inventory tools (macro_usa_eia_crude_rate, macro_usa_api_crude_stock, macro_usa_rig_count) in the sibling set. The agent must infer from the name alone which crude series to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_current_accountBRead-onlyIdempotent
美国经常帐报告,数据区间从 20080317-至今 https://datacenter.jin10.com/reportType/dc_usa_current_account :return: 美国经常帐报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds the data range (20080317-present), the source URL, and the return type (pandas.DataFrame), which is useful behavioral context beyond the annotations, but it does not describe update frequency, freshness, or other operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the report name and coverage period. The source URL and return-type lines are mild redundancy but still compact. No filler sentences are present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless data-fetch tool whose annotations already cover safety, the description is nearly complete: it identifies the report, coverage period, source, and return type. It could include a brief note on what the current account report measures or its update cadence, but nothing essential to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the parameter semantics baseline is 4 per rubric. The description adds no parameter information because none exist, and there is nothing to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific macro report ('美国经常帐报告') and states the data coverage period (20080317-present), so an agent knows exactly which dataset this tool returns. It does not explicitly differentiate from similar siblings like macro_usa_trade_balance, but the resource is specific enough to be unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when this tool should be used versus alternatives. No conditions, prerequisites, or sibling comparisons are mentioned. The agent must infer usage entirely from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_durable_goods_ordersBRead-onlyIdempotent
美国耐用品订单月率报告,数据区间从 20080227-至今 https://datacenter.jin10.com/reportType/dc_usa_durable_goods_orders :return: 美国耐用品订单月率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: the historical coverage window (20080227-present) and the return type (pandas.DataFrame). It does not mention update cadence, pagination, or refresh behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short and front-loads the report identity and date range. The raw URL and Sphinx-style (:return:/:rtype:) lines are somewhat redundant metadata rather than agent-facing guidance, but the text is not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter data-fetch tool with no output schema, the description covers the essentials: what data, its temporal range, and the return type (DataFrame). It stops short of describing the returned columns or update frequency, but nothing critical for a correct call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to document; the baseline for a no-arg tool is 4. The description correctly implies no filtering inputs are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (US durable goods orders monthly report) and even scopes it temporally (data from 20080227 to present). However, it offers no differentiation from the many sibling macro indicator tools (e.g. macro_usa_factory_orders), relying on the name alone to distinguish it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to reach for this tool versus the dozens of other macro_usa_* siblings, nor any prerequisites or exclusions. The agent must infer usage purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_eia_crude_rateBRead-onlyIdempotent
美国 EIA 原油库存报告,数据区间从 19950801-至今 https://datacenter.jin10.com/reportType/dc_eia_crude_oil :return: 美国 EIA 原油库存报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, covering the safety profile. The description adds useful context (the 19950801–present coverage window, the jin10 source URL), but says nothing about update cadence, latency, or response shape beyond the generic pandas.DataFrame type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core statement is front-loaded and short, but the docstring leftovers repeat the report name twice and include an :rtype: line that conveys nothing beyond the type name, so a few tokens are wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-input, read-only data pull this is nearly adequate: safety is covered by annotations, scope by the date range, and source by the URL. However, with no output schema, the description should say something about what the DataFrame contains (columns/units) to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies; the description's date-range note correctly tells the agent the data scope without needing inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb-resource pair (US EIA crude oil inventory report) and states the temporal coverage (19950801–present), so the agent knows exactly what dataset comes back. It does not, however, differentiate itself from near-siblings like macro_usa_api_crude_stock or macro_usa_crude_inner, which an agent could easily confuse with it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites, and no naming of alternatives (e.g., API crude stock vs EIA crude). The agent must infer the selection context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_exist_home_salesBRead-onlyIdempotent
美国成屋销售总数年化报告,数据区间从 19700101-至今 https://datacenter.jin10.com/reportType/dc_usa_exist_home_sales :return: 美国成屋销售总数年化报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive behavior. The description adds the historical coverage (1970 onward), a source URL, and the return type, but does not disclose update cadence, data revision behavior, or returned columns. No annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the dataset name and date range. Some redundancy exists because :return: restates the purpose and the title repeats the first phrase, but there is no significant bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter data-retrieval tool with annotations covering safety, the description gives the dataset and date range. However, no output schema exists and it only names pandas.DataFrame as the return, without listing columns, update frequency, or other return-shape details an agent might need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The empty schema is fully covered (vacuously), and no additional parameter semantics are required or provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific dataset (US existing home sales annualized report) and its temporal coverage (19700101–present), which distinguishes it by name from siblings like macro_usa_new_home_sales and macro_usa_pending_home_sales. It does not explicitly contrast itself with those siblings, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description identifies what the dataset is but gives no when-to-use guidance or alternatives. It does not say when to choose this over macro_usa_new_home_sales, macro_usa_pending_home_sales, or other housing indicators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_export_priceBRead-onlyIdempotent
美国出口价格指数报告,数据区间从19890201-至今 https://datacenter.jin10.com/reportType/dc_usa_export_price https://cdn.jin10.com/dc/reports/dc_usa_export_price_all.js?v=1578741832 :return: 美国出口价格指数报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds the historical depth (1989 to present) and the return shape (current value in %, pandas.Series), which is useful behavioral context, but says nothing about update frequency, latency, or data source reliability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and data range are front-loaded, and the return type is stated compactly at the end. The two source URLs are somewhat incidental clutter but plausibly useful for provenance, so the description stays reasonably tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only indicator with no output schema, the description supplies the two things an agent actually needs: the coverage window and the return value/type. It falls short only on update cadence and the routing distinction from the import-price sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies. There is no parameter surface for the description to clarify, and it correctly does not fabricate any.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — the US export price index report — and its temporal coverage (19890201 to present), so the agent knows exactly what data it returns. It does not, however, distinguish itself from the very close sibling macro_usa_import_price, leaving the agent to infer the export-vs-import distinction from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no prerequisites, and no mention of the nearest alternative (macro_usa_import_price) or related indicators like macro_usa_ppi. The agent must infer applicability from the name and data range.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_factory_ordersBRead-onlyIdempotent
美国工厂订单月率报告,数据区间从 19920401-至今 https://datacenter.jin10.com/reportType/dc_usa_factory_orders :return: 美国工厂订单月率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context beyond the annotations: the historical data range (since 19920401) and the upstream source URL. It says nothing about update cadence, latency, or column shape, so it only partially exceeds the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and data range are front-loaded, followed by the source link and a compact return-type note. It is short and mostly waste-free, though the ':return:' line simply restates the resource name already given in the first line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless data-fetch tool with no output schema, the description is complete enough: it identifies the series, its temporal coverage, the data source and the return type (pandas.DataFrame). What is absent is update frequency and column semantics, which are minor for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline of 4 applies; there are no parameters whose meaning the description must clarify. Nothing in the definition misrepresents the empty input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (美国工厂订单月率报告, US Factory Orders MoM) and gives the data coverage window (since 1992-04-01), which is enough to distinguish it from adjacent US macro siblings such as macro_usa_durable_goods_orders. There is no explicit verb, but for a zero-parameter data-retrieval tool the resource identification is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use or when-not-to-use guidance and does not name any alternative from the crowded macro_usa_* family. The agent is left to infer usage from the resource name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_gdp_monthlyARead-onlyIdempotent
金十数据-美国国内生产总值(GDP)报告,数据区间从 20080228-至今 https://datacenter.jin10.com/reportType/dc_usa_gdp :return: 美国国内生产总值(GDP) :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds useful behavioral context by naming the data source, the date coverage, and the return type as a pandas DataFrame, which helps the agent know what to expect without an output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the resource and date range before the URL and return metadata. It has some redundancy with the annotation title, but contains no filler or off-topic content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only macro data tool, the description supplies the key pieces: source, coverage window, and return type. It does not detail update frequency or columns, but with no output schema and rich annotations, this is enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero input parameters, so the baseline is 4. The description correctly does not waste space explaining parameters, and there is no parameter-related ambiguity for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource clearly as the Jin10 US GDP report and gives a specific temporal scope from 2008-02-28 to present. It is distinguishable from other macro tools by source and country, though it does not explicitly restate the monthly frequency or name sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the dataset is but gives no explicit guidance on when to use it versus alternative macro data tools. Usage is only implied by the resource name, and there are no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_house_price_indexBRead-onlyIdempotent
美国FHFA房价指数月率报告,数据区间从 19910301-至今 https://datacenter.jin10.com/reportType/dc_usa_house_price_index :return: 美国FHFA房价指数月率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety/side-effect profile is covered. The description adds the source URL and the historical start date (1991-03-01), which is useful context, but says nothing about update cadence, auth, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loads the resource name and coverage window. It is slightly redundant, repeating the resource name in the ':return:' line and including a bare URL with no explanation, but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and annotations covering the safety profile, the minimum bar is low and a data range plus ':rtype: pandas.DataFrame' is adequate for correct invocation. It still omits what the returned DataFrame contains (columns, units/frequency beyond '月率'), which leaves a gap for a data tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the input schema is empty, so there is nothing for the description to clarify; the baseline for a no-parameter call is 4. The description cannot and need not add parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and frequency ('美国FHFA房价指数月率报告') plus its temporal coverage (1991-03-01 to present), which is more informative than a tautology. It does not, however, differentiate itself from adjacent housing/macro siblings such as macro_usa_phs, macro_usa_nahb_house_market_index, or macro_usa_house_starts, so an agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no named alternative. The data-range note is a scope fact, not usage direction, so the agent gets no help choosing among the many macro_usa_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_house_startsBRead-onlyIdempotent
美国新屋开工总数年化报告,数据区间从 19700101-至今 https://datacenter.jin10.com/reportType/dc_usa_house_starts :return: 美国新屋开工总数年化报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. The description adds the data coverage window (19700101 to present) and return type, but does not disclose update frequency, source latency, or data columns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the report name and data range. The repeated :return: line and :rtype: add minor redundancy but little bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining the returned data. It states the return type as pandas.DataFrame and the data range, but omits frequency, units, and column structure that an agent would need to interpret the report correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter syntax to document. This meets the baseline of 4 for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific macroeconomic indicator (US new housing starts annualized) and gives the data range, so the resource is clear. It does not explicitly distinguish itself from sibling US housing indicators such as building permits, new home sales, or house price index.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description only states what the report is.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_import_priceBRead-onlyIdempotent
美国进口物价指数报告,数据区间从19890201-至今 https://datacenter.jin10.com/reportType/dc_usa_import_price :return: 美国进口物价指数报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the read-only, idempotent, open-world, non-destructive profile, so the description does not need to cover safety. It adds the data coverage window (19890201-present) and identifies the returned field (今值 %), which is useful beyond the annotations, but says nothing about format, cadence, or completeness of the series.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and date range are front-loaded in the first sentence, followed by return-type metadata. The source URL adds little functional value but does not bloat the definition significantly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameter-free data-retrieval tool with no output schema, the description covers what the report is, its historical coverage, and the returned field. Nothing critical is missing for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (empty object schema), so the baseline is 4. There is nothing for the description to clarify beyond the implicit no-argument nature of the call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (美国进口物价指数报告) and its scope (data range 19890201-present), which distinguishes it from the similarly named sibling macro_usa_export_price. It does not explicitly contrast against siblings, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as macro_usa_export_price, macro_usa_ppi, or macro_usa_cpi_monthly. The usage context (retrieving US import price index history) is only implied by the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_industrial_productionBRead-onlyIdempotent
美国工业产出月率报告,数据区间从 19700101-至今 https://datacenter.jin10.com/reportType/dc_usa_industrial_production :return: 美国工业产出月率报告-今值(%) :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the historical coverage range and the return field/type, which is useful, but it does not disclose update cadence, units beyond percent, or whether the full history or only a current value is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the resource and date range. The source URL and Sphinx-style :return:/:rtype: lines are useful but add slight visual noise for an agent selecting a tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only macro data tool with no output schema, the description gives the key context: country, indicator, frequency (monthly rate), historical range, and return type. It leaves minor ambiguity about whether the return is a full historical DataFrame or only the current value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero input parameters, so there are no parameter semantics to document. Baseline for a no-parameter tool is 4, and the description appropriately does not need to explain arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource: the US industrial production month-over-month report, with a clear date range from 1970-01-01 to present. It distinguishes itself from most non-US macro siblings by naming the country and indicator, but it does not explicitly differentiate itself from macro_euro_industrial_production_mom or macro_china_industrial_production_yoy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no named alternatives. It only states what the report contains, leaving the agent to infer that it should be used for US industrial production data rather than any related macro series.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_initial_joblessCRead-onlyIdempotent
美国初请失业金人数报告,数据区间从 19700101-至今 https://datacenter.jin10.com/reportType/dc_initial_jobless :return: 美国 EIA 原油库存报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered; the description usefully adds the 1970-present coverage window. But the erroneous ":return: 美国 EIA 原油库存报告" line actively misdescribes the payload, introducing behavioral confusion rather than clarity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and date range are front-loaded, which is good, but the block is cluttered by a raw datacenter URL and a copy-pasted return line that belongs to a different report (EIA crude oil). One sentence is pure noise and undermines the otherwise compact structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-input, read-only macro series with no output schema, the description supplies the coverage window and return type (pandas.DataFrame), which is largely sufficient. But the contradictory return line leaves the actual returned columns/content ambiguous, so it is only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no semantics to document; the baseline for a parameterless tool is 4. Nothing in the schema or description needs further elaboration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific resource ('美国初请失业金人数报告'), gives the coverage window (19700101-present), and a source URL, which is enough to distinguish it from the many sibling macro_usa_* reports. However, the trailing ":return: 美国 EIA 原油库存报告" line muddies the purpose by naming an entirely different dataset, so an agent cannot fully trust what this tool delivers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the historical data range but offers no when-to-use guidance, no prerequisites, and no mention of alternatives such as macro_usa_unemployment_rate or macro_usa_non_farm among the many US macro siblings. Usage is only implied by the report name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_ism_non_pmiBRead-onlyIdempotent
美国ISM非制造业PMI报告,数据区间从 19970801-至今 https://datacenter.jin10.com/reportType/dc_usa_ism_non_pmi :return: 美国ISM非制造业PMI报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint, so the safety profile is fully covered. The description adds only the source URL and return type ('pandas.DataFrame'), but the data range it mentions is already present in the annotations title. It discloses no additional behavioral traits such as rate limits, authentication needs, or data update frequency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the report name and data range. It includes a source URL and Dart-style docstring tags (:return:, :rtype:) that add minor redundancy, but overall it is efficiently structured with little wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read-only data retrieval tool, the description provides the essential context: what the report is, its coverage period, the source, and the return type (pandas.DataFrame). No output schema exists, but the returned type is given. The main gap is the absence of usage guidance, but the core information needed to invoke the tool correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies. There are no parameters that require semantic explanation beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource '美国ISM非制造业PMI报告' and its temporal scope '数据区间从 19970801-至今', making the tool's purpose clear. However, it does not explicitly distinguish this from sibling tools like macro_usa_ism_pmi or macro_usa_services_pmi, leaving some ambiguity for the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It simply states the report name and data range, with no mention of typical use cases, prerequisites, or conditions for selection over similar macro data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_ism_pmiBRead-onlyIdempotent
美国 ISM 制造业 PMI 报告,数据区间从 19700101-至今 https://datacenter.jin10.com/reportType/dc_usa_ism_pmi :return: 美国 ISM 制造业 PMI 报告-今值 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds the data start date (19700101) and the return field ('今值') plus rtype, but omits update frequency, units, or any access constraints. With annotations carrying the behavioral burden, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the resource name and data range. The URL line and the :return:/:rtype: lines are useful metadata but could be formatted a bit more cleanly; overall no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description supplies the resource identity, historical coverage, return field, and return type. For a simple zero-parameter data retrieval, this gives the agent enough to call it correctly, though frequency and units are not stated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; the description does not need to explain any arguments. It correctly avoids cluttering the definition with parameter details that do not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Identifies the exact resource (美国 ISM 制造业 PMI 报告) and its temporal scope (19700101-至今), which distinguishes it from sibling tools like macro_usa_pmi or macro_usa_ism_non_pmi. However, it does not explicitly name a sibling or state what makes it different beyond the title itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The tool's nature makes usage somewhat implicit, but the description provides no explicit context or routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_job_cutsBRead-onlyIdempotent
美国挑战者企业裁员人数报告,数据区间从 19940201-至今 https://datacenter.jin10.com/reportType/dc_usa_job_cuts :return: 美国挑战者企业裁员人数报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds genuinely new context: the source URL and the historical date range (19940201-present). It does not describe refresh cadence or whether the endpoint is rate-limited, so a 3 fits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact, but the ':return:' line merely restates the tool name already given in the first line, and the raw URL is dropped in without framing. Front-loaded with the resource name, so structure is acceptable but a sentence is wasted on redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-param fetch tool with no output schema, the description covers what it returns (a pandas.DataFrame) and its coverage window. However, it does not indicate the columns/fields of the report, so an agent cannot anticipate the shape of the returned data beyond the type.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing to disambiguate, and the description correctly implies no user-supplied input is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource/indicator ('US Challenger job cuts report') with data coverage, which lets an agent distinguish it from the many other macro_usa_* siblings like macro_usa_non_farm or macro_usa_initial_jobless. It is clear what the tool fetches, though it never explicitly contrasts itself with those neighbors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this tool versus alternatives, no prerequisites, and no exclusions. The docstring-style text is purely descriptive; an agent must infer its role in the macro data family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_lmciBRead-onlyIdempotent
美联储劳动力市场状况指数报告,数据区间从 20141006-至今 https://datacenter.jin10.com/reportType/dc_usa_lmci :return: 美联储劳动力市场状况指数报告-今值(%) :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context beyond that: the data range starts 20141006, the return is the '今值(%)' series, and the source URL is given. This is modest added value, not rich behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The resource is stated first, followed by coverage range, source URL and return type. It is compact with little filler, though the bare URL and raw Sphinx-style ':return:'/'rtype:' markup are slightly noisy rather than purpose-written prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema present, the description carries the return burden itself and does state the return shape (Fed LMCI current value in percent, returned as a pandas.Series). For a zero-parameter data-fetch tool this is close to complete; only the absence of usage guidance and update frequency keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so the schema has nothing to document and the baseline is 4. The description correctly implies no inputs are required (data is fixed to a default full range), consistent with the empty input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('美联储劳动力市场状况指数报告' – the Fed Labor Market Conditions Index report) and its data coverage, so an agent knows it retrieves that series. However, it does not explicitly differentiate itself from close siblings such as macro_usa_unemployment_rate or macro_usa_non_farm, which also report US labor-market data, so the agent must infer the distinction from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool or which alternative to prefer for US labor-market data. Among the many macro_usa_* siblings, the description gives no routing guidance, leaving selection entirely to inference from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_michigan_consumer_sentimentARead-onlyIdempotent
美国密歇根大学消费者信心指数初值报告,数据区间从 19700301-至今 https://datacenter.jin10.com/reportType/dc_usa_michigan_consumer_sentiment :return: 美国密歇根大学消费者信心指数初值报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false. The description adds useful behavioral context beyond that by disclosing the historical coverage from 19700301 to present, the source URL, and the return type as a pandas.DataFrame. It does not cover authentication or rate limits, but those are not central for this kind of public macro data report.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short and front-loaded: the first line states the report and coverage, followed by the source URL and return type. The ':return:' line is somewhat redundant because it repeats the first line, but overall it remains appropriately sized for a simple no-parameter data retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter macro time-series report, the description provides the essential context: what the series is, its historical range, its source, and that the return type is a pandas.DataFrame. It does not document output columns, but no output schema exists and the tool is simple enough that the current description is nearly complete for invocation purposes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has zero input parameters, so there are no parameter semantics to explain. The baseline for a no-parameter tool is 4, and the description does not introduce any confusing or contradictory parameter behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: the University of Michigan US consumer sentiment preliminary report, with the historical coverage starting from 19700301. It is specific enough for an agent to know what data this tool returns, but it does not explicitly differentiate itself from related siblings such as macro_usa_cb_consumer_confidence or other US macro sentiment/confidence tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use or when-not-to-use guidance, nor does it name a sibling alternative. It only states what the report is and its data range, leaving the agent to infer that this tool should be used when Michigan consumer sentiment data is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_nahb_house_market_indexBRead-onlyIdempotent
美国NAHB房产市场指数报告,数据区间从 19850201-至今 https://datacenter.jin10.com/reportType/dc_usa_nahb_house_market_index :return: 美国NAHB房产市场指数报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the historical coverage window (from 1985-02-01) and a source URL, which is useful, but says nothing about update frequency, latency, or data provenance beyond the link.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and data range are front-loaded in one sentence, with the return type stated compactly. The raw Jin10 URL and the :rtype: line are marginal overhead but not harmful; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description only hints at the return via ':return: report' and ':rtype: pandas.DataFrame'. It does not describe the columns/fields, the report frequency (monthly), or units, leaving the agent to discover the shape of the data. Adequate but with a clear gap for a no-param data-retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to explain. The baseline for a no-parameter tool is 4; the description correctly signals that no input is required by exposing only fixed scope metadata.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific indicator (US NAHB housing market index report) and states the covered data range (19850201 to present), so an agent can tell it apart from siblings like macro_usa_house_price_index or macro_usa_new_home_sales. It is clear what data is fetched, though it never says the word 'fetch'/'return' explicitly outside the :return: hint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many other US housing macro siblings (house price index, existing/new/pending home sales, housing starts, building permits). No exclusions, prerequisites, or alternatives are offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_new_home_salesBRead-onlyIdempotent
美国新屋销售总数年化报告,数据区间从 19700101-至今 https://datacenter.jin10.com/reportType/dc_usa_new_home_sales :return: 美国新屋销售总数年化报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context: the historical coverage window (1970-01-01 to present), the upstream data source URL, and the return type (pandas.DataFrame). That is incremental value beyond the annotations, but nothing about update cadence or freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the indicator name and coverage window in the first line, followed by the source URL. The trailing ':return:' and ':rtype:' lines duplicate the resource name, adding slight redundancy, but overall it is tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter macro data fetch with no output schema, the description supplies purpose, time coverage, source, and return type—enough to call it correctly. Only the sibling-relationship and any refresh/rate-limit behavior are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing further for the description to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific economic indicator (US new home sales annualized) with a data range, which is a clear verb-resource statement for a data-fetch tool. It does not explicitly differentiate itself from near-neighbors like macro_usa_exist_home_sales or macro_usa_pending_home_sales, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling macro_usa_* housing tools, nor any stated prerequisites or exclusions. The reader must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_nfib_small_businessARead-onlyIdempotent
美国NFIB小型企业信心指数报告,数据区间从 19750201-至今 https://datacenter.jin10.com/reportType/dc_usa_nfib_small_business :return: 美国NFIB小型企业信心指数报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the temporal coverage (19750201-present) and the return type (pandas.DataFrame), which is useful context. It does not mention update frequency, pagination, or authentication requirements, but given the rich annotations a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the resource name and date range, and includes a source URL and return type. It avoids unnecessary filler. The :return: and :rtype: docstring syntax is slightly redundant but still concise and functional.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter data retrieval tool, the description supplies the dataset identity, its historical coverage, the source link, and the return type (pandas.DataFrame). Annotations already carry the full read-only safety profile, and no output schema is expected. Nothing essential for an agent to call this tool correctly appears to be missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to document. The baseline score of 4 applies for zero-parameter tools when no additional parameter meaning is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource: the US NFIB Small Business Confidence Index report, and adds the temporal coverage from 19750201 to present. It is clear what data the tool retrieves. However, it lacks an explicit action verb (e.g., 'retrieve') and does not explicitly differentiate itself from the many other macro_usa_* sibling tools beyond the specific index name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a date range as a scope constraint but gives no guidance on when to use this tool versus alternative macro or economic data tools. There are no exclusions, prerequisites, or named alternatives. This is essentially no usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_non_farmBRead-onlyIdempotent
美国非农就业人数报告,数据区间从19700102-至今 https://datacenter.jin10.com/reportType/dc_nonfarm_payrolls :return: 美国非农就业人数报告 :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context not in the annotations: the data coverage window (1970-present), the source URL, and the return type (pandas.Series). It does not describe record granularity or format details, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the dataset name and coverage window. The ':return:' line slightly repeats the title, but the URL and ':rtype:' line add real information, so waste is minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, annotation-rich data-retrieval tool with no output schema, the description supplies the key missing facts: source location, historical coverage, and return type. Nothing essential for correctly invoking the tool appears absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing to clarify; the baseline for a parameterless tool is 4. No schema semantics are missing or misleading.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific dataset (US Non-Farm Payrolls report) and gives the full date coverage (1970-01-02 to present), so an agent can identify exactly what series is returned. It does not explicitly distinguish itself from adjacent siblings such as macro_usa_adp_employment or macro_usa_unemployment_rate, which is the only reason it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to choose this tool over related macro_usa_* siblings, nor any prerequisites or exclusions. The name and URL imply usage, but no guidance is stated in the description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_pending_home_salesBRead-onlyIdempotent
美国成屋签约销售指数月率报告,数据区间从 20010301-至今 https://datacenter.jin10.com/reportType/dc_usa_pending_home_sales :return: 美国成屋签约销售指数月率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/openWorldHint and destructiveHint=false, so the safety profile is covered. The description usefully adds the historical data range and the jin10 source URL and states the return type is a pandas.DataFrame, which goes slightly beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact but cluttered with Sphinx docstring artifacts (:return:/:rtype:) that restate the tool name and duplicate the type information. The front-loaded dataset name is good; the trailing metadata earns little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only series fetch with no output schema, the description supplies what an agent needs: the dataset identity, its time coverage, and the return type. Column-level detail is absent but not critical here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a 0-param tool applies. The historical start date is mentioned but is not a configurable argument.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (US Pending Home Sales Index MoM report) and its coverage window (20010301–present), so an agent knows exactly which dataset this returns. It does not, however, distinguish the tool from near-identical siblings such as macro_usa_phs, macro_usa_exist_home_sales, or macro_usa_new_home_sales.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no alternative named. With so many overlapping macro_usa_* real-estate series in the sibling list, this is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_personal_spendingARead-onlyIdempotent
美国个人支出月率报告,数据区间从19700101-至今 https://datacenter.jin10.com/reportType/dc_usa_personal_spending :return: 美国个人支出月率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: the data coverage starts from 1970-01-01 and the return type is a pandas.DataFrame. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the main purpose before adding the data range, URL, and return type. It wastes little space, though the URL is not strictly necessary for an agent and the :return:/:rtype: lines are somewhat redundant with the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only data retrieval tool with no output schema, the description provides the essential context: what the report is, the data range, and the return type. It does not explain update frequency or how to refresh, but given the annotations and simplicity, it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema is empty and there is nothing to document. The baseline for zero-parameter tools is 4, as the description correctly focuses on what the tool returns rather than parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the exact resource: '美国个人支出月率报告' (US personal spending monthly report) and its data range since 1970-01-01. It clearly identifies what data is returned without needing to open a schema. However, it does not explicitly differentiate from the close sibling macro_usa_real_consumer_spending, leaving minor ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only states what the tool returns; it does not mention any context, prerequisites, or when-not-to-use conditions. For a simple data retrieval tool this is a noticeable gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_phsBRead-onlyIdempotent
东方财富-经济数据一览-美国-未决房屋销售月率 https://data.eastmoney.com/cjsj/foreign_0_5.html :return: 未决房屋销售月率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds the data source URL and return type, but discloses nothing about data coverage, update frequency, or DataFrame contents. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact—three lines (title, URL, return type) with no filler. The first line is redundant with the provided title, but the remaining lines earn their place by adding source and return-format context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool, the description is minimally adequate: it names the data, gives the source URL, and states the return type. However, with no output schema, it leaves unspecified what columns or historical coverage the DataFrame contains and how this tool differs from the similarly named sibling macro_usa_pending_home_sales.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline of 4 applies; there is nothing for the description to explain. The empty input schema already provides complete coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: US pending home sales monthly rate (未决房屋销售月率) from East Money, with the source URL and a pandas DataFrame return type. However, it is essentially a restatement of the title and does not differentiate this tool from closely related siblings like macro_usa_pending_home_sales.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling macro_usa_* economic data tools (e.g., macro_usa_exist_home_sales, macro_usa_new_home_sales, macro_usa_pending_home_sales). There is no mention of context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_pmiBRead-onlyIdempotent
美国 Markit 制造业 PMI 初值报告,数据区间从 20120601-至今 https://datacenter.jin10.com/reportType/dc_usa_pmi :return: 美国 Markit 制造业 PMI 初值报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds the data interval and return type, which is useful context, but it does not disclose update frequency, latency, or data source behavior beyond a link.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loads the report name and date range. The trailing Sphinx-style :return: and :rtype: lines are slightly redundant but still compact and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter historical data retrieval tool with no output schema, the description supplies the report identity, coverage period, source link, and return type (pandas.DataFrame). This is sufficient for an agent to invoke it correctly, though column-level expectations are not described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 an empty object, so there are no parameter semantics to clarify. Baseline for a no-parameter definition is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific report (US Markit Manufacturing PMI preliminary) and gives the data coverage window (20120601-present). It is distinguishable from sibling tools like macro_usa_ism_pmi and macro_usa_services_pmi, though it lacks a leading action verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this report over related siblings such as macro_usa_ism_pmi, macro_usa_services_pmi, or macro_china_pmi. The source URL and date range are present, but no contextual selection criteria are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_ppiARead-onlyIdempotent
美国生产者物价指数(PPI)报告,数据区间从 20080226-至今 https://datacenter.jin10.com/reportType/dc_usa_ppi :return: 美国生产者物价指数(PPI)报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. The description adds the data range (20080226-present), which is useful context beyond annotations, and the return type (pandas.DataFrame). However, it does not describe update frequency, latency, or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the key information (what it is, data range). It includes a URL and return type, which are useful but could be omitted. Overall it is concise and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no output schema, and annotations that cover safety/behavior, the description provides enough to call it correctly: it states what the tool returns and the data range. It lacks details on output format (though rtype indicates a DataFrame), but that's acceptable without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so baseline is 4. The description correctly implies no parameters are needed, and the schema confirms this.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: it returns the US Producer Price Index (PPI) report, with a data range of 20080226 to present. This clearly distinguishes it from siblings like macro_usa_cpi_monthly or macro_usa_core_ppi, though it doesn't explicitly differentiate from those in text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. It does not mention use cases, exclusions, or related tools like macro_usa_core_ppi or macro_usa_cpi_monthly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_real_consumer_spendingARead-onlyIdempotent
美国实际个人消费支出季率初值报告,数据区间从 20131107-至今 https://datacenter.jin10.com/reportType/dc_usa_real_consumer_spending :return: 美国实际个人消费支出季率初值报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: the data coverage window (2013-11-07 to present) and the return container (pandas.DataFrame), which the annotations do not express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core fact is front-loaded, but the entry is padded with a source URL and Sphinx docstring artifacts (:return:, :rtype:) rather than tool-call guidance. Nothing is confusing, yet a sentence or two of that space could have carried usage guidance instead.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only data fetch with no output schema, the description supplies the essential missing pieces: subject, coverage window, and return type. Only cross-tool routing is absent, which is a minor gap at this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly implies a no-argument fetch, matching the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (US real consumer spending quarterly preliminary report) and a concrete scope (data from 2013-11-07 onward), so an agent knows exactly what dataset comes back. It does not explicitly distinguish itself from the close sibling macro_usa_personal_spending, which is the main remaining gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as macro_usa_personal_spending or macro_usa_core_pce_price, and no prerequisite or freshness guidance. Usage is only inferable from the report name itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_retail_salesBRead-onlyIdempotent
美国零售销售月率报告,数据区间从 19920301-至今 https://datacenter.jin10.com/reportType/dc_usa_retail_sales :return: 美国零售销售月率报告-今值(%) :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety behavior is covered. The description adds the temporal scope (19920301-present) and return format, which is useful, but says nothing about update cadence, source reliability, or auth. Roughly on par with the calibration's scoped-list example.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded: purpose, scope, source URL, then return type. Minor redundancy between the title and description, but no filler sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only data-fetch tool with annotations covering safety, the description supplies purpose, data range, source, and return shape. Sufficient for correct invocation, though the absence of an output schema means the single return column description is doing real work.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema does no work and there is nothing to disambiguate. Baseline for a no-param tool is 4; nothing in the description is needed or missing here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (US retail sales MoM report) with the data scope, so an agent can identify it as a US macro indicator fetcher. It does not, however, differentiate itself from the many sibling macro tools (e.g. macro_euro_retail_sales_mom, macro_uk_retail_monthly) beyond the country/indicator name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no prerequisites, and no mention of alternatives among the numerous retail-sales and macro siblings. Usage is only implied by the indicator name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_rig_countARead-onlyIdempotent
贝克休斯钻井报告,数据区间从 20080317-至今 https://datacenter.jin10.com/reportType/dc_rig_count_summary :return: 贝克休斯钻井报告-当周 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds genuinely new behavioral context: the data starts 20080317 and runs to the present, the upstream source URL, and the return type (pandas.DataFrame). Minor wrinkle: the :return: line says '当周' (current week) which sits awkwardly with the full historical range.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded with the resource name and coverage window. The bare URL and docstring artifacts (:return:, :rtype:) add noise, but nothing is bloated or buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only historical data fetch with no output schema, the description supplies what is needed: what the data is, how far back it goes, and its return type. Only the update cadence of the weekly rig report and the meaning of the returned columns are left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the schema is empty and complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource (Baker Hughes / 贝克休斯钻井报告) and states its coverage window (20080317 to present), which is enough to distinguish it from the many other macro_usa_* indicator siblings. It never states a verb like 'fetch/retrieve', but the resource naming is specific enough that an agent can identify the tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites, and no mention of alternatives among the sibling macro_usa_* series. The data-range note implies historical coverage but does not guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_services_pmiBRead-onlyIdempotent
美国Markit服务业PMI初值报告,数据区间从 20120701-至今 https://datacenter.jin10.com/reportType/dc_usa_services_pmi :return: 美国Markit服务业PMI初值报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds the temporal coverage window, which is genuinely useful context, but says nothing about update frequency, data source semantics, or return shape beyond the type hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The body is short, but it is padded with docstring artifacts (:return:, :rtype:) that restate the report name already given at the top, plus a bare URL. The useful content (what it is, coverage window) is present but not cleanly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only data-pull tool with annotations covering safety, the description conveys the subject and coverage window adequately and there is no output schema to explain. It omits update cadence and source/dimension details that would round out an agent's expectation of the returned DataFrame.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. There is no parameter semantics to clarify and the description does not introduce confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (US Markit Services PMI flash report) with a stated data range, which is enough for an agent to distinguish it from close siblings such as macro_usa_ism_pmi and macro_usa_pmi. It stops short of explicitly contrasting those siblings, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, nor any prerequisites or exclusions. The only usage-relevant fact is the 2012-07-01-to-present coverage window, which the agent must interpret on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_spcs20BRead-onlyIdempotent
美国S&P/CS20座大城市房价指数年率报告,数据区间从 20010201-至今 https://datacenter.jin10.com/reportType/dc_usa_spcs20 :return: 美国S&P/CS20座大城市房价指数年率报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond annotations — the data range (20010201-present), the jin10 source URL, and that the return is a pandas.DataFrame — which is genuine added value but stops short of describing update cadence or column shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is compact and front-loaded with the resource name and data range, which is the most useful information. It is slightly redundant, as the ':return:' line restates the description text verbatim, wasting a line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only macro-data tool with annotations carrying the safety profile and no output schema, the description supplies the essentials: topic, historical coverage, source link, and return type. It lacks only minor operational details such as publication frequency, which is not critical to invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to document and schema coverage is moot. Baseline 4 applies; no parameter semantics are needed here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — the US S&P/CS20 Case-Shiller large-city home price index annual-rate report — which is distinguishable from siblings like macro_usa_house_price_index and macro_usa_phs. However, it uses a noun phrase ('报告') rather than an explicit verb and does not explicitly differentiate itself from those closest siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which sibling to prefer for related US housing indicators (e.g., macro_usa_house_price_index, macro_usa_nahb_house_market_index). The agent must infer usage entirely from the topic name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_trade_balanceBRead-onlyIdempotent
美国贸易帐报告,数据区间从 19700101-至今 https://datacenter.jin10.com/reportType/dc_usa_trade_balance :return: 美国贸易帐报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, covering the safety profile. The description adds the temporal coverage (19700101-至今), the upstream source URL, and the return type (pandas.DataFrame), which is useful context but stops short of pagination, refresh cadence, or rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded with the resource name, then scope, source, and return type in docstring form. The :return:/:rtype: tags are slightly redundant given the return is already implied, but there is no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool with no output schema, the definition supplies the source and date range but never describes the columns/fields the returned DataFrame contains. An agent cannot know what values to expect, leaving a meaningful gap for a data-retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter-level value could be added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource ('美国贸易帐报告' – the US trade balance report) and its temporal coverage, so an agent knows it returns US trade balance data. The 'usa' prefix distinguishes it from the many macro_usa_* siblings, though it does not explicitly contrast with macro_china_trade_balance or macro_euro_trade_balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, prerequisites, or alternative tools are mentioned. The 1970-present range hints at scope but is not usage direction, and nothing tells the agent when this report is preferable to a sibling macro indicator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usa_unemployment_rateARead-onlyIdempotent
美国失业率报告,数据区间从 19700101-至今 https://datacenter.jin10.com/reportType/dc_usa_unemployment_rate :return: 获取美国失业率报告 :rtype: pandas.Series
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds meaningful context beyond that: the full data range (1970 to present), the source URL, and the return type (pandas.Series). Since there is no output schema, this return-type disclosure is especially valuable. It does not cover update frequency or what the Series contains, but it adds solid behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded: the first line states the resource and data range, followed by a source URL and a brief return-type note. The URL and docstring-style return lines are terse, though slightly noisy for an agent. Overall efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter historical data tool with annotations covering safety and no output schema, the description supplies the key missing pieces: data coverage (1970 onward) and return type (pandas.Series). It could further specify update frequency or what the Series index/values represent, but it is complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so the baseline is 4. No parameter information is needed, and the description does not attempt to add any, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource ('美国失业率报告') and a precise temporal scope ('数据区间从 19700101-至今'). It is distinguishable from other macro tools by country and indicator, but it does not explicitly differentiate itself from siblings or name an alternative. Clear purpose, limited sibling comparison in text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description only provides the data range and source URL, leaving usage entirely implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
match_main_contractBRead-onlyIdempotent
新浪财经-期货-主力合约 https://vip.stock.finance.sina.com.cn/quotes_service/view/qihuohangqing.html#titlePos_1 :param symbol: choice of {'czce', 'dce', 'shfe', 'cffex', 'gfex'} :type symbol: str :return: 主力合约的字符串 :rtype: str
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | cffex |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, which cover the safety profile. The description adds the source URL and exchange choices, but it does not disclose behavior such as data freshness, network dependency, error handling for invalid symbols, or the format of the returned string. This is acceptable given the read-only nature declared by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, containing only the source, parameter choices, and return type. It avoids unnecessary prose. However, the Chinese title duplicates the annotation title, and the long URL might be considered noise, though it does provide the data source. The structure is acceptable but could be improved by front-loading a clear verb phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, returns a string) and the annotations providing safety context, the description is mostly adequate. It covers the source and parameter choices, but it does not explicitly state what the function does beyond the return type, nor does it describe the format of the main contract string or behavior for invalid exchange codes. These are minor gaps for a simple read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage for the 'symbol' parameter, but the description compensates by explicitly listing the five valid exchange choices: {'czce', 'dce', 'shfe', 'cffex', 'gfex'}. It clarifies the expected values, which is essential since the schema only defines 'symbol' as a string with a default. It does not explain what each code means, but the list itself adds significant semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool returns the main futures contract string for a given exchange, with the Chinese title '新浪财经-期货-主力合约' and return type '主力合约的字符串'. However, it lacks an explicit verb phrase and does not differentiate from sibling tools like futures_main_sina or futures_display_main_sina, which likely serve similar purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternative futures tools. It only lists valid exchange codes and the return type, with no context about use cases, prerequisites, or exclusion of sibling tools. The schema default for 'symbol' (cffex) is mentioned in the schema but not explained in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
migration_area_baiduARead-onlyIdempotent
百度地图慧眼-百度迁徙-XXX迁入地详情 百度地图慧眼-百度迁徙-XXX迁出地详情 以上展示 top100 结果,如不够 100 则展示全部 迁入来源地比例:从 xx 地迁入到当前区域的人数与当前区域迁入总人口的比值 迁出目的地比例:从当前区域迁出到 xx 的人口与从当前区域迁出总人口的比值 https://qianxi.baidu.com/?from=shoubai#city=0 :param area: 可以输入 省份 或者 具体城市 但是需要用全称 :type area: str :param indicator: move_in 迁入 move_out 迁出 :type indicator: str :param date: 查询的日期 20200101 以后的时间 :type date: str :return: 迁入地详情/迁出地详情的前 50 个 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | 重庆市 | |
| date | No | 20230922 | |
| indicator | No | move_in |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, covering the safety profile. The description adds useful behavioral context: result caps (top100 / else all) and the ratio semantics, but it self-contradicts on volume (says top100 yet returns '前 50 个'), which weakens trust.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key purpose and mode definitions are front-loaded, but the entry is cluttered with a source URL and docstring-style re-statements, and the top100/50 inconsistency adds noise rather than clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully explains the return (first 50 in/out details as a pandas.DataFrame) and documents all three otherwise-undocumented parameters, giving an agent enough to call it correctly despite the minor volume inconsistency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden, and it does: area accepts a full province or city name, indicator takes move_in/move_out, date is a yyyymmdd string after 20200101. It supplies the enum values and format the schema omits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (Baidu Huiyan migration in/out area details) and the two modes driven by indicator (move_in/move_out). An agent can tell what it retrieves, though it does not explicitly contrast with the sibling migration_scale_baidu.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the indicator parameter (move_in for in-migration, move_out for out-migration), but there is no explicit when-to-use guidance or reference to the sibling migration_scale_baidu to route between area-level and scale-level queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
migration_scale_baiduARead-onlyIdempotent
百度地图慧眼-百度迁徙-迁徙规模 迁徙规模指数:反映迁入或迁出人口规模,城市间可横向对比城市迁徙边界采用该城市行政区划,包含该城市管辖的区、县、乡、村 https://qianxi.baidu.com/?from=shoubai#city=0 :param area: 可以输入 省份 或者 具体城市 但是需要用全称 :type area: str :param indicator: move_in 迁入 move_out 迁出 :type indicator: str :return: 时间序列的迁徙规模指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | 广州市 | |
| indicator | No | move_in |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false; the description adds that the return is a time-series pandas DataFrame, that the index reflects population movement scale, and that administrative boundary includes districts/counties/towns/villages. It does not mention data source reliability, rate limits, or failure behavior, but the added context is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably structured with purpose, source URL, and param/return docs, but includes a long Chinese definition and URL that could be trimmed. The information is front-loaded and no obvious filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description explains the return type (pandas DataFrame) and index meaning, but it omits details like date range, column names, data frequency, and potential errors. For a two-parameter tool this is mostly adequate, but gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description compensates by explaining area accepts province or city full names and indicator is move_in/move_out with Chinese meanings. It adds type and return info, though it could be more concrete about accepted name formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the migration scale index (迁徙规模指数) reflecting move-in/out population scale for a given area, with a URL naming Baidu Qianxi. It specifies the scope (province/city) but does not explicitly differentiate from the sibling migration_area_baidu, so it's clear but lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives parameter semantics (area can be province/city and requires full name; indicator values map to move_in/move_out) and mentions it's cross-city comparable, but it doesn't state when to prefer this over alternatives or provide exclusion criteria. Usage is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
movie_boxoffice_cinema_dailyBRead-onlyIdempotent
电影票房-影院票房-日票房排行 https://www.endata.com.cn/BoxOffice/BO/Cinema/day.html :param date: 当前日期前一日的票房数据 :type date: str :return: 影票房-影院票房-日票房排行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240219 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds value by including the source URL (endata.com.cn) and the behavioral constraint that the returned data is for the day before the specified date. However, it does not disclose pagination, rate limits, or the exact output structure beyond stating it returns a pandas DataFrame.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of a title line, a URL, and short param/return docstrings. It is not verbose, but the return line '影票房-影院票房-日票房排行' is largely redundant with the title, which slightly detracts from conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only one parameter and no output schema, but the description is incomplete for real-world use. It does not explain the columns of the returned DataFrame, specify the date format, or clarify whether the ranking covers all cinemas or a specific subset. The note about the previous day's data is present, but critical details for invoking the tool correctly are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description carries the burden of explaining the 'date' parameter. It provides a Chinese explanation that the date refers to the previous day's box office data, giving semantic meaning beyond the bare schema. However, it fails to specify the required format (e.g., YYYYMMDD) or clarify that the parameter is optional despite having a default value, leaving ambiguity for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '电影票房-影院票房-日票房排行' (Movie Box Office - Cinema Box Office - Daily Ranking), which clearly identifies the tool's function as retrieving daily cinema box office rankings. It distinguishes from siblings like movie_boxoffice_daily and movie_boxoffice_cinema_weekly by specifying 'cinema' and 'daily' in the title. However, it lacks an explicit verb, relying on a noun phrase fragment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the resource name and date parameter, but does not explicitly state when to use this tool versus alternatives. It does provide a usage hint by noting the date parameter represents '当前日期前一日的票房数据' (box office data of the day before the current date), which tells users about data availability, but no exclusions or alternative tool references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
movie_boxoffice_cinema_weeklyARead-onlyIdempotent
电影票房-影院票房-周票房排行 https://www.endata.com.cn/BoxOffice/BO/Cinema/week.html :param date: 当前日期前完整一周的票房数据 :type date: str :return: 影票房-影院票房-轴票房排行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240219 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the read-only behavior is covered. The description adds that the date parameter refers to the 'complete week before the current date' and that the return is a pandas.DataFrame, which is useful context beyond the annotations. No contradictions found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, containing a title, source URL, parameter docstring, and return type in four lines. It avoids redundancy for the most part, though the return line ('影票房-影院票房-轴票房排行') contains a typo and repeats the title. Overall, it is appropriately sized and front-loaded with the key purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should clarify the returned DataFrame structure; it only states 'pandas.DataFrame' without column details. The date semantics are also vague, potentially causing misuse. While the annotations cover safety, the description lacks sufficient detail about output and precise date interpretation to be considered fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no descriptions (0% coverage), so the description must compensate. It provides a brief explanation of the date parameter: '当前日期前完整一周的票房数据' (box office data for the complete week before the current date). While this clarifies the date's role, it is ambiguous about whether the date is the end date or the start of the week, and it does not specify the format beyond the default value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '电影票房-影院票房-周票房排行' (Movie box office - Cinema box office - Weekly ranking), naming the specific resource (cinema weekly box office) and the intended data (rankings). It distinguishes from sibling tools like movie_boxoffice_cinema_daily (daily) and movie_boxoffice_weekly (likely overall, not by cinema) by including both 'cinema' and 'weekly'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for weekly cinema box office rankings but does not explicitly state when to use this tool versus alternatives. It provides no exclusions or references to alternative tools. The date parameter description gives some context on how to set the date, but the 'when to use' guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
movie_boxoffice_dailyARead-onlyIdempotent
电影票房-单日票房 https://www.endata.com.cn/BoxOffice/BO/Day/index.html :param date: 只能设置当前日期的前一天的票房数据 :type date: str :return: 每日票房 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240219 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful behavioral context: it documents the date limitation (only previous day's data) and the return type (pandas.DataFrame), which are not evident from the schema or annotations. It also provides the source URL, adding transparency about the data origin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and follows a clear structure: title, URL, parameter documentation, and return documentation. Every section earns its place, but the opening line repeats the title exactly, and the parameter/return sections are minimal. It is appropriately sized for a simple tool, though not excessively polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and safe annotations, and the description provides the source URL, date limitation, and return type. However, there is no output schema and the description only says '每日票房' (daily box office) without detailing what columns or aggregated data the DataFrame contains. This leaves the agent guessing about the exact return structure, so the description is adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only provides the parameter name and type with no description (0% coverage). The description compensates somewhat by stating the date constraint ('只能设置当前日期的前一天') and the type as str, but the type is already in the schema and redundant. It does not explicitly specify the expected date format (e.g., YYYYMMDD), although the default value '20240219' hints at it. Thus it adds meaningful but incomplete parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as daily movie box office data (电影票房-单日票房) and returns a DataFrame of daily box office. However, it uses a noun phrase rather than a specific verb like 'retrieve' or 'get', and it does not explicitly differentiate from sibling tools such as movie_boxoffice_monthly or movie_boxoffice_realtime.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a crucial usage constraint: '只能设置当前日期的前一天的票房数据' (dates are limited to the day before the current date), which tells the agent when the tool can be used. However, it lacks explicit guidance on when to choose this tool over the movie_boxoffice_* siblings, nor does it mention alternatives. The usage context is implied by the name and title rather than stated directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
movie_boxoffice_monthlyBRead-onlyIdempotent
电影票房-单月票房 https://www.endata.com.cn/BoxOffice/BO/Month/oneMonth.html :param date: 指定日期所在月份的月度票房 :type date: str :return: 单月票房 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240218 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the agent knows this is a safe read operation. The description adds the return type (pandas.DataFrame), which is useful but not a behavioral trait. It does not disclose any additional traits such as data freshness, pagination, or unique constraints. With annotations covering safety, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and structured: a title line, a source URL, and a docstring with param/return/type. Each element is relevant, though the URL and docstring could be seen as slightly redundant. Overall, it is appropriately sized with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the returned DataFrame contains, but it only says '单月票房' (monthly box office) without specifying columns, scope, or data source details. It also lacks guidance on when to choose this tool over sibling movie box office tools. This is insufficient for a tool with no structured output documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only specifies the 'date' parameter as a string with a default, but the description's docstring explains that the date determines the month for which box office data is returned. This adds meaningful semantics. However, the format (e.g., YYYYMMDD) is only implied by the default value '20240218', not explicitly stated, so it is not fully comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as monthly movie box office data and explains the date parameter's role in selecting the month. While it lacks an explicit verb like 'get' or 'list', the docstring's return statement makes the function's purpose apparent. It does not explicitly distinguish from sibling movie box office tools, but the 'monthly' qualifier is implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many sibling tools (e.g., movie_boxoffice_daily, movie_boxoffice_weekly, movie_boxoffice_yearly). There are no conditions, exclusions, or alternative recommendations. The only hint is the name and the date parameter description, which is insufficient for an agent to select among closely related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
movie_boxoffice_realtimeBRead-onlyIdempotent
电影票房-实时票房 https://ys.endata.cn/BoxOffice/Movie :return: 实时票房数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds the data source URL and return type (pandas.DataFrame), which is valuable, but it doesn't disclose data freshness, possible delays, or how the data is scoped. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, containing only the title, source URL, return data description, and return type. It's efficient, though slightly fragmentary due to the `:return:` style instead of a full sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description should explain what the returned DataFrame contains, but it only says '实时票房数据' (realtime box office data) without listing columns or data granularity. However, it's a simple zero-parameter read-only tool, and the name and URL provide context, making it minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%, so the baseline per rubric is 4. The description adds nothing parameter-related, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it returns real-time box office data (实时票房数据) and points to the source URL, which clearly identifies the tool's purpose. It distinguishes from siblings like movie_boxoffice_daily by the 'realtime' qualifier, though it lacks an explicit verb like 'get' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many other movie box office tools (daily, weekly, monthly, etc.). There is no mention of alternatives, prerequisites, or caveats about data availability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
movie_boxoffice_weeklyARead-onlyIdempotent
电影票房-单周票房 https://www.endata.com.cn/BoxOffice/BO/Week/oneWeek.html :param date: 只能获取指定日期所在完整周的票房数据 :type date: str :return: 单周票房 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240218 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds specific behavioral context beyond annotations: it can only retrieve data for the full week containing the given date, and the return type is a pandas DataFrame. This is valuable for setting expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and uses a structured docstring format (:param, :type, :return, :rtype), making it easy to parse. The URL is slightly redundant but adds provenance; the title/return duplication is minor. Overall, it is appropriately sized and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one optional parameter and no output schema, the description is fairly complete: it covers the source, the parameter's meaning, and the return type. It lacks example usage or DataFrame column details, but the default value and URL provide enough context for basic invocation. Annotations enrich the picture further.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage for the 'date' parameter, so the description carries the full burden. The description explains that the date determines the complete week being queried ('只能获取指定日期所在完整周的票房数据') and specifies the type as str, which gives the parameter clear semantic meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool retrieves weekly movie box office data ('单周票房'), names the source URL, and specifies the key parameter constraint. It distinguishes itself from sibling movie_boxoffice tools (daily, monthly, yearly) by its weekly scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for weekly box office data through its title and param description, but it does not explicitly state when to use this tool versus sibling tools like movie_boxoffice_daily or movie_boxoffice_monthly. The constraint that the date must fall within the target week is a useful usage guideline, but no alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
movie_boxoffice_yearlyBRead-onlyIdempotent
电影票房-年度票房 https://www.endata.com.cn/BoxOffice/BO/Year/index.html :param date: 当前日期所在年度的票房数据 :type date: str :return: 年度票房 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240218 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds useful context by providing the source URL and clarifying that the date parameter selects the year containing that date. However, it does not disclose data freshness, potential delays, or edge-case behavior such as invalid dates or empty results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and structured as a docstring with param, type, return, and rtype sections. The URL is useful for provenance. The only minor redundancy is that the first line repeats the title/annotation, but overall the content is concise and free of unnecessary filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read-only tool, the description provides the source URL, parameter semantics, and return type. However, there is no output schema and no description of the DataFrame's columns, index, or typical row count. It also lacks context about how this tool relates to the numerous movie box office siblings, which could leave an agent uncertain about which to select.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'date' is described as '当前日期所在年度的票房数据' (box office data for the year containing the current date), which adds meaning beyond the raw schema by linking the date to a yearly aggregation. The default value '20240218' hints at the YYYYMMDD format, but the description does not explicitly state the expected format, range, or whether the date must be a trading day.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as '电影票房-年度票房' (movie box office - annual) and states that it returns '年度票房' (annual box office) as a DataFrame. This clearly indicates the annual scope and, through the name, helps distinguish it from sibling tools like movie_boxoffice_daily and movie_boxoffice_monthly. However, it lacks an explicit verb like 'fetch' or 'query' and largely repeats the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that it is appropriate for annual box office data while daily, weekly, monthly, or real-time siblings exist for other time granularities. No exclusions, prerequisites, or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
movie_boxoffice_yearly_first_weekBRead-onlyIdempotent
电影票房-年度票房-年度首周票房 https://www.endata.com.cn/BoxOffice/BO/Year/firstWeek.html :param date: 当前日期所在年度的年度首周票房票房数据 :type date: str :return: 年度首周票房 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20201018 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, so the agent knows it's a safe read. The description adds the fact that it returns a pandas.DataFrame, which is useful. However, no additional behavioral details like rate limits, pagination, or data source quirks are provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact (4 lines) and front-loads the purpose. However, it mixes Chinese and English with some redundancy (e.g., '票房票房' typo) and is somewhat cryptic for non-Chinese speakers. It earns its place but could be more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the returned DataFrame contains, but it only says '年度首周票房'. The parameter format is under-specified, and there's no mention of what years are supported or whether the date should be the exact date of the first week.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, so the description carries the burden. It mentions ':param date: 当前日期所在年度的年度首周票房票房数据' (data for the year of the current date), which gives some meaning but is vague about format. The example default '20201018' suggests a date string but doesn't clarify the expected format completely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving annual first-week box office data from a specific URL, with a specific parameter 'date' and return type. It distinguishes from siblings by mentioning '年度首周票房' (yearly first-week box office), which separates it from other movie_boxoffice_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by showing the date parameter and return type, but doesn't explicitly state when to use this vs. other movie box office tools. It provides minimal context: the date should be the current date's year for that year's first-week data, but 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.
news_cctvBRead-onlyIdempotent
新闻联播文字稿 https://tv.cctv.com/lm/xwlb :param date: 需要获取数据的日期;目前 20160203 年后 :type date: str :return: 新闻联播文字稿 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240424 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered structurally. The description adds genuinely useful behavior context — the historical coverage boundary (post-2016-02-03) and the DataFrame return type — but says nothing about rate limits, latency, or empty-result behavior for out-of-range dates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The resource name and source URL are front-loaded, which is good. However, the trailing docstring boilerplate (:type date: str, :return:, :rtype:) mostly restates what the first lines already say and adds markup noise rather than information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter, read-only tool with no output schema, the description supplies source, parameter meaning, coverage window, and return type — enough for correct invocation. It stops short of noting whether the DataFrame is one row per day or per segment, but the core is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must carry the parameter, and it does: it explains that date is the target date and constrains the valid range to dates after 20160203. The YYYYMMDD format is only inferable from the schema default, not stated outright, so this is not a full 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource, 新闻联播文字稿 (CCTV News Simulcast transcript), and gives the source URL, so an agent knows exactly what data is returned. The verb (fetch/retrieve) is only implied rather than stated, and it does not explicitly distinguish itself from near-neighbors like video_tv or video_variety_show.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the data-coverage constraint (data available only after 20160203), which tells the agent what dates are valid. There is no when-to-use / when-not-to-use statement and no mention of any alternative tool for news or TV content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_economic_baiduCRead-onlyIdempotent
百度股市通-经济数据 https://finance.baidu.com/calendar :param date: 查询日期 (格式:YYYYMMDD) :param cookie: cookie :return: 经济数据 pd.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20251126 | |
| cookie | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive, so the safety profile is covered. The description adds the return type (pd.DataFrame), which is useful given no output schema, but says nothing about the auth/cookie requirement, rate limits, or pagination. Value beyond annotations is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the source name, then the URL, then param notes. It is efficient with little filler, though the bare URL and the :param lines are raw docstring artifacts rather than polished agent-facing text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-param tool with no output schema, the description covers only the return type and date format. It omits what columns/content the DataFrame holds, the authentication story behind 'cookie', and any disambiguation from the large family of macro economic tools, so an agent lacks enough to select it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It does explain the date format (YYYYMMDD), which is helpful, but 'cookie' is documented only as 'cookie' with no explanation of where to obtain it or how it is used, leaving one of two parameters effectively undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a source ('百度股市通-经济数据') and a URL, which implies an economic-calendar dataset. However, 'economic data' is broad and the description never states what the tool actually retrieves (events, indicators, calendar entries) or how it differs from the dozens of macro_* siblings that also return economic data. Purpose is inferable but not crisply defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no alternatives named, despite the enormous sibling set (macro_china_cpi, macro_usa_cpi_monthly, etc.) competing for the same 'economic data' intent. The agent is left to guess whether this is a calendar, an aggregate feed, or a specific indicator source.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_report_time_baiduCRead-onlyIdempotent
百度股市通-财报发行 https://finance.baidu.com/calendar :param date: 查询日期 (格式:YYYYMMDD) :param cookie: cookie :return: 财报发行DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20251126 | |
| cookie | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds that a 'cookie' is needed (implying authentication/credential handling) and that the return is a DataFrame, which is mildly useful context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loads the tool identity, but it is raw Epytext docstring syntax (';param ... ;return ...') plus a bare URL, which is functional rather than well-structured prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema the description should say more about the returned DataFrame, though it does at least name the return type. Two optional params with defaults are handled adequately for date but not for cookie, so the definition is barely sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and neither parameter is documented in the schema, so the description carries the burden. It does give the date format (YYYYMMDD), which is genuinely useful, but leaves 'cookie' as an unexplained bare term even though it is the auth-bearing parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a source ('百度股市通') and a resource ('财报发行', i.e. earnings-report issuance), signalling a Baidu financial-report calendar. However it supplies no verb and no explicit differentiation from adjacent Baidu news tools such as news_economic_baidu or news_trade_notify_dividend_baidu, leaving the agent to infer intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative sibling tool. The only extra signal is a bare URL to the source page, which does not tell the agent when this tool is the right pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_trade_notify_dividend_baiduCRead-onlyIdempotent
百度股市通-交易提醒-分红派息 https://finance.baidu.com/calendar :param date: 查询日期 (格式:YYYYMMDD) :param cookie: cookie :return: 交易提醒-分红派息DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20251126 | |
| cookie | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is fully covered. The description adds that it returns a DataFrame and hints at a cookie requirement, but does not state what the cookie is for, whether it is mandatory, or any rate/access constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded with the resource identity, but it retains raw docstring syntax (:param/:return) rather than prose, and the URL line adds context length without explaining use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and while the description names the return type (DataFrame), it does not describe the columns or shape of the dividend notification data. Combined with absent usage guidance for a tool sitting among many near-duplicate dividend/fund endpoints, an agent lacks enough to call this confidently over alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load. It gives the date format (YYYYMMDD) and notes the default, which is genuinely useful, but the cookie parameter is only labeled 'cookie' with no explanation of how to obtain it or what it authenticates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Identifies the source (百度股市通) and the specific resource (交易提醒-分红派息, dividend/distribution trade notifications) and references the calendar URL, so an agent can tell the data domain apart from siblings like news_trade_notify_suspend_baidu. However, the action verb is only implied ('查询' appears in a param note and the return is a DataFrame), so the purpose is recognizable but not crisply stated as fetch-and-return.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites, and no mention of the several closely related siblings (e.g. news_trade_notify_suspend_baidu, stock_history_dividend, stock_fhps_detail_ths). The agent must infer purely from the name that this is the Baidu dividend-notification endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_trade_notify_suspend_baiduCRead-onlyIdempotent
百度股市通-交易提醒-停复牌 https://finance.baidu.com/calendar :param date: 查询日期 (格式:YYYYMMDD) :param cookie: cookie :return: 停复牌数据DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20251126 | |
| cookie | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint, so the safety profile is fully covered by structured data. The description adds only the return type (停复牌数据DataFrame), which is marginally useful given no output schema, but says nothing about rate limits, the cookie's auth role, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but the front matter mixes the title, a bare URL, and a docstring-style :param block without clear prose. Not padded, but not well front-loaded for an agent scanning for the action and its constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, no-output-schema tool, the description leaves the cookie semantics, the exact meaning of the returned data, and any usage conditions unstated. The annotations cover safety, but an agent still lacks enough to invoke this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load. It documents date as 查询日期 with format YYYYMMDD, which helps, but the cookie parameter is only described as 'cookie' — no explanation of what it is, how to obtain it, or whether it is required. Half the parameters remain effectively undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source (百度股市通), the category (交易提醒) and the specific resource (停复牌 = trading suspension/resumption), so an agent can identify it as a suspend/resume calendar fetcher. It is not tautological, though it never explicitly distinguishes itself from the sibling news_trade_notify_dividend_baidu.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance. The URL points at a calendar page but the description never says to call this tool to retrieve suspension/resumption alerts for a date.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nlp_answerCRead-onlyIdempotent
智能问答 https://ownthink.com/robot.html :param question: word in chinese :type question: str :return: indicator data :rtype: list or dict or pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| question | No | 人工智能 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds little behavioral context: it only states that the return is 'indicator data' without explaining what that means, how results are structured, or any constraints. No additional traits like rate limits or authentication needs are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but not effectively structured. It repeats the Chinese title, includes a URL that is unlikely to help an AI agent understand usage, and the param/return documentation is terse. It does not front-load a clear functional explanation, and the content is under-specified rather than appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no output schema), the description still feels incomplete. It fails to explain what the tool does in practical terms, what 'indicator data' consists of, or how it relates to the sibling 'nlp_ownthink'. An agent would struggle to know when to call this tool and what to expect in the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'question' with type string and a default, but no property description. The description adds that the question should be a 'word in chinese', which provides useful language guidance beyond the schema. However, it does not clarify whether a full sentence is acceptable, and the term 'word' is potentially restrictive. The return type is mentioned but not tied to parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with '智能问答' (Intelligent Q&A), which is simply the tool's title restated, and provides a URL to ownthink.com. It does not state a specific verb+resource action, such as 'answer a question using the OwnThink robot'. The return type 'indicator data' is vague and does little to clarify what the tool actually does, and it fails to distinguish itself from the sibling tool 'nlp_ownthink'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like nlp_ownthink. The description only provides parameter documentation and a return type, with no mention of appropriate use cases, prerequisites, or exclusions. It is not misleading, but it provides no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nlp_ownthinkBRead-onlyIdempotent
Knowledge Graph interface for financial research https://ownthink.com/ :param word: word in chinese :type word: str :param indicator: entity or desc or avp or tag :type indicator: str :return: indicator data :rtype: list or dict or pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| word | No | 人工智能 | |
| indicator | No | entity |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is clear. The description adds that it returns a list, dict, or pandas DataFrame, which is useful behavioral context, but doesn't disclose other behaviors like data freshness, pagination, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a front-loaded title and a compact docstring for parameters and return. It avoids excessive prose and uses a standard structured format, though the URL line could be integrated more cleanly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With two parameters and no output schema, the description provides parameter docs and return types but lacks an example, explanation of indicator value semantics, or details on the returned data structure. It's minimally sufficient but has clear gaps for an agent to fully understand the tool's output and use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains 'word' is Chinese input and lists valid indicator values ('entity or desc or avp or tag'), adding meaning beyond the schema. It doesn't elaborate on what each indicator value returns, so it's not perfect, but it covers the key semantic information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Knowledge Graph interface for financial research', which names the resource but lacks a specific verb like 'query' or 'lookup'. It is distinguishable from siblings by its unique 'knowledge graph' scope, but the purpose is vague about the actual operation performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description only provides a general 'financial research' context without saying when this knowledge graph interface is preferable to other NLP or data tools, and 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.
online_value_artistCRead-onlyIdempotent
艺恩-艺人-艺人流量价值 https://www.endata.com.cn/Marketing/Artist/business.html :return: 艺人流量价值 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type but discloses nothing about network behavior, latency, pagination, or data limitations. It is a minimal addition beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief, containing a title, a URL, and return type information. It is not verbose, but it reads as a docstring fragment rather than a well-structured description. The lack of a proper sentence structure makes it slightly less accessible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain the returned data. It only says it returns 'artist traffic value' as a DataFrame, leaving column names, row semantics, and data granularity unspecified. For a simple tool this could be acceptable, but the ambiguity makes it incomplete for an agent that must interpret the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the input schema is empty and the baseline is 4. The description correctly focuses on the return value, which is the only meaningful semantic here. No additional parameter information is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns artist traffic value from endata.com.cn, and specifies the return type as pandas.DataFrame. This is a specific verb+resource pairing, though it does not explicitly differentiate from sibling tools like business_value_artist, which might overlap in domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. It is a zero-parameter function with no context on use cases, prerequisites, or complementary tools. The only implied usage is 'call it to get artist traffic value'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_cffex_hs300_daily_sinaARead-onlyIdempotent
新浪财经-中金所-沪深300指数-指定合约-日频行情 :param symbol: 具体合约代码(包括看涨和看跌标识),可以通过 ak.option_cffex_hs300_spot_sina 中的 call-标识 获取 :type symbol: str :return: 日频率数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | io2202P4350 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds only that the output is daily-frequency data returned as a pandas.DataFrame; it discloses nothing about rate limits, history depth, or contract expiry handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring format is front-loaded with the purpose line before param/return metadata, and there is no filler. It is slightly boilerplate-heavy but every line conveys usable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema tool with full annotation coverage, the description covers purpose, parameter sourcing, and return type. Nothing critical is missing for an agent to invoke it, though contract-code format detail would make it self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and does well: it explains that symbol is a specific contract code including the call/put identifier and directs the agent to a sibling tool for retrieving valid codes. It still does not spell out the literal code format (e.g. 'io2202P4350'), which is why it is not a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource: daily-frequency quotes (日频行情) for a designated CFFEX CSI 300 index option contract sourced from Sina Finance. It is clearly distinct from the list/spot siblings by specifying '指定合约' and '日频', though it never explicitly names those siblings as alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a real usage pointer by telling the agent where to obtain the symbol (from option_cffex_hs300_spot_sina's call-identifier), which is more than most. However, it offers no explicit when-to-use vs when-not guidance relative to option_cffex_hs300_list_sina or option_cffex_hs300_spot_sina.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_cffex_hs300_list_sinaARead-onlyIdempotent
新浪财经-中金所-沪深 300 指数-所有合约,返回的第一个合约为主力合约 目前新浪财经-中金所有沪深 300 指数和中证 1000 指数 :return: 中金所-沪深300指数-所有合约 :rtype: dict
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds one genuinely useful behavioral detail (first item = main contract) plus the rtype dict, but doesn't describe return structure or ordering beyond that first element.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat repetitive, restating 'all contracts / CFFEX-CSI300 Index all contracts' across the body and the :return: line without adding information, though it is short and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema, the description adequately conveys the source, scope, and the key return behavior (main contract first), leaving only minor ambiguity about the full return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4; there are no parameter semantics to clarify or omit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific source (Sina Finance), exchange (CFFEX), and resource (all CSI 300 index option contracts), and notes the first returned contract is the main contract. It partly differentiates from siblings by mentioning CFFEX also covers CSI 1000, though it doesn't name the distinct list tools directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied (fetch the contract list for CFFEX CSI 300 options), and the mention of CSI 300 vs CSI 1000 hints at scope, but there is no explicit when-to-use or when-to-prefer-a-different-sibling-tool guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_cffex_hs300_spot_sinaARead-onlyIdempotent
中金所-沪深 300 指数-指定合约-实时行情 https://stock.finance.sina.com.cn/futures/view/optionsCffexDP.php :param symbol: 合约代码;用 option_cffex_hs300_list_sina 函数查看 :type symbol: str :return: 中金所-沪深300指数-指定合约-看涨看跌实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | io2204 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds genuine context beyond them: the upstream source URL and that the payload contains both call and put (看涨看跌) real-time quotes. It says nothing about refresh cadence, market-hours behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded title line, then source URL, then param and return notes in Sphinx style with no filler. Every line earns its place, though the header and return line partially restate each other.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description has to describe the return; it does so only generically ('call/put real-time quotes', pandas.DataFrame). For a simple real-time quote tool this is workable, but column names and units for the returned quotes are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter. It defines symbol as a contract code and points to the list function for valid values, which is meaningfully more than the bare 'string' schema entry. It omits the accepted code format (e.g. the 'io2204'-style pattern shown only by the default).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: real-time (实时行情) quotes for a designated CFFEX CSI 300 option contract. It also supplies the data source URL and labels the asset class (中金所-沪深300指数), which lets an agent place it next to siblings like option_cffex_hs300_daily_sina without opening a schema. It stops short of explicitly contrasting itself with the daily or list variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It routes the agent to option_cffex_hs300_list_sina as the way to obtain the symbol, which is real prerequisite guidance. It never says when to prefer this spot tool over option_cffex_hs300_daily_sina, so usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_cffex_sz50_daily_sinaARead-onlyIdempotent
新浪财经-中金所-上证 50 指数-指定合约-日频行情 :param symbol: 具体合约代码(包括看涨和看跌标识),可以通过 ak.option_cffex_sz50_spot_sina 中的 call-标识 获取 :type symbol: str :return: 日频率数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | ho2303P2350 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds that the payload is daily-frequency data returned as a pandas.DataFrame, which is useful, but it says nothing about history range, pagination, or rate limiting.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The title line is front-loaded and carries the core purpose; the Sphinx :param:/:type:/:return:/:rtype: boilerplate is slightly mechanical but each field is informative. Nothing is padded or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only data pull with no output schema, the description supplies source, dataset granularity, symbol semantics and return type – enough for an agent to call it correctly. The main omission is the temporal coverage of the returned history, a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema exposes only a bare default string ('ho2303P2350'), so the description must compensate. It does: it explains that symbol is a full contract code containing the call/put marker and tells the agent where to look it up, which is meaningfully more than the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource chain (新浪财经-中金所-上证 50 指数-指定合约-日频行情), which identifies both the data source and the exact dataset: daily quotes for a given SSE 50 option contract. It implicitly separates itself from the _spot_ and _list_ siblings through the 日频 vs spot/list wording, though the distinguishing verb ('retrieve daily bars') is only implied by 行情 rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one concrete routing instruction – obtain the symbol from the call-标识 in option_cffex_sz50_spot_sina – which is genuine usage help. However, it never states when to prefer this tool over the HS300/ZZ1000 daily siblings or over the spot variant, so the when/when-not decision is left to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_cffex_sz50_list_sinaARead-onlyIdempotent
新浪财经-中金所-上证 50 指数-所有合约,返回的第一个合约为主力合约 目前新浪财经-中金所有上证 50 指数,沪深 300 指数和中证 1000 指数 :return: 中金所-上证 50 指数-所有合约 :rtype: dict
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive, so the safety profile is covered. The description adds genuine behavioral value beyond that by disclosing that the first returned contract is the main contract, which affects how the caller interprets the result ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key scope and the main-contract ordering note are front-loaded, but the trailing ':return: 中金所-上证 50 指数-所有合约' and ':rtype: dict' simply restate the opening sentence and add little. Some redundancy blunts an otherwise tight description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema listing tool, the description is complete: it names the source, exchange, underlying index and the ordering convention of the returned contracts. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies. There is nothing for the description to clarify about inputs, and it does not misrepresent the absence of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: lists all SSE 50 index option contracts from CFFEX via Sina. It also notes the first contract returned is the main contract, which sharpens the resource. However it does not explicitly distinguish itself from sibling variants like option_cffex_sz50_daily_sina or option_cffex_sz50_spot_sina.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given. The remark that CFFEX currently offers SSE 50, CSI 300 and CSI 1000 indices hints that sibling variants exist, but the description never tells the agent when to pick this list tool over the daily/spot counterparts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_cffex_sz50_spot_sinaBRead-onlyIdempotent
中金所-上证 50 指数-指定合约-实时行情 https://stock.finance.sina.com.cn/futures/view/optionsCffexDP.php/ho/cffex :param symbol: 合约代码;用 ak.option_cffex_sz300_list_sina() 函数查看 :type symbol: str :return: 中金所-上证 50 指数-指定合约-看涨看跌实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | ho2303 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read-only, idempotent, open-world, non-destructive profile. The description adds that the response contains both call and put (看涨看跌) real-time quotes as a pandas.DataFrame, which is useful return context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Docstring-style with the title front-loaded and only a URL plus param/return lines after it. Mostly lean, though the 'type'/'rtype' boilerplate and raw URL add little for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description partially covers the return shape (call/put real-time DataFrame). For a single-param spot tool this is close to adequate, but the symbol format and the sibling-tool routing remain under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description compensates by defining symbol as the contract code (合约代码) and naming a helper function to look it up. It does not explain the code format (e.g., 'ho2303') or that the param is optional with a default, and the referenced list function targets the wrong index universe.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (CFFEX 上证50指数期权) and scope (指定合约 实时行情), which distinguishes it from the sibling daily-list and contract-list tools. It does not name those siblings explicitly, so an agent must infer the distinction from the '实时行情' wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives implied usage (fetch real-time quotes for one contract) and points to a helper for obtaining the symbol, but offers no explicit when-to-use vs the spot/daily/list siblings. The helper it names, ak.option_cffex_sz300_list_sina(), is for the SZ300 universe rather than SZ50, which is a misleading hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_cffex_zz1000_daily_sinaARead-onlyIdempotent
新浪财经-中金所-中证 1000 指数-指定合约-日频行情 :param symbol: 具体合约代码(包括看涨和看跌标识),可以通过 ak.option_cffex_zz1000_spot_sina 中的 call-标识 获取 :type symbol: str :return: 日频率数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | mo2208P6200 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the data source and return type (pandas.DataFrame), but does not disclose pagination, date-range behavior, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is compact and front-loads the tool purpose before parameter details. It is appropriately sized for a single-parameter data retrieval tool, though the title-like opening repeats context already available in annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter historical data tool with rich annotations and no output schema, the description covers source, purpose, parameter source, and return type. It could mention the time coverage of the daily data, but otherwise leaves no critical gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description fully compensates by explaining that symbol is a specific contract code including call/put indicators and pointing to option_cffex_zz1000_spot_sina for obtaining it. This adds essential meaning beyond the bare schema default value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source (新浪财经), exchange (中金所), underlying index (中证1000指数), contract specificity, and daily frequency, making it clear this retrieves daily option quotes. It distinguishes itself from the spot sibling by referencing option_cffex_zz1000_spot_sina only for symbol lookup, though it does not explicitly contrast with option_cffex_zz1000_list_sina.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful guidance for obtaining the symbol from option_cffex_zz1000_spot_sina, which is more than no guidance. However, it does not state when to use this tool versus the list or spot siblings, leaving the broader usage context implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_cffex_zz1000_list_sinaBRead-onlyIdempotent
新浪财经-中金所-中证 1000 指数-所有合约,返回的第一个合约为主力合约 目前新浪财经-中金所有沪深 300 指数和中证 1000 指数 :return: 中金所-中证 1000 指数-所有合约 :rtype: dict
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact — that the first returned contract is the main contract — but discloses nothing about return structure, ordering beyond that, or rate/coverage limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and short, but the ':return:' line restates the same CSI 1000 contract information already given in the opening sentence, adding redundancy rather than new content. Rtype 'dict' contributes little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should ideally describe the shape of each contract in the returned dict; instead it only says 'rtype: dict'. It covers source, scope and main-contract convention, but leaves the return structure underspecified for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no argument semantics to explain. Baseline of 4 applies for a no-argument tool; nothing in the description contradicts or confuses the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: listing all CSI 1000 index option contracts from Sina/CFFEX. It even enumerates the index universe Sina covers (HS300 and ZZ1000), which helps distinguish the resource scope. However it does not differentiate itself from close siblings like option_cffex_zz1000_daily_sina or option_cffex_zz1000_spot_sina.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives implied usage by describing what the endpoint returns and that the first contract is the main contract, but never states when to choose this over the daily/spot sibling tools. The 'when' is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_cffex_zz1000_spot_sinaARead-onlyIdempotent
中金所-中证 1000 指数-指定合约-实时行情 https://stock.finance.sina.com.cn/futures/view/optionsCffexDP.php :param symbol: 合约代码;用 option_cffex_zz1000_list_sina 函数查看 :type symbol: str :return: 中金所-中证 1000 指数-指定合约-看涨看跌实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | mo2208 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true), so the agent knows this is a safe, repeatable read. The description adds that it returns both call and put realtime quotes as a DataFrame, which is useful, but no rate limits or freshness/latency characteristics are described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and constraint are front-loaded, and the source URL plus sphinx-style param/return lines are compact. There is minor boilerplate (URL, :rtype:) but nothing wasteful or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only realtime quote tool with no output schema, the description covers purpose, parameter sourcing, and return type. It omits only format/timing details of the returned quotes, which is a minor gap against annotations that already carry the safety profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema only supplies a default ('mo2208'), so the description does the compensating work: it explains that symbol is a contract code and points to option_cffex_zz1000_list_sina for valid values. That is meaningful added semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: real-time quotes (实时行情) for CFFEX CSI 1000 index options on a specified contract. It distinguishes itself from the daily and list siblings by naming the resource (spot vs daily) reasonably clearly, though it never explicitly contrasts with option_cffex_zz1000_daily_sina.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one actionable pointer: use option_cffex_zz1000_list_sina to obtain valid symbol codes. However, it offers no guidance on when to choose realtime spot over the daily counterpart, and no exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_comm_infoCRead-onlyIdempotent
九期网-商品期权手续费 https://www.9qihuo.com/qiquanshouxufei :param symbol: choice of {"所有", "上海期货交易所", "大连商品交易所", "郑州商品交易所", "上海国际能源交易中心", "广州期货交易所"} :type symbol: str :return: 期权手续费 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 工业硅期权 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, covering safety. The description adds the data source URL and return type (DataFrame of fees), but doesn't disclose potential edge cases such as the parameter default/choice mismatch, which is more of a parameter semantics issue.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the title and URL. The docstring format is standard and compact, though the :param: and :return: lines are slightly redundant with the title. Each sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 0% schema description coverage, the description's minimal ':return: 期权手续费' is insufficient to understand the exact data structure. The parameter mismatch further undermines completeness, leaving an agent uncertain about how to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description lists allowed symbol values (exchanges and '所有'), but the schema default is '工业硅期权', which is not in that list. This contradiction creates confusion about valid inputs. The schema has 0% description coverage, so the description must compensate but instead introduces inconsistency.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches commodity option trading fees (九期网-商品期权手续费) from a specific URL, which is a precise verb+resource. It doesn't explicitly contrast with sibling fee tools, but the resource is specific enough to distinguish it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like futures_fees_info or option_comm_symbol. The description only includes a parameter docstring without any context on selection criteria or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_commodity_contract_sinaARead-onlyIdempotent
当前可以查询的期权品种的合约日期 https://stock.finance.sina.com.cn/futures/view/optionsDP.php :param symbol: choice of {"豆粕期权", "玉米期权", "铁矿石期权", "棉花期权", "白糖期权", "PTA期权", "甲醇期权", "橡胶期权", "沪铜期权", "黄金期权", "菜籽粕期权", "液化石油气期权", "动力煤期权", "菜籽油期权", "花生期权"} :type symbol: str :return: e.g., {'黄金期权': ['au2012', 'au2008', 'au2010', 'au2104', 'au2102', 'au2106', 'au2108']} :rtype: dict
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 玉米期权 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, indicating a safe query. The description adds the concrete return structure (dict mapping symbol to list of contract codes) and a real example, giving the agent useful context about response shape beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is functional but somewhat cluttered: a Chinese heading, a URL, and docstring-style parameter/return lines. It is not overly long, but the structure could be cleaner with an English summary and less repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool with one parameter and no output schema, the description is reasonably complete. It lists all valid symbols and provides an example return value. Missing are notes about the default value (though present in schema) and how the resulting contract codes might be used as inputs for other option tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (no description for the symbol parameter), so the description must compensate. It fully enumerates the 15 acceptable symbol values and shows an example output, adding substantial meaning beyond the bare schema definition. However, it does not explain that the parameter is optional or how to interpret the returned contract codes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns '当前可以查询的期权品种的合约日期' (contract dates for currently queryable commodity options), and provides a complete list of valid symbols plus an example return dict. This clearly identifies the resource and action, though it does not explicitly distinguish it from sibling tools like option_commodity_contract_table_sina.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternative option contract tools. The description lists symbol choices and shows the return format, but does not mention under what conditions this tool is preferred, nor any exclusions or chaining with other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_commodity_contract_table_sinaBRead-onlyIdempotent
当前所有期权合约,包括看涨期权合约和看跌期权合约 https://stock.finance.sina.com.cn/futures/view/optionsDP.php :param symbol: choice of {"豆粕期权", "玉米期权", "铁矿石期权", "棉花期权", "白糖期权", "PTA期权", "甲醇期权", "橡胶期权", "沪铜期权", "黄金期权", "菜籽粕期权", "液化石油气期权", "动力煤期权", "菜籽油期权", "花生期权"} :type symbol: str :param contract: e.g., 'au2012' :type contract: str :return: 合约实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 黄金期权 | |
| contract | No | au2204 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered by structured data. The description adds the return payload ('合约实时行情' as a pandas.DataFrame) and the valid symbol choices, which is useful context beyond the annotations, but does not mention coverage, rate limits, or what 'all contracts' actually spans. Adds some value on top of annotations, hence 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening line is front-loaded with the resource being returned, and the Sphinx param/return lines are compact and non-redundant. The raw URL line is mild clutter but not misleading. Nothing is meaningfully wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only 2-param call with annotations covering safety and no output schema, the description documents both params and the return type, which is mostly sufficient. The gap is that it never resolves how 'symbol' and 'contract' interact or what scope '当前所有' covers, which leaves the agent unsure whether the contract param filters the table or the symbol selects a market.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and does so reasonably: it lists the 14 valid 'symbol' choices (豆粕期权, 玉米期权, ... 黄金期权) and gives a concrete 'contract' example ('au2012'). This compensates for the empty schema well. It loses a point for not clarifying that the contract code must belong to the chosen symbol's underlying (e.g. au for 黄金期权).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('当前所有期权合约' including calls and puts), so the agent can tell roughly what is returned. However it is a noun fragment without a verb phrase, and there is a near-identical sibling 'option_commodity_contract_sina' plus 'option_commodity_hist_sina' with no differentiation at all. The agent cannot distinguish this table tool from those siblings from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no prerequisites, and no named alternative. The raw Sina URL is the only extra context and does not tell the agent when to pick this tool over option_commodity_contract_sina or option_commodity_hist_sina. Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_commodity_hist_sinaCRead-onlyIdempotent
合约历史行情-日频 https://stock.finance.sina.com.cn/futures/view/optionsDP.php :param symbol: return of option_sina_option_commodity_contract_list(symbol="黄金期权", contract="au2012"),看涨期权合约 filed :type symbol: str :return: 合约历史行情-日频 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | au2012C392 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds only the source URL and rtype=pandas.DataFrame, without saying anything about coverage, pagination, rate limits, or what the daily records contain beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same phrase '合约历史行情-日频' is repeated as both title and :return:, and the docstring layout puts the URL before the parameter explanation, so it is not cleanly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single optional parameter and no output schema, the description does cover the parameter origin and return type, which is roughly adequate. It nonetheless leaves the alternative-versus-sibling question and the nature of the returned daily fields unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter meaning, and it does identify symbol as the code returned by option_sina_option_commodity_contract_list() for a call option contract. The mixed Chinese/English phrasing and the example (symbol='黄金期权', contract='au2012') are somewhat garbled, so the added meaning is only partially usable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a specific verb+resource ('合约历史行情-日频' = daily-frequency contract historical quotes) and names the Sina data source. However, it gives no differentiation from numerically similar siblings such as option_commodity_contract_sina or option_commodity_contract_table_sina, leaving the agent to guess which option-history endpoint to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance and no named alternative endpoint. The only routing hint is that the symbol must come from option_sina_option_commodity_contract_list(), which is a parameter-derivation note rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_comm_symbolDRead-onlyIdempotent
AKShare API: option_comm_symbol
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, establishing a safe read-only profile. However, the description adds no behavioral context beyond the annotations—no mention of return format, data source behavior, or any operational constraints. It neither contradicts annotations nor enriches them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is under-specification rather than effective conciseness. It simply repeats the tool name and source, providing no usable information for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a large family of similar AKShare option/futures tools, this description is severely incomplete. An agent cannot determine what data option_comm_symbol returns, how it differs from siblings, or how to invoke it meaningfully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with zero parameters, so there is nothing for the description to explain. The baseline score of 4 applies because parameter semantics are irrelevant when no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'AKShare API: option_comm_symbol' is a tautology—it restates the tool name with a source prefix but gives no verb or resource indicating what the tool does. There is no mention of listing symbols, retrieving data, or any functional purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the numerous sibling tools such as option_comm_info, option_commodity_contract_sina, or option_sse_codes_sina. The description offers no context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_contract_info_ctpBRead-onlyIdempotent
openctp-合约信息接口-期权合约 http://openctp.cn/instruments.html :return: 期权合约信息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only and non-destructive. The description adds the return type (DataFrame) and a source URL, which is useful, but it does not disclose any other behavioral traits such as data scope, update frequency, or error behavior. It adds some value beyond annotations but not rich context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a clear source URL and return type. However, it begins with the same phrase as the annotation title, creating minor redundancy. Overall, it is appropriately sized but not perfectly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description is minimal. It states that option contract information is returned as a DataFrame but does not describe the columns, the range of contracts (e.g., all exchanges, all maturities), or any other details. This leaves the agent uncertain about the data's structure and coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters and the schema coverage is 100%, so there are no parameter details to explain. The description does not add parameter semantics, but none are needed. The return type documentation is a slight bonus.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an openctp interface for option contract information and states that it returns a pandas DataFrame. It provides a specific resource ('期权合约' option contracts) but lacks an explicit action verb like 'list' or 'get', and does not differentiate it from sibling option tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor any exclusions or preferred use cases. The agent must infer usage solely from the tool name and minimal description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_current_day_sseBRead-onlyIdempotent
上海证券交易所-产品-股票期权-信息披露-当日合约 http://www.sse.com.cn/assortment/options/disclo/preinfo/ :return: 上交所期权当日合约 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (read-only, idempotent, non-destructive). The description adds no behavioral traits such as data freshness, coverage limitations, or error behavior; it merely states the source URL and return type. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, consisting of a title, source URL, and return type in three lines. It is front-loaded and free of fluff, though it reads more like a stub than a crafted description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool without an output schema, the description provides the essential source and return format, but does not describe the DataFrame contents, data update schedule, or any trading-day caveats. Adequate for a trivial tool but leaves some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing to explain. The schema is empty with 100% coverage vacuously, and the baseline for 0-param tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: Shanghai Stock Exchange options disclosure for current-day contracts ('上交所期权当日合约'). It distinguishes from sibling tool option_current_day_szse by exchange. However, it lacks an explicit verb like 'retrieve' or 'list', relying on the function name and context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The description only states the source URL and return type, with no mention of appropriate contexts, exclusions, or comparison to other option data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_current_day_szseBRead-onlyIdempotent
深圳证券交易所-期权子网-行情数据-当日合约 https://www.sse.org.cn/option/quotation/contract/daycontract/index.html :return: 深圳期权当日合约 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate readOnly, non-destructive, idempotent, and openWorld attributes. The description adds only the return type (pandas.DataFrame) and a URL, but no additional behavioral nuances such as data freshness, pagination, or specific columns. It does not contradict the annotations but adds minimal value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, consisting of a Chinese title, a URL, and a return type. It is front-loaded and efficient, with no unnecessary words. However, the URL is potentially misleading and could be omitted or corrected, but overall the structure is compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description should provide more detail about the returned DataFrame's columns or content. It only says '当日合约' (current day contracts) without specifics. The URL inconsistency further undermines completeness, leaving an agent unsure what data to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so the schema already fully describes the interface. With no parameters, the description has nothing to explain, and a baseline score of 4 is appropriate since there is no need for compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns '深圳期权当日合约' (Shenzhen options current day contracts) as a pandas DataFrame, and provides a source URL. However, the URL points to sse.org.cn (Shanghai Stock Exchange), which contradicts the tool name 'szse' and the title '深圳证券交易所', creating confusion about the actual data source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as option_current_day_sse or other option data tools. It only states what it returns without any contextual use cases, exclusions, or recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_current_emCRead-onlyIdempotent
东方财富网-行情中心-期权市场 https://quote.eastmoney.com/center/qqsc.html :return: 期权价格 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose read-only, open-world, idempotent, and non-destructive behavior. The description adds the source URL and return type (pandas.DataFrame), but does not elaborate on data freshness, coverage, or any special behavior. This is sufficient given the strong annotation coverage, matching a baseline of 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short—one title line, one URL, and one return line. It is concise without redundant prose. The title line repeats the annotations but adds the URL and return type, making it compact and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool with rich annotations, the description gives a minimal but usable summary: source (East Money), return type (DataFrame), and content (option prices). However, it lacks details on what exactly constitutes 'current' (e.g., real-time snapshot, all contracts) and may not fully prepare the agent to interpret the result or choose among the many option tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema confirms no properties. With no parameters to describe, the baseline of 4 applies. The description does not need to explain parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a noun phrase ('东方财富网-行情中心-期权市场') identical to the title, providing no explicit verb or action. The return line '期权价格' hints at output but does not clearly state what the tool does (e.g., 'get current option prices from East Money'). It does not distinguish itself from numerous sibling option tools like option_sse_daily_sina or option_current_day_sse.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No mention of whether it suits current market overview, real-time quotes, or specific underlyings. Sibling tools cover many option scenarios, but no comparative context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_daily_stats_sseCRead-onlyIdempotent
上海证券交易所-产品-股票期权-每日统计 https://www.sse.com.cn/assortment/options/date/ :param date: 交易日 :type date: str :return: 每日统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240626 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), but offers no additional behavioral traits such as pagination, rate limits, or error handling, which is acceptable given the strong annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but unstructured, mixing a title, URL, and docstring fragments. The title repeats the annotation's title, which is redundant. It is not verbose, but the fragmented structure prevents it from being a clean, purpose-built description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for a data-retrieval tool with no output schema. It states the return type but not the actual contents or columns of '每日统计' (daily statistics). There is no information about date range behavior, data granularity, or limitations, leaving significant ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'date' with no description coverage. The description adds the semantic meaning '交易日' (trading day), which is useful but does not specify the expected format beyond the default value's hint (YYYYMMDD). It partially compensates for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as Shanghai Stock Exchange stock options daily statistics, and the URL provides a source hint. However, it lacks an explicit verb (e.g., 'get', 'fetch') and does not distinguish from sibling tools like option_daily_stats_szse, so it doesn't fully meet the top criterion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description merely states the resource and parameters, with no context about selection criteria, prerequisites, or exclusions compared to other option data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_daily_stats_szseCRead-onlyIdempotent
深圳证券交易所-市场数据-期权数据-日度概况 https://investor.szse.cn/market/option/day/index.html :param date: 交易日 :type date: str :return: 每日统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240626 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds the source URL and a generic 'returns daily statistics' statement, but does not disclose behavioral details such as data granularity, date range constraints, or response structure beyond the return type. It falls short of the context that annotations do not cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and well-structured: title, source URL, and docstring blocks. It avoids unnecessary verbiage, though the title is repeated verbatim as the first line, adding a minor redundancy. Overall, it is appropriately sized and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the daily overview DataFrame contains (columns, metrics, etc.). It only says '每日统计' (daily statistics), leaving the data content unspecified. It also fails to mention how this tool relates to its SSE sibling, making it incomplete for an agent needing to decide on data coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description labels the date parameter as '交易日' (trading day), giving it semantic meaning beyond the schema's bare 'date' field. However, it does not specify the required format (e.g., YYYYMMDD) or provide examples, despite the schema default '20240626' hinting at it. With 0% schema coverage, this partial explanation merits a 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is largely a title ('深圳证券交易所-市场数据-期权数据-日度概况') plus a source URL and docstring. It clearly indicates the resource (SZSE options) and scope (daily stats), but lacks an explicit verb like 'retrieves' or 'gets.' It also does not distinguish this tool from its direct sibling option_daily_stats_sse except through the tool name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., option_daily_stats_sse for SSE), nor are any prerequisites, exclusions, or contextual conditions mentioned. The description is purely declarative and gives no decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_finance_boardBRead-onlyIdempotent
期权当前交易日的行情数据 主要为三个:华夏上证50ETF期权,华泰柏瑞沪深300ETF期权,嘉实沪深300ETF期权, 沪深300股指期权,中证1000股指期权,上证50股指期权,华夏科创50ETF期权,易方达科创50ETF期权 http://www.sse.com.cn/assortment/options/price/ http://www.szse.cn/market/product/option/index.html http://www.cffex.com.cn/hs300gzqq/ http://www.cffex.com.cn/zz1000gzqq/ :param symbol: choice of {"华夏上证50ETF期权", "华泰柏瑞沪深300ETF期权", "南方中证500ETF期权", "华夏科创50ETF期权", "易方达科创50ETF期权", "嘉实沪深300ETF期权", "沪深300股指期权", "中证1000股指期权", "上证50股指期权"} :type symbol: str :param end_month: 2003; 2020 年 3 月到期的期权 :type end_month: str :return: 当日行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 嘉实沪深300ETF期权 | |
| end_month | No | 2306 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so safety is covered. The description adds genuinely useful context beyond that: this is a same-day snapshot (当前交易日), it aggregates four exchange sources, and it returns a pandas.DataFrame. It says nothing about rate limits, freshness guarantees, or whether non-trading days return empty results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the product list earns its place, but the text is a raw docstring dump including four bare URLs, :type lines, and :rtype that duplicate structured information. It is functional rather than tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, read-only data fetch with no output schema and annotations covering safety, the description supplies the return type, the same-day scope, and the source exchanges. The remaining gap is the ambiguous end_month semantics, which an agent needs in order to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It helps substantially on symbol by listing valid product values (the schema has no enum), which compensates for the missing enum. The end_month explanation ('2003; 2020 年 3 月到期的期权') is garbled and does not clearly establish the expected format, despite the schema default of '2306', leaving one of two parameters half-documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (current trading-day option quotes, 期权当前交易日的行情数据) and enumerates the covered products and exchanges (SSE, SZSE, CFFEX), so an agent knows exactly what it retrieves. It does not, however, differentiate itself from nearby siblings such as option_current_em, option_current_day_sse, or option_daily_stats_sse, and the '主要为三个' phrasing followed by eight products is internally muddled.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which sibling covers a different case (e.g. historical vs. real-time, ETF vs. index options). The listing of products implies scope but leaves routing among the many option_* siblings entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_finance_minute_sinaBRead-onlyIdempotent
指定期权的分钟频率数据 https://stock.finance.sina.com.cn/option/quotes.html :param symbol: 期权代码 :type symbol: str :return: 指定期权的分钟频率数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 10002530 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the data source URL and the pandas.DataFrame return type, but does not disclose additional behaviors such as data delay, rate limits, or handling of invalid symbols. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with a purpose statement, URL, and docstring. It is front-loaded and easy to scan, though the purpose is restated in the rtype, adding minor redundancy. Overall, it is efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter, read-only tool with annotations and no output schema, the description covers the core function, parameter, and return type. However, it lacks usage context, differentiation from similar option-minute tools, and details about the data's time range or interval. It is sufficient but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes a docstring explaining that 'symbol' is the option code (期权代码), which adds meaning beyond the schema's bare property name. However, it does not elaborate on format, allowed values, or how to obtain a valid symbol. The default value provides an example but no further explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '指定期权的分钟频率数据' (minute-frequency data for specified options), which clearly identifies the tool's function. The URL to Sina Finance's option quotes page indicates the data source. However, it does not explicitly differentiate from similar sibling tools like option_sse_minute_sina, so it is clear but not distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no exclusions, and no mention of data frequency or time range. It only states the parameter and return type, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_finance_sse_underlyingARead-onlyIdempotent
期权标的当日行情 http://www.sse.com.cn/assortment/options/price/ :param symbol: choice of {"华夏上证50ETF期权", "华泰柏瑞沪深300ETF期权", "南方中证500ETF期权", "华夏科创50ETF期权", "易方达科创50ETF期权"} :type symbol: str :return: 期权标的当日行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 华夏科创50ETF期权 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, providing safety context. The description adds the official source URL and the pandas.DataFrame return type, which are helpful, but it does not disclose other behavioral details like update frequency, potential delays, or data completeness. It adds some value without fully going beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a one-line summary, the source URL, then parameter and return type docstrings. Every sentence provides necessary information without redundant prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only data retrieval tool with one optional parameter, the description is largely complete: it gives the source, parameter choices, and return type. It does not describe the columns of the DataFrame or clarify that '当日行情' means current-day data only, but the simplicity of the use case and the provided URL mitigate this gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines symbol as a string with a default, giving zero description. The tool description compensates fully by explicitly listing all five valid values for symbol (华夏上证50ETF期权, 华泰柏瑞沪深300ETF期权, 南方中证500ETF期权, 华夏科创50ETF期权, 易方达科创50ETF期权) and specifying the type. This is essential information the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns intraday quotes for SSE option underlyings ('期权标的当日行情'), with a specific source URL and a list of valid symbols. It clearly identifies the data resource and scope, but does not explicitly distinguish it from similar sibling tools like option_sse_underlying_spot_price_sina, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given about when to use this tool versus alternatives, or any exclusions. The description only explains what the tool does and lists parameter choices, leaving the agent to infer usage context. This is below the 'clear context' threshold.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_hist_czceBRead-onlyIdempotent
郑州商品交易所-期权-日频行情数据 http://www.czce.com.cn/cn/sspz/dejbqhqq/H770227index_1.htm#tabs-2 :param trade_date: 交易日 :type trade_date: str :param symbol: choice of {"白糖期权", "棉花期权", "甲醇期权", "PTA期权", "动力煤期权", "菜籽粕期权", "菜籽油期权", "花生期权", "对二甲苯期权", "烧碱期权", "纯碱期权", "短纤期权", "锰硅期权", "硅铁期权", "尿素期权", "苹果期权", "红枣期权", "玻璃期权", "瓶片期权", "丙烯期货"} :type symbol: str :return: 日频行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 白糖期权 | |
| trade_date | No | 20191017 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type but does not disclose behavioral traits such as data coverage, potential missing dates, or any quirks of the web source. This is acceptable given the strong annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably structured as a docstring with clear parameter descriptions and return type. However, it includes the redundant URL line and the title is repeated, which adds unnecessary clutter. The long symbol list is necessary but makes the description somewhat unwieldy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should ideally detail the returned data columns or structure, but it only says '日频行情数据' (daily market data) and pandas.DataFrame. This is sufficient for a basic understanding but leaves ambiguity about what fields are present. For a simple data retrieval tool with two parameters, this is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the schema by listing the full set of valid symbol choices and defining trade_date as 交易日. Although the exact date format is not explicitly stated, the default value '20191017' implicitly indicates YYYYMMDD, and the description compensates for the 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving daily-frequency market data for options on the Zhengzhou Commodity Exchange, with a specific URL and return type. However, it lacks an explicit verb like 'get' or 'fetch' and does not distinguish itself from similar sibling tools such as option_hist_yearly_czce or option_hist_dce.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only lists parameters and return type, but does not mention contexts, prerequisites, or differences from other option data tools like option_hist_shfe or option_hist_dce.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_hist_dceBRead-onlyIdempotent
大连商品交易所-期权-日频行情数据 http://www.dce.com.cn/ :param trade_date: 交易日 :type trade_date: str :param symbol: choice of {"玉米期权", "豆粕期权", "铁矿石期权", "液化石油气期权", "聚乙烯期权", "聚氯乙烯期权", "聚丙烯期权", "棕榈油期权", "黄大豆1号期权", "黄大豆2号期权", "豆油期权", "乙二醇期权", "苯乙烯期权", "鸡蛋期权", "玉米淀粉期权", "生猪期权", "原木期权"} :type symbol: str :return: 日频行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 聚丙烯期权 | |
| trade_date | No | 20251016 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool safe (readOnly, idempotent). The description adds the return type (pandas.DataFrame) and the source URL, but doesn't disclose date format expectations, data coverage limits, or any other behavioral nuances beyond what annotations cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with docstring tags and a clear layout. The symbol list is lengthy but necessary. The URL adds useful context without excessive fluff, though it could be omitted given the title already conveys the source.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read-only retrieval, the description is mostly complete: it identifies the data source, returns a DataFrame, and lists valid symbols. It lacks a date format note, any warning about data availability, and explicit guidance on when to use this versus similar exchange-specific tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema_description_coverage at 0%, the description carries the full burden for parameters. It lists all valid symbols, specifies types, and names each parameter's meaning. However, it does not specify the trade_date format (e.g., YYYYMMDD), relying on the schema default as an implicit example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this provides daily-frequency option market data for the Dalian Commodity Exchange, distinguishing it from sibling tools for other exchanges. Though it's phrased as a label rather than a verb phrase, the return type and parameters make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. Sibling tools for other exchanges (e.g., option_hist_czce, option_hist_shfe) are not mentioned, and no exclusions or preferred contexts are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_hist_gfexBRead-onlyIdempotent
广州期货交易所-日频率-量价数据 http://www.gfex.com.cn/gfex/rihq/hqsj_tjsj.shtml :param trade_date: 交易日 :type trade_date: str :param symbol: choice of {"工业硅", "碳酸锂"} :type symbol: str :return: 日频行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 工业硅 | |
| trade_date | No | 20230724 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds the data frequency (daily) and type (volume/price) plus a source URL, but does not disclose non-obvious behavioral traits such as pagination, date range limits, or return column details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a title, source URL, parameter documentation, and return info. It is front-loaded with the key purpose, contains no redundant sentences, and every line serves a clear function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter read-only tool, the description covers data source, parameters, and return type. However, it does not explicitly state this is option data (relying on the tool name), and it lacks detail on returned columns or date format, which would be helpful given the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description compensates by documenting trade_date as '交易日' and symbol as a choice of {'工业硅', '碳酸锂'}. It also states the return type. The date format is not explicitly described but is implied by the default '20230724', and symbol choices are enumerated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '广州期货交易所-日频率-量价数据' (Guangzhou Futures Exchange daily volume/price data) and returns a pandas DataFrame, indicating it retrieves historical market data. It distinguishes from siblings like option_vol_gfex (volatility) and option_hist_czce (other exchange) by specifying the exchange and data type, though it uses a noun phrase rather than an explicit verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no explicit when-to-use or alternative guidance. It does not mention that for other exchanges one should use option_hist_czce/dce/shfe, nor when to prefer this over option_vol_gfex. The usage context is only implied by the exchange and data frequency.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_hist_shfeARead-onlyIdempotent
上海期货交易所-期权-日频行情数据 https://www.shfe.com.cn/reports/tradedata/dailyandweeklydata/ :param trade_date: 交易日 :type trade_date: str :param symbol: choice of {'原油期权', '铜期权', '铝期权', '锌期权', '铅期权', '螺纹钢期权', '镍期权', '锡期权', '氧化铝期权', '黄金期权', '白银期权', '丁二烯橡胶期权', '天胶期权'} :type symbol: str :return: 日频行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 铝期权 | |
| trade_date | No | 20250418 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, so the safety profile is clear. The description adds the return type (pandas.DataFrame) and enumerates valid symbol choices, but does not disclose behavioral nuances like date format expectations, data availability limits, or potential network dependencies. Given the annotations, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise docstring: title, source URL, parameter definitions with types, and return type. No fluff, each line earns its place, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter read-only data fetch with strong annotations, the description covers the essential semantics: what data is returned, where from, and what the parameters mean. It could explicitly state the date format (YYYYMMDD) and clarify that the data is historical/daily, but the schema defaults and title cover most needs. No major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It provides meaning for both parameters: trade_date is '交易日' (trading day) and symbol lists all 13 valid choices. It lacks an explicit format for trade_date, but the default '20250418' in schema implies YYYYMMDD. This meaningfully compensates for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '上海期货交易所-期权-日频行情数据' which identifies the resource (SHFE options daily market data) and the operation (data retrieval). The exchange is explicit in both the name and description, distinguishing it from sibling option_hist_czce, option_hist_dce, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for SHFE options daily data by naming the exchange and providing a source URL. It distinguishes itself from other option_hist_* tools via the exchange, but does not explicitly state when not to use this tool or mention alternatives, so lacks an explicit exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_hist_yearly_czceBRead-onlyIdempotent
郑州商品交易所-交易数据-历史行情下载-期权历史行情下载 http://www.czce.com.cn/cn/jysj/lshqxz/H770319index_1.htm :param symbol: choice of {"白糖": "SR", "棉花": "CF", "PTA": "TA", "甲醇": "MA", "菜籽粕": "RM", "动力煤": "ZC", "菜籽油": "OI", "花生": "PK", "对二甲苯": "PX", "烧碱": "SH", "纯碱": "SA", "短纤": "PF", "锰硅": "SM", "硅铁": "SF", "尿素": "UR", "苹果": "AP", "红枣": "CJ", "玻璃": "FG", "瓶片": "PR"} :type symbol: str :param year: 需要获取数据的年份,注意品种的上市时间 :type year: str :return: 指定年份的日频期权数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | 2021 | |
| symbol | No | SR |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and the practical caveat that data only exists from the variety's listing date, which is genuinely useful. It says nothing about the supported year range or data source reliability, so it is only moderately additive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with the tool's identity and source URL, and every block is at least relevant, but the title line duplicates the annotation title and the long inline enumeration, while necessary, makes the description dense and hard to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter read tool with no output schema, the parameter coverage is adequate and the return type is stated. The gap is sibling disambiguation: nothing explains why an agent would pick the yearly CSV download over option_hist_czce, and the accepted year range is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% – neither parameter is documented in the schema. The description compensates substantially by supplying the full symbol-to-code mapping (SR, CF, TA, ...) that the schema omits entirely, and by clarifying that the year must be chosen within the variety's listing window.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (下载/download) plus resource (郑州商品交易所期权历史行情) and pins the exact source page, so the operation is unambiguous. It does not, however, distinguish itself from the sibling option_hist_czce (daily variant), so the 'yearly' scope that the name implies is never explained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no routing to alternatives such as option_hist_czce or option_hist_dce/gfex/shfe. The only usage hint is the inline note that the year must respect the variety's listing date, which is a constraint, not a selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_lhb_emBRead-onlyIdempotent
东方财富网-数据中心-期货期权-期权龙虎榜单 https://data.eastmoney.com/other/qqlhb.html :param symbol: 期权代码;choice of {"510050", "510300", "159919"} :type symbol: str :param indicator: 需要获取的指标;choice of {"期权交易情况-认沽交易量","期权持仓情况-认沽持仓量", "期权交易情况-认购交易量", "期权持仓情况-认购持仓量"} :type indicator: str :param trade_date: 交易日期 :type trade_date: str :return: 期权龙虎榜单 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 510050 | |
| indicator | No | 期权交易情况-认沽交易量 | |
| trade_date | No | 20220121 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety and idempotency profile is covered. The description adds only the source URL; it says nothing about the external dependency being a scraped web page, rate limits, data latency, or the fact that results are a mutable snapshot of a live ranking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The resource and symbol/indicator choices are front-loaded and useful, but the ':type symbol: str' style lines and the lone URL are noise that duplicates the schema's type information and adds nothing to invocation. It is compact but not fully economical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description is the only place return information could live, yet it says only ':return: 期权龙虎榜单 / :rtype: pandas.DataFrame' without naming a single column or dimension. All parameters are optional with defaults, so basic invocation is possible, but an agent cannot anticipate the shape of the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden and largely does: it enumerates the three valid symbol codes and the four indicator values, which the bare schema omits. The gap is trade_date, documented only as '交易日期' with no format guidance beyond the default value shown in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — the Eastmoney option Dragon-Tiger (龙虎榜) leaderboard dataset — and anchors it to a source URL, which is far more concrete than the tool name alone. It stops short of explicitly differentiating itself from the many sibling option_* analysis tools (option_premium_analysis_em, option_risk_analysis_em, option_value_analysis_em), so an agent must infer the distinction from the resource label.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to select this tool over alternatives, no prerequisites, and no exclusions. The description only lists parameters and a source, leaving the agent to guess how it relates to the dense cluster of sibling option and futures tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_marginARead-onlyIdempotent
获取商品期权保证金 :param symbol: 商品期权品种名称,如 "原油期权",可以通过 ak.option_margin_symbol() 获取所有商品期权品种代码和名称 :type symbol: str :return: 商品期权保证金 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 原油期权 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered. The description adds the return type (pandas.DataFrame) but says nothing about auth, rate limits, or data freshness, so with annotations carrying the load a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a compact docstring with the purpose front-loaded and only standard :type/:rtype lines following. Nothing is bloated, though the return/type lines are somewhat redundant for a single-param tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only lookup with rich annotations and no output schema, the description covers purpose, value semantics, discovery of valid inputs, and return type. It is essentially complete for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: it defines symbol as the commodity option variety name, supplies a concrete example ('原油期权'), and points to option_margin_symbol() for valid values. This is meaningfully more than the bare schema provides, though format/default details remain partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: '获取商品期权保证金' (get commodity option margin), which tells the agent exactly what data is returned. It does not differentiate itself from sibling margin/option tools beyond referencing option_margin_symbol as a helper, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the agent learns that symbol values can be discovered via ak.option_margin_symbol(), which hints at the workflow, but there is no explicit when-to-use or when-not-to-use statement relative to sibling tools such as option_margin_symbol or option_risk_indicator_sse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_margin_symbolBRead-onlyIdempotent
获取商品期权品种代码和名称 :return: 商品期权品种代码和名称 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the tool as read-only, idempotent, and non-destructive. The description adds only the return type (pandas.DataFrame) but no behavioral context such as data source, potential latency, or error conditions. It does not contradict the annotations, but it also does not add meaningful behavioral transparency beyond the structured metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, which is appropriate for a no-parameter tool, but it contains redundancy: the :return line repeats exactly the same phrase as the main description. This wastes a line and could be streamlined. It would be better to remove the repetition or add additional useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool returning a simple list, the description gives the essential information: it returns commodity option codes and names as a DataFrame. However, it omits any details about the data source, update frequency, or column names, and does not clarify whether it covers all commodity exchanges or a specific one. Given the simplicity, it is minimally adequate but lacks finish.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. There are no parameters to describe, and the schema coverage is complete (100% coverage with an empty schema). The description does not need to compensate for any parameter gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves commodity option variety codes and names (获取商品期权品种代码和名称). It provides a specific verb and resource, making the primary purpose unambiguous. However, it does not explicitly distinguish from similar sibling tools like option_comm_symbol, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention any preconditions, exclusions, or scenarios where another tool would be more appropriate. The description simply restates the output without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_minute_emBRead-onlyIdempotent
东方财富网-行情中心-期权市场-分时行情 https://wap.eastmoney.com/quote/stock/151.cu2404P61000.html :param symbol: 期权代码;通过调用 ak.option_current_em() 获取 :type symbol: str :return: 指定期权的分钟频率数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | MO2404-P-4450 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so safety behavior is covered. The description adds only that the return is minute-frequency data as a pandas DataFrame; it does not disclose pagination, history limits, or trading-hours coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose, but the raw docstring param/type/return tags and a bare URL add noise rather than integrated guidance. It is not bloated but not tightly structured either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only quote tool with no output schema, it covers the essentials (what, param source, return type). It lacks detail on time range, frequency granularity, and symbol format that an agent would still have to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load. It does: symbol is labeled as the option code and a source call is named. However it omits format expectations (the schema's default 'MO2404-P-4450' hints at contract format) and the URL example ('151.cu2404P61000') is not tied explicitly to the symbol parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific source, market, and data type: Eastmoney option market minute-frequency quotes. An agent knows it returns intraday minute data for an option contract. It does not distinguish itself from similarly-named siblings like option_sse_minute_sina or option_finance_minute_sina.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (fetch minute data for a given option) and gives a prerequisite — obtain the symbol via ak.option_current_em(). It does not say when to prefer this over other option-minute or daily tools, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_risk_analysis_emCRead-onlyIdempotent
东方财富网-数据中心-特色数据-期权风险分析 https://data.eastmoney.com/other/riskanal.html :return: 期权风险分析 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. However, the description adds no behavioral context beyond repeating the title and return type, omitting details such as data scope, freshness, or any limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short but includes redundant elements—the title is repeated, and the return type is stated in a stilted ':return:' format. While it is concise, it could be better structured to convey actual value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what data the tool returns. It only says '期权风险分析' without enumerating the metrics, underlying contracts, or data granularity, making it inadequate for an agent to anticipate the output content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline score of 4 applies. The empty schema is fully described trivially, and there is no parameter information needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an Eastmoney data source for options risk analysis and indicates it returns a pandas DataFrame. However, it merely restates the title and does not specify what 'risk analysis' includes, nor does it distinguish this tool from sibling option tools like option_value_analysis_em or option_risk_indicator_sse.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative option data tools. The description only gives a URL and a generic return type, leaving the agent without any basis for selecting this tool over its many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_risk_indicator_sseBRead-onlyIdempotent
上海证券交易所-产品-股票期权-期权风险指标 http://www.sse.com.cn/assortment/options/risk/ :param date: 日期;20150209 开始 :type date: str :return: 期权风险指标 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240626 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safe read-only profile is covered. The description only adds that the data begins in 2015 and returns a pandas.DataFrame, which is modest extra context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Docstring-style but tight: title, source URL, one param line with constraint, and a return line. No redundant prose, though the raw URL is arguably non-essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only data-retrieval tool with full annotation coverage and no output schema, the description tells the agent what it returns and the valid date range. Little more is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single param has no schema description, so the description must compensate. It supplies the parameter name and meaning ('日期'), an example format (20150209 → YYYYMMDD), and the earliest supported date, which meaningfully exceeds the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The Chinese label '上海证券交易所-产品-股票期权-期权风险指标' clearly identifies the SSE option risk indicator resource, and the ':return:' line confirms the tool retrieves these indicators. It does not, however, differentiate itself from nearby siblings like option_risk_analysis_em or option_premium_analysis_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only contextual hint is the ':param date:' note '20150209 开始' (starts from 2015-02-09). There is no guidance on when to choose this over option_risk_analysis_em or other option tools, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_sse_codes_sinaBRead-onlyIdempotent
上海证券交易所-所有看涨和看跌合约的代码
:param symbol: choice of {"看涨期权", "看跌期权"} :type symbol: str :param trade_date: 期权到期月份 :type trade_date: "202002" :param underlying: 标的产品代码 华夏上证 50ETF: 510050 or 华泰柏瑞沪深 300ETF: 510300 :type underlying: str :return: 看涨看跌合约的代码 :rtype: Tuple[List, List]
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 看涨期权 | |
| trade_date | No | 202202 | |
| underlying | No | 510050 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds that the return is a tuple of two lists (call/put codes) and clarifies parameter semantics. However, it does not disclose potential edge cases (e.g., empty lists), the format of the codes, or data source-specific behaviors, which would add further transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a clear header and structured param/return lines. It is free of fluff and front-loaded with the purpose. A brief usage example would be the only improvement, but the current structure is efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only retrieval tool with 3 parameters and no output schema, the description covers the essential inputs and output type (Tuple[List, List]). However, it omits details like the format of returned codes, what happens if no data matches, and any timezone or data update specifics. Given the annotations cover safety, the description is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully compensate. It does so well: 'symbol' lists allowed choices ('看涨期权'/'看跌期权'), 'trade_date' is explained as expiration month with example '202002', and 'underlying' gives concrete tickers (510050, 510300). This adds meaning beyond the bare schema properties and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with '上海证券交易所-所有看涨和看跌合约的代码', clearly indicating the tool returns option contract codes for the Shanghai Stock Exchange. The resource (option codes) and scope (all call/put contracts) are explicit, though an action verb like 'get' or 'list' is missing. It does not directly distinguish itself from sibling tools such as option_sse_list_sina, but the focus on 'codes' makes it fairly distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No exclusions, prerequisites, or scenarios are mentioned. The description only lists parameters and return type, leaving the agent without context for choosing this tool over similar option-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_sse_daily_sinaBRead-onlyIdempotent
指定期权的日频率数据 :param symbol: 期权代码 :type symbol: str :return: 指定期权的所有日频率历史数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 10003889 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering safety traits. The description adds the return type (pandas.DataFrame) and scope of data (all daily historical data), which is useful context beyond the annotations. No contradiction exists, but details like data source, potential delays, or symbol format requirements are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a one-line summary followed by a param and return docstring. Every line serves a purpose with no redundancy. It is front-loaded with the main description and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter, the description is minimally adequate. However, it lacks details about the output DataFrame columns, how to obtain valid symbol codes, and the data source (Sina). With no output schema and many sibling tools, the absence of symbol format or data source context leaves gaps for an agent selecting and invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage for the lone parameter 'symbol', but the description's docstring provides a basic meaning: '期权代码' (option code). This adds some value beyond the schema, though it lacks format specifics (e.g., examples, string length, or how to find valid codes). The default value '10003889' in the schema offers a clue but not sufficient guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides daily frequency data for a specified option ('指定期权的日频率数据') and returns all daily historical data. It distinguishes from sibling tools like option_sse_minute_sina (minute data) and option_sse_spot_price_sina (spot data), though it doesn't explicitly name alternatives. The verb is implied as 'retrieve' or 'get', making the purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 other option-related tools. There is no mention of alternatives, prerequisites, or context for choosing daily data over minute or spot data. The description only implies usage by stating the parameter, but lacks explicit selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_sse_expire_day_sinaBRead-onlyIdempotent
指定到期月份指定品种的剩余到期时间 :param trade_date: 到期月份:202002, 20203, 20206, 20209 :type trade_date: str :param symbol: 50ETF or 300ETF :type symbol: str :param exchange: null :type exchange: str :return: (到期时间,剩余时间) :rtype: tuple
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 50ETF | |
| exchange | No | null | |
| trade_date | No | 202102 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the return shape (a two-element tuple of expiry time and remaining time), which is useful, but it says nothing about the data source (Sina), freshness, or exchange semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the purpose in the first line. The remaining lines are docstring boilerplate (:param/:type/:return), which duplicates field names but stays compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only, three-parameter data-fetch tool with no output schema, the description covers purpose, the important parameter values, and the return tuple. The exchange parameter is thin, but the core contract an agent needs is present and annotations cover the safety context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden. It documents trade_date with concrete expiry-month examples and symbol with '50ETF or 300ETF', which adds real meaning, but the exchange parameter is left as 'null' with no explanation of its accepted values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource combination ('剩余到期时间' for a specified expiry month and product) and states what is returned (expiry time, remaining time). It is clear what the tool does, but it does not distinguish itself from sibling option_sse_* tools (e.g., option_sse_greeks_sina, option_sse_daily_sina), so an agent must infer the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The only usage-like content is parameter examples (expiry month values, 50ETF/300ETF), which concern inputs rather than tool selection or context of use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_sse_greeks_sinaCRead-onlyIdempotent
期权基本信息表 :param symbol: 合约代码 :type symbol: str :return: 期权基本信息表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 10003045 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds that it returns a pandas DataFrame and takes a contract code, but it doesn't disclose what 'basic information' includes, any side effects, authentication needs, or behavior on invalid input. The added value beyond annotations is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (a docstring) and front-loaded, but it repeats '期权基本信息表' in both the description and return lines, which is redundant. It is concise in length but lacks substantive content that would justify its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description is incomplete: it doesn't explain the contents of the return table, the expected symbol code format, or any source-specific behavior. The mismatch between the 'greeks' name and 'basic information' description leaves a critical gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does state that symbol is a '合约代码' (contract code), providing basic meaning, but offers no format guidance, examples, or clarification of the default '10003045'. This is insufficient to fully understand the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says '期权基本信息表' (option basic information table), which is vague and doesn't mention 'greeks' despite the tool name indicating that. It lacks a specific verb like 'get' or 'retrieve' and doesn't distinguish this from other option_sse_* sibling tools like option_sse_daily_sina or option_sse_spot_price_sina.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention siblings, exclusions, or prerequisites. The description only presents the parameter and return type without any contextual use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_sse_list_sinaARead-onlyIdempotent
新浪财经-期权-上交所-50ETF-合约到期月份列表 https://stock.finance.sina.com.cn/option/quotes.html :param symbol: 50ETF or 300ETF :type symbol: str :param exchange: null :type exchange: str :return: 合约到期时间 :rtype: list
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 50ETF | |
| exchange | No | null |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and the return type (list of contract expiry times), but does not disclose additional behavioral traits such as rate limits, authentication needs, or the format of the list entries. It neither contradicts annotations nor provides rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear title, URL, parameter list, and return type. However, the title in the description duplicates the annotation title, and the 'exchange: null' line adds no value. These minor redundancies prevent a perfect score, but the structure is efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two optional parameters and no output schema, the description is mostly sufficient. It states the purpose, parameters, and return type. However, it lacks clarity on the 'exchange' parameter (which is confusingly described as 'null') and does not specify the exact format of the returned expiry month list. Given the tool's low complexity, it is adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 provide meaningful guidance for the 'symbol' parameter by stating it accepts '50ETF' or '300ETF'. However, the 'exchange' parameter is described as 'null', which is unhelpful and does not clarify its purpose or valid values. The return type is also mentioned, adding some value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it lists contract expiry months for SSE 50ETF/300ETF options from Sina Finance. The Chinese title '新浪财经-期权-上交所-50ETF-合约到期月份列表' is specific and unambiguous, and the return type is explicitly defined as a list of expiry times. It distinguishes from sibling option tools (e.g., daily, minute, spot price tools) by focusing on '到期月份' (expiry months).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when a list of contract expiry months is needed. However, it does not explicitly state when not to use it or provide alternative tool recommendations. For example, there is no guidance distinguishing it from option_sse_expire_day_sina, which lists expiry days. The usage context is clear but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_sse_minute_sinaARead-onlyIdempotent
指定期权品种在当前交易日的分钟数据,只能获取当前交易日的数据,不能获取历史分钟数据 https://stock.finance.sina.com.cn/option/quotes.html :param symbol: 期权代码 :type symbol: str :return: 指定期权的当前交易日的分钟数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 10003720 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds the current-trading-day-only limitation and return type, but much of the temporal limitation is also present in the annotation title, so the additional behavioral disclosure is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is front-loaded with the key purpose and limitation. The Sphinx-style :param:, :return:, and :rtype: lines are somewhat redundant, but the description remains compact for a one-parameter data-retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only retrieval tool with one optional parameter, the description covers purpose, temporal scope, parameter meaning, and return type. The annotations carry the safety profile and there is no output schema, so missing symbol-format guidance is a minor gap rather than a blocking one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the single symbol parameter. It identifies symbol as the option code, which adds some meaning, but does not provide format examples, required/optional status, or default-value explanation beyond what the schema already shows.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource and scope: minute-level data for a specified SSE option on the current trading day. It also distinguishes itself from historical minute queries by saying historical minute data cannot be retrieved. It does not explicitly differentiate itself from nearby siblings such as option_sse_daily_sina or option_minute_em, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear usage condition and exclusion: use it for current-trading-day minute data, and do not use it for historical minute data. However, it does not name an alternative tool for historical data or explain prerequisites such as how to obtain a valid option symbol.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_sse_spot_price_sinaCRead-onlyIdempotent
新浪财经-期权-期权实时数据 :param symbol: 期权代码 :type symbol: str :return: 期权量价数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 10003720 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds that the return is a pandas DataFrame of volume-price data, but does not disclose any caveats such as data delays, symbol validity, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and each line adds information (summary, parameter, return type), though it is presented as a docstring rather than a polished prose description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema and the many sibling option tools, the description should have specified the SSE scope and the exact data fields returned. It currently only says 'option volume-price data,' which is ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains that 'symbol' is the option code and is a string, which is meaningful given the schema has no per-property description. However, it does not provide format examples or how to obtain valid codes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Sina Finance - Options - Real-time data' and indicates the return is 'option volume-price data', but it does not specify that this is for SSE options or that it returns spot prices, making it hard to distinguish from sibling tools like option_sse_greeks_sina or option_sse_minute_sina.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or alternative guidance is provided. The description only includes a docstring with parameter and return types, with no contextual instructions for when to select this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_sse_underlying_spot_price_sinaBRead-onlyIdempotent
期权标的物的实时数据 :param symbol: sh510050 or sh510300 :type symbol: str :return: 期权标的物的信息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | sh510300 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds that the data is 'real-time' and that it returns a pandas DataFrame, which is slightly beyond annotations. However, it mostly duplicates the title and does not disclose more about data source behavior or limitations, yet it does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief and follows a docstring structure with param and return sections. It is front-loaded with the purpose, but the first sentence exactly repeats the title annotation, so it does not add new information at the start. Still, it is free of fluff and well-organized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks detail about the DataFrame contents (columns, meaning of the data), the interpretation of the symbol values (e.g., that they are ETF codes), and does not clarify the distinction from similar option tools. Since there is no output schema, the description should carry more explanatory burden, but it only gives vague 'information about the underlying asset'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter with a default but no description. The description explicitly lists two valid values (sh510050, sh510300), which adds meaning not present in the schema. This is helpful for an agent to know the expected format, though it does not explain what each symbol represents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Real-time data of options underlying asset' identifies the specific resource (underlying spot data) and implicitly distinguishes from sibling tools like option_sse_spot_price_sina via the word 'underlying'. However, it lacks an explicit verb like 'get' or 'retrieve', and the noun-phrase style makes it more of a title than a clear action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only provides parameter examples (sh510050, sh510300) but does not explain when this tool is appropriate compared to the many sibling option tools, nor does it mention exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_value_analysis_emARead-onlyIdempotent
东方财富网-数据中心-特色数据-期权价值分析 https://data.eastmoney.com/other/valueAnal.html :return: 期权价值分析 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which cover safety and idempotency. The description adds the return type (pandas.DataFrame) and the source URL, providing some behavioral context. However, it does not disclose further behavioral details such as data update frequency, limitations, or potential large response sizes. This is acceptable given the annotations but adds only marginal value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a title, URL, return type, and return format. It is well-structured and contains no unnecessary words. Every component serves a purpose, making it easy for an agent to quickly parse the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters), strong safety annotations, and the presence of a return type, the description covers the essential facts: what it is, where the data comes from, and what it returns. It does not detail the exact columns or data semantics, but for a no-parameter read-only data retrieval tool, this is sufficient. The output schema is absent, so the return type mention helps fill that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema fully defines the call interface. The description does not need to explain any parameters, and with 100% schema coverage, the baseline for parameter semantics is 4. The description adds no parameter-related info, which is fine.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as providing '期权价值分析' (option value analysis) from a specific source (东方财富网) and includes the URL. This clearly indicates the resource and the operation (retrieving data). However, it lacks an explicit verb like 'get or 'retrieve', and while it distinguishes from siblings by name, it does not explicitly state what makes this tool unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus other option-related tools (e.g., option_premium_analysis_em, option_risk_analysis_em). It does not mention any context, prerequisites, or alternative tools, leaving the agent to infer usage from the name and source.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_vol_gfexARead-onlyIdempotent
广州期货交易所-日频率-合约隐含波动率 http://www.gfex.com.cn/gfex/rihq/hqsj_tjsj.shtml :param symbol: choice of choice of {"工业硅", "碳酸锂"} :type symbol: str :param trade_date: 交易日 :type trade_date: str :return: 日频行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 碳酸锂 | |
| trade_date | No | 20230724 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, providing the core safety profile. The description adds the source URL and allowed symbol values, but does not disclose additional behavioral traits such as pagination, rate limits, or error handling. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a title, source URL, parameter documentation, and return type. Each line serves a purpose with no unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with two parameters, the description provides enough to invoke it: data source, parameter semantics, and return type (pandas DataFrame). It does not enumerate output columns, but the implied-volatility context and return type suffice given the simplicity and annotation coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions (0% coverage), so the description carries the burden. It adds meaning for both parameters: symbol is limited to {'工业硅', '碳酸锂'} and trade_date is a trading day. However, the exact date format is not explicitly stated, relying on the default value '20230724' to imply YYYYMMDD.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing daily-frequency contract implied volatility data from the Guangzhou Futures Exchange (广州期货交易所). It specifies the resource (GFEX implied volatility), scope (daily frequency, contracts), and includes a source URL, distinguishing it from sibling tools like option_vol_shfe.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives or provide exclusions. Usage is implied by the title and name (GFEX implied volatility), but no alternative tools are mentioned and no conditional guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option_vol_shfeBRead-onlyIdempotent
上海期货交易所-期权-日频行情数据 https://www.shfe.com.cn/reports/tradedata/dailyandweeklydata/ :param trade_date: 交易日 :type trade_date: str :param symbol: choice of {'原油期权', '铜期权', '铝期权', '锌期权', '铅期权', '螺纹钢期权', '镍期权', '锡期权', '氧化铝期权', '黄金期权', '白银期权', '丁二烯橡胶期权', '天胶期权'} :type symbol: str :return: 日频行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 铝期权 | |
| trade_date | No | 20250418 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame) but does not disclose other behavioral traits like rate limits, pagination, or the exact content of the returned data beyond the generic '日频行情数据'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise and well-structured: a brief title, source URL, and clear parameter/return documentation. It front-loads the key purpose. However, it repeats the title already present in the annotations, which is a minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what the returned DataFrame contains (columns like open, high, low, close, volume, open interest). It only says 'daily market data', which is sufficient for high-level selection but incomplete for understanding the exact data shape. The parameter and safety context are adequately covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates by listing all valid symbol choices (e.g., 铝期权, 铜期权) and explaining that trade_date is a trading day. It adds meaning beyond the bare property names and defaults, though it does not specify the date format (implied by the default '20250418').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides Shanghai Futures Exchange option daily market data, with a specific resource (SHFE options) and frequency (daily). It is distinct from siblings like option_vol_gfex (GFEX) and option_hist_shfe, though it lacks an explicit verb such as 'get' or 'fetch', relying on the noun phrase '日频行情数据'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not specify when this option data source is preferred, nor does it exclude cases or mention sibling tools that might be more appropriate. The description only states what data it returns, not how to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pro_apiBRead-onlyIdempotent
初始化 pro API,第一次可以通过ak.set_token('your token')来记录自己的token凭证,临时token可以通过本参数传入
| Name | Required | Description | Default |
|---|---|---|---|
| token | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true). The description adds the useful detail that token credentials can be recorded persistently versus passed transiently, which is behavioral context beyond the annotations. It does not describe failure modes (invalid/expired token) or what an initialized session enables, keeping it at a minimal-viable level.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, so it is compact, but it overloads two ideas (persistent setup via set_token and the temporary-token parameter) without clear separation, and the reference to an external method within the description adds noise rather than clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter initialization helper with annotations already covering safety and idempotency, the description supplies just enough to understand when a token should be passed. It leaves open where the token comes from, what happens without one, and what the call returns, which is acceptable but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'token' parameter, so the schema contributes nothing. The description partially compensates by explaining the parameter carries a temporary token as opposed to the persistent credential recorded via set_token, which is meaningful semantics. It still omits any format, source, or validation detail for the token value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening clause '初始化 pro API' names a specific verb+resource, so the purpose is identifiable. However, the sentence then veers into describing set_token credential recording, which blurs whether this tool initializes a client or manages tokens, and it never distinguishes itself from the get_token/set_token siblings that also appear in the tool list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implicitly contrasts two situations: a first-time persistent setup (via ak.set_token) versus passing a temporary token through this parameter. That gives the agent a usable decision cue, but it never states explicitly when to call this tool instead of the set_token or get_token siblings, so guidance remains implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
qdii_a_index_jslCRead-onlyIdempotent
集思录-T+0 QDII-亚洲市场-亚洲指数 https://www.jisilu.cn/data/qdii/#qdiia :return: T+0 QDII-亚洲市场-亚洲指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| cookie | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the source URL and return type but does not disclose additional behavior such as data volume, columns, or potential pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but it consists of fragments rather than complete sentences and repeats the category 'T+0 QDII-亚洲市场-亚洲指数' twice. There is some redundancy, though it is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what data the DataFrame contains, but it only gives a category name. The agent cannot infer the columns, row structure, or how to interpret the returned data, making the tool insufficiently specified for a simple data-listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'cookie' has no description in the schema, and the description does not mention it at all. With 0% schema coverage, the agent has no clue what the cookie parameter is for or when to provide it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource (T+0 QDII-Asia Market-Asia Index) and its source (Jisilu URL), and states the return type (pandas.DataFrame). This clearly differentiates it from siblings like qdii_e_index_jsl and qdii_e_comm_jsl, though it lacks an explicit verb like 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of exclusions, prerequisites, or scenarios where other QDII tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
qdii_e_comm_jslCRead-onlyIdempotent
集思录-T+0 QDII-欧美市场-商品 https://www.jisilu.cn/data/qdii/#qdiia :return: T+0 QDII-欧美市场-商品 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| cookie | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame) but does not explain the optional 'cookie' parameter, rate limits, or any auth requirements beyond what the schema hints at.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and free of redundancy, but it is under-specified—it reads as a docstring stub with just a title, URL, and return type. It lacks narrative structure and is not appropriately sized for the information it should convey.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool, the description gives the data source and return type but omits crucial details such as the actual content/structure of the DataFrame, the purpose of the cookie parameter, and any guidance on when to choose this among the many QDII-related siblings. An agent cannot assess suitability adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one optional parameter 'cookie' with 0% description coverage, and the tool description does not mention the cookie parameter at all. The description provides no semantic information about when or how to supply a cookie, so the agent is left completely unguided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the data source (Jisilu) and the specific category ('T+0 QDII-欧美市场-商品'), so the tool's purpose of returning commodity QDII data is fairly evident. However, it lacks an explicit verb such as 'fetches' or 'lists', and it does not differentiate among sibling QDII tools beyond the '商品' (commodity) hint in the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives. The description only provides a title, URL, and return type; it fails to mention any specific use cases, prerequisites, or exclusions relative to similar QDII tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
qdii_e_index_jslCRead-onlyIdempotent
集思录-T+0 QDII-欧美市场-欧美指数 https://www.jisilu.cn/data/qdii/#qdiia :return: T+0 QDII-亚洲市场 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| cookie | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds that the return type is pandas.DataFrame, which is useful behavioral information. However, the return description ('T+0 QDII-亚洲市场') is misleading and contradicts the title, and no other behavioral traits (e.g., cookie usage, data freshness) are disclosed. With annotations already covering read-only/idempotent hints, the misleading return line prevents a higher score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but poorly structured: it starts with a title, then a URL, then a mislabeled return line that appears to be a copy-paste error. The information is not presented in a logical order, and the erroneous return statement wastes space and creates confusion.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with one optional parameter and no output schema, so the description carries a moderate burden. It fails to explain the cookie parameter, clarify the market focus, or reconcile the contradictory return line. The missing details on the cookie and correct return value make it incomplete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has an optional 'cookie' parameter with zero description coverage. The description does not mention the cookie parameter at all, nor any other parameter details, so the agent cannot understand how or why to use it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource clearly (集思录-T+0 QDII-欧美市场-欧美指数) and includes a source URL, indicating it fetches European/American QDII index data from Jisilu. However, it lacks an explicit verb like 'get' or 'retrieve', and the return line says 'T+0 QDII-亚洲市场' (Asian market), which contradicts the stated European/American focus and confuses the actual purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., qdii_a_index_jsl or qdii_e_comm_jsl). There are no prerequisites, examples, or exclusions mentioned, leaving the agent without context for selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
qhkc_tool_foreignBRead-onlyIdempotent
奇货可查-工具-外盘比价 实时更新数据,暂不能查询历史数据 :param url: str 网址 :return: 外盘比价 :rtype: pandas.DataFrame name base_time base_price latest_price rate 伦敦铜 10/08 01:00 5704 5746.5 0.745 伦敦锌 10/08 01:00 2291.25 2305.75 0.633 伦敦镍 10/08 01:00 17720 17372.5 -1.961 伦敦铝 10/08 01:00 1743.5 1742.75 -0.043 伦敦锡 10/07 15:00 16550 16290 -1.571 伦敦铅 10/08 01:00 2181.25 2177.5 -0.172 美原油1 10/08 02:30 52.81 53.05 0.454 美原油2 10/07 23:00 53.94 53.05 -1.65 布原油1 10/08 02:30 58.41 58.67 0.445 布原油2 10/07 23:00 59.54 58.67 -1.461 美燃油 10/07 23:00 1.9287 1.9102 -0.959 CMX金 10/08 02:30 1495.9 1496.5 0.04 CMX银 10/08 02:30 17.457 17.457 0 美豆 10/07 23:00 916.12 915.88 -0.026 美豆粕 10/07 23:00 302.75 302.65 -0.033 美豆油 10/07 23:00 30.02 29.91 -0.366 美玉米 10/07 23:00 386.38 387.88 0.388 美糖 10/07 23:30 12.37 12.53 1.293 美棉花 10/07 23:30 61.69 61.05 -1.037
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | https://qhkch.com/ajax/toolbox_foreign.php |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so safety is covered. The description adds genuinely non-annotated behavior: the dataset is real-time-refreshed and historical periods cannot be queried, plus the exact column shape (name, base_time, base_price, latest_price, rate) via the sample table.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose line and the real-time-only caveat are front-loaded and the param/return tags are compact. The multi-row sample data table is informative about output shape but consumes most of the description's length, diluting the signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of describing returns, and it does so through the :rtype and a representative sample table. Combined with the real-time-only note and the defaulted url parameter, an agent has enough to invoke it correctly, though the url parameter's intended use is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter is only restated as ':param url: str 网址', which adds no meaning beyond the property name and type already in the schema. The description never explains that the default URL targets the toolbox endpoint or whether the parameter should normally be overridden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first line names the resource precisely (外盘比价 / foreign-market price comparison) and the source tool (奇货可查), so an agent can distinguish it from generic futures/forex siblings. The verb is implicit (it is a data-retrieval tool) rather than an explicit action, and it does not name its nearest siblings such as futures_foreign_commodity_realtime.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'实时更新数据,暂不能查询历史数据' tells the agent this is a real-time-only source with no historical query, which is a useful usage constraint. However, it names no alternative tool for historical foreign quotes, so the when-not guidance is only partial and no positive when-to-use trigger is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
qhkc_tool_gdpCRead-onlyIdempotent
奇货可查-工具-各地区经济数据 实时更新数据,暂不能查询历史数据 :param url: :return: pandas.DataFrame 国家 国内生产总值 国内生产总值YoY 国内生产总值QoQ ... 预算 债务 经常账户 人口 美国 20494 2.30% 2.00% ... -3.80% 106.10% -2.40 327.17 欧元区 13670 1.20% 0.20% ... -0.50% 85.10% 2.90 341.15 中国 13608 6.20% 1.60% ... -4.20% 50.50% 0.40 1395.38 日本 4971 1.00% 0.30% ... -3.80% 238.20% 3.50 126.25 德国 3997 0.40% -0.10% ... 1.70% 60.90% 7.30 82.85 英国 2825 1.30% -0.20% ... -2.00% 84.70% -3.90 66.19 法国 2778 1.40% 0.30% ... -2.50% 98.40% -0.30 67.19 印度 2726 5.00% 1.00% ... -3.42% 68.30% -2.30 1298.04 意大利 2074 -0.10% 0.00% ... -2.10% 134.80% 2.50 60.48 巴西 1869 1.00% 0.40% ... -7.10% 77.22% -0.77 208.49 加拿大 1709 1.60% 0.90% ... -0.70% 90.60% -2.60 37.31 俄罗斯 1658 0.90% 0.20% ... 2.70% 13.50% 7.00 146.90 韩国 1619 2.00% 1.00% ... -1.60% 36.60% 4.70 51.61 澳大利亚 1432 1.40% 0.50% ... -0.60% 40.70% -1.50 25.18 西班牙 1426 2.00% 0.40% ... -2.50% 97.10% 0.90 46.66 墨西哥 1224 -0.80% 0.00% ... -2.00% 46.00% -1.80 125.33 印尼 1042 5.05% 4.20% ... -1.76% 29.80% -3.00 264.20 荷兰 913 1.80% 0.40% ... 1.50% 52.40% 10.80 17.12 沙特阿拉伯 782 0.50% 0.00% ... -9.20% 19.10% 9.20 33.41 土耳其 767 -1.50% 1.20% ... -2.00% 30.40% -3.50 82.00 瑞士 706 0.20% 0.30% ... 1.30% 27.70% 10.20 8.48 台湾 589 2.40% 0.67% ... -1.90% 30.90% 11.60 23.58 波兰 586 4.50% 0.80% ... -0.40% 48.90% -0.70 37.98 瑞典 551 1.00% 0.10% ... 0.90% 38.80% 2.00 10.12 比利时 532 1.20% 0.20% ... -0.70% 102.00% -1.30 11.41 阿根廷 519 0.60% -0.30% ... -5.50% 86.20% -5.40 44.50 泰国 505 2.30% 0.60% ... -2.50% 41.80% 7.50 66.41 委内瑞拉 482 -22.50% -5.40% ... -20.00% 23.00% 6.00 31.83 奥地利 456 1.50% 0.30% ... 0.10% 73.80% 2.30 8.82 伊朗 454 1.80% NaN ... -3.90% 44.20% 1.30 82.10 挪威 435 -0.70% 0.30% ... 7.30% 36.30% 8.10 5.30 阿联酋 414 2.20% 1.70% ... -1.80% 18.60% 9.10 9.60 尼日利亚 397 1.94% 2.85% ... -2.80% 18.20% 2.30 195.87 爱尔兰 376 5.80% 0.70% ... 0.00% 64.80% 9.10 4.84 以色列 370 3.20% 0.30% ... -1.90% 61.00% 1.90 8.97 南非 366 0.90% 3.10% ... -4.40% 55.80% -3.60 58.78 新加坡 364 0.10% -3.30% ... 0.40% 112.20% 17.70 5.64 香港 363 0.50% -0.40% ... 2.10% 38.40% 4.30 7.48 马来西亚 354 4.90% 1.00% ... -3.70% 51.80% 2.30 32.40 丹麦 351 2.60% 0.90% ... 0.50% 34.10% 6.10 5.78 菲律宾 331 5.50% 1.40% ... -3.20% 41.90% -2.40 107.00 哥伦比亚 330 3.00% 1.40% ... -3.10% 50.50% -3.80 49.83 巴基斯坦 313 5.20% 5.79% ... -6.60% 72.50% -4.80 212.22 智利 298 1.90% 0.80% ... -1.70% 25.60% -3.10 18.75 芬兰 276 1.20% 0.50% ... -0.70% 58.90% -1.90 5.51 孟加拉国 274 7.90% 7.90% ... -4.80% 27.90% -3.60 163.70 埃及 251 5.70% 5.40% ... -8.20% 90.50% -2.40 98.00 越南 245 7.31% 6.88% ... -3.50% 57.50% 3.00 94.67 捷克共和国 244 2.70% 0.70% ... 0.90% 32.70% 0.30 10.61
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | https://qhkch.com/dist/views/toolbox/gdp.html?v=1.10.7.1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description usefully adds the real-time-only/no-history limitation, but says nothing about the url parameter's role, rate limits, or data provenance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition front-loads the useful note (real-time, no history) but then dumps roughly fifty rows of sample tabular data, which dominates the text and buries the actionable information. The bulk is far larger than needed to convey the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the sample table does helpfully reveal the return column structure and units (GDP, YoY, QoQ, budget, debt, current account, population). But the url parameter is left unexplained and there is no reference to how this differs from the numerous macro_* GDP tools, leaving meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single url parameter has only a default value in the schema. The description's ':param url:' line adds no meaning at all, and the giant data sample does not explain what the url is used for. With 1 undocumented parameter the description falls short of the zero-param baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (各地区经济数据, i.e. economic data by country/region) and notes it is real-time and not historical, so an agent can tell roughly what it returns. However it never states the verb explicitly (a retrieval/query operation) and gives no differentiation from the many macro_* GDP siblings such as macro_china_gdp or macro_china_gdp_yearly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The line '实时更新数据,暂不能查询历史数据' conveys a partial when-not condition (no historical queries) that the agent can act on. But it offers no positive when-to-use guidance and never mentions the alternative macro/GDP tools an agent should weigh against it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rate_interbankBRead-onlyIdempotent
东方财富-拆借利率一览-具体市场的具体品种的具体指标的拆借利率数据 具体 market 和 symbol 参见:https://data.eastmoney.com/shibor/shibor.aspx?m=sg&t=88&d=99333&cu=sgd&type=009065&p=79 :param market: choice of {"上海银行同业拆借市场", "中国银行同业拆借市场", "伦敦银行同业拆借市场", "欧洲银行同业拆借市场", "香港银行同业拆借市场", "新加坡银行同业拆借市场"} :type market: str :param symbol: choice of {"Shibor人民币", "Chibor人民币", "Libor英镑", "", "Sibor美元"} :type symbol: str :param indicator: choice of {"隔夜", "1周", "2周", "", "1年"} :type indicator: str :return: 具体市场的具体品种的具体指标的拆借利率数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | 上海银行同业拆借市场 | |
| symbol | No | Shibor人民币 | |
| indicator | No | 隔夜 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, covering the safety profile. The description adds the return type (pandas.DataFrame) and the source, but says nothing about pagination, rate limits, or the time range covered — so it adds only modest behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core phrase 具体市场的具体品种的具体指标的拆借利率数据 is repeated verbatim in the opening and the :return line, wasting space. The parameter blocks are otherwise well structured and the reference URL is front-loaded enough to be useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter query tool with no output schema, the description supplies the essential value lists, but omits defaults behavior, the time coverage of the returned series, and how it differs from macro_china_shibor_all. Adequate but with clear gaps an agent would otherwise have to probe for.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and does so: it enumerates the valid choices for all three parameters (六 markets, symbols like Shibor人民币/Libor英镑, indicators like 隔夜/1周). The enum lists are partially elided with '***', which is the only shortfall.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the data source (东方财富), the resource (拆借利率 / interbank offered rate) and the scoping dimensions (market/variety/indicator), so an agent can tell it returns interbank lending rates. It does not explicitly differentiate from the closely related sibling macro_china_shibor_all, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It supplies the concrete choice lists for market/symbol/indicator and a reference URL, which steers value selection, but never states when to use this tool versus alternatives like macro_china_shibor_all or when not to use it. Usage is implied rather than guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reits_hist_emBRead-onlyIdempotent
东方财富网-行情中心-REITs-沪深 REITs-历史行情 https://quote.eastmoney.com/sh508097.html :param symbol: REITs 代码 :type symbol: str :return: 沪深 REITs-历史行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 508097 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation as read-only, idempotent, and non-destructive. The description adds that it returns a pandas DataFrame and specifies the data source (East Money), but does not disclose additional behavioral details such as data frequency, date range limitations, or network requirements. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a title, a source URL, and a docstring-style parameter/return section. It is structured and avoids unnecessary filler, though the URL and title repeat each other slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no output schema), the description provides a basic understanding of what it returns (a DataFrame of historical quotes). However, it lacks details about the specific columns, data period, and any limitations, which would be helpful for an agent to interpret the result correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description compensates by explaining that the 'symbol' parameter is a REITs code and provides an example URL with 'sh508097'. However, it does not clarify whether the code should include an exchange prefix, and the default is a bare number, leaving some ambiguity about the expected format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing historical quotes for Shanghai and Shenzhen REITs from East Money, including an example URL. It distinguishes from sibling tools like reits_realtime_em and reits_hist_min_em by focusing on '历史行情' (historical quotes), though it does not state an explicit verb like 'get' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: the name and description indicate this is for REIT historical data, and the presence of siblings for minute and realtime data suggests when to use it. However, there is no explicit guidance on when to choose this tool over alternatives or any exclusion criteria, so it stops at implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reits_hist_min_emBRead-onlyIdempotent
东方财富网-行情中心-REITs-沪深 REITs-历史行情 https://quote.eastmoney.com/sh508097.html :param symbol: REITs 代码 :type symbol: str :return: 沪深 REITs-历史行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 508097 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, thoroughly covering the safety profile. The description adds context by specifying the return type (pandas.DataFrame) and providing an example URL, but does not disclose any additional behavioral traits such as rate limits, data freshness, or response structure. This is adequate given the read-only, idempotent nature already disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, containing a title line, an example URL, and docstring-style parameter/return lines. It is efficiently structured and front-loads the core purpose. However, the first line duplicates the title provided in the annotations, which is redundant. Overall, it is concise and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with one optional parameter, good safety annotations, and no output schema. The description explains the parameter, return type, and shows an example, which covers the basics. However, it omits the distinction between minute and daily historical data (important given sibling tools), does not specify the returned data fields, and offers no usage context. Given the annotations, this is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter 'symbol' with zero description coverage, so the description must compensate. The description explicitly defines ':param symbol: REITs 代码' and shows an example URL with a concrete code (508097), which gives the agent a clear understanding of the parameter's purpose. This is sufficient for a single-parameter tool, though it does not explain accepted formats or how to discover valid codes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool provides '历史行情' (historical market data) for Shanghai/Shenzhen REITs from Eastmoney, which is a clear resource and scope. However, it does not explicitly state that it returns minute-level data (despite the 'min' in the name) and does not distinguish itself from the sibling tool 'reits_hist_em'. The description is more of a noun phrase than a specific action, lacking a clear verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as 'reits_hist_em' or 'reits_realtime_em'. The description does not mention any context, prerequisites, or exclusions. It simply provides a parameter and return type, leaving the agent to infer usage from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reits_realtime_emBRead-onlyIdempotent
东方财富网-行情中心-REITs-沪深 REITs https://quote.eastmoney.com/center/gridlist.html#fund_reits_all :return: 沪深 REITs-实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds that the return type is a pandas DataFrame and the data source URL, which is minor but not contradictory. No information about data delays, pagination, or limits is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise but the first line repeats the annotation title exactly, adding no new information. The URL and return type are useful, so it is not overly bloated, but the redundancy slightly reduces clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless, read-only tool with good annotations, the description provides the scope (Shanghai/Shenzhen), source (Eastmoney), and return type (DataFrame). It is sufficiently complete for basic usage, though it could mention the sibling historical tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters and the schema has 100% coverage, so the description need not explain parameters. Baseline 4 applies for parameterless tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it returns 沪深 REITs-实时行情 (Shanghai/Shenzhen REITs real-time quotes), giving a clear verb and scope. It implicitly differentiates from historical REITs tools like reits_hist_em by specifying '实时行情', though it doesn't name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as reits_hist_em or reits_hist_min_em. The description lacks any context about typical use cases, exclusions, or recommended alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repo_rate_histARead-onlyIdempotent
中国外汇交易中心暨全国银行间同业拆借中心-回购定盘利率-历史数据 https://www.chinamoney.com.cn/chinese/bkfrr/ :param start_date: 开始时间,开始时间与结束时间需要在一个月内 :type start_date: str :param end_date: 结束时间,开始时间与结束时间需要在一个月内 :type end_date: str :return: 回购定盘利率-历史数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | 20201029 | |
| start_date | No | 20200930 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/openWorld, so the description earns credit for adding the operational constraint that start and end must fall within one month, plus the pandas.DataFrame return type. It omits auth, rate-limit, and pagination behavior, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The resource name and source link are front-loaded, and the body is short. The one-month constraint is duplicated across both parameters, a minor redundancy, but nothing is bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and two parameters, the description should specify the return shape more concretely; it only says the return is repo fixing-rate history as a DataFrame, without naming columns or granularity. The calling constraints are otherwise sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the parameter burden. It documents both start_date and end_date and the one-month span limit, but never states the expected date format (YYYYMMDD), which is only inferable from the schema defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific source (CFETS/National Interbank Funding Center) and resource (repo fixing rate historical data), which clearly identifies what the tool returns. It is well distinguished from the mass of macro tools, but it never contrasts itself with the obvious sibling repo_rate_query.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the source reference and the one-month window constraint on the date range, giving the agent a workable condition for calling it. However, there is no explicit when-to-use guidance and no mention of the close sibling repo_rate_query, so routing must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repo_rate_queryBRead-onlyIdempotent
中国外汇交易中心暨全国银行间同业拆借中心-回购定盘利率-历史数据 https://www.chinamoney.com.cn/chinese/bkfrr/ :param symbol: choice of {"回购定盘利率", "银银间回购定盘利率"} :type symbol: str :return: 回购定盘利率-历史数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 回购定盘利率 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds the data source URL and return type (pandas.DataFrame), but does not disclose additional behavioral details such as data freshness, column structure, or potential limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and structured as a docstring with title, source URL, parameter documentation, and return type. It is somewhat redundant (title and return phrase largely repeat) but still information-dense and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a single parameter and read-only annotations, the description is reasonably complete. However, it does not describe the DataFrame columns, date range, or frequency of the historical data, and there is no output schema to fill this gap. The lack of distinction from the similar sibling 'repo_rate_hist' also leaves ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no description or enum for the 'symbol' parameter, but the description explicitly lists the allowed values: {'回购定盘利率', '银银间回购定盘利率'}. This is essential information beyond the schema and largely compensates for the 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing historical repo fixing rate data from the China Foreign Exchange Trade System, with a source URL. It is specific to the resource, though it lacks an explicit verb and does not distinguish from the sibling tool 'repo_rate_hist'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It implies usage through the parameter choices but does not state exclusions or mention the similar sibling tool 'repo_rate_hist'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rv_from_futures_zh_minute_sinaARead-onlyIdempotent
从新浪财经获取期货的分钟级历史行情数据,并进行数据清洗和格式化 https://vip.stock.finance.sina.com.cn/quotes_service/view/qihuohangqing.html#titlePos_3 :param symbol: 期货合约代码,如"IF2008"代表沪深300期货2020年8月合约 :type symbol: str :param period: 时间周期,可选{'1','5','15','30','60'}分钟 :type period: str :return: 整理后的分钟行情数据,包含Date(索引),Open,High,Low,Close列 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 5 | |
| symbol | No | IF2008 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. Beyond that the description usefully discloses that data is cleaned and reformatted and that the result is a pandas.DataFrame with Date(index), Open, High, Low, Close — information not present in any structured field since there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action and source are front-loaded in the first sentence, followed by efficient param/return documentation. The raw URL is somewhat extraneous but the overall block is well-structured and not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with annotations covering safety and an explicitly described return frame, the description supplies everything needed to call it correctly. Only the missing sibling differentiation keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (bare string params, no enum), so the description must compensate and it largely does: it gives a concrete symbol example (IF2008 as the HS300 2020-08 contract) and enumerates the valid period values {'1','5','15','30','60'} minutes, which are absent from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (获取) and resource (期货分钟级历史行情数据) and names the data source (新浪财经). An agent can tell this fetches minute-level futures history, though the 'rv_from_' prefix is unexplained and the near-identical sibling futures_zh_minute_sina isn't distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives. Given a sibling named futures_zh_minute_sina that appears to be the raw underlying call, the absence of any routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rv_from_stock_zh_a_hist_min_emARead-onlyIdempotent
从东方财富网获取股票的分钟级历史行情数据,并进行数据清洗和格式化为计算 yz 已实现波动率所需的数据格式 https://quote.eastmoney.com/concept/sh603777.html?from=classic :param symbol: 股票代码,如"000001" :type symbol: str :param start_date: 开始日期时间,格式"YYYY-MM-DD HH:MM:SS" :type start_date: str :param end_date: 结束日期时间,格式"YYYY-MM-DD HH:MM:SS" :type end_date: str :param period: 时间周期,可选{'1','5','15','30','60'}分钟 :type period: str :param adjust: 复权方式,可选{'','qfq'(前复权),'hfq'(后复权)} :type adjust: str :return: 整理后的分钟行情数据,包含Date(索引),Open,High,Low,Close列 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | hfq | |
| period | No | 1 | |
| symbol | No | 000001 | |
| end_date | No | 2024-11-01 15:00:00 | |
| start_date | No | 2021-10-20 09:30:00 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds that data is cleaned and reformatted into Date/Open/High/Low/Close, but says nothing about rate limits, missing-data handling, or adjustment behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and the param block is standard Python docstring structure, but an irrelevant example URL (quote.eastmoney.com/concept/sh603777...) is embedded as noise, and the type/param line pairs add redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no output schema and 0% schema coverage, the description supplies parameter formats and the return shape (pandas.DataFrame with Date index plus Open/High/Low/Close), which is enough for correct invocation. It stops short of stating return granularity or adjustment effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden and largely does so: it documents all five parameters, gives the datetime format 'YYYY-MM-DD HH:MM:SS', and enumerates period {'1','5','15','30','60'} and adjust {'','qfq','hfq'}. Only defaults shown in the schema are left unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: fetching minute-level historical stock quotes from Eastmoney and cleaning/formatting them for yz realized-volatility computation. This scope distinguishes it from the raw siblings stock_zh_a_hist_min_em and the final volatility_yz_rv, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the stated purpose (prepare data for yz RV). There is no explicit when-to-use, when-not-to-use, or named alternative to pick instead. An agent can infer the context but is not routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchARead-onlyIdempotent
按自然语言检索 AKShare 接口。
:param query: 查询词,如 "A股 历史行情" :param limit: 返回条数上限 :param category: 限定类目,如 "stock" :param documented_only: 仅返回有文档的接口 :return: 检索结果 :rtype: pandas.DataFrame :raises InvalidParameterError: 当 limit 为负数时
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| category | No | ||
| documented_only | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, openWorldHint, idempotentHint, destructiveHint=false), so the bar is lower. The description still adds real behavioral detail beyond annotations: the return type is pandas.DataFrame (notable since there is no output schema) and it raises InvalidParameterError when limit is negative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first line, followed by a compact structured parameter/return/raises block. Every line contributes; the docstring style is slightly mechanical but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter search tool with no output schema and rich annotations, the description covers purpose, all parameters, the DataFrame return type, and one error condition. An agent has enough to call it correctly; the main missing piece is routing guidance against sibling discovery tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden, and it does: it defines all four params with examples (query 'A股 历史行情', category 'stock', limit as a count cap, documented_only as filtering to documented interfaces). Only syntax/defaults are left to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: '按自然语言检索 AKShare 接口' (natural-language search over AKShare interfaces), which is unambiguous and distinct from sibling data-fetch tools. It does not, however, explicitly differentiate itself from related discovery siblings such as list_categories or interface_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The text is a parameter docstring and gives no when-to-use guidance or alternatives. It never says that this tool is the discovery entry point before calling a data sibling, nor when to prefer list_categories/interface_info. The only implicit hint is the query parameter example.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_tokenDDestructive
AKShare API: set_token
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint: true and readOnlyHint: false, so the agent knows it is a write operation. However, the description adds no context about side effects, whether it overwrites existing tokens, or any permission requirements. With annotations present, some baseline is given, but the description itself contributes nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but conciseness requires every sentence to add value. Here, it only repeats the tool name, making it under-specification rather than effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a destructive action and a single opaque parameter, the description provides no operational context. It does not explain how the token will be used, what happens on success, or how to recover from mistakes, making it far from complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'token' parameter, and the description does not explain what type of token is expected, where it comes from, or any formatting requirements. The description fails to compensate for the missing schema details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'AKShare API: set_token' merely restates the tool name with a library prefix. It does not state what setting a token does or distinguish this from siblings like get_token or pro_api, providing no actual purpose clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool, when not to, or what prerequisites (e.g., obtaining a token) are required. The description offers no context for selecting this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_corn_price_soozhuARead-onlyIdempotent
搜猪-生猪大数据-全国玉米价格走势 https://www.soozhu.com/price/data/center/ :return: 全国玉米价格走势 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true. The description adds the return type (:rtype: pandas.DataFrame) and a source URL (https://www.soozhu.com/price/data/center/), which are useful behavioral details beyond the safety annotations. It does not cover pagination or rate limits, but the return-type disclosure earns a strong score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, containing only the title, source URL, return description, and return type. Every line provides useful context with no filler or redundant text. This is perfectly sized for a zero-parameter read-only tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only data tool, the description provides essential information: the data subject (national corn price trend), the source (Soozhu), and the return type (pandas.DataFrame). However, it lacks detail on the DataFrame's columns, date range, or frequency. Given the absence of an output schema, a bit more structure would be ideal, but the tool's simplicity and strong annotations keep it at a 4.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the rubric sets a baseline of 4. The input schema is empty and trivially 100% covered, so there is no parameter information for the description to add. The description need not compensate for missing parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '全国玉米价格走势' (national corn price trend) and notes it returns a pandas DataFrame, making it evident this tool provides corn price trend data from Soozhu. It distinguishes from sibling tools like spot_hog_soozhu by the 'corn' resource, but lacks an explicit verb such as 'get' or 'retrieve', so it is not a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention that it complements or differs from related Soozhu price tools (e.g., spot_soybean_price_soozhu, spot_hog_soozhu), nor does it describe appropriate contexts or prerequisites. The only implied usage comes from the tool name and resource description, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_golden_benchmark_sgeBRead-onlyIdempotent
上海黄金交易所-数据资讯-上海金基准价-历史数据 https://www.sge.com.cn/sjzx/jzj :return: 历史数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, so the safety profile is clear. The description adds the return type (pandas.DataFrame) and a source URL, but does not disclose other behavioral traits such as rate limits or data update frequency. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a short descriptive line, a source URL, and a return-type docstring. It is front-loaded and to the point. The slight redundancy with the title annotation prevents a 5, but it remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only data retrieval tool, the description is sufficiently complete. It specifies the data source (URL), the resource (Shanghai Gold benchmark price historical data), and the return format (pandas.DataFrame). The annotations cover safety. No output schema exists, but the return type is disclosed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline for this dimension is 4. The description does not need to explain parameter semantics, and the empty schema confirms that no inputs are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: Shanghai Gold Exchange benchmark price historical data. It is distinct from the sibling tool spot_silver_benchmark_sge, which covers silver, and the specific wording '上海金基准价-历史数据' makes the purpose explicit. However, it lacks a verb such as 'get' or 'retrieve', instead using a noun phrase, so it is not a full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like spot_hist_sge or spot_quotations_sge. There is no mention of prerequisites, exclusions, or alternative tools. This is a case of simply no guidance provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_goodsARead-onlyIdempotent
新浪财经-商品现货价格指数 https://finance.sina.com.cn/futuremarket/spotprice.shtml#titlePos_0 :param symbol: choice of {"波罗的海干散货指数", "钢坯价格指数", "澳大利亚粉矿价格"} :type symbol: str :return: 商品现货价格指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 波罗的海干散货指数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring safety (readOnly, idempotent, non-destructive), the description adds the data source URL and return type (pandas.DataFrame). It does not disclose whether the data is real-time or historical, or the DataFrame's structure, so behavioral transparency is minimal beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a source URL, parameter documentation, and return type. It is appropriately sized and front-loaded with the title and source, with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter, safe annotations, and no output schema. The description covers the source, allowed symbols, and return type, but lacks details on the DataFrame's columns and whether the data is current or historical, leaving some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has only a 'symbol' parameter with a default and no description, but the description explicitly lists the three valid Chinese symbol choices and the parameter type, providing essential semantic information for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as 'Sina Finance - Commodity Spot Price Index' and includes a source URL and return type, making it clear that the tool retrieves spot price index data. However, it lacks an explicit verb like 'fetch' and doesn't differentiate from sibling spot/futures tools, so it's clear but not fully distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not mention when to use this tool over alternatives, nor does it state any exclusions. It implies usage through the allowed symbol choices, which narrows its scope, but no explicit guidance on selecting this tool vs others is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_hist_sgeARead-onlyIdempotent
上海黄金交易所-数据资讯-行情走势-历史数据 https://www.sge.com.cn/sjzx/mrhq :param symbol: choice of {'Au99.99', 'Au99.95', 'Au100g', 'Pt99.95', 'Ag(T+D)', 'Au(T+D)', 'mAu(T+D)', 'Au(T+N1)', 'Au(T+N2)', 'Ag99.99', 'iAu99.99', 'Au99.5', 'iAu100g', 'iAu99.5', 'PGC30g', 'NYAuTN06', 'NYAuTN12'};可以通过 ak.spot_symbol_table_sge() 获取品种表 :type symbol: str :return: 历史数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | Au99.99 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and non-destructive behavior, so the safety profile is covered. The description adds the data source URL and return type (pandas.DataFrame), but does not disclose pagination, date-range behavior, or request limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring format is compact and front-loads the purpose, URL, parameter values, and return type. It repeats the title already present in annotations and includes a bare URL, but the long symbol enumeration is necessary and no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only historical-data tool with no output schema, the description supplies source, return type, and valid parameter values, which is nearly complete. It remains silent on date range/granularity and pagination, but those may not apply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is no enum for symbol, so the description carries the full burden. It lists the complete set of valid symbol choices and points to spot_symbol_table_sge for retrieving the symbol table, fully compensating for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific SGE resource and that it returns historical market data, and names the sibling helper for symbols. However, it does not explicitly distinguish from other SGE spot tools such as spot_quotations_sge or spot_silver_benchmark_sge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use or when-not-to-use guidance relative to alternatives; the only routing hint is to use spot_symbol_table_sge for the symbol table, which is a parameter helper, not a usage rule. An agent must infer that this tool is for historical SGE spot data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_hog_crossbred_soozhuCRead-onlyIdempotent
搜猪-生猪大数据-全国后备二元母猪 https://www.soozhu.com/price/data/center/ :return: 全国后备二元母猪 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, so the safety profile is covered. The description adds the data source URL and return type (pandas.DataFrame), which is some useful context, but it does not disclose additional behavioral traits such as data freshness, volume, or any quirks. It neither contradicts annotations nor adds rich behavioral detail, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the title-like phrase, but it includes extraneous elements like a URL and a return type that could be considered necessary but are not well integrated. It is concise but under-specified, lacking any meaningful explanation. It does not waste words, but it also does not earn its place beyond basic identification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of parameters and output schema, the description still fails to provide a complete picture. The mismatch between the tool name and the described data (crossbred vs. backup binary sow) leaves the agent uncertain about the data's exact nature. It does not explain the data's scope, source, or limitations, making it inadequate for confident selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline score is 4. The description does not need to explain parameter syntax or meaning since there are none. The schema coverage is trivially 100%, and no additional param-related information is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is vague and somewhat tautological, echoing the title '搜猪-生猪大数据-全国后备二元母猪' without a clear verb or action. The tool name ('spot_hog_crossbred_soozhu') does not align well with the described data ('national backup binary sow'), creating confusion about what exactly is returned. It lacks a clear statement of what the tool does, such as 'retrieve' or 'get', and does not distinguish itself from sibling tools like spot_hog_soozhu or spot_hog_lean_price_soozhu.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of use cases, prerequisites, or exclusions. It merely provides a URL and a return type, leaving the agent without context about when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_hog_lean_price_soozhuBRead-onlyIdempotent
搜猪-生猪大数据-全国瘦肉型肉猪 https://www.soozhu.com/price/data/center/ :return: 全国瘦肉型肉猪 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds only the source URL and return type (pandas.DataFrame), without disclosing data update frequency, coverage scope, or other behavioral traits beyond what annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, front-loading the resource name and source URL. It uses efficient docstring-like syntax, though it lacks a proper sentence structure and could be more readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read-only tool, the description provides the source and return type. However, it does not explain the DataFrame's exact contents (e.g., columns, date range, granularity) or explicitly differentiate it from closely related hog price tools like spot_hog_soozhu, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema description coverage is trivially 100%. With 0 params, the baseline is 4; the description adds no parameter information, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific data resource (全国瘦肉型肉猪) and source URL, making it clear this tool returns national lean hog price data. It distinguishes from sibling hog tools by the '瘦肉型' qualifier, but lacks an explicit verb like 'fetch' or 'get', relying on the tool name to imply retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many similar sibling hog price tools (e.g., spot_hog_crossbred_soozhu, spot_hog_soozhu). There is no mention of alternatives or selection criteria, leaving the agent to infer the correct choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_hog_soozhuBRead-onlyIdempotent
搜猪-生猪大数据-各省均价实时排行榜 https://www.soozhu.com/price/data/center/ :return: 各省均价实时排行榜 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds the data source URL and return type (pandas DataFrame), but does not disclose additional behavioral details like update frequency or data limitations. With annotations present, this is acceptable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and includes only essential information: the tool's scope, source URL, return value, and return type. The `:return:` and `:rtype:` lines are standard docstring elements and add structure without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with rich annotations, the description is adequately complete. It identifies the data source, the nature of the data (real-time provincial average price ranking), and the return format. While it does not enumerate DataFrame columns, this is not critical given the tool's simplicity and the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100% (empty schema). Per guidelines, the baseline for 0 params is 4. The description correctly indicates no parameters are needed, and no further parameter explanation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a real-time ranking of average hog prices by province from Soozhu, with a specific source URL and return type. It distinguishes itself from sibling hog tools by focusing on province-level average price rankings, though it lacks an explicit verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative hog-data tools such as spot_hog_crossbred_soozhu or index_hog_spot_price. The description is purely descriptive and does not mention use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_hog_three_way_soozhuBRead-onlyIdempotent
搜猪-生猪大数据-全国三元仔猪 https://www.soozhu.com/price/data/center/ :return: 全国三元仔猪 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive, so the safety profile is clear. The description adds the return type (pandas.DataFrame) and source URL, but does not disclose any other behavioral traits like data freshness, rate limits, or error conditions, so it only partially complements the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and directly lists the resource, URL, and return type without redundant text. The structure is functional, though it reads more like a label than a sentence, and it omits an explicit action statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read-only tool, the description provides essential information (resource, source, return type), but it lacks details about the DataFrame's columns, time range, or any caveats that might affect usage. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the empty schema fully covers parameter semantics—there is nothing to document. The baseline of 4 applies since no parameter ambiguity exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (全国三元仔猪 - national three-way piglets) and the data source URL, making the tool's purpose understandable. However, it lacks an explicit verb like 'get' or 'fetch' and does not differentiate from sibling hog price tools in the description text itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as spot_hog_crossbred_soozhu or spot_hog_soozhu. The description only states the resource and return type without any usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_hog_year_trend_soozhuARead-onlyIdempotent
搜猪-生猪大数据-今年以来全国出栏均价走势 https://www.soozhu.com/price/data/center/ :return: 今年以来全国出栏均价走势 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and the URL as data source, but does not disclose behaviors like update frequency, timezone, or missing data handling. It does specify the time period ('今年以来') which is useful, but not beyond what the tool name implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: a title line, a URL, and a docstring-style return type. It is front-loaded with the main meaning, but the title line and the :return: line repeat the same phrase '今年以来全国出栏均价走势', creating slight redundancy. Still, it is efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple no-parameter tool with annotations covering safety, but there is no output schema. The description tells the agent it returns a DataFrame of the national average price trend since the start of the year, but lacks details such as frequency (daily/monthly), units, or column names. It is adequate for a basic data fetch but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 0 parameters and the schema coverage is 100%, so under the rubric the baseline is 4. The description reinforces that no inputs are needed and clarifies the output is a DataFrame of the year's trend, which adds minimal meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing the national slaughter average price trend since the beginning of the year from Soozhu's pig big-data platform. It specifies the exact resource (全国出栏均价走势) and the source URL, distinguishing it from sibling soozhu tools that provide spot prices or other hog-related metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives. It does not mention exclusions or compare to sibling tools such as spot_hog_soozhu or index_hog_spot_price. Usage is only implied by the data description, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_mixed_feed_soozhuBRead-onlyIdempotent
搜猪-生猪大数据-全国育肥猪合料(含自配料)半月走势 https://www.soozhu.com/price/data/center/ :return: 全国育肥猪合料(含自配料)半月走势 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and the data source URL, which is useful context. However, it does not disclose other behavioral traits such as update frequency, data volume, or access constraints, which would be valuable for a no-parameter data tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of a title, a source URL, and a return type. It is not bloated, but the URL may be of limited value to an AI agent, and the content is somewhat repetitive (title repeated in the return line). Overall, it is efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (no parameters, no output schema), and the description states the data metric and return type. However, it does not explain columns, update periodicity, or the exact meaning of 'half-month trend', leaving some ambiguity about the resulting DataFrame structure. Adequate but with gaps for a data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so schema description coverage is trivially 100%. The description does not need to explain parameters. The baseline for no-parameter tools is 4, and the description appropriately focuses on the return value rather than parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: '全国育肥猪合料(含自配料)半月走势' (national fattening pig mixed feed including self-mixed, half-month trend). It is distinct from sibling soozhu tools by the specific commodity (feed vs. hogs, corn, etc.), though it does not explicitly contrast with them. The verb is implied via the return annotation, making the purpose understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus other soozhu-related tools, nor any exclusions or prerequisites. The description only states what it returns, leaving the agent to infer usage context from the name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_price_qhBRead-onlyIdempotent
99 期货-数据-期现-现货走势 https://www.99qh.com/data/spotTrend :param symbol: 品种名称 :type symbol: str :return: 现货走势 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 螺纹钢 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds that it returns a pandas DataFrame and includes the source URL, but it does not disclose data shape, frequency, or other behavioral caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the title and URL, but includes raw docstring syntax that adds minor noise. Every element conveys some information, and there is no significant verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter and no output schema, the description gives the essential input but the return is only described as '现货走势' with type pandas.DataFrame, lacking column details, time range, examples, or any constraints. This leaves the agent uncertain about the exact output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only provides a default value for symbol, with no description (0% coverage). The description compensates by stating ':param symbol: 品种名称' (commodity name), clarifying the parameter's meaning, but it does not enumerate valid values or format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as '99 期货-数据-期现-现货走势' with a source URL, indicating it provides spot trend data for commodities from 99qh.com. It specifies the parameter (symbol) and return type (pandas DataFrame), but uses no explicit action verb and does not differentiate from similar futures/spot tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like futures_spot_price or spot_price_table_qh. The description only lists input and output, providing no context for selection or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_price_table_qhBRead-onlyIdempotent
99 期货-数据-期现-交易所与品种对照表 https://www.99qh.com/data/spotTrend :return: 交易所与品种对照表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds a source URL and return type (pandas.DataFrame), which offers some behavioral context, but it does not mention network behavior, rate limits, or data freshness beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but contains redundancy: the first line repeats the title annotation verbatim. The remaining lines (URL, return, rtype) are useful, but the duplicate title wastes some space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description adequately explains that the output is a DataFrame containing an exchange-and-product mapping table. It also provides the source URL for verification. This is sufficient for selecting and invoking this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has zero parameters, so the input schema fully covers all invocation needs. The description need not add parameter explanations; the baseline score for 0 parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns a mapping table of exchanges and product varieties from the 99qh.com website. It provides a clear resource and expected output, though it lacks an explicit action verb (e.g., 'fetch', 'scrape') and does not differentiate from sibling tools like spot_price_qh.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as spot_price_qh or futures_spot_price_previous. It only describes the output and source, without any contextual or exclusionary information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_quotations_sgeARead-onlyIdempotent
上海黄金交易所-实时行情数据 https://www.sge.com.cn/ https://www.sge.com.cn/graph/quotations :param symbol: choice of {'Au99.99', 'Au99.95', 'Au100g', 'Pt99.95', 'Ag(T+D)', 'Au(T+D)', 'mAu(T+D)', 'Au(T+N1)', 'Au(T+N2)', 'Ag99.99', 'iAu99.99', 'Au99.5', 'iAu100g', 'iAu99.5', 'PGC30g', 'NYAuTN06', 'NYAuTN12'};可以通过 ak.spot_symbol_table_sge() 获取品种表 :type symbol: str :return: 行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | Au99.99 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, covering the safety/liveness profile. The description adds the data source (SGE, with graph URL) and that this is real-time data, but says nothing about refresh rate, data latency, or response shape beyond a pandas DataFrame.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is reasonably short, but the raw docstring formatting (URLs on their own lines, Sphinx-style :param/:type/:return markers) is not front-loaded prose. The long symbol list is justified content, yet the structure is more machine-generated than purpose-oriented.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only quote-fetch tool with annotations handling the safety profile and no output schema, the definition supplies source, symbol domain, and a helper for symbol discovery. The only gap is explaining the returned DataFrame's columns/timeframe, which is minor given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is no enum in the schema, so the description carries the full burden. It does this well by enumerating all 17 valid symbol values and pointing to the helper function for the symbol table. Minor deduction because the parameter is not explicitly named as such in prose, only via the :param symbol: docstring block.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title/description names a specific verb-resource pair: real-time quotation data from the Shanghai Gold Exchange (SGE), with source URLs. It clearly differs from most siblings, though it does not explicitly contrast with the closely related spot_hist_sge (historical) tool it sits beside.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description points to ak.spot_symbol_table_sge() for retrieving the symbol list, which is genuinely useful usage guidance. However, it gives no explicit when-to-use vs when-not context, e.g. no statement that spot_hist_sge should be used for historical rather than real-time data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_silver_benchmark_sgeARead-onlyIdempotent
上海黄金交易所-数据资讯-上海银基准价-历史数据 https://www.sge.com.cn/sjzx/mrhq :return: 历史数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive nature, so the bar is lower. The description adds minimal extra context: the source URL and return type (pandas DataFrame). It does not mention permissions, rate limits, or any special behaviors, but provides a bit of practical information about the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a title, URL, and return type. Every line earns its place by providing essential information about the data source and output format. There is no redundancy or fluff, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (no parameters, no output schema), the description provides a clear indication that it returns historical data as a pandas DataFrame and identifies the source. It could mention the exact columns or typical usage, but for a read-only data fetch with no inputs, this is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameter semantics. The schema coverage is 100% (vacuously), and there is nothing to add. This justifies a baseline score of 4 as per the rubric for tools without parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing historical data for the Shanghai Gold Exchange silver benchmark price, with a source URL. It specifies the resource and the fact it returns historical data, but does not explicitly contrast with sibling tools like spot_golden_benchmark_sge or spot_quotations_sge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It simply names the data source and return type, with no mention of scenarios where it is preferred or not recommended. The context of historical data is implied but not explicitly linked to similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_soybean_price_soozhuARead-onlyIdempotent
搜猪-生猪大数据-全国豆粕价格走势 https://www.soozhu.com/price/data/center/ :return: 全国豆粕价格走势 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds the return type (pandas.DataFrame) and the source URL, but does not disclose data frequency, time range, columns, or other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and structured with a title, URL, and docstring return type. The first line repeats the title annotation, which is slightly redundant but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read-only tool, the description provides the essential purpose and return type, but lacks detail on the output columns or the exact meaning of '走势' (trend), which would be helpful given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The schema is empty and the description correctly makes no parameter claims.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns '全国豆粕价格走势' (national soybean meal price trend) from the soozhu data center, and specifies the return type as pandas.DataFrame. The name and description distinguish it from sibling tools like spot_corn_price_soozhu by commodity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention whether to use it for historical analysis, real-time spot prices, or how it compares to related hog/feed price tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_symbol_table_sgeARead-onlyIdempotent
上海黄金交易所-数据资讯-行情走势-品种表 https://www.sge.com.cn/sjzx/mrhq :return: 品种表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation as read-only, idempotent, and non-destructive. The description adds the source URL and the return type (pandas DataFrame), which is useful context, but it does not disclose any additional behavioral traits such as pagination, rate limits, or error behavior. This meets the baseline 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and to the point, containing only a title, source URL, and return type. There is no wasted text, and the key information is immediately visible, making it appropriately concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool, the description adequately conveys that it returns a pandas DataFrame containing the SGE variety table and provides the data source URL. While it does not enumerate the columns or describe the table structure in detail, the name and context make the purpose sufficiently clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 an empty object, so there are no parameter semantics to explain. The description is not required to compensate for any schema gaps, meriting the baseline score of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches the variety table (品种表) from the Shanghai Gold Exchange (SGE) market data section, identifying a specific resource and returning a pandas DataFrame. However, it does not explicitly differentiate this from other SGE-related tools like spot_quotations_sge or spot_hist_sge, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no explicit exclusion criteria. The description simply states what it returns, leaving the agent to infer the appropriate use case on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_a_all_pbCRead-onlyIdempotent
全部A股-等权重市净率、中位数市净率 https://legulegu.com/stockdata/all-pb :return: 全部A股-等权重市盈率、中位数市盈率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this as read-only, idempotent, and non-destructive, so the description's job is to add behavioral context. It adds a source URL and says the return type is pandas.DataFrame, but it does not describe the data range, columns, or whether it's a time series. The return description contradicts the title (PE vs PB), which is a misleading behavioral claim.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, but the :return: line is redundant and erroneous, repeating a data type that conflicts with the title. The URL is useful, but the overall structure is marred by the inconsistency, preventing a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-input data retrieval tool, the description should clearly state what is returned. It fails to specify whether this is historical or current data, the exact columns, or the unit. The mistaken return type (PE instead of PB) further reduces completeness, as an agent would receive misleading information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts no parameters, so the baseline for parameter semantics is 4. The description does not confuse parameter usage, and since there are none, there is little to add. However, the incorrect return type mention is a minor detractor, but it doesn't affect parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with the tool's purpose: all A-share equal-weighted and median P/B ratios. However, the :return: line incorrectly states '市盈率' (P/E) instead of '市净率' (P/B), creating a contradiction that confuses the tool's actual output. The resource is clearly identified, but the inconsistency drops the clarity score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided for when to use this tool versus other stock-valuation tools like stock_market_pb_lg or index_pe_lg. The intended use is only implied by the name and first line, but there are no explicit scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_a_below_net_asset_statisticsBRead-onlyIdempotent
破净股统计历史走势 https://www.legulegu.com/stockdata/below-net-asset-statistics :param symbol: choice of {"全部A股", "沪深300", "上证50", "中证500"} :type symbol: str :return: 破净股统计历史走势 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部A股 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the data source URL and the return type (pandas.DataFrame), which is useful. However, it does not describe any additional behavioral aspects such as data granularity, time range, or potential delays.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a docstring structure with title, URL, param, and return sections. The phrase '破净股统计历史走势' appears twice (as the heading and the return description), which is mildly redundant, but the document is otherwise free of filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter and no output schema, the description supplies the necessary invocation details: parameter choices, return type, and source URL. The rich annotations cover safety, so the overall context is sufficient for an agent to call the tool correctly, though it lacks guidance on when to prefer this tool over siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines 'symbol' as a string with a default, but the description enriches this by enumerating valid choices: 全部A股, 沪深300, 上证50, 中证500. This directly compensates for the 0% schema description coverage, providing essential information for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: historical statistics of stocks trading below net asset value. The phrase '破净股统计历史走势' is a noun phrase rather than an explicit verb, but the meaning is unambiguous and the URL supports it. It does not explicitly differentiate from sibling tools like stock_a_all_pb, but the scope is clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool vs alternatives. It does not state prerequisites, typical use cases, or scenarios where another tool would be more appropriate. Given the large list of sibling tools, this omission is a notable gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_account_statistics_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-股票账户统计 https://data.eastmoney.com/cjsj/gpkhsj.html :return: 股票账户统计数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and the source URL, which are useful details beyond the annotations. However, it doesn't disclose behaviors like data refresh frequency, scope of statistics, or potential delayed updates, which for a simple read-only tool is acceptable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and consists of a titled source, a URL, and a return type annotation. Each element is relevant and there is no redundant fluff. It could be slightly improved by adding a one-sentence summary of the data content, but the current structure is efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only data retrieval tool with no output schema, the description provides the essential context: what data (stock account statistics), from where (East Money data center), and in what format (pandas.DataFrame). It doesn't enumerate columns or granularity, but these are likely inferable from the tool name and source page. The description is sufficient for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so parameter semantics are trivially complete. The schema is empty and schema coverage is effectively 100%. The description reinforces the return type and data source, which is all that's needed for a parameterless tool. Baseline for 0 params is 4, and no further parameter explanation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the data source (东方财富网-数据中心-特色数据) and the specific dataset (股票账户统计, stock account statistics). The return type and source URL are provided, making it clear the tool fetches this data. However, the verb is implicit rather than an explicit 'get'/'fetch', and there is no direct differentiation from sibling tools beyond the resource name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus the many alternative data-fetching tools in the sibling list. There is no mention of suitable scenarios, exclusions, or alternative tools for similar data. The only contextual clue is the data source and type, which implies a specialized retrieval use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_a_code_to_symbolCRead-onlyIdempotent
输入股票代码判断股票市场 :param symbol: 股票代码 :type symbol: str :return: 股票市场 :rtype: str
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000300 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is established. However, the description adds no behavioral context beyond restating the basic function; it does not disclose input validation, error handling, or return value specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with the purpose front-loaded in the first line and docstring-style parameter/return notes. However, the parameter type line duplicates schema information and adds minimal value, and the overall format is not optimized for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple code-to-market lookup, the description covers basic input and output, but the return value ('股票市场') is vague, with no mention of possible market names or whether indices are supported. Without an output schema, this is a significant gap, as agents cannot predict the exact response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since the schema has 0% description coverage, the docstring compensates by defining 'symbol' as a stock code (股票代码) of type str. This adds meaning over the bare schema, but it omits accepted code formats, market prefix conventions, and how the default '000300' is interpreted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: '输入股票代码判断股票市场' (input stock code to determine stock market), which is a specific verb+resource pairing. It is unambiguous but does not explicitly distinguish itself from sibling tools that also process stock codes, such as stock_info_a_code_name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It lacks any mention of use cases, prerequisites, or exclusion criteria, leaving an agent without context for selecting it among the many stock-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_a_congestion_lgCRead-onlyIdempotent
乐咕乐股-大盘拥挤度 https://legulegu.com/stockdata/ashares-congestion :return: 大盘拥挤度 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive, and the description adds no behavioral traits beyond that. It mentions the URL and return type but does not disclose details like rate limits, authentication, or data update frequency. While it does not contradict annotations, it adds minimal behavioral context, so the score is low.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and avoids unnecessary verbosity, but it is structured as a fragment: a title, a URL, and docstring lines. It is not a coherent sentence, and the layout could be cleaner. It earns its place, but the structure is suboptimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no parameters and no output schema, the description carries the responsibility of explaining what the tool returns. It states the return type (pandas DataFrame) and the general subject (market congestion), but it does not describe the columns, date range, or any other details about the data. This is adequate for a simple zero-parameter retrieval but lacks completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (vacuously). There is nothing to explain about parameters, so the baseline score of 4 applies. The description does not need to compensate for missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the tool's name ('乐咕乐股-大盘拥挤度' / 'LeGuLeGu - Market Congestion') and includes a URL and return type. It lacks an explicit verb like 'get' or 'retrieve', making it not much more than a labeled resource. It does identify the resource (market congestion data) but does not clearly state what action the tool performs, so it is close to a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any similar tools or exclude any scenarios. There is no explicit context or comparison, so an agent has no basis for choosing this tool over siblings beyond the name itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_add_stockBRead-onlyIdempotent
新浪财经-发行与分配-增发 https://vip.stock.finance.sina.com.cn/corp/go.php/vISSUE_AddStock/stockid/600004.phtml :param symbol: 股票代码 :type symbol: str :return: 返回增发详情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 688166 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds the data source URL and return type (pandas.DataFrame), which provides some context beyond the annotations. However, it does not disclose any potential quirks, output details, or limitations, so it's 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and well-structured as a docstring, with a title, source URL, parameter, and return sections. It avoids unnecessary verbosity. The only minor redundancy is that the title line duplicates the annotation title, but this is not a significant waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool with no output schema, the description is adequate: it explains what data it returns, the parameter meaning, and the return type. However, it does not describe the returned DataFrame's columns, how the output is structured, or any caveats about data availability. Given the simple nature, this is minimally sufficient but leaves room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'symbol' with 0% schema description coverage, so the description must compensate. It documents ':param symbol: 股票代码' (stock code) and ':type symbol: str', which adds essential meaning. The URL also contains an example stock code (600004), providing an implicit format hint. Yet it lacks explicit details on code format, prefix conventions, or examples, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the purpose via the title '新浪财经-发行与分配-增发' (Sina Finance - Issuance and Distribution - Additional Issuance) and the return doc '返回增发详情' (return additional issuance details), clearly indicating it retrieves additional stock issuance data for a given symbol. However, it does not distinguish itself from the many sibling stock-related tools beyond its specific sub-type, so it's clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or related tools. Only parameters and return type are given, with no contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_a_gxl_lgBRead-onlyIdempotent
乐咕乐股-股息率-A 股股息率 https://legulegu.com/stockdata/guxilv :param symbol: choice of {"上证A股", "深证A股", "创业板", "科创板"} :type symbol: str :return: A 股股息率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 上证A股 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true. The description adds the specific data source URL and confirms it returns a pandas DataFrame. It doesn't add details about network requirements, rate limits, or data freshness beyond the URL, but with annotations covering safety, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly concise: title, URL, param list, and return type. It's structured as a docstring, which is efficient. It includes necessary info without excessive fluff. Could be slightly more organized but overall earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one optional parameter and no output schema. The description provides the URL and return type, which is helpful. However, it doesn't mention what the DataFrame contains beyond 'A股股息率' (e.g., columns, time series vs point-in-time), and doesn't state any limitations or examples. Given the simplicity, it's adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but there is only one parameter with a default value. The description does list the enumerated choices in the :param symbol: line, which adds value beyond the schema (which only shows default). However, it doesn't explain the meaning of each choice in depth, but the choices are self-explanatory (e.g., 上证A股, 深证A股). With one simple param and defaults, baseline 3 is reasonable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as fetching A-share dividend yield data (股息率) from 乐咕乐股 (legulegu.com), with a specific URL. It includes a parameter choice for the market segment. However, it doesn't explicitly differentiate from sibling tools like stock_hk_gxl_lg or stock_a_all_pb, though the name and description are quite specific to A-share dividend yield.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving A-share dividend yield for a chosen market segment via the symbol parameter. It does not state when to use this instead of other related tools like stock_hk_gxl_lg (HK dividend yield) or stock_a_all_pb (A-share PB). No explicit alternatives or exclusions are given, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_a_high_low_statisticsBRead-onlyIdempotent
乐咕乐股-创新高、新低的股票数量 https://www.legulegu.com/stockdata/high-low-statistics :param symbol: choice of {"all", "sz50", "hs300", "zz500"} :type symbol: str :return: 创新高、新低的股票数量 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and the source URL, which are useful but do not disclose deeper behaviors like data frequency, freshness, or exact columns. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a standard docstring format with title, URL, param, and return sections. Each line serves a purpose, and there is no superfluous text. It is appropriately sized, though the URL might be redundant for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description provides a basic return description (a DataFrame of high/low counts) but lacks details on columns, time period, or data granularity. Given the tool's simplicity (one parameter), this is adequate but leaves room for interpretation about the exact output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description or enum for the 'symbol' parameter (0% coverage), so the description compensates by listing allowed values: 'all', 'sz50', 'hs300', 'zz500'. However, it does not explain what each value represents (e.g., which index or market scope), so the agent knows valid inputs but not their semantic differences.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose via its title '乐咕乐股-创新高、新低的股票数量' (number of stocks hitting new highs and lows) and the return type mentions '创新高、新低的股票数量'. It is specific about the resource, but lacks an explicit verb like 'get' or 'fetch', and does not distinguish from sibling tools such as stock_rank_cxg_ths which also deals with new highs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only includes parameter choices and a source URL, but does not specify scenarios, exclusions, or mention any related tools. This is minimal and leaves the agent without selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_allotment_cninfoBRead-onlyIdempotent
巨潮资讯-个股-配股实施方案 https://webapi.cninfo.com.cn/#/dataBrowse :param symbol: 股票代码 :type symbol: str :param start_date: 开始查询的日期 :type symbol: str :param end_date: 结束查询的日期 :type symbol: str :return: 配股实施方案 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600030 | |
| end_date | No | 22220222 | |
| start_date | No | 19700101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds a source URL and return type (pandas.DataFrame) but does not disclose behavior like date format expectations, pagination, or network dependency. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is presented as a docstring with a title, URL, and param blocks. It is reasonably concise but contains redundant and erroneous :type lines (all 'symbol'), which slightly undermine clarity and structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool returns a pandas.DataFrame of allotment implementation plans, which is stated. However, it does not explain the semantics of the date range, whether defaults are acceptable, or what columns are expected. For a straightforward data retrieval tool, this is adequate but lacks helpful context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description manually specifies each parameter: symbol as 股票代码, start_date as 开始查询的日期, end_date as 结束查询的日期, which supplements the schema that has no descriptions. However, the :type annotations are incorrectly repeated as 'symbol' for all params, and the date format is not explicitly stated beyond the default values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with '巨潮资讯-个股-配股实施方案' (Cninfo - Individual Stock - Rights Issue Implementation Plan), clearly identifying the resource and data source. However, it lacks an explicit verb like '获取' or 'query', and it doesn't explicitly distinguish itself from sibling stock-related tools beyond the topic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as stock_dividend_cninfo or other Cninfo-based stock tools. It only lists parameters and return type, with no context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_analyst_detail_emARead-onlyIdempotent
东方财富网-数据中心-研究报告-东方财富分析师指数-东方财富分析师指数2020最新排行-分析师详情 https://data.eastmoney.com/invest/invest/11000257131.html :param analyst_id: 分析师 ID,从 ak.stock_analyst_rank_em() 获取 :type analyst_id: str :param indicator: choice of {"最新跟踪成分股", "历史跟踪成分股", "历史指数"} :type indicator: str :return: 具体指标的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| indicator | No | 最新跟踪成分股 | |
| analyst_id | No | 11000200926 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and the data source, but says nothing about rate limits, page/row limits, or what happens with an invalid analyst_id — modest added value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening line repeats a long site-navigation path and a raw URL already implied by the title annotation, and the epytext tags (:param/, :type/, :return/, :rtype:) add some noise. The substantive content (indicator choices, analyst_id source) is buried after the boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully states the return type and the meaning of each indicator, and it flags the dependency on stock_analyst_rank_em for the ID. For a two-parameter read-only lookup this is close to complete, missing only guidance on result shape per indicator.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the indicator property has no enum in the schema, so the description carries the burden: it enumerates the three valid indicator values ({"最新跟踪成分股", "历史跟踪成分股", "历史指数"}) and explains where analyst_id must be obtained. That is genuine value beyond the schema, though it does not explain the semantic difference between the three indicator views.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource (analyst detail from Eastmoney's analyst index) and enumerates the three data views available via the indicator parameter. It implicitly distinguishes itself from stock_analyst_rank_em by naming that tool as the source of analyst_id, though the bulk of the opening line is boilerplate site-path text rather than purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states that analyst_id comes from ak.stock_analyst_rank_em(), which is a useful prerequisite and routes the agent to the right sibling first. However, it never says when to choose one indicator over another or when this tool is preferred over related research-report tools, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_analyst_rank_emCRead-onlyIdempotent
东方财富网-数据中心-研究报告-东方财富分析师指数-东方财富分析师指数 https://data.eastmoney.com/invest/invest/list.html :param year: 从 2015 年至今 :type year: str :return: 东方财富分析师指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | 2024 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds a source URL and return type (pandas.DataFrame), but gives little additional behavioral context such as rate limits, error behavior, or what the DataFrame contains. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description begins with a long, redundant title repeated in consecutive phrases ('东方财富分析师指数-东方财富分析师指数'), which wastes space. While the docstring sections are structured, the overall text is not concise or front-loaded with key information, making it harder for an agent to quickly grasp the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description should clarify what the returned DataFrame contains, but it only repeats the index name without describing columns, granularity, or meaning. The URL and parameter range are present, but missing usage context and return-value details leave the tool under-specified for effective selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no description for the 'year' parameter (0% coverage), but the description's docstring explains it accepts a string from 2015 to present. This provides meaningful guidance on the expected format and valid range, effectively compensating for the missing schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a noun phrase ('东方财富分析师指数') repeated twice, with a URL and docstring, but no verb stating what the tool does. It restates the tool name rather than specifying an action like 'queries' or 'returns', so it fails to clearly convey the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only provides a parameter range and return type, with no mention of use cases, prerequisites, or contexts where this tool is appropriate. It also does not differentiate it from sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_a_ttm_lyrBRead-onlyIdempotent
全部 A 股-等权重市盈率、中位数市盈率 :return: 全部A股-等权重市盈率、中位数市盈率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, idempotentHint, destructiveHint) already declare a safe read operation. The description adds only the return type (DataFrame) and data content, but no additional behavioral context such as data frequency, coverage, or potential side effects. With annotations present, this is an average contribution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but redundant, essentially repeating the title twice and adding only the return type. It is under-specified rather than concise, with no additional value beyond the structured title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter data retrieval tool with no output schema, the description adequately names the two data fields and return type. However, it lacks context on data frequency, universe definition, and source, making it slightly less complete than ideal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the schema fully covers all inputs. The description has nothing to add about parameter behavior, and the baseline for zero-parameter tools is 4. It correctly communicates no inputs are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides equal-weighted and median PE ratios for all A-shares. The verb is implied ('get'/'fetch') and the resource specificity is good, but it doesn't distinguish itself from sibling tools like stock_index_pe_lg or stock_market_pe_lg.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention exclusions or preferred contexts, leaving the agent without criteria for selection among the many PE-related sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_balance_sheet_by_report_delisted_emARead-onlyIdempotent
东方财富-股票-财务分析-资产负债表-已退市股票-按报告期 https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html?type=web&code=SZ000013#/cwfx/zcfzb :param symbol: 已退市股票代码;带市场标识 :type symbol: str :return: 资产负债表-按报告期 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SZ000013 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds a source documentation URL and states the return is a pandas.DataFrame, but says nothing about rate limits, data latency, or the network dependency implied by openWorldHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, which is good, but the header is a stacked keyword string ('股票-财务分析-资产负债表-已退市股票-按报告期') and the long URL occupies a full line while the actual usage guidance is absent. Structure is serviceable but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema data fetch, the definition supplies the resource, the data source, the parameter format, and the return type, and annotations cover the safety profile. The main gap is that the caller has no hint about the returned columns or output granularity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only one parameter and 0% schema description coverage, the description carries the burden and does so: ':param symbol: 已退市股票代码;带市场标识' explains the value is a delisted stock code that must include a market prefix, and the URL's code=SZ000013 gives a concrete format example. It stops short of enumerating valid prefixes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource+source: East Money (东方财富) balance sheet (资产负债表) for delisted stocks (已退市股票) on a report-period basis (按报告期). These qualifiers let an agent distinguish it from the non-delisted and yearly siblings without opening the schema, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the 'delisted' and 'by report period' scoping rather than stated: an agent can infer this is only for delisted tickers and report-date alignment. There is no explicit when-to-use statement, no exclusions, and no pointer to the sibling tools (e.g. stock_balance_sheet_by_report_em for live listings).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_balance_sheet_by_report_emBRead-onlyIdempotent
东方财富-股票-财务分析-资产负债表-按报告期 https://emweb.securities.eastmoney.com/PC_HSF10/NewFinanceAnalysis/Index?type=web&code=sh600519#lrb-0 :param symbol: 股票代码;带市场标识 :type symbol: str :return: 资产负债表-按报告期 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SH600519 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only that the return type is a pandas.DataFrame and provides a source URL; it does not disclose data freshness, rate limits, or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the resource name. It includes some redundant Sphinx-style :type and :rtype lines, but overall it is appropriately sized for a one-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only data retrieval tool with one parameter and no output schema, the description gives the return type but does not describe the shape or meaning of the returned balance sheet columns. It is minimally adequate but leaves non-trivial output interpretation to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden for the single parameter. It usefully explains that symbol is a stock code with a market identifier, and the schema default SH600519 demonstrates the expected prefix format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source (东方财富), asset class (股票), report type (财务分析-资产负债表), and period scope (按报告期). This clearly distinguishes it from the yearly balance sheet sibling, though it does not explicitly call out that sibling or other alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as stock_balance_sheet_by_yearly_em. The description only states the resource and parameter, leaving selection entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_balance_sheet_by_yearly_emBRead-onlyIdempotent
东方财富-股票-财务分析-资产负债表-按年度 https://emweb.securities.eastmoney.com/PC_HSF10/NewFinanceAnalysis/Index?type=web&code=sh600519#lrb-0 :param symbol: 股票代码;带市场标识 :type symbol: str :return: 资产负债表-按年度 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SH600036 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the return is a pandas.DataFrame and points at the source endpoint, which is genuinely new information since no output schema exists, but it discloses nothing about period coverage, revision behavior, or authentication.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Efficiently front-loads the purpose on line one, but then appends a raw URL and Sphinx-style ':param/:type/:return/:rtype' boilerplate that restates the same resource name already in the title and first line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only data fetch with annotations covering the safety profile and a declared return type, this is adequate but thin. It omits the one thing that would matter most here: how it differs from stock_balance_sheet_by_report_em and the other balance-sheet siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single param has no schema-level description, so the description must compensate. It partially does: '股票代码;带市场标识' conveys that a market prefix is required, and the sample URL shows 'sh600519' format, but no explicit format spec or example is given for the parameter itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb/resource pair: Eastmoney stock financial-analysis balance sheet, scoped to annual ('按年度') periods. The '按年度' qualifier implicitly distinguishes it from the by-report sibling, but the description never names that alternative, so the differentiation is only partial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the very close sibling stock_balance_sheet_by_report_em or the by-quarterly variants. The only routing signal is the name's 'yearly' token, which the schema/name already carries, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_bid_ask_emBRead-onlyIdempotent
东方财富-行情报价 https://quote.eastmoney.com/sz000001.html :param symbol: 股票代码 :type symbol: str :return: 行情报价 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety traits. The description adds that the return is a pandas.DataFrame and includes a source URL, but provides no additional behavioral context such as data freshness, filtering, or error behavior. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is minimal and front-loaded with the source and example URL, followed by clear param/return documentation. Every element serves a purpose, but it lacks a more organized structure that would improve scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should detail what the DataFrame contains (e.g., bid/ask prices, columns), but it only says '行情报价'. It also omits usage context, such as whether this is for a single stock only or how to handle different exchanges, making it incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains that 'symbol' is a stock code (股票代码) of type str, which adds meaning beyond the raw schema. However, it doesn't specify the code format (e.g., 6-digit, exchange prefix) or clarify why the default is '000001', so it only partially compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves a market quote (行情报价) from East Money, with a URL example and stock symbol parameter. However, it doesn't explicitly mention bid/ask or differentiate from other stock quote tools like stock_zh_a_spot_em, so it's clear but not fully distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the numerous sibling stock market tools. There is no mention of alternatives, exclusions, or scenarios where it's preferred, leaving the agent without direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_bj_a_spot_emARead-onlyIdempotent
东方财富网-京 A 股-实时行情 https://quote.eastmoney.com/center/gridlist.html#hs_a_board :return: 实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds marginal context by specifying the return type (pandas.DataFrame) and the source URL, but it does not disclose potential latency, data delay, or other behavioral nuances. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, stating the core purpose first, followed by the source URL and return type. Every line earns its place, with no redundant text. It is very easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only spot quote tool, the description covers key aspects: data source, market segment, data type, and return format. The explicit return type compensates for the lack of an output schema. It does not detail the DataFrame columns, but this is a minor gap for such a simple fetch operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema correctly reflects this with an empty properties object (100% schema coverage). Since there are no parameters, the description does not need to explain them. The baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides real-time quotes (实时行情) for Beijing A-shares (京 A 股) from East Money (东方财富网), with a source URL. This distinguishes it from sibling spot tools like stock_cy_a_spot_em and stock_sh_a_spot_em. However, it lacks an explicit action verb, using a noun phrase instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternative spot quote tools. It does not mention any exclusions, preconditions, or alternative tools. An agent must infer usage from the tool name alone, which is insufficient given the large sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_change_emCRead-onlyIdempotent
东方财富-行情中心-当日板块异动详情 https://quote.eastmoney.com/changes/ :return: 当日板块异动详情页 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds that the tool returns a pandas DataFrame and is sourced from a specific East Money URL, and scopes the data to the current day (当日). This goes beyond the annotations (readOnly, idempotent, non-destructive), but it does not disclose potential caveats such as data columns, freshness, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, with only the title, URL, return type, and rtype. It is concise and front-loaded, but the title repetition and lack of structured explanation prevent a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain what the DataFrame contains. It only says '板块异动详情页' (sector change detail page) and the return type, without describing columns, meaning of '异动', or any limitations. This is insufficient for a no-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides everything needed. The description does not need to add parameter-specific semantics; baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title '东方财富-行情中心-当日板块异动详情' and adds a URL and return type, but lacks a verb and does not explain what '板块异动详情' entails or distinguish it from sibling tools like stock_board_concept_spot_em. It is more than a pure tautology because of the URL and rtype, but the core purpose is only implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus other stock board tools. It neither states appropriate use cases nor mentions alternatives, leaving the agent to infer selection criteria from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_concept_cons_emBRead-onlyIdempotent
东方财富-沪深板块-概念板块-板块成份 https://quote.eastmoney.com/center/boardlist.html#boards-BK06551 :param symbol: 板块名称或者板块代码 :type symbol: str :return: 板块成份 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 融资融券 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds the data source and return type (pandas.DataFrame) but nothing about pagination, throttling, or result shape. Some added value, but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The summary line is front-loaded, which is good, but the raw URL and docstring :param:/:rtype: scaffolding add clutter rather than information. Adequate but not tightly structured for agent consumption.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool, the description covers source, parameter meaning, and return type, with annotations supplying the behavioral profile. No output schema exists, and the rtype note is a reasonable stand-in. Mostly complete, though endpoint scope/limitations are unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the param burden. It states that symbol accepts either a board name or a board code (板块名称或者板块代码), which is meaningful clarification beyond the bare schema string default of '融资融券'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and source: Eastmoney Shanghai/Shenzhen concept-board constituents (板块成份). The '概念板块' qualifier distinguishes it from the industry-board sibling stock_board_industry_cons_em. It lacks an explicit verb, but an agent can tell what data it returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives such as stock_board_concept_name_em or stock_board_concept_hist_em. It is a bare docstring with no context, exclusions, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_concept_hist_emCRead-onlyIdempotent
东方财富网-沪深板块-概念板块-历史行情 https://quote.eastmoney.com/bk/90.BK0715.html :param symbol: 板块名称 :type symbol: str :type period: 周期;choice of {"daily", "weekly", "monthly"} :param period: 板块名称 :param start_date: 开始时间 :type start_date: str :param end_date: 结束时间 :type end_date: str :param adjust: choice of {'': 不复权,"qfq": 前复权,"hfq": 后复权} :type adjust: str :return: 历史行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| period | No | daily | |
| symbol | No | 绿色电力 | |
| end_date | No | 20221128 | |
| start_date | No | 20220101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the Eastmoney source URL and pandas.DataFrame return type, but does not disclose pagination, data availability, rate limits, or adjustment behavior beyond the parameter choices.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring structure is readable and starts with the data source and subject, but it includes a contradictory duplicate `param period` line and a raw URL that does not help invocation. It is short but not fully clean or front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter historical data tool with no output schema and no schema descriptions, the description omits critical invocation details: date string format, symbol naming conventions, defaults, and correct period semantics. Annotations only cover safety, so the description is not complete enough for reliable parameter use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It lists all five parameters and gives choices for period/adjust, but `period` is mislabeled as '板块名称' and duplicated, date formats/defaults are absent, and symbol expected values are not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first line identifies the source and subject as Eastmoney historical quotes for concept boards, which is specific enough to distinguish it from spot or minute board data. However, it essentially restates the title/name rather than using an explicit verb like 'get historical price data', and it does not name sibling exclusions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as stock_board_concept_hist_min_em, stock_board_industry_hist_em, or stock_board_concept_spot_em. Usage is only implied by the tool name and the phrase '历史行情'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_concept_hist_min_emBRead-onlyIdempotent
东方财富网-沪深板块-概念板块-分时历史行情 https://quote.eastmoney.com/bk/90.BK0715.html :param symbol: 板块名称 :type symbol: str :param period: choice of {"1", "5", "15", "30", "60"} :type period: str :return: 分时历史行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 5 | |
| symbol | No | 长寿药 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds only a source URL and return type, with no additional behavioral context such as data coverage, rate limits, or output format nuances beyond what annotations already imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and includes a structured docstring with :param and :return lines, making it easy to parse. The URL takes some space but is a useful reference. No redundant sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides parameter meanings and return type, which is adequate for a simple historical data tool. However, it does not explain what the period values mean (e.g., 5-minute intervals), how to obtain valid symbol names, or the shape/columns of the returned DataFrame, leaving gaps given the lack of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the input schema has 0% coverage, the description compensates by documenting both parameters: symbol is described as '板块名称' (board name) and period is given an explicit choice set {'1', '5', '15', '30', '60'}. This adds meaningful semantics beyond the naked schema fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '分时历史行情' (minute historical quotes) for concept sectors on Eastmoney, which clearly identifies the resource and data type. However, it lacks an explicit verb like 'get' or 'retrieve' and does not differentiate from sibling tools such as stock_board_concept_hist_em or stock_board_industry_hist_min_em, though the name itself conveys the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of prerequisites, target use cases, or exclusions, leaving the agent to infer usage solely from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_concept_index_thsBRead-onlyIdempotent
同花顺-板块-概念板块-指数数据 https://q.10jqka.com.cn/gn/detail/code/301558/ :param start_date: 开始时间 :type start_date: str :param end_date: 结束时间 :type end_date: str :param symbol: 指数数据 :type symbol: str :return: 指数数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 阿里巴巴概念 | |
| end_date | No | 20250228 | |
| start_date | No | 20200101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey read-only, idempotent, and non-destructive behavior. The description adds the return type (pandas.DataFrame) and a source URL, which provides some context beyond annotations. However, it does not disclose any edge cases, date format expectations, or other behavioral nuances that would be useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and well-structured with a clear docstring format (params and return type). It includes a useful URL and does not contain excessive filler. The repetition of '指数数据' is minor, but overall it is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple data-fetching tool with no output schema, the description covers the essential parameters and return type, but it lacks context about the meaning of the returned index data, expected date formats, and how the symbol parameter interacts with the URL. The defaults provide some hints, but the description still feels incomplete for an agent without domain knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides per-parameter docs, but they are minimal: start_date is '开始时间' (start time), end_date is '结束时间' (end time), and symbol is '指数数据' (index data), which is tautological and does not clarify that symbol is the concept board name (as implied by the default '阿里巴巴概念'). It also fails to specify the date format, though the schema defaults suggest YYYYMMDD. With schema description coverage at 0%, the description does not adequately compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: 同花顺-板块-概念板块-指数数据 (THS concept board index data), and includes a specific URL. It distinguishes from siblings by specifying '指数数据' (index data), distinguishing it from other concept board tools like stock_board_concept_info_ths or stock_board_concept_hist_em. However, it lacks an explicit verb like 'get' or 'retrieve', so it reads more like a title than an action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No mention of prerequisites, alternatives, or scenarios where this is preferred. The description only gives the source and parameters, leaving the agent to infer usage from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_concept_info_thsCRead-onlyIdempotent
同花顺-板块-概念板块-板块简介 http://q.10jqka.com.cn/gn/detail/code/301558/ :param symbol: 板块简介 :type symbol: str :return: 板块简介 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 阿里巴巴概念 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. The description adds no behavioral context beyond that—no mention of rate limits, response size, or any side effects. The only additional detail is the source URL, which is not behavioral. Given the low bar for annotated tools, this still scores low because the description adds essentially no transparency beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, but it is under-specified rather than concise. It repeats '板块简介' multiple times and lacks a clear, structured sentence explaining the tool's purpose. The URL and docstring format are not front-loaded with actionable information. It is shorter than it should be, but not in a way that earns conciseness credit—it omits essential details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain what the returned DataFrame contains, but it only says '板块简介' (sector introduction) with no field details. The parameter semantics are also ambiguous, leaving an agent unable to construct a valid call confidently. Despite the simple one-parameter tool, the description is severely incomplete for selecting and invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the single parameter 'symbol' is 0%, and the description's ':param symbol: 板块简介' is unhelpful and redundant—it says the parameter is the sector introduction, not what values it accepts (e.g., name vs. code). The default '阿里巴巴概念' suggests a name, but the URL contains a code, creating ambiguity. The description fails to clarify the parameter format, making it nearly useless for an agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a title '同花顺-板块-概念板块-板块简介' followed by a URL and docstring, indicating it returns a concept sector introduction. It identifies the resource (concept board) and return type (DataFrame), but lacks an explicit verb like 'get' or 'fetch'. It is somewhat distinguishable from sibling tools by the word '简介' (introduction), but not clearly differentiated from similar THS concept board tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of preferred use cases, exclusions, or relationships to other concept board tools such as stock_board_concept_spot_ths or stock_board_concept_summary_ths. The only context is a URL and parameter docstring, which do not help in tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_concept_name_emARead-onlyIdempotent
东方财富网-行情中心-沪深京板块-概念板块-名称 https://quote.eastmoney.com/center/boardlist.html#concept_board :return: 概念板块-名称 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive. The description adds the return type (pandas.DataFrame) and a source URL, but does not disclose additional behavioral traits like data freshness, column structure, or error behavior. With annotations present, the incremental value is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise lines: a Chinese title, a reference URL, and a return type. It is front-loaded with the source and purpose, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool without an output schema, the description provides the essential return information: a pandas DataFrame of concept board names. It does not list columns or indicate total count, but it is adequate for a basic list retrieval.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema fully covers this (100% coverage). Per rubric, a parameterless tool receives a baseline of 4; the description adds no parameter semantics because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning concept board names from East Money's market center, specifying the source and board type. It distinguishes from siblings like stock_board_industry_name_em by the '概念板块' (concept board) keyword, though the verb ('list', 'retrieve') is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor any context such as prerequisites or typical use cases. It is a self-contained no-parameter fetch, but the description does not state scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_concept_name_thsARead-onlyIdempotent
同花顺-板块-概念板块-概念 http://q.10jqka.com.cn/thshy/ :return: 所有概念板块的名称和链接 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds the source URL and return type (pandas.DataFrame) but does not disclose additional behavioral traits such as rate limits, data freshness, or potential network dependencies. For a simple read-only tool with annotations, this is adequate but not enhanced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a title, source URL, return value description, and return type. Every line serves a purpose, and there is no redundant or filler content. It front-loads the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the full burden of explaining what the tool returns. It clearly states that it returns all concept sector names and links in a pandas.DataFrame, which is sufficient for a simple list tool. It could be slightly more explicit about the exact column names, but the current description is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the input schema is trivially fully covered. The description is not required to explain parameters, and it doesn't attempt to. The baseline for zero-parameter tools is 4, and the description appropriately focuses on what is returned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns '所有概念板块的名称和链接' (names and links of all concept sectors) from 同花顺 (THS), which is a clear verb+resource. The source (THS) and scope (concept sectors) distinguish it from sibling tools like stock_board_concept_name_em and stock_board_industry_name_ths, though it does not explicitly name these alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for obtaining the full list of THS concept sector names and links, providing clear context. However, it offers no explicit guidance on when to use this over other sibling tools (e.g., stock_board_concept_info_ths for details or stock_board_industry_name_ths for industry sectors), nor does it mention exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_concept_spot_emBRead-onlyIdempotent
东方财富网-行情中心-沪深京板块-概念板块-实时行情 https://quote.eastmoney.com/bk/90.BK0818.html :param symbol: 概念板块代码 :type symbol: str :return: 概念板块-实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 可燃冰 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful context: data source (East Money), market scope (沪深京), and pandas DataFrame return type. However, it creates ambiguity about whether 'symbol' accepts a code (BK0818, per the URL) or a name ('可燃冰', per the default), which is a behavioral gap not resolved by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the source and purpose, followed by a tight param/return docstring. Every line contributes (source, parameter, return type). It reads as a raw docstring rather than a crafted prose description, but there is zero redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-parameter, read-only tool with annotations, the description covers source, market scope, param type, and return type. But with no output schema, it should at least hint at key return columns or data shape; it only says '概念板块-实时行情'. It also omits how to discover valid concept board codes, which is a notable completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds meaning by defining symbol as 概念板块代码 (concept board code), type str, and provides a URL example (BK0818). However, the default value is a Chinese name rather than a code, and no valid values or lookup method are given, leaving the parameter semantics partially ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb+resource: it retrieves real-time quotes (实时行情) for concept boards (概念板块) from East Money's market center covering Shanghai/Shenzhen/Beijing boards. The 'spot' vs 'hist'/'cons' suffix pattern among sibling tools implicitly distinguishes it, though it never explicitly names alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus the many related siblings (e.g., stock_board_concept_hist_em for history, stock_board_concept_name_em for board lists). Usage is only implied through the param/return docstring; there are no exclusions, prerequisites, or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_concept_summary_thsCRead-onlyIdempotent
同花顺-数据中心-概念板块-概念时间表 https://q.10jqka.com.cn/gn/ :return: 概念时间表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the data source URL and return type (pandas.DataFrame), which is useful but does not disclose details like data freshness or potential limitations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, containing only the title-like phrase, a URL, and a return type. It is front-loaded and has no fluff, though it might benefit from a clearer statement of functionality. Still, it earns a 4 for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description carries the burden of explaining what the returned DataFrame contains. It merely says '概念时间表' without describing columns, date ranges, or whether it's a summary or historical timeline. The URL is given but not accessible to the agent. This is insufficient for an agent to confidently use this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the schema is empty, so the description correctly implies no input is needed. The baseline for 0 parameters is 4, and the description confirms the tool takes no arguments by not mentioning any.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource (同花顺 concept board time table) and provides a source URL, but it's essentially a noun phrase without a clear verb. It does not differentiate from sibling concept board tools like stock_board_concept_spot_em or stock_board_concept_hist_em, and the term '概念时间表' (concept time table) is vague about what exactly is returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of exclusions or related tools. The description only states what it returns, not the context in which it should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_industry_cons_emBRead-onlyIdempotent
东方财富网-沪深板块-行业板块-板块成份 https://data.eastmoney.com/bkzj/BK1027.html :param symbol: 板块名称或者板块代码 :type symbol: str :return: 板块成份 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 小金属 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the description's lack of safety warnings is acceptable. It adds the data source URL and return type (DataFrame), but no further behavioral context such as pagination, rate limits, or data coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with title, source URL, parameter, and return type. It is well-structured and front-loaded, though the URL and title are slightly repetitive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with strong annotations, the description covers the essential return type and parameter semantics. It is incomplete regarding the structure of the returned DataFrame and doesn't give an example symbol, but it meets a minimum viability for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description coverage, so the description's ':param symbol: 板块名称或者板块代码' is essential. It tells the agent that the symbol can be a name or code, which adds meaning beyond the schema. However, it lacks examples or a note about the default value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as industry sector constituents from Eastmoney (沪深板块-行业板块-板块成份), and the return type clarifies it provides constituent data. It is specific about the domain and distinguishes from sibling tools like stock_board_industry_spot_em, though it lacks an explicit verb such as 'get' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention that this is for constituents as opposed to sector summaries or historical data, nor does it list any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_industry_hist_emBRead-onlyIdempotent
东方财富网-沪深板块-行业板块-历史行情 https://quote.eastmoney.com/bk/90.BK1027.html :param symbol: 板块名称 :type symbol: str :param start_date: 开始时间 :type start_date: str :param end_date: 结束时间 :type end_date: str :param period: 周期;choice of {"日k", "周k", "月k"} :type period: str :param adjust: choice of {'': 不复权,"qfq": 前复权,"hfq": 后复权} :type adjust: str :return: 历史行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| period | No | 日k | |
| symbol | No | 小金属 | |
| end_date | No | 20220401 | |
| start_date | No | 20211201 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint, so the safety profile is covered. The description adds the upstream source and a reference URL, which is useful provenance, but says nothing about rate limits, date-range limits, or whether empty ranges return empty frames. With annotations carrying the load, this is an adequate 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose line is front-loaded and useful, but the body is raw docstring boilerplate with redundant ':type' lines that repeat the schema types, plus a bare URL. Readable but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description only says ':return: 历史行情 / :rtype: pandas.DataFrame', giving no indication of the returned columns (date, open, close, volume, etc.). For a five-parameter historical data tool, the parameter coverage is decent but the return contract is left thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema declares no enums, yet the description documents all five parameters in prose and supplies the allowed values for period ('日k','周k','月k') and adjust ('','qfq','hfq'), which the schema itself lacks. It does not state the expected date string format, so it is not fully self-sufficient, but it adds substantial meaning over the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific data source, scope and resource: '东方财富网-沪深板块-行业板块-历史行情' (Eastmoney CSI industry board historical quotes), which is a clear verb+resource. It does not distinguish itself from close siblings such as stock_board_concept_hist_em, stock_board_industry_hist_min_em or stock_board_industry_spot_em, so an agent must infer the boundary from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use or alternative-routing guidance; the text is purely a parameter docstring. The agent is not told how this differs from the concept-board or minute-level historical siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_industry_hist_min_emBRead-onlyIdempotent
东方财富网-沪深板块-行业板块-分时历史行情 https://quote.eastmoney.com/bk/90.BK1027.html :param symbol: 板块名称 :type symbol: str :param period: choice of {"1", "5", "15", "30", "60"} :type period: str :return: 分时历史行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 5 | |
| symbol | No | 小金属 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which establish the safety profile. The description adds the return type (pandas.DataFrame) and the concrete data source URL, but does not disclose any other behavior such as possible missing data, refresh delays, or what happens for invalid sector names. This is acceptable but minimal given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the purpose line, then a URL and parameter definitions. It is tight and free of fluff, though the inclusion of a raw URL might be seen as non-essential for an automated agent. Overall, it earns its place in a compact format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with no output schema, the description is incomplete. It fails to mention the available time range, data granularity (e.g., 1-minute against which trading sessions), or any example usage. It also lacks a pointer to companion tools for obtaining sector symbols (e.g., stock_board_industry_name_em), which are critical for successful invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions (0% coverage), so the description carries the burden. It does explain symbol as '板块名称' (sector name) and period as allowed choices {'1','5','15','30','60'}, which provides crucial meaning. However, it does not specify exact expected format (e.g., Chinese sector names only) or how to discover valid symbols, leaving the agent partially informed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource (Eastmoney industry boards) and action (retrieve minute-level historical quotes) with the exact data source URL. The term '分时历史行情' explicitly distinguishes this from same-sector daily history (stock_board_industry_hist_em) and spot data (stock_board_industry_spot_em) siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only lists parameters and the return type, with no mention of trade-offs, prerequisites (e.g., obtaining sector names via name-list tools), or exclusions. This leaves the agent to infer usage solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_industry_index_thsCRead-onlyIdempotent
同花顺-板块-行业板块-指数数据 https://q.10jqka.com.cn/thshy/detail/code/881270/ :param start_date: 开始时间 :type start_date: str :param end_date: 结束时间 :type end_date: str :param symbol: 指数数据 :type symbol: str :return: 指数数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 元件 | |
| end_date | No | 20240108 | |
| start_date | No | 20200101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds a source URL and return type (pandas.DataFrame) but no further behavioral details such as data frequency, pagination, or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and not overly verbose, but it is structured like a docstring with a URL and parameter stubs rather than a concise agent-facing summary. It repeats the title without providing a clearer action statement, yet it does not waste words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema, the description fails to explain the output columns, symbol format, data frequency, or what the DataFrame contains. While annotations cover safety, the missing operational details leave the agent under-informed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description's parameter docs are minimal translations ('start time', 'end time', 'index data') that add little beyond the schema's property names and defaults. The symbol parameter format is ambiguous (e.g., code vs. name) and the example URL uses a code while the default is a name, creating confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the resource (同花顺行业板块指数数据) and includes a URL and return type, indicating it retrieves industry index data. However, it lacks an explicit action verb and does not differentiate from sibling tools like stock_board_industry_info_ths or stock_board_industry_hist_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No context about preferred use cases, alternatives, or exclusions is provided, leaving the agent without direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_industry_info_thsCRead-onlyIdempotent
同花顺-板块-行业板块-板块简介 http://q.10jqka.com.cn/gn/detail/code/301558/ :param symbol: 板块简介 :type symbol: str :return: 板块简介 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 半导体 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds only that the return type is a pandas.DataFrame, which is useful but not behavioral context beyond what annotations imply. It does not mention data source quirks, possible failures for non-existent symbols, or any other runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and includes a reference URL and return type, which are potentially useful. However, the parameter section is essentially filler because it repeats the tool's purpose. The structure follows a docstring format and is front-loaded with the tool's name, but the content is minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter, the description is incomplete because it fails to explain the parameter semantics, which is the key piece of information needed to invoke the tool correctly. Annotations and the schema cover safety and the parameter's existence, but the meaning of 'symbol' remains ambiguous. The URL suggests a code format, but the default value is a name, creating confusion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter description is tautological: ':param symbol: 板块简介' repeats the same phrase used for the tool's purpose, and does not clarify what the symbol should represent (e.g., board name or code). The schema provides only a default value '半导体' (semiconductor) and no description. With schema description coverage at 0%, the description fails to compensate, leaving the agent uncertain whether to pass an industry name, a numeric code, or something else.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as returning an industry sector introduction from THS (同花顺), with a reference URL. It is clear from context that this is a data retrieval tool for sector overview information, and it distinguishes itself from sibling tools such as stock_board_industry_summary_ths and stock_board_industry_index_ths. However, it lacks an explicit verb like 'get' or 'return', making it a noun phrase rather than a full behavioral statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no exclusions, and no mention of when not to use it. Sibling tools cover similar THS industry board data (summary, name, index, constituents), but the description does not explain what differentiates this tool from them. The only hint is the title itself, which is insufficient for confident selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_industry_name_emARead-onlyIdempotent
东方财富网-沪深板块-行业板块-名称 https://quote.eastmoney.com/center/boardlist.html#industry_board :return: 行业板块-名称 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the return type and source URL but provides no additional behavioral context such as data update frequency or potential delays.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—three lines covering source, URL, and return type. Every element is useful, with the key information front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with no output schema, the description provides sufficient context: source, resource, and return type. It could specify the exact DataFrame structure, but the simplicity of the tool makes this acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema already fully covers the input space. Per rubric, a zero-parameter tool receives a baseline of 4; the description adds nothing about parameters but also needs no additional clarification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns industry board names from Eastmoney (东方财富网) as a pandas DataFrame. It clearly specifies the resource (industry boards) and differentiates from sibling tools like stock_board_industry_name_ths by naming the data source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool vs. alternatives. Usage is implied only by the name and return type; no alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_industry_name_thsBRead-onlyIdempotent
同花顺-板块-行业板块-行业 http://q.10jqka.com.cn/thshy/ :return: 所有行业板块的名称和链接 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type (pandas.DataFrame), which is useful, but it does not disclose any additional behavioral traits such as pagination, network dependencies, or data freshness, which are relevant for this type of tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief, consisting of just three lines: title line, URL, and return description. It is concise and front-loaded with the resource name. The inclusion of the URL and return type is efficient, but the lack of a verb sentence makes it slightly fragmented.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description adequately specifies the output (all industry sector names and links) and the data structure (pandas.DataFrame). It is sufficient for an agent to know what to expect, though it could mention the scope of industries or time-freshness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description's mention of '所有行业板块的名称和链接' clarifies what the returned data contains, which is helpful even though there is no input schema to elaborate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns all industry sector names and links from 同花顺 (THS), with an explicit URL. The verb is implicit (return/list) but the output is unambiguous. It distinguishes itself by the THS source and the 'industry' category, but does not explicitly differentiate from sibling tools like stock_board_industry_name_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as East Money (EM) or THS concept boards. The description implies it is for industry sector listings but fails to provide context for selection among the many board-related sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_industry_spot_emARead-onlyIdempotent
东方财富网-沪深板块-行业板块-实时行情 https://quote.eastmoney.com/bk/90.BK1027.html :param symbol: 板块名称 or 东财板块代码 :type symbol: str :return: 实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 小金属 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and non-destructive, so the safety profile is fully covered. The description adds that it returns a pandas.DataFrame and includes a source URL, which is helpful context. However, it doesn't disclose potential rate limits, error behavior, or what specific fields appear in the DataFrame, leaving some behavioral ambiguity beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-organized: a title line, a source URL, then a docstring-style param/return block. Every sentence adds value (source for verification, param meaning, return type), and there is no fluff or repetition of schema data.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (1 optional param, no output schema), and the description covers its core purpose, input meaning, and return type. However, it stops at '实时行情' without listing typical columns (e.g., 最新价, 涨跌幅) that would fully inform an agent about the output. Since there is no output schema, the description ideally should enumerate these fields to be truly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides no description for 'symbol', yet the description explicitly defines it as '板块名称 or 东财板块代码' (sector name or Eastmoney code) and specifies the type 'str'. It also indicates the return type. With 0% schema coverage, this fully compensates for the missing structured documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '东方财富网-沪深板块-行业板块-实时行情' (Eastmoney Shanghai/Shenzhen industry sector real-time quotes), specifying the verb (get real-time quotes), resource (industry sectors on SSE/SZSE), and scope. It includes a source URL and distinguishes itself from siblings like stock_board_industry_hist_em (historical) and stock_board_industry_cons_em (constituents) by emphasizing '实时行情'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys clear usage context: to get real-time quotes for an industry sector, provide either a board name or Eastmoney code as the 'symbol' parameter. The default value '小金属' gives an example. It does not explicitly mention alternatives or exclusions, but the '实时行情' wording makes it obvious when this tool is appropriate relative to historical or constituent-focused siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_board_industry_summary_thsARead-onlyIdempotent
同花顺-数据中心-行业板块-同花顺行业一览表 https://q.10jqka.com.cn/thshy/ :return: 同花顺行业一览表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is fully covered. The description adds value by specifying the source URL and the pandas.DataFrame return type, clarifying that the full industry overview list is returned. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact at four lines and front-loads the source and resource. The first line redundantly repeats the title annotation, which costs a small amount of efficiency, but the URL and return-type lines earn their place. Overall well-sized with no filler beyond the title duplication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only summary tool with rich annotations, the description provides adequate context: the data source (THS data center), the exact URL, and the return type. The main gap is not enumerating the columns or contents of the overview table, but '一览表' (overview list) plus the sibling context makes the output scope reasonably clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to explain about inputs. Baseline of 4 applies, and the description appropriately focuses on the output instead of inventing parameter details. No parameter ambiguities exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as the THS industry overview table (同花顺行业一览表) from the THS data center, with an explicit :return: and :rtype: indicating a pandas DataFrame result. While the verb is implied rather than stated, the Chinese title and URL clearly convey a fetch/list operation. It does not explicitly differentiate from sibling industry-board tools like stock_board_industry_spot_em or stock_board_industry_name_ths.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Given many siblings cover industry boards (stock_board_industry_spot_em, stock_board_industry_index_ths, stock_board_concept_summary_ths, etc.), the description offers no contextual hint, exclusions, or alternative recommendations. The usage context is only implicitly inferable from the name and title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_buffett_index_lgBRead-onlyIdempotent
乐估乐股-底部研究-巴菲特指标 https://legulegu.com/stockdata/marketcap-gdp :return: 巴菲特指标 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds minimal context by giving the source URL and return type (pandas.DataFrame), but does not disclose any behavioral traits such as data update frequency, return size, or whether network access is required. This is acceptable given the simple nature of the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very compact, containing only the tool title, URL, and return type in a structured docstring-like layout. It is front-loaded with the most important information, though the formatting is a bit odd with mixed Chinese and technical tokens. It is appropriately sized for a no-parameter read-only tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (no parameters, read-only, simple return), the description is nearly adequate. It states the data source and return type, but does not specify what the DataFrame contains (e.g., time series, columns, historical vs. current). An agent would need external knowledge of the Buffett Indicator to fully understand the output. This is a minor gap for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers the input space. According to the rubric, 0 parameters yields a baseline of 4. The description does not need to add parameter information since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns the 巴菲特指标 (Buffett Indicator) and provides the source URL. It uses an implied 'return' verb, and the tool name itself is explicit. However, it does not explain what the Buffett Indicator is or distinguish it from other valuation indicators, so it is not a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of intended use cases, prerequisites, or exclusions. The description only gives a URL and return type, so the agent receives no decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_cash_flow_sheet_by_quarterly_emBRead-onlyIdempotent
东方财富-股票-财务分析-现金流量表-按单季度 https://emweb.securities.eastmoney.com/PC_HSF10/NewFinanceAnalysis/Index?type=web&code=sh600519#lrb-0 :param symbol: 股票代码;带市场标识 :type symbol: str :return: 现金流量表-按单季度 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SH600519 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety and hazard profile is fully covered by structured data. The description adds only the return type (pandas.DataFrame) and the note that the symbol needs a market identifier, which is useful but modest against an otherwise complete annotation set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first line and the docstring lines are brief. The embedded URL is decorative noise that does not aid invocation, but overall it is compact and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description only states that a DataFrame is returned. For a simple single-parameter data fetcher this is nearly adequate, but it omits the reporting-period coverage and whether delisted symbols are supported, which matters given the delisted sibling tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It does add real meaning with '股票代码;带市场标识' (stock code with a market identifier), telling the agent the required format beyond the bare string type and default in the schema, which directly compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: fetch the East Money cash flow statement for a stock on a quarterly basis, mirroring the tool name. It clearly identifies what data is returned. However, it never distinguishes itself from close siblings like stock_cash_flow_sheet_by_yearly_em or stock_cash_flow_sheet_by_report_em, leaving the 'by_quarterly' distinction to be inferred from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling tools that provide the same data on different periodicities. The agent must infer the selection logic entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_cash_flow_sheet_by_report_delisted_emARead-onlyIdempotent
东方财富-股票-财务分析-现金流量表-已退市股票-按报告期 https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html?type=web&code=SZ000013#/cwfx/xjllb :param symbol: 已退市股票代码;带市场标识 :type symbol: str :return: 现金流量表-按报告期 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SZ000013 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds two useful behavioral details beyond that: the symbol must carry a market prefix ('带市场标识') and the return is a pandas.DataFrame. It does not mention pagination, rate limits, or auth, which are minor for a read-only single-symbol fetch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is compact and front-loaded with the resource identity, followed by param/return metadata. The embedded URL and Sphinx-style tags are somewhat boilerplate, but nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only fetch with a full annotation set, the description covers purpose, the symbol format requirement, and the return type. An agent has enough to invoke it correctly; only explicit sibling routing and any period/date semantics are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden, and it does: 'symbol: 已退市股票代码;带市场标识' tells the agent it is a delisted-stock code that must include a market identifier, which the raw schema does not convey. The default value 'SZ000013' illustrates the expected format. This substantially compensates for the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific source (东方财富), resource (现金流量表 / cash flow statement), scope (已退市股票 / delisted stocks), and granularity (按报告期 / by reporting period). This is enough to distinguish it from siblings like stock_cash_flow_sheet_by_report_em (non-delisted) and stock_cash_flow_sheet_by_quarterly_em/by_yearly_em. It reads as a restated title rather than an independent explanation, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '已退市股票' (delisted stocks) qualifier implicitly tells the agent this tool is only for delisted tickers and routes non-delisted queries to stock_cash_flow_sheet_by_report_em, but this is never stated as an explicit when-to-use rule. There is no exclusion language or named alternative, leaving the routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_cash_flow_sheet_by_report_emCRead-onlyIdempotent
东方财富-股票-财务分析-现金流量表-按报告期 https://emweb.securities.eastmoney.com/PC_HSF10/NewFinanceAnalysis/Index?type=web&code=sh600519#lrb-0 :param symbol: 股票代码;带市场标识 :type symbol: str :return: 现金流量表-按报告期 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SH600519 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only a source URL and ':rtype: pandas.DataFrame', which conveys little about what the returned DataFrame contains (units, number of periods, column semantics). The first line merely restates the annotation title.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The body is short, but the opening line duplicates the annotation title and the URL is raw context rather than actionable guidance. The param/return Sphinx-style lines are compact and front-loaded, so it is efficient without being especially well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool whose annotations cover safety and whose return type is stated, this is roughly adequate. The meaningful omissions are the semantics of '按报告期' versus the quarterly/yearly variants and any hint about the units or breadth of the returned financial data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it partially does: ':param symbol: 股票代码;带市场标识' tells the agent the symbol needs a market prefix (e.g., the SH600519 default visible in the schema/URL). It stops short of specifying the exact format, accepted market prefixes, or an example within the param line, leaving real gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope: East Money (东方财富) stock cash flow statement (现金流量表) for a financial analysis, organized by report period (按报告期). This is more than a restatement of the name. However, it never explains how 'by report period' differs from the sibling tools stock_cash_flow_sheet_by_quarterly_em and stock_cash_flow_sheet_by_yearly_em, so an agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the quarterly/yearly cash flow siblings that are the natural alternatives. The agent is left to infer selection entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_cash_flow_sheet_by_yearly_emBRead-onlyIdempotent
东方财富-股票-财务分析-现金流量表-按年度 https://emweb.securities.eastmoney.com/PC_HSF10/NewFinanceAnalysis/Index?type=web&code=sh600519#lrb-0 :param symbol: 股票代码;带市场标识 :type symbol: str :return: 现金流量表-按年度 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SH600519 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context: the upstream source (东方财富) and the return type (pandas.DataFrame). It does not disclose pagination, date coverage, or any auth/rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and the docstring is short, but the raw source URL line and the :rtype/:return boilerplate add little beyond restating the return type. Mostly efficient with some filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with annotations and no output schema, the definition is minimally complete: it states source, scope (yearly) and return type. It omits what columns/periods the DataFrame contains and the symbol format, which an output schema would otherwise have covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden, and it does add the key constraint that symbol must include a market prefix (带市场标识). However it gives no format example or list of accepted market prefixes, so it only partially compensates for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (financial-analysis fetch), resource (cash flow statement, 现金流量表) and a distinguishing scope (按年度, by year), with the data source East Money identified. It is separable from siblings like stock_cash_flow_sheet_by_quarterly_em and stock_cash_flow_sheet_by_report_em, though it never explicitly states retrieval as the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this yearly variant versus the quarterly or by-report siblings, and no prerequisites beyond the inline note that the symbol needs a market identifier. The agent gets no routing help across the many financial-statement tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_cg_equity_mortgage_cninfoBRead-onlyIdempotent
巨潮资讯-数据中心-专题统计-公司治理-股权质押 https://webapi.cninfo.com.cn/#/thematicStatistics :param date: 开始统计时间 :type date: str :return: 股权质押 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210930 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds that it returns a pandas.DataFrame and describes the date parameter, but it does not disclose behavioral traits such as how the date filters data, pagination, or any special handling. It does not contradict annotations, but adds minimal value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and contains only essential information: source, parameter, and return type. It avoids unnecessary fluff, but the structure mixes a Chinese title, a URL, and docstring syntax, which is not perfectly coherent. It is appropriately sized but could be better organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter and no output schema, the description should provide more detail about the returned data's fields or scope. It only says '股权质押' without explaining what columns or coverage the result includes. This makes it hard for an agent to determine if the tool suits a user's specific need, especially with many similar sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explain the 'date' parameter. It states '开始统计时间' (start statistical time) and specifies it as a string, which gives basic meaning. However, it does not explicitly state the expected format (e.g., YYYYMMDD) beyond the default value, leaving some ambiguity for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving equity pledge (股权质押) data from Cninfo's thematic statistics under corporate governance. The resource and domain are specific, and the name distinguishes it from sibling tools like stock_cg_guarantee_cninfo. However, it lacks an explicit action verb like 'retrieve' or 'fetch', making it slightly less direct than ideal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of excluded cases, prerequisites, or recommended contexts. The only context is the category in the title, which is more about purpose than usage, leaving the agent without clear decision-making information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_cg_guarantee_cninfoBRead-onlyIdempotent
巨潮资讯-数据中心-专题统计-公司治理-对外担保 https://webapi.cninfo.com.cn/#/thematicStatistics :param symbol: choice of {"全部", "深市主板", "沪市", "创业板", "科创板"} :type symbol: str :param start_date: 开始统计时间 :type start_date: str :param end_date: 结束统计时间 :type end_date: str :return: 对外担保 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部 | |
| end_date | No | 20210927 | |
| start_date | No | 20180630 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering safety and side-effect posture. The description adds the pandas.DataFrame return type and the source URL, giving some context beyond annotations, but it does not disclose potential latency, data freshness, pagination, or how the date range affects results. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring of about 10 short lines, front-loading the data source and URL. It avoids fluff, presents parameters in a clear list, and gives return type. It earns a high score for efficiency, though it could be slightly more narrative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has three optional parameters, strong annotations, and no output schema. The description provides the source URL, param semantics, and return type, which is sufficient for a basic invocation. However, the return value is only labeled as '对外担保' without describing columns, rows, or behavior across market segments, and date format is not explicit. This is adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description fully compensates for parameter meaning. It explains 'symbol' with a specific choice list (全部, 深市主板, etc.) and defines start_date and end_date as '开始统计时间' and '结束统计时间'. However, it does not specify the date format (e.g., YYYYMMDD) beyond the defaults, which is a minor gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool retrieves external guarantee (对外担保) data from CNInfo's data center, with the first line naming the specific thematic statistics category. The tool name and param descriptions reinforce this, but there is no explicit verb phrase like 'Fetch' or 'Get' and no direct comparison to sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention related tools like stock_cg_equity_mortgage_cninfo or stock_cg_lawsuit_cninfo, nor does it define the appropriate use case beyond the raw parameter descriptions. The URL is given, but no selection criteria or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_cg_lawsuit_cninfoBRead-onlyIdempotent
巨潮资讯-数据中心-专题统计-公司治理-公司诉讼 https://webapi.cninfo.com.cn/#/thematicStatistics
:param symbol: choice of {"全部", "深市主板", "沪市", "创业板", "科创板"} :type symbol: str :param start_date: 开始统计时间 :type start_date: str :param end_date: 结束统计时间 :type end_date: str :return: 公司诉讼数据;若源站无记录则返回空 DataFrame :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部 | |
| end_date | No | 20210927 | |
| start_date | No | 20180630 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds one genuinely useful behavioral fact beyond the annotations: it returns an empty DataFrame when the source has no records. It says nothing about rate limits, auth, or query constraints, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is compact and front-loads the source/endpoint identification before the parameter block. There is minor redundancy between the title and the first line, but nothing is padded and the structure is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter read-only query with no output schema, the definition covers the essentials plus a return-type note. However, it omits the date string format and gives no hint about the shape or columns of the returned DataFrame, which the absent output schema would otherwise have to supply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and no parameter has an enum, so the description carries real weight here: it supplies the five allowed values for symbol ({'全部','深市主板','沪市','创业板','科创板'}) and labels the two date bounds. The only shortfall is that the date format (implied YYYYMMDD by the defaults) is never stated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource: company-litigation data ('公司诉讼') from the CNINFO data center's corporate-governance thematic statistics. That is concrete and actionable, but it does not differentiate this tool from closely related CNINFO corporate-governance siblings such as stock_cg_equity_mortgage_cninfo or stock_cg_guarantee_cninfo, leaving the agent to infer the distinction from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative tool. The description lists source and parameters only, so an agent gets no help deciding whether this or a sibling corporate-governance endpoint is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_changes_emARead-onlyIdempotent
东方财富-行情中心-盘口异动 https://quote.eastmoney.com/changes/ :param symbol: choice of {'火箭发射', '快速反弹', '大笔买入', '封涨停板', '打开跌停板', '有大买盘', '竞价上涨', '高开5日线', '向上缺口', '60日新高', '60日大幅上涨', '加速下跌', '高台跳水', '大笔卖出', '封跌停板', '打开涨停板', '有大卖盘', '竞价下跌', '低开5日线', '向下缺口', '60日新低', '60日大幅下跌'} :type symbol: str :return: 盘口异动 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 大笔买入 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds the data source (East Money) and return type (pandas.DataFrame) but does not disclose additional behaviors such as latency, data freshness, or any caveats. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a well-structured docstring with a title, URL, parameter specification, and return type. It is compact and front-loaded with the tool's identity, though the line breaks and repeated info (title and URL) slightly reduce precision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description indicates the return is a pandas.DataFrame but does not detail columns or contents beyond '盘口异动'. However, the tool has a single well-documented parameter and strong annotations, making it reasonably complete for a simple retrieval query. The lack of column details is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only lists a 'symbol' string with a default, but the description provides an exhaustive list of 22 valid choices and explicitly states the parameter's meaning and type. This fully compensates for the schema's lack of enum or description, giving the agent complete information to pass a valid parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 盘口异动 (market changes) data from East Money's 行情中心, with a URL and a specific list of supported symbols. The name stock_changes_em and title make the resource clear, though it doesn't explicitly differentiate from sibling stock data tools beyond the domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by listing valid symbol choices (e.g., '大笔买入', '封涨停板'), but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusion criteria. The purpose is clear enough that an agent would infer when to use it, but there is no direct comparison with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_circulate_stock_holderBRead-onlyIdempotent
新浪财经-股东股本-流通股东 P.S. 特定股票特定时间只有前 5 个;e.g., 000002 https://vip.stock.finance.sina.com.cn/corp/go.php/vCI_CirculateStockHolder/stockid/600000.phtml :param symbol: 股票代码 :type symbol: str :return: 新浪财经-股东股本-流通股东 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive, so the safety profile is covered. The description adds one genuinely useful behavioral fact beyond them: only the top 5 shareholders are returned for a given stock/date, which sets expectations about truncation. It says nothing about whether data is latest-only or historical, or about rate limiting.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The tool's actual identity is front-loaded, but the entry is padded with an example URL and Sphinx-style ':param/:type/:return/:rtype' boilerplate whose return line simply restates the title. There is redundancy rather than bloat, so it is tolerable but not efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema, the description should at least say what the returned DataFrame contains; it only names the same section label plus 'pandas.DataFrame'. The top-5 limitation is helpful, but column semantics and temporal scope are left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description carries the burden and only partly discharges it: ':param symbol: 股票代码' confirms the parameter is an A-share ticker, and the embedded examples (000002, 600000 and the 600000.phtml URL) imply a 6-digit numeric format that the schema's bare string type with default '600000' does not spell out. Useful but minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first line plus the example URL identify a specific resource: the circulating/tradable shareholder register of a given A-share, scraped from Sina Finance. That is more specific than a bare label, but the description never distinguishes this from close siblings such as stock_main_stock_holder, stock_fund_stock_holder, or the gdfx holder tools, so routing still requires name inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no named alternative, despite many neighbouring shareholder/holding-ratio tools in the sibling list. The only contextual hint is the P.S. that data is limited to the top 5 holders per stock per period, which is a data constraint rather than usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_classify_sinaARead-onlyIdempotent
按 symbol 分类后的股票 http://vip.stock.finance.sina.com.cn/mkt/ :param symbol: choice of {'申万行业', '申万二级', '热门概念', '地域板块'} :type symbol: str :return: 分类后的股票 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 热门概念 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, idempotent, and non-destructive. The description adds the source URL (Sina Finance) and the return type (pandas.DataFrame), but does not disclose data freshness, pagination, or column details. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, with a short purpose line, source URL, and docstring. It is well-structured for a simple tool, though the initial line is a fragment rather than a full sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of safety annotations, the description covers the essential invocation details (valid parameters) and the return type. It doesn't include an output schema, but none is provided; it's adequate but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no description for symbol, but the docstring compensates by listing valid categorical values and the default. This is essential for correct invocation, so the description adds significant meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns stocks classified by a specified classification system (Shenwan industry, second-level, hot concepts, regional sectors). It clearly names the resource and options, distinguishing it from broader stock list tools, but the verb 'list/retrieve' is implicit and the phrase '按 symbol 分类后的股票' is slightly ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description enumerates the four valid symbol values, giving the agent a clear sense of when this tool is applicable (e.g., when needing Shenwan industry constituents). However, it does not explicitly state when to prefer it over alternatives like stock_sector_spot or stock_board_concept_spot.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_comment_detail_scrd_desire_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-千股千评-市场热度-市场参与意愿 https://data.eastmoney.com/stockcomment/stock/600000.html :param symbol: 股票代码 :type symbol: str :return: 市场热度-市场参与意愿 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds that it returns a pandas DataFrame from a specific East Money URL, which implies a web data fetch, but it does not disclose potential rate limits, authentication needs, or data update frequency. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, using a docstring format with source URL, parameter, and return sections. It is front-loaded with the title and contains no unnecessary fluff, though the return line repeats the title wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool, the description gives the source, parameter, and return type, which is adequate. However, without an output schema, it does not describe the DataFrame's columns or the nature of '市场参与意愿' beyond the label, leaving an agent uncertain about the exact data structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a string 'symbol' with a default and no description. The description compensates by explaining that symbol is a stock code (股票代码) and provides an example URL with '600000'. However, it does not specify the expected format (e.g., six-digit with leading zeros) or acceptable exchanges, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as fetching East Money's 'market heat - market participation willingness' data for a given stock symbol, with a source URL and return type. It distinguishes itself from sibling stock_comment_detail tools by specifying the data category (desire/participation willingness), though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many sibling stock_comment_detail tools (e.g., stock_comment_detail_scrd_focus_em). It does not state prerequisites, symbol format requirements, or whether it should be preferred over other market-heat tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_comment_detail_scrd_focus_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-千股千评-市场热度-用户关注指数 https://data.eastmoney.com/stockcomment/stock/600000.html :param symbol: 股票代码 :type symbol: str :return: 市场热度-用户关注指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the return type (DataFrame) and a source URL, which gives some context, but does not disclose pagination, rate limits, or other behavioral aspects. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with 5 lines, front-loading the source and URL. It is efficient and free of fluff, though the first line duplicates the title from annotations, which is slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description explains that it returns a DataFrame with the market heat/user interest index. For a single-parameter retrieval tool with clear annotations, this is largely sufficient, though it could specify the DataFrame's columns or whether historical data is included.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description bears the burden. It defines `symbol` as '股票代码' (stock code) with type str and includes a URL example (600000), providing basic semantic meaning. However, it does not specify the expected format, market prefix, or constraints, leaving some ambiguity for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the specific data source ('东方财富网-数据中心-特色数据-千股千评-市场热度-用户关注指数') and return type (pandas.DataFrame), making the tool's function clear. However, it lacks an explicit verb like 'get' or 'fetch', and the first line is essentially a breadcrumb phrase. It distinguishes from siblings by naming the exact metric (user attention index).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 related tools such as stock_comment_detail_scrd_desire_em or stock_comment_em. The description only states parameters and return type, leaving the agent to infer usage context without any comparative direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_comment_detail_zhpj_lspf_emCRead-onlyIdempotent
东方财富网-数据中心-特色数据-千股千评-综合评价-历史评分 https://data.eastmoney.com/stockcomment/stock/600000.html :param symbol: 股票代码 :type symbol: str :return: 综合评价-历史评分 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), which is modest extra context. It does not disclose rate limits, pagination, or data content specifics, but with annotations present, the bar is lower and the added value is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the title, followed by a URL and a clean param/return docstring. It has no unnecessary fluff, but the title is repeated verbatim in the description, which is slightly wasteful. Overall it is compact and structured, though not perfectly sharp.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description is the sole source for understanding the return value. It only repeats the title as the return description, which is circular and uninformative. It does not explain what historical rating columns are included, the data granularity, or how the symbol maps to the URL. For a niche Chinese financial data tool, this is insufficient context for an agent to select and use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only provides a Chinese label '股票代码' and type 'str', which is redundant with the parameter name and schema type. It does not explain the format (e.g., 6-digit code), how to specify exchange, or what values are valid. This is minimal compensation for a zero-coverage schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the specific data product: 东方财富网-数据中心-特色数据-千股千评-综合评价-历史评分. This distinguishes it from sibling stock_comment_detail tools by specifying the '综合评价-历史评分' subcategory. However, it lacks an explicit verb like 'retrieves' or 'gets', and reads more as a title than a functional statement, preventing a score of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention when to choose this over stock_comment_em or other stock_comment_detail_* variants, nor any exclusions or prerequisites. The only context is a URL and parameter documentation, which offer no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_comment_detail_zlkp_jgcyd_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-千股千评-主力控盘-机构参与度 https://data.eastmoney.com/stockcomment/stock/600000.html :param symbol: 股票代码 :type symbol: str :return: 主力控盘-机构参与度 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and the data source URL, but does not disclose behavioral details such as network dependency, potential website changes, or response format caveats. This does not contradict annotations, but adds limited value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with clear sections (source, URL, param, return, rtype). The first line repeats the title already present in the annotations, which is mildly redundant, but overall the description is efficiently structured and front-loaded with the key identity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool, the description covers the essential parameter and return type, but lacks detail about the DataFrame columns, index, or the nature of the data (e.g., historical vs current). There is no output schema to compensate, so the description should provide more context about what the returned data represents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides zero description coverage, but the description compensates by documenting the sole parameter: ':param symbol: 股票代码' with type str. This gives meaningful semantics beyond the bare schema. It could be more precise about the expected format (e.g., 6-digit code, leading zeros), but the default value '600000' provides a concrete example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source (东方财富网), the specific data category (主力控盘-机构参与度), and the return type, making it clear this tool retrieves institutional participation data for a stock. However, it lacks an explicit action verb like 'get' or 'fetch', and does not directly differentiate itself from sibling tools beyond the feature name in the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as stock_comment_detail_scrd_desire_em or stock_comment_em. The description only provides the source URL and parameter documentation, leaving the agent to infer usage context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_comment_emCRead-onlyIdempotent
东方财富网-数据中心-特色数据-千股千评 https://data.eastmoney.com/stockcomment/ :return: 千股千评数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. However, the description adds only the source URL and return type (pandas.DataFrame), and does not disclose behavioral traits such as the scope of data, whether it covers all stocks, or any potential rate limits. It adds minimal value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely terse—just a title, a URL, and return type—but this is under-specification, not concise clarity. It does not front-load a purpose, and the structure (label, link, return) is not an effective description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description must explain what the returned data actually contains. It merely says '千股千评数据' (thousand-stocks thousand-comments data) and that it returns a DataFrame, without naming columns, data coverage, or semantics. This is insufficient for an agent to understand what it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty, indicating zero parameters. According to the rubric, 0 params sets a baseline of 4. The description correctly implies no parameters are needed by not mentioning any, so no further parameter-specific explanation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a label and a URL: '东方财富网-数据中心-特色数据-千股千评' followed by a source link and return type. It does not state a clear action (e.g., 'retrieve', 'fetch') or explain what the tool accomplishes beyond naming a data source. It also does not distinguish itself from sibling tools like stock_comment_detail_*.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many similar stock_comment_detail_* siblings, nor any mention of alternatives, prerequisites, or exclusions. The description is purely descriptive with zero usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_concept_cons_futuBRead-onlyIdempotent
富途牛牛-主题投资-概念板块-成分股 https://www.futunn.com/quote/sparks-us :param symbol: 板块名称;choice of {"巴菲特持仓", "佩洛西持仓", "特朗普概念股"} :type symbol: str :return: 概念板块 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 特朗普概念股 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnly, idempotent, open-world, non-destructive), so the bar is lowered. The description usefully discloses the data provider and that the return is a pandas.DataFrame, but adds nothing about rate limits, freshness, or data coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is compact and front-loads the resource name, then gives the param, type and return type. Every line is functional, though the bare URL is only marginally useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with no output schema, the description covers the resource, source, accepted values and return type, and annotations cover safety. Only the exact columns/scope of the returned DataFrame remain unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema declares no enum, so the description carries the parameter burden. It compensates by enumerating the valid symbol values (巴菲特持仓, 佩洛西持仓, 特朗普概念股), which is essential information absent from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (概念板块成分股 = concept-sector constituent stocks) and its source (富途牛牛/主题投资, with a URL). It is clear what data is returned, though there is no explicit verb and no differentiation from similar siblings such as stock_board_concept_cons_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, and the many sibling concept/board tools (e.g. stock_board_concept_cons_em, stock_board_concept_name_em) are never mentioned. Usage is only implied by the topic description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_concept_fund_flow_histBRead-onlyIdempotent
东方财富网-数据中心-资金流向-概念资金流-概念历史资金流 https://data.eastmoney.com/bkzj/BK0574.html :param symbol: 概念名称 :type symbol: str :return: 概念历史资金流 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 数据要素 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that it returns a pandas.DataFrame and specifies the parameter as a concept name, but does not disclose additional behaviors like data range, frequency, or limitations. With annotations covering the safety aspect, this is acceptable but not enriched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a docstring-style block with title, URL, and param/return annotations. It is not front-loaded with a clear single sentence, and the URL is arguably unnecessary for an agent. However, it is not overly long and each line carries some information, so it earns a middle score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain the return value. It states the return type is 'pandas.DataFrame' and describes it as '概念历史资金流' (concept historical capital flow), but does not detail the columns or the historical range. Given the tool's simplicity, this may be sufficient for an agent to infer the output, but it lacks explicit column information that would help with consuming the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter 'symbol' with zero description coverage. The description compensates by stating ':param symbol: 概念名称' (concept name), which is exactly what the parameter expects. It also provides a default value ('数据要素') in the schema, giving concrete context. For a single-parameter tool, the description adequately explains the parameter's meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: '东方财富网-数据中心-资金流向-概念资金流-概念历史资金流' (Eastmoney concept historical capital flow), and the return type 'pandas.DataFrame' indicates it fetches data. The tool name also confirms the purpose. However, it lacks an explicit verb like 'get' or 'retrieve', and the title is more of a navigation path than a sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description does not mention any conditions, exclusions, or recommend other tools (e.g., stock_sector_fund_flow_hist for industry sectors). Usage is only implied by the name and title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_cy_a_spot_emARead-onlyIdempotent
东方财富网-创业板-实时行情 https://quote.eastmoney.com/center/gridlist.html#gem_board :return: 实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds the data source URL and return type (pandas DataFrame), which provides useful context but does not disclose additional behavioral traits like data update frequency, potential limitations, or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, containing only the essential information: data source, market, return type, and a reference URL. Every line earns its place, and the key purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description is fairly complete. It states what it returns (real-time quotes), the source (East Money), and the specific market (ChiNext). It could mention that it covers all ChiNext stocks, but that is implied by the board scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty. The description correctly reflects a no-parameter operation. With 0 parameters, the baseline is 4, and the description adequately avoids introducing any ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing real-time quotes for the ChiNext (创业板) market from East Money, with a specific URL source. It distinguishes from sibling spot tools by naming the specific board, though it does not explicitly list alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided regarding when to use this tool versus other similar spot tools (e.g., stock_sh_a_spot_em, stock_sz_a_spot_em). The description lacks any context about selection criteria or exclusion cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_cyq_emBRead-onlyIdempotent
东方财富网-概念板-行情中心-日K-筹码分布 https://quote.eastmoney.com/concept/sz000001.html :param symbol: 股票代码 :type symbol: str :param adjust: choice of {"qfq": "前复权", "hfq": "后复权", "": "不复权"} :type adjust: str :return: 筹码分布 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| symbol | No | 000001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description's burden is lower. It adds the source URL and return type (pandas.DataFrame) but does not disclose potential rate limits, error behavior, or whether the symbol parameter expects a market prefix (despite the URL example 'sz000001'). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a docstring format with source URL, parameter definitions, and return type. Every line contributes useful information, though it could be improved by front-loading a one-sentence summary before the technical details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description's 'return: 筹码分布' is the only return value documentation, lacking column details or behavior for invalid inputs. It covers basic invocation (symbol, adjust) but leaves gaps in data semantics and edge cases, making it adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates by defining both parameters: 'symbol' as stock code and 'adjust' with explicit choices ('qfq', 'hfq', ''). This adds meaningful value over the bare schema, though the exact format for 'symbol' (e.g., 6-digit code vs. with prefix) remains ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as providing chip distribution (筹码分布) for concept boards in the Eastmoney daily K-line market center, with a source URL and parameter documentation. It clearly names the resource and scope, though it lacks an explicit verb like '获取' or 'query' to indicate an action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as stock_board_concept_hist_em or stock_zh_a_hist. There is no mention of prerequisites, market prefixes, or typical use cases; the description only documents parameters without selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_dividend_cninfoCRead-onlyIdempotent
巨潮资讯-个股-历史分红 https://webapi.cninfo.com.cn/#/company?companyid=600009 :param symbol: 股票代码 :type symbol: str :return: 历史分红 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600009 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds only the return type (pandas.DataFrame) and a URL, but no behavioral traits such as required authentication, rate limits, or coverage limitations. Since the schema lacks an output description, the return type is mildly helpful, but overall the description adds little beyond what annotations and schema already convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and thus concise, but its structure is fragmented: a Chinese title, a URL, then a docstring block. It lacks a front-loaded clear sentence stating the tool's primary function. The information is present but not organized in a way that makes it immediately scannable for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, read-only), the description covers the basic inputs and return type. However, it does not contextualize the data source, the meaning of the default value (600009), how this relates to other dividend tools, or what columns/fields the returned DataFrame contains. Without an output schema, this omission is significant for an agent deciding whether the tool meets its needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description's param docstring says 'symbol: 股票代码' (stock code), which duplicates the schema's parameter name and default value. It does not explain the format, required length, exchange, or any example. With schema description coverage at 0%, the description should compensate, but it only restates the obvious. No additional meaning is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource (historical dividends for an individual stock from cninfo) but lacks a clear action verb. The title '巨潮资讯-个股-历史分红' is essentially repeated, and while the intent is evident, it does not explicitly say 'retrieve' or 'get'. It distinguishes the data source but does not differentiate from sibling tools dealing with dividends.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description does not mention any exclusions, prerequisites, or competing tools. The URL is given but not explained as a reference. The intended use case (fetching historical dividends) is only implicit from the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_dxsyl_emBRead-onlyIdempotent
东方财富网-数据中心-新股申购-打新收益率 https://data.eastmoney.com/xg/xg/dxsyl.html :return: 打新收益率数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only, idempotent, and non-destructive behavior, so the description's job is lighter. It adds the return type (pandas.DataFrame) and the source URL, which are useful context beyond annotations. However, it does not mention any network dependency or scraping behavior, which is acceptable given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the data domain, followed by the source URL and return type. All lines contribute meaningful information, though the URL on a separate line and the docstring-style annotations add minor clutter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter data retrieval tool, the description covers the essential aspects: what data (IPO subscription yield), where from (Eastmoney URL), and what is returned (pandas.DataFrame). It lacks detailed column descriptions, but given the simplicity and annotations, it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameter semantics. The baseline of 4 applies because there are no parameter fields to describe.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as Eastmoney's new stock subscription yield data (打新收益率) and includes a specific URL, which distinguishes it from other IPO-related tools like stock_ipo_benefit_ths. Although it lacks an explicit verb like 'retrieve', the intent is clear from the context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternative IPO data sources such as stock_ipo_declare_em or stock_ipo_benefit_ths. The tool is implicitly for fetching this specific dataset, but there is no explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_dzjy_hygtjARead-onlyIdempotent
东方财富网-数据中心-大宗交易-活跃 A 股统计 https://data.eastmoney.com/dzjy/dzjy_hygtj.html :param symbol: choice of {'近一月', '近三月', '近六月', '近一年'} :type symbol: str :return: 活跃 A 股统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 近三月 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), but does not disclose other behavioral traits such as rate limits, pagination, or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and organized as a docstring: purpose stated first, then URL and parameter documentation. Every element is useful, though the URL is additional context rather than strictly necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only data retrieval, the description provides sufficient information: data source, dataset name, allowed parameter values, and return type. The lack of column details in the returned DataFrame is a minor gap since no output schema is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides no description for the 'symbol' parameter, but the description explicitly lists the four allowed values ('近一月', '近三月', '近六月', '近一年') and its type (str). This fully compensates for the schema's 0% coverage and is essential for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the data source (东方财富网-数据中心-大宗交易) and the specific dataset (活跃 A 股统计), and mentions the return type (DataFrame). However, it lacks an explicit verb like 'fetch' or 'get' and does not differentiate itself from sibling block-trade statistics tools such as stock_dzjy_mrmx or stock_dzjy_sctj.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus the many sibling block-trade tools. There are no stated prerequisites, conditions, or exclusions, leaving the agent to infer usage solely from the dataset name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_dzjy_hyyybtjARead-onlyIdempotent
东方财富网-数据中心-大宗交易-活跃营业部统计 https://data.eastmoney.com/dzjy/dzjy_hyyybtj.html :param symbol: choice of {'当前交易日', '近3日', '近5日', '近10日', '近30日'} :type symbol: str :return: 活跃营业部统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 近3日 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the URL and the parameter semantics (time-range choices), but no additional behavioral traits such as data freshness, pagination, or limitations. This is acceptable but not extensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: title, URL, parameter specification, return type. Every line contributes useful information with no repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and rich annotations, the description provides enough to invoke it correctly. It lacks column details or data examples for the returned DataFrame, and there is no output schema, but the URL and parameter choices give adequate context for a straightforward data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only lists symbol as a string with a default, but the description's docstring enumerates the exact permitted values ('当前交易日', '近3日', '近5日', '近10日', '近30日') and specifies the return type. This fully compensates for the 0% schema description coverage, making the parameter usage unambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source (Eastmoney), the domain (block trades), and the specific data set (active business department statistics). It is clear enough to distinguish from generic data tools, though it does not explicitly differentiate from sibling block trade statistics tools like stock_dzjy_hygtj or stock_dzjy_yybph. The verb is implied but the resource is specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides the parameter choices (time ranges) but does not state when to prefer this tool over alternatives, nor any exclusions or prerequisites. There is no guidance on scenarios where this specific statistic is appropriate versus other block trade data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_dzjy_mrmxBRead-onlyIdempotent
东方财富网-数据中心-大宗交易-每日明细 https://data.eastmoney.com/dzjy/dzjy_mrmx.html :param symbol: choice of {'A股', 'B股', '基金', '债券'} :type symbol: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :return: 每日明细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 基金 | |
| end_date | No | 20220104 | |
| start_date | No | 20220104 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and source URL, but does not disclose behaviors like date range inclusivity, pagination, or what specific columns are returned. It is consistent with annotations, adding marginal value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured as a docstring with source, parameters, return type, and is free of unnecessary elaboration. It is compact and scannable, though it includes a URL that could be considered extra but is useful as a reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderate-complexity data retrieval tool with no output schema, the description covers the basic purpose and parameters, but lacks date format details, return column information, and differentiation from closely related sibling tools. It is minimally viable but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists symbol with explicit choices {'A股', 'B股', '基金', '债券'} and identifies start_date/end_date as 开始/结束日期. However, it omits the date format (though schema defaults imply YYYYMMDD) and does not specify whether dates are inclusive or if there are constraints on range.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this tool retrieves 大宗交易每日明细 (block trade daily details) from Eastmoney's data center, with a URL and return type. It distinguishes from sibling tools like stock_dzjy_mrtj (每日统计) by the explicit '每日明细' label, though it lacks an explicit verb like 'get' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention the sibling stock_dzjy_* tools (e.g., mrtj, hygtj, sctj) or explain scenarios where daily details are appropriate over daily statistics. Usage is only implied by the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_dzjy_mrtjCRead-onlyIdempotent
东方财富网-数据中心-大宗交易-每日统计 https://data.eastmoney.com/dzjy/dzjy_mrtj.html :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :return: 每日统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | 20220105 | |
| start_date | No | 20220105 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and the source URL, which is useful context. However, it does not describe data contents, date handling, or potential limitations like pagination, making the behavioral disclosure minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise but formatted as a docstring with a URL, parameter lines, and return info. It is not front-loaded with a clear summary sentence; the title line serves as a label. Each part is useful, but the structure is slightly clunky.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain what the DataFrame contains. It merely states '每日统计' without listing columns, meaning of data, or any example. Given the tool's apparent complexity (daily block trade statistics), this is a significant omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides Chinese labels (开始日期, 结束日期) that add meaning beyond the schema's plain 'string' types. However, it does not specify the expected date format (beyond the default '20220105') or other constraints, leaving room for interpretation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: Eastmoney's block trade daily statistics, and includes a direct URL. It lacks an explicit action verb but implies a data retrieval function. It does not differentiate from sibling tools like stock_dzjy_sctj, but the name and resource are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The phrase '每日统计' implies daily aggregate stats, but sibling tools are not mentioned, and no exclusions or alternative references are provided. The parameter docstring gives basic input instructions but no contextual usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_dzjy_sctjARead-onlyIdempotent
东方财富网-数据中心-大宗交易-市场统计 https://data.eastmoney.com/dzjy/dzjy_sctj.html :return: 市场统计表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior, so the description only needs to add extra context. It adds the source URL and the return type (pandas.DataFrame), which are useful but minimal. No additional behavioral traits (e.g., data freshness, pagination, or error conditions) are disclosed, but the safety profile is well-covered by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single line naming the data source, the URL, and a return type annotation. Every element is purposeful, and it is front-loaded with the tool's identity. There is no redundancy or verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read-only tool, the description covers the essential functional context: the source (East Money), the specific page, and the output type. The term '市场统计表' is somewhat vague regarding exact columns or time coverage, but given the simple interface and good annotations, the tool is adequately specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description carries no parameter documentation burden. The baseline for 0-parameter tools is 4, and no further parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as the East Money block trade market statistics table (东方财富网-数据中心-大宗交易-市场统计) and specifies the return type as a pandas DataFrame. However, it lacks an explicit verb like 'fetches' or 'returns' and does not explicitly differentiate from sibling block-trade tools such as stock_dzjy_mrtj or stock_dzjy_hygtj, though the '市场统计' scope provides some distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its alternatives. It merely states the data source and output type without mentioning any relevant context, such as 'use this for overall block trade market summary' or 'for daily statistics use stock_dzjy_mrtj'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_dzjy_yybphARead-onlyIdempotent
东方财富网-数据中心-大宗交易-营业部排行 https://data.eastmoney.com/dzjy/dzjy_yybph.html :param symbol: choice of {'近一月', '近三月', '近六月', '近一年'} :type symbol: str :return: 营业部排行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 近三月 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is clear. The description adds the allowed symbol choices and pandas DataFrame return type, but no further behavioral details such as pagination or request behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the Chinese title, followed by a URL and docstring. Every sentence serves a purpose with no unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, the description covers parameter choices and return type. It lacks column details or a more precise description of the ranking data, but is adequate given the simplicity and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one 'symbol' parameter with no description or enum, and schema coverage is 0%. The description compensates by explicitly listing all valid choices: 近一月, 近三月, 近六月, 近一年, which is essential for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a block trade business department ranking from East Money's data center, with a URL and return type. It distinguishes from sibling block trade tools by scope, but lacks an explicit verb such as 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 other block trade tools like stock_dzjy_mrmx. The description only provides the data source and parameter choices, with no alternatives, exclusions, or usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_ebs_lgBRead-onlyIdempotent
乐咕乐股-股债利差 https://legulegu.com/stockdata/equity-bond-spread :return: 股债利差 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering safety and side effects. The description adds the source URL and return type (pandas.DataFrame) but does not disclose behavior like data update frequency, whether the data is historical, or potential network dependencies. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise, containing only the display name, source URL, and return type in a structured docstring format. Every element serves a purpose and there is no extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 provides the essential information (name, source, return type) but lacks context about the nature of the data, such as whether it is a time series, what columns it contains, or the period covered. Given the large number of sibling tools, a bit more context would help an agent decide if this matches the user's request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so there are no parameter semantics to explain. Per the guidelines, a 0-parameter tool gets a baseline of 4, and the description correctly does not add irrelevant parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source (Legulegu) and the specific metric (equity-bond spread, 股债利差), and states the return type as a DataFrame. This distinguishes it from sibling tools that cover other indicators like PE/PB. However, it lacks an explicit verb like 'retrieve' or 'fetch', relying on context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. It does not describe scenarios, exclusions, or how it differs from related Legulegu tools such as stock_market_pe_lg or stock_index_pb_lg. The agent is left without clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_esg_hz_sinaCRead-onlyIdempotent
新浪财经-ESG评级中心-ESG评级-华证指数 https://finance.sina.com.cn/esg/grade.shtml :return: 华证指数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds minimal insight: the source URL and that the return is a pandas DataFrame. It does not disclose data scope, columns, pagination, or any other behavioral traits. The added value beyond annotations is very low.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, which is concise, but it is under-specified and lacks a clear sentence structure. It reads like a docstring with a URL and return annotation, not a purpose-built tool description. It could be improved with a clear verb and a brief explanation of the data content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (zero params, no output schema), the description is still incomplete. It does not tell the agent what the DataFrame contains (e.g., columns, rating levels, time range), nor does it describe any filtering or limits. The annotations cover safety, but the description does not provide enough context for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter schema to explain. The baseline of 4 applies because no parameter documentation is needed. The description's mention of the return type is redundant with the rtype line but does not detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun phrase '新浪财经-ESG评级中心-ESG评级-华证指数' with a URL and return type, which implies it fetches ESG rating data from Sina Finance for the Huazheng index. It does not use an explicit verb like 'get' or 'fetch', and it does not differentiate itself from sibling ESG tools (e.g., stock_esg_msci_sina) beyond the source name in the title. The purpose is inferable but not clearly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No context about use cases, prerequisites, or distinctions from other ESG rating tools is provided. The description only supplies the source URL and return type, which does not help an agent decide when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_esg_msci_sinaCRead-onlyIdempotent
新浪财经-ESG评级中心-ESG评级-MSCI https://finance.sina.com.cn/esg/grade.shtml :return: MSCI :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to repeat those. It adds the source URL and the fact that the return type is a pandas DataFrame. However, it discloses no additional behaviors such as rate limits, refresh frequency, or special fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the title and URL, but it is more of a header than an explanatory description. It is concise but lacks structured elaboration, and the return type is given in a docstring-like format rather than a natural sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter data retrieval tool with no output schema, the description should clearly state what the resulting DataFrame contains. Merely saying 'MSCI' is ambiguous—does it return all MSCI ratings? For which companies? Any history? The source URL helps but does not replace a clear explanation of the returned data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty, so the description is not required to explain parameters. Baseline for zero-parameter tools is 4. The description does not contradict the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as Sina Finance ESG Rating Center's MSCI rating, but its purpose is stated via a title-like phrase rather than a clear verb-driven explanation. The name itself already conveys the same information, making the description only slightly more explanatory. It does specify the source and the return type, which adds a little clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool vs. alternative ESG tools. The description does not mention any context, prerequisites, or exclusions. Even with sibling tools like stock_esg_hz_sina or stock_esg_rate_sina, no differentiation is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_esg_rate_sinaCRead-onlyIdempotent
新浪财经-ESG评级中心-ESG评级-ESG评级数据 https://finance.sina.com.cn/esg/grade.shtml :return: ESG评级数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the description doesn't need to cover safety. However, it adds no behavioral context beyond 'returns a DataFrame'—it doesn't explain what the data contains, whether it's a complete snapshot, or any caveats about the data quality or refresh rate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but it includes a full URL and a docstring-style return annotation. It is not poorly organized, yet the title is repeated verbatim and the URL is probably unnecessary for an agent. Still, it is efficient and avoids redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only source of context. It fails to mention what columns the DataFrame contains, which companies are covered, whether it includes historical data, or any unique aspects of Sina's ESG ratings. This is barely more than a stub.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so parameter ambiguity is nonexistent. The description adds no parameter details, but with no parameters, the baseline 4 is appropriate because there is nothing to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it returns 'ESG评级数据' (ESG rating data) from Sina Finance, which is a clear data retrieval purpose. However, it does not specify the scope (e.g., all stocks, specific market) or distinguish it from sibling ESG tools like stock_esg_hz_sina, stock_esg_msci_sina, etc., making it generic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the other ESG rating tools. The description merely names the data source and return type, with no mention of alternatives, prerequisites, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_esg_rft_sinaBRead-onlyIdempotent
新浪财经-ESG评级中心-ESG评级-路孚特 https://finance.sina.com.cn/esg/grade.shtml :return: 路孚特 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds the return type (pandas.DataFrame) and the source URL, but does not disclose any further behavioral traits such as data scope, update frequency, or whether the result is a full dataset. This adds some context but remains minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of a title-like line, a URL, and return type. It is front-loaded and efficient, though the first line repeats the annotation title. It earns its place but could be more informative without becoming bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with strong annotations, this is minimally adequate. It provides the source and return type but does not explain what the DataFrame contains (e.g., columns, per-stock vs aggregate data). Given the simplicity, it meets the baseline but lacks richness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description need not elaborate on parameter semantics. Baseline for 0 params is 4. The empty schema already provides full coverage, and the description adds nothing extra, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing Refinitiv ESG ratings from Sina Finance's ESG Rating Center, with a direct URL and return type. This distinguishes it from sibling ESG tools like stock_esg_msci_sina and stock_esg_hz_sina. However, it lacks an explicit verb like 'get' or 'return', relying on the docstring-style format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention other ESG rating providers, nor does it provide context on selection criteria. With multiple ESG sibling tools, this gap makes it harder for an agent to choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_esg_zd_sinaBRead-onlyIdempotent
新浪财经-ESG评级中心-ESG评级-秩鼎 https://finance.sina.com.cn/esg/grade.shtml :return: 秩鼎 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and the source URL, but no additional behavioral context such as data freshness, potential rate limits, or output structure. It is not misleading, but it adds minimal transparency beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, containing only the title line, a URL, and return docs. There is no fluff or redundant text. However, it is formatted as a raw docstring rather than a clear natural-language sentence, which is slightly less agent-friendly than a well-phrased statement. Still, it is efficient and every element serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (zero parameters) and lack of an output schema, the description provides only minimal information: the source and the return type. It does not describe what the DataFrame contains (columns, rows, or meaning of the data), which is a notable gap for an agent that needs to interpret results. The URL helps, but the return spec is vague.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing to explain. The baseline for 0 parameters is 4, and the description does not need to compensate for missing schema information. The :return: and :rtype: docstring lines are about output, not parameters, so this dimension is appropriately scored.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: Sina Finance ESG Rating Center, Zhidin rating. It also specifies the source URL and return type. Although it lacks an explicit verb like 'retrieve' or 'get', the tool name and zero-parameter schema imply a data-fetching operation, and it distinguishes from sibling ESG tools by naming the rating provider (秩鼎).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus the sibling ESG tools (e.g., stock_esg_hz_sina, stock_esg_msci_sina). The description only names the data source and provides a URL; it does not state any context, prerequisites, or alternatives. An agent would have to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_fhps_detail_emBRead-onlyIdempotent
东方财富网-数据中心-分红送配-分红送配详情 https://data.eastmoney.com/yjfp/detail/300073.html :param symbol: 股票代码 :type symbol: str :return: 分红送配详情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 300073 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. Description adds the source URL and return type (pandas.DataFrame). It doesn't add behavioral context like rate limits or pagination, but annotations cover the most important operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and contains essential elements: source, section, URL example, parameter definition, return type. It's structured like a typical docstring with clear labels. Could be slightly more readable but every line is useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one optional parameter (default given), a clear return type, and strong annotations, the core usage is covered. However, no mention of what the returned DataFrame contains (columns, indices) or whether the default symbol is meaningful. The URL example is helpful but the tool's overall scope (dividend details) is only loosely described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 0% of the parameter. The description explains that symbol is a 股票代码 (stock code) and provides an example '300073' in the URL, adding meaning beyond the bare schema. This is sufficient for a single simple parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action: retrieving 分红送配详情 (dividend/distribution details) from 东方财富网's data center for a given stock code. The title and description align, and the specific URL example clarifies the resource. It does not explicitly differentiate from sibling tools like stock_fhps_em or stock_fhps_detail_ths, but the target (东财 detail page) is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention prerequisites (e.g., needing a valid stock code) or contrast with sibling tools like stock_fhps_detail_ths (THS version) or stock_fhps_em (list). The only usage hint is the parameter needing a stock code, which is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_fhps_detail_thsBRead-onlyIdempotent
同花顺-分红情况 https://basic.10jqka.com.cn/new/603444/bonus.html :param symbol: 股票代码 :type symbol: str :return: 分红融资 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 603444 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds the data source URL and return type (DataFrame) but doesn't disclose edge cases, error behavior, or data fields. It adequately communicates a safe read operation without adding significant new behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, uses clear docstring conventions, and has no wasted words. It front-loads the purpose and includes essential parameter and return info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool, the description covers the basic purpose, parameter, and return type. However, it doesn't describe the expected DataFrame columns or the meaning of '分红融资' beyond a generic term, and lacks usage context compared to siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'symbol' with no description, but the description documents it as '股票代码' (stock code) with type str, and gives an example URL. This fills the gap partially, but lacks format details or exchange prefix guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '同花顺-分红情况' and includes a URL to a bonus page, plus a return type of DataFrame, indicating it retrieves dividend/financing data for a given stock from Tonghuashun. It doesn't explicitly contrast with sibling tools like stock_fhps_detail_em, but the name and source are clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is provided. There are multiple dividend-related sibling tools (stock_fhps_em, stock_history_dividend, etc.) but the description offers no criteria for selecting this specific tool, nor exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_fhps_emBRead-onlyIdempotent
东方财富网-数据中心-年报季报-分红送配 https://data.eastmoney.com/yjfp/ :param date: 分红送配报告期 :type date: str :return: 分红送配 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20231231 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that the tool is read-only, idempotent, and non-destructive. The description adds that the return type is pandas.DataFrame, which is useful, but it doesn't disclose any additional behavioral traits such as date format restrictions, pagination, or live website scraping. Minimal extra transparency beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and follows a docstring structure with a title, source URL, and parameter/return documentation. Every line serves a purpose with no extraneous text, though the phrasing is terse and lacks a full sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool, the description covers the source, parameter meaning, and return type. However, it omits details about the DataFrame's columns, the scope (e.g., all A-shares), and any date range limitations. Without an output schema, more detail would be expected for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only the parameter name and default with no description (0% coverage). The description compensates by explaining that 'date' refers to the 分红送配报告期 (dividend distribution report period), clarifying its meaning and format implied by the default. This adds meaningful semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving dividend/distribution data from East Money's Data Center, as seen in the title and URL. It states a return type of pandas.DataFrame, implying a data retrieval action. However, it lacks an explicit verb and doesn't differentiate from similar sibling tools like stock_fhps_detail_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only provides a parameter and return type, with no context about use cases, prerequisites, or alternative tools. This is a significant gap given the many dividend-related sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_abstractCRead-onlyIdempotent
新浪财经-财务报表-关键指标 https://vip.stock.finance.sina.com.cn/corp/go.php/vFD_FinanceSummary/stockid/600004.phtml :param symbol: 股票代码 :type symbol: str :return: 新浪财经-财务报表-关键指标 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600004 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate a safe read-only, idempotent operation. The description adds minimal behavioral context by specifying the return type (pandas.DataFrame) and the example URL, but does not disclose details about data coverage, potential failures, or any side effects beyond what annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise but repeats the same Chinese title twice ('新浪财经-财务报表-关键指标') and includes a URL that, while informative, is not essential. The docstring-like structure is clear but could be more streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, yet the description only states that a pandas.DataFrame is returned. It does not specify what key indicators are included, the time period, or how it differs from similar financial analysis tools, leaving an agent under-informed for precise invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'symbol' is described as a stock code with a default value in the schema. The description adds minimal clarification by explicitly labeling it '股票代码' (stock code), but this is largely self-evident from the parameter name and default example in the URL.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns Sina Finance financial statement key indicators, with a URL and DataFrame return type. However, it lacks a clear verb (e.g., 'get' or 'fetch') and does not distinguish it from closely related sibling tools such as stock_financial_abstract_ths or stock_financial_analysis_indicator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many available alternatives. The description only documents the symbol parameter and return type, without mentioning appropriate contexts or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_abstract_new_thsBRead-onlyIdempotent
同花顺-财务指标-重要指标 https://basic.10jqka.com.cn/new/000063/finance.html :param symbol: 股票代码 :type symbol: str :param indicator: 指标;choice of {"按报告期", "一季度", "二季度", "三季度", "四季度", "按年度"} :type indicator: str :return: 同花顺-财务指标-主要指标 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000063 | |
| indicator | No | 按报告期 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source (THS) and the return type (pandas.DataFrame of 主要指标), which is modest but real value beyond the structured fields; it says nothing about rate limits or data coverage, so 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is front-loaded with the result name and source URL, then parameter docs. The :type/:rtype lines are boilerplate, but the overall text is short and every line conveys something usable; only the redundant type annotations cost it a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, zero-required-parameter read tool with no output schema, the definition covers the two inputs well and names the return object, but it lacks any description of the returned columns or the granularity implied by the indicator choices, leaving an agent to infer the output shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema declares no enums, so the description carries the full burden. It defines symbol as the stock code and, importantly, enumerates the valid indicator values (按报告期, 一季度, 二季度, 三季度, 四季度, 按年度), which the schema omits entirely. It does not state the defaults, keeping it from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (同花顺 financial indicators / key indicators) and cites the exact source URL (basic.10jqka.com.cn/.../finance.html), so an agent knows this fetches THS financial abstract data for a stock code. It does not differentiate from close siblings such as stock_financial_abstract_ths, stock_financial_abstract, or stock_financial_analysis_indicator, so a 5 is not warranted.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites, and no routing advice among the many sibling financial-statement/indicator tools. The example URL hints at the domain but does not tell the agent when to prefer this over the alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_abstract_thsCRead-onlyIdempotent
同花顺-财务指标-主要指标 https://basic.10jqka.com.cn/new/000063/finance.html :param symbol: 股票代码 :type symbol: str :param indicator: 指标;choice of {"按报告期", "按年度", "按单季度"} :type indicator: str :return: 同花顺-财务指标-主要指标 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000063 | |
| indicator | No | 按报告期 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, covering the safety profile. The description adds essentially nothing beyond that – no return-shape context (beyond a generic pandas.DataFrame rtype), no data-scope caveats, no data-source latency or authentication notes. It does not contradict the annotations, but it contributes no behavioral context of its own.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a compact docstring, but the title phrase is duplicated in both the opening line and the :return: line, and a bare webpage URL adds little. Layout is front-loaded but includes redundant, non-earning text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter, read-only indicator-data lookup with annotations already covering safety and no output schema required, the description supplies the parameter meanings and the indicator enum values. The remaining gap – sibling differentiation – is a purpose/usage issue scored elsewhere, so completeness for actually calling the tool is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden, and it does partially: it labels symbol as 股票代码 (stock code) and lists the indicator choices {'按报告期','按年度','按单季度'}, which is not encoded as an enum in the schema. This is genuinely additive, but it omits format expectations for symbol and does not mention the schema defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource ('同花顺-财务指标-主要指标' – Tonghuashun financial main indicators) but is essentially a restatement of the tool title, with no verb or scope statement. Critically, it does not distinguish this from the many sibling tools such as stock_financial_abstract, stock_financial_abstract_new_ths, stock_financial_analysis_indicator, and stock_financial_analysis_indicator_em. Purpose is inferable but vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when not to use it, and no named alternatives among the near-identical 'financial abstract' siblings. The only directional content is a bare URL. Nothing tells the agent why it should pick this over stock_financial_abstract_new_ths or stock_financial_analysis_indicator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_analysis_indicatorCRead-onlyIdempotent
新浪财经-财务分析-财务指标 https://money.finance.sina.com.cn/corp/go.php/vFD_FinancialGuideLine/stockid/600004/ctrl/2019/displaytype/4.phtml :param symbol: 股票代码 :type symbol: str :param start_year: 开始年份 :type start_year: str :return: 新浪财经-财务分析-财务指标 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600004 | |
| start_year | No | 1900 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so safety behavior is covered. The description adds the source URL and a pandas DataFrame return type, but gives no further details on what the indicator output contains, date-range behavior, or any constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and structured as a docstring with a source URL, labeled parameters, and return type. It contains a redundant repeat of the title in the return line, but the overall size is appropriate for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description only says the result is a DataFrame of 'financial indicators' without listing fields, period granularity, or any caveats. The two-parameter surface is simple, but the missing output details and absent sibling differentiation make it incomplete for confident selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the docstring's 'symbol: 股票代码' and 'start_year: 开始年份' provide basic meaning beyond the bare property names. However, they are minimal translations and do not explain value formats, the default 1900 semantics, or how start_year bounds the returned periods.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the same noun phrase as the title—'新浪财经-财务分析-财务指标'—and adds a URL, but it never states an action like 'fetches' or 'queries'. The resource and source are identifiable, yet the lack of a verb and no explicit comparison to the similar sibling 'stock_financial_analysis_indicator_em' leaves the purpose somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no 'when to use this vs alternatives' guidance. The description only lists parameters and a return type; it does not say when this Sina-based indicator tool should be preferred over siblings like stock_financial_analysis_indicator_em or stock_financial_abstract.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_analysis_indicator_emCRead-onlyIdempotent
东方财富-A股-财务分析-主要指标 https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html?type=web&code=SZ301389&color=b#/cwfx :param symbol: 股票代码(带市场标识) :type symbol: str :param indicator: choice of {"按报告期", "按单季度"} :type indicator: str :return: 东方财富-A股-财务分析-主要指标 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 301389.SZ | |
| indicator | No | 按报告期 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, so the safety profile is known. However, the description adds minimal behavioral context—it only states the return type as pandas.DataFrame and does not disclose potential limitations, rate limits, data scope details, or any quirks. This adds little value beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a standard docstring with title, URL, parameter docs, and return type. It is reasonably sized but contains redundancy: the title '东方财富-A股-财务分析-主要指标' appears in the first line and again in the return line. The URL is verbose and may not be necessary for function invocation. Overall, it is functional but not tightly written.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter read-only tool, the description provides decent parameter semantics and return type. However, it does not enumerate which specific financial indicators are included, nor does it clarify whether the data is historical or current, or how it differs from similar tools like stock_financial_analysis_indicator. The absence of an output schema increases the need for such detail, leaving the description incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameter descriptions (0% coverage), but the description compensates by documenting both parameters: symbol is explained as '股票代码(带市场标识)' (stock code with market identifier) with a default example '301389.SZ', and indicator is given a choice of '按报告期' or '按单季度'. This adds clear meaning beyond the bare schema, making the parameters understandable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with '东方财富-A股-财务分析-主要指标', which is essentially the same as the tool's title/name, providing no active verb like 'retrieve' or 'list'. It states the resource (Eastmoney A-share financial main indicators) but does not clearly articulate the action or scope, making it vague rather than a specific verb+resource+scope statement. The URL and return type add some context, but the core purpose is implied rather than explicitly described.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as stock_financial_analysis_indicator or stock_financial_abstract. The description only provides parameter explanations and does not state appropriate contexts, prerequisites, or when not to use the tool. Sibling differentiation is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_benefit_new_thsBRead-onlyIdempotent
同花顺-财务指标-利润表 https://basic.10jqka.com.cn/astockpc/astockmain/index.html#/financen?code=000063 :param symbol: 股票代码 :type symbol: str :param indicator: 指标;choice of {"按报告期", "一季度", "二季度", "三季度", "四季度", "按年度"} :type indicator: str :return: 同花顺-财务指标-利润表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000063 | |
| indicator | No | 按报告期 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds the return type (pandas.DataFrame) and a source landing-page URL, which is light but genuine additional context. It says nothing about rate limits, symbol market scope, or data staleness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring format is compact but contains dead weight: the leading title is repeated verbatim in the :return: line, and a raw documentation URL with a hardcoded example code is of little use to a calling agent. The parameter lines do earn their place, so it is acceptable rather than tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only fetch with no output schema, the description does convey the data domain (income statement, as a DataFrame) and both parameters. Gaps remain: which markets the symbol covers (A-share only?), what distinguishes the 'new' tool from its predecessor, and the granularity of the returned rows. Adequate but with visible holes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema carries no enum, so the description is the only source of parameter meaning — and it delivers both: symbol is documented as 股票代码, and indicator is enumerated as {按报告期, 一季度, 二季度, 三季度, 四季度, 按年度}. This fully compensates for the schema gap, though it omits the default values that the schema supplies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — 同花顺 income-statement financial indicators (利润表) for a stock — so an agent can tell it fetches financial statement data. However, there is no verb, and it gives no hint of how it differs from close siblings like stock_financial_benefit_ths (the non-'new' version) or stock_financial_debt_new_ths / stock_financial_cash_new_ths. Purpose is identifiable but not differentiated from the surrounding tool family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites, and no mention of the alternative tools (the older 利润表 tool or the EM/新浪 equivalents). The only usage-adjacent content is the indicator choice list, which constrains a parameter rather than guiding tool selection. An agent must infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_benefit_thsBRead-onlyIdempotent
同花顺-财务指标-利润表 https://basic.10jqka.com.cn/new/000063/finance.html https://basic.10jqka.com.cn/api/stock/finance/000063_benefit.json :param symbol: 股票代码 :type symbol: str :param indicator: 指标;choice of {"按报告期","按单季度", "按年度"} :type indicator: str :return: 同花顺-财务指标-利润表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000063 | |
| indicator | No | 按报告期 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds the data source (THS), the concrete endpoint URLs, and the return type (pandas.DataFrame), which is useful context, but it says nothing about rate limits, auth, or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is docstring-shaped rather than front-loaded: a title line, two raw URLs, then param/return tags with some duplication (利润表 appears twice). It is not bloated, but the URL dump is noise for an agent and the key semantics sit in the middle.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 0% schema coverage, the description should carry more burden. It covers both parameters well including the missing enum, but return information is limited to 'pandas.DataFrame' with no hint of columns or granularity, leaving a gap for a financial-data consumer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: it documents symbol as 股票代码 and, crucially, gives the three indicator choices {按报告期, 按单季度, 按年度} that the input schema omits entirely. It does not describe default behavior or format of symbol codes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource — 同花顺 (THS) financial indicators for the income statement (利润表) of a stock — which implicitly separates it from siblings like stock_financial_debt_ths and stock_financial_cash_ths. The verb is only implied (a fetch), and there is no explicit contrast with the *_new_ths or EM variants, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or sibling-routing guidance is given. The sample URL for symbol 000063 hints at usage but does not tell the agent when to prefer this tool over stock_profit_sheet_by_report_em or the other THS statement tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_cash_new_thsBRead-onlyIdempotent
同花顺-财务指标-现金流量表 https://basic.10jqka.com.cn/astockpc/astockmain/index.html#/financen?code=000063 :param symbol: 股票代码 :type symbol: str :param indicator: 指标;choice of {"按报告期", "一季度", "二季度", "三季度", "四季度", "按年度"} :type indicator: str :return: 同花顺-财务指标-现金流量表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000063 | |
| indicator | No | 按报告期 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and the indicator enumeration, which is useful, but says nothing about row shape, units, or whether the data updates live.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is front-loaded with the resource name but wastes lines on a bare URL and on ':type' lines that merely repeat the schema's types, and the ':return'/' :rtype' lines restate the title. Adequate but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should describe the returned data; it only gives 'pandas.DataFrame' without column semantics. For a two-parameter data-fetch tool whose annotations carry the safety profile, it is minimally sufficient but leaves the return shape opaque.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden, and it does list both parameters meaningfully: symbol = stock code and indicator = full choice set {按报告期, 一季度..四季度, 按年度}. This is information absent from the schema, which contains no enum constraints. It stops short of explaining what 按报告期 means versus the quarterly options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (同花顺 cash-flow-statement financial indicator) but uses no verb and simply restates the title/return value. Critically, it does not distinguish itself from its near-identical sibling stock_financial_cash_ths, nor from stock_financial_benefit_new_ths / stock_financial_debt_new_ths, so an agent cannot tell why the '_new' variant exists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives despite many overlapping siblings. The source URL is the only contextual hint, and it is not framed as usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_cash_thsBRead-onlyIdempotent
同花顺-财务指标-现金流量表 https://basic.10jqka.com.cn/new/000063/finance.html https://basic.10jqka.com.cn/api/stock/finance/000063_cash.json :param symbol: 股票代码 :type symbol: str :param indicator: 指标;choice of {"按报告期","按单季度", "按年度"} :type indicator: str :return: 同花顺-财务指标-现金流量表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000063 | |
| indicator | No | 按报告期 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive behavior. The description adds source URLs and return type (pandas.DataFrame), but does not disclose rate limits, authentication needs, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is brief but front-loads a title and two URLs before parameter documentation. Some lines, such as type declarations, duplicate schema information, making it less efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only financial data retrieval tool with rich annotations, the description covers the source, parameters, and return type. However, with no output schema, it does not describe the returned DataFrame's columns or content beyond the title.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description supplies meanings for both parameters: symbol as stock code and indicator with its three allowed values. This compensates for the missing schema descriptions, though format details for symbol are not given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource ('同花顺-财务指标-现金流量表') and includes the source URL, making the retrieval target clear. It does not distinguish this tool from sibling tools such as stock_financial_cash_new_ths, but the resource is specific enough for selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The indicator choices are listed but do not explain usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_debt_new_thsBRead-onlyIdempotent
同花顺-财务指标-资产负债表 https://basic.10jqka.com.cn/astockpc/astockmain/index.html#/financen?code=000063 :param symbol: 股票代码 :type symbol: str :param indicator: 指标;choice of {"按报告期", "一季度", "二季度", "三季度", "四季度", "按年度"} :type indicator: str :return: 同花顺-财务指标-资产负债表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000063 | |
| indicator | No | 按报告期 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds essentially nothing beyond the annotations: no source coverage, update cadence, symbol scope, or caveats about the 'new' vs legacy variant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The body is a docstring dump: the title is repeated for header and return type, a raw URL is included, and the standard :param/:type/:return/:rtype scaffolding restates information the schema already carries. The useful content (two parameter explanations) is present but not front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only data-query tool with an output-schema-less signature, the description plus annotations cover the basics and the parameters are explained. What is missing is disambiguation from the many near-duplicate siblings and any note on data coverage or the meaning of the '_new' suffix.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full load and does document both parameters: symbol as '股票代码' and indicator as an explicit choice set of {按报告期, 一季度, 二季度, 三季度, 四季度, 按年度}. It stops short of stating the symbol format (e.g., 6-digit code) or behaviour of the default, keeping it out of the top band.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific source, subject and report (同花顺 balance sheet financial indicators), so an agent knows it retrieves balance-sheet line items for a stock. It does not distinguish itself from very similar siblings such as stock_financial_debt_ths, stock_balance_sheet_by_report_em, or stock_financial_abstract_new_ths, nor does it explain what the '_new' variant adds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many overlapping balance-sheet/financial-indicator siblings. The only clue is the URL, which an agent cannot act on. No prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_debt_thsCRead-onlyIdempotent
同花顺-财务指标-资产负债表 https://basic.10jqka.com.cn/new/000063/finance.html https://basic.10jqka.com.cn/api/stock/finance/000063_debt.json :param symbol: 股票代码 :type symbol: str :param indicator: 指标;choice of {"按报告期", "按年度"} :type indicator: str :return: 同花顺-财务指标-资产负债表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000063 | |
| indicator | No | 按报告期 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds no behavioral context beyond repeating the title and endpoints – nothing about output shape, data freshness, or rate/scope constraints that the annotations do not already carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, but the block is a docstring dump that repeats '同花顺-财务指标-资产负债表' in the return/rtype lines and includes two raw URLs that add bulk without agent-facing meaning. Wasteful but not obscure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter read tool with no output schema this is only partially complete: it names the return type (pandas.DataFrame) but not the columns/fields the balance sheet returns, and gives no default behavior of the indicator parameter. Annotations cover the read-only nature, but output expectations remain thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: it documents symbol as 股票代码 (str) and indicator as 指标 with the choice set {"按报告期", "按年度"}. Since the schema exposes no enum for indicator, the description is the only place the valid values are stated – a genuine value-add for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a data source (同花顺) and a resource (财务指标-资产负债表, balance-sheet financial indicators), which is more than a pure name restatement. However, it does not distinguish this THS balance-sheet tool from the many sibling balance-sheet tools (e.g. stock_balance_sheet_by_report_em, stock_balance_sheet_by_yearly_em), so an agent cannot tell why it should pick this one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternative tools. The only context is raw source URLs, which do not instruct the agent about selection or ordering relative to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_hk_analysis_indicator_emARead-onlyIdempotent
东方财富-港股-财务分析-主要指标 https://emweb.securities.eastmoney.com/PC_HKF10/NewFinancialAnalysis/index?type=web&code=00700 :param symbol: 股票代码 :type symbol: str :param indicator: choice of {"年度", "报告期"} :type indicator: str :return: 东方财富-港股-财务分析-主要指标 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 00853 | |
| indicator | No | 年度 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame) but does not mention any rate limits, pagination, or data freshness characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with all necessary component lines. The URL example is optional but not excessive; it does not waste words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only two simple parameters and an output schema is absent. The description specifies return type but does not enumerate which financial indicators are included, which could confuse an agent choosing among similar tools. Given the family context, more detail about the data content would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description provides full parameter documentation: symbol is the stock code and indicator is a choice of '年度' or '报告期'. This adds meaning beyond the schema's type/default definitions, enabling correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving Eastmoney HK stock financial analysis main indicators (东方财富-港股-财务分析-主要指标). It specifies the resource (HK stocks) and scope (main indicators), distinguishing it from A-share siblings like stock_financial_analysis_indicator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as stock_financial_hk_report_em or stock_financial_analysis_indicator. The description only covers parameter meanings, not selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_hk_report_emARead-onlyIdempotent
东方财富-港股-财务报表-三大报表 https://emweb.securities.eastmoney.com/PC_HKF10/FinancialAnalysis/index?type=web&code=00700 :param stock: 股票代码 :type stock: str :param symbol: choice of {"资产负债表", "利润表", "现金流量表"} :type symbol: str :param indicator: choice of {"年度", "报告期"} :type indicator: str :return: 东方财富-港股-财务报表-三大报表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| stock | No | 00700 | |
| symbol | No | 资产负债表 | |
| indicator | No | 年度 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds the source URL and return type but does not disclose additional traits like rate limits or data coverage. With strong annotations, this is adequate but not enriched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured as a docstring with a title, URL, parameter docs, and return type. It avoids redundant elaboration, but the return line repeats the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, and the description only states 'pandas DataFrame' without describing columns or data structure. Parameters and defaults are covered, but behavioral specifics (e.g., how many periods, data availability) are missing. This is a moderate gap for a financial data tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description documents all three parameters with Chinese explanations and explicitly lists allowed values for symbol (资产负债表/利润表/现金流量表) and indicator (年度/报告期), which the schema lacks. This significantly improves parameter understanding, though stock code format is only implied by the example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as fetching East Money HK stock financial statements (三大报表), with a source URL and return type. It distinguishes from siblings by specifying HK stocks and the three major statements, though it lacks an explicit action verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for HK stock financial statements via its title and parameter choices, but does not explicitly state when to use this tool over alternatives or provide exclusions. No alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_report_sinaBRead-onlyIdempotent
新浪财经-财务报表-三大报表 https://vip.stock.finance.sina.com.cn/corp/go.php/vFD_FinanceSummary/stockid/600600/displaytype/4.phtml?source=fzb&qq-pf-to=pcqq.group :param stock: 股票代码 :type stock: str :param symbol: choice of {"资产负债表", "利润表", "现金流量表"} :type symbol: str :return: 新浪财经-财务报表-三大报表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| stock | No | sh600600 | |
| symbol | No | 资产负债表 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that it returns a pandas DataFrame and lists the valid values for symbol, but it does not disclose behaviors like stock code format expectations (e.g., 'sh' prefix) or data granularity. This is minimal additional context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured as a docstring with parameters and return type, which is reasonably organized. However, it includes a long, specific example URL that adds noise and may confuse the agent, and it repeats the title phrase multiple times. It is not as concise or front-loaded as it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with two optional parameters and no output schema. The description covers the purpose and parameters, but it omits crucial practical details like the stock code format (whether to include 'sh'/'sz' prefix) and how the returned DataFrame is structured. Given the abundance of sibling financial tools, some usage context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It provides meaningful semantics: 'stock' is identified as a stock code, and 'symbol' is explicitly enumerated with choices of 资产负债表, 利润表, 现金流量表. This is far more than the bare schema, though the stock format is left somewhat vague.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (Sina Finance three major financial statements) and the parameters indicate it retrieves balance sheet, income statement, or cash flow statement for a stock. While not phrased as an explicit verb phrase like 'Get', the intent is clear and distinct from pure tautology. It doesn't explicitly differentiate from sibling tools like stock_financial_abstract, but the scope is evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as stock_financial_abstract, stock_balance_sheet_by_report_em, or other financial statement tools. There is no mention of suitability context, prerequisites, or exclusions. The description simply presents what it does without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_us_analysis_indicator_emBRead-onlyIdempotent
东方财富-美股-财务分析-主要指标 https://emweb.eastmoney.com/PC_USF10/pages/index.html?code=TSLA&type=web&color=w#/cwfx :param symbol: 股票代码 :type symbol: str :param indicator: choice of {"年报", "单季报", "累计季报"} :type indicator: str :return: 东方财富-美股-财务分析-主要指标 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | TSLA | |
| indicator | No | 年报 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety with readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds no behavioral context such as side effects, rate limits, data scope constraints, or output format details beyond stating the return type as pandas.DataFrame. It does not contradict the annotations, but it contributes no extra behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, but the title '东方财富-美股-财务分析-主要指标' is repeated several times (first line, return line, and implicitly in the URL), which is slightly redundant. Still, it is front-loaded with the title and concise enough, with no extraneous filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description merely says the return is a pandas.DataFrame of '主要指标' without specifying which indicators, column names, time periods, or data granularity. For an agent to correctly interpret results, this is insufficient, especially given the wealth of related sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It defines symbol as 股票代码 (stock code) and explicitly enumerates indicator choices as {'年报', '单季报', '累计季报'}, which is valuable beyond the bare schema. However, it does not explain the meaning of these choices or provide symbol format examples, leaving some gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as Eastmoney US stock financial analysis main indicators via the title '东方财富-美股-财务分析-主要指标'. It clearly distinguishes from HK or A-share counterparts by specifying 美股 (US stocks), but lacks an explicit action verb like 'Get' or 'Retrieve', making it more of a noun-phrase label than a full descriptive sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as stock_financial_hk_analysis_indicator_em or stock_financial_analysis_indicator. There are no exclusions, prerequisites, or contextual hints about appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_financial_us_report_emBRead-onlyIdempotent
东方财富-美股-财务分析-三大报表 https://emweb.eastmoney.com/PC_USF10/pages/index.html?code=TSLA&type=web&color=w#/cwfx :param stock: 股票代码 :type stock: str :param symbol: choice of {"资产负债表", "综合损益表", "现金流量表"} :type symbol: str :param indicator: choice of {"年报", "单季报", "累计季报"} :type indicator: str :return: 东方财富-美股-财务分析-三大报表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| stock | No | TSLA | |
| symbol | No | 资产负债表 | |
| indicator | No | 年报 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the data source URL and return type (pandas DataFrame) but discloses no rate limits, pagination, or formatting nuances. This is acceptable for a read-only tool but contributes only modest behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description follows a clear docstring format with a title, URL, parameter entries, and return type. It is reasonably concise without unnecessary fluff, though the :return: line duplicates the title. The structure makes the information easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description would benefit from explaining the DataFrame's structure, such as row content or key columns. It does provide the source URL, parameter semantics, and safety annotations, but lacks details on return value composition or edge cases. For a straightforward report retrieval tool, it is minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero property descriptions, so the description compensates by explaining each parameter: stock (股票代码), symbol (choice of three statement types), and indicator (choice of annual/quarterly periods). It also lists the allowed values for symbol and indicator, which is valuable. It lacks further elaboration on value meanings or examples, but the provided labels are sufficient for domain-aware users.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a source for US stock financial reports (三大报表) from East Money, supported by the URL and title. It distinguishes from siblings that cover A-share or HK financials by specifying '美股'. However, it lacks an explicit action verb like 'fetch' or 'get', though the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites, exclusions, or specific use cases. It simply lists parameters and return type, leaving tool selection reasoning entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_fund_flow_big_dealCRead-onlyIdempotent
同花顺-数据中心-资金流向-大单追踪 https://data.10jqka.com.cn/funds/ddzz :return: 大单追踪 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety profile is covered. The description adds the source URL and return type (pandas.DataFrame), but does not disclose any behavioral details such as data freshness, pagination, or latency. It provides minimal value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief and contains no fluff, but it is under-specified rather than efficiently concise. It repeats the title instead of providing meaningful structure or front-loaded actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fails to explain what '大单追踪' (big deal tracking) actually contains, what fields are in the DataFrame, or how this tool differs from similar fund flow tools. With no output schema and minimal description, an agent would not know the data's structure or use case, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters with 100% schema coverage (vacuously). The baseline for zero parameters is 4, and the description does not need to explain parameters since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a repetition of the title '同花顺-数据中心-资金流向-大单追踪' with a URL and return type. It lacks an explicit verb (e.g., 'fetch', 'list') and merely names the resource, making it a tautology rather than a clear statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. With numerous sibling tools covering different fund flow aspects (e.g., individual, industry, concept), the description offers no context for selection, exclusions, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_fund_flow_conceptCRead-onlyIdempotent
同花顺-数据中心-资金流向-概念资金流 https://data.10jqka.com.cn/funds/gnzjl/#refCountId=data_55f13c2c_254 :param symbol: choice of {“即时”,"3日排行", "5日排行", "10日排行", "20日排行"} :type symbol: str :return: 概念资金流 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 即时 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive, so safety is covered. Beyond that the description adds nothing: it does not disclose that data comes from a scraped 同花顺 endpoint (reliability/freshness risk), whether there is rate limiting, or whether the ranking is cumulative vs point-in-time. Given the open-world scrape, this context would have been valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The body is a raw docstring dump: a bare URL on its own line, then Sphinx :param/:type/:return/:rtype lines. The URL is unstructured noise for an agent, and key info (what the tool does) is absent while formatting boilerplate is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-param read-only fetch with no output schema, the enum enumeration and stated return type (pandas.DataFrame of concept fund flow) are the essentials and they are present. Still missing is any indication of what columns to expect or how this differs from the many sibling fund-flow tools, so it is minimally viable rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description enumerates the exact choice set for symbol (即时/3日排行/5日排行/10日排行/20日排行), which materially compensates for the empty schema. It does not explain what '即时' means versus the ranked windows, but the enum lift alone earns baseline-plus.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the source (同花顺-数据中心-资金流向-概念资金流) and names concept fund flow as the returned data, so the resource is identifiable. However it never states a verb or what the tool actually does (fetch/retrieve), and it does not differentiate itself from close siblings like stock_fund_flow_industry or stock_concept_fund_flow_hist, so it's vague rather than specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus industry fund flow, individual fund flow, or hist variants. The only hint is the parameter's time-window choices, which imply ranking-style queries but are not framed as usage conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_fund_flow_individualBRead-onlyIdempotent
同花顺-数据中心-资金流向-个股资金流 https://data.10jqka.com.cn/funds/ggzjl/#refCountId=data_55f13c2c_254 :param symbol: choice of {“即时”,"3日排行", "5日排行", "10日排行", "20日排行"} :type symbol: str :return: 个股资金流 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 即时 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered elsewhere. The description adds source provenance (the 同花顺 URL) and the return type (pandas.DataFrame), but discloses nothing about pagination, column shape or data latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose line is front-loaded and the docstring-style lines are terse, but the raw URL and the boilerplate :rtype: line add limited value for an agent. It is neither wasteful nor notably efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter, annotation-rich tool this is close to sufficient: the source, parameter values and return type are all present. It still omits sibling selection rationale and any indication of the DataFrame contents, which for a finance data pull would be useful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and no enum in the schema, the description is the only place that documents the parameter: it lists all five accepted values (即时, 3日排行, 5日排行, 10日排行, 20日排行), which is exactly the information an agent needs to invoke the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source (同花顺-数据中心), the category (资金流向/fund flow) and the scope (个股/individual stocks), which is enough to identify the resource. However, it is a noun phrase with no verb and makes no attempt to distinguish itself from near-identical siblings such as stock_individual_fund_flow, stock_fund_flow_concept or stock_fund_flow_industry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this tool versus the many other fund-flow tools, nor any prerequisite or context. The only usage-adjacent content is the enumerated symbol values, which is parameter documentation rather than routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_fund_flow_industryBRead-onlyIdempotent
同花顺-数据中心-资金流向-行业资金流 https://data.10jqka.com.cn/funds/hyzjl/#refCountId=data_55f13c2c_254 :param symbol: choice of {“即时”,"3日排行", "5日排行", "10日排行", "20日排行"} :type symbol: str :return: 行业资金流 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 即时 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety/behavioral profile is largely covered. The description adds the source site (同花顺 data center) and the return type (pandas.DataFrame), but says nothing about data freshness, rate limits, or what the returned columns contain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is compact, but the first line restates the annotation title verbatim and the raw URL adds limited signal for an agent. The parameter line is the only high-value content, and it is placed after the URL rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only fetch with annotations covering safety and no output schema (pandas.DataFrame return suffices), the description is adequate: it supplies the parameter enum and return type. It still omits any guidance on choosing this tool over its many siblings, leaving a gap for an agent navigating a large toolset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% – the symbol property has no description and no declared enum – so the description is the sole source of the valid values, listing all five choices (即时, 3日排行, 5日排行, 10日排行, 20日排行). This meaningfully compensates for the schema gap, though it does not explain what each ranking window represents beyond its name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: retrieve 同花顺 industry fund-flow (行业资金流) data from the data center, with the source URL reinforcing the origin. This is clearly distinguishable from concept (stock_fund_flow_concept) and individual (stock_fund_flow_individual) variants by resource, though the text never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no named alternative, despite many closely related siblings (stock_fund_flow_concept, stock_sector_fund_flow_rank, stock_market_fund_flow). The enum values imply time-window selection but do not advise which mode fits which scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_fund_stock_holderBRead-onlyIdempotent
新浪财经-股本股东-基金持股 https://vip.stock.finance.sina.com.cn/corp/go.php/vCI_FundStockHolder/stockid/600004.phtml :param symbol: 股票代码 :type symbol: str :return: 新浪财经-股本股东-基金持股 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600004 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety profile is covered. The description adds the return type (pandas.DataFrame) and the source URL, which is useful behavioral context. However, it does not disclose details like column names, data freshness, or whether the symbol must be a 6-digit code, so it only partially adds value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured as a concise docstring with URL, param, and return sections. It is compact and easy to parse, though it repeats the title in both the first line and the return line, which is slightly redundant but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool with good annotations and a clear return type, the description is fairly complete. It identifies the data source, the parameter meaning, and the return structure. It lacks detail on the DataFrame's columns or symbol format, but given the simplicity and existing annotations, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage, but the description provides ':param symbol: 股票代码' (stock code), which clarifies the meaning of the single parameter. The default value '600004' serves as an example. This sufficiently compensates for the schema's lack of description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as '新浪财经-股本股东-基金持股' (Sina Finance - Shareholders - Fund Holdings) and includes a source URL, clearly indicating it retrieves fund holding data for a stock. Although no explicit verb like 'get' or 'fetch' is present, the title and context make the purpose unambiguous. It also differentiates from sibling tools like stock_main_stock_holder by specifying '基金持股' (fund holdings).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No mention of prerequisites, scenarios, or exclusions. The description is purely descriptive and does not help the agent decide between this and the many similar stock holder tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gddh_emCRead-onlyIdempotent
东方财富网-数据中心-股东大会 https://data.eastmoney.com/gddh/ :return: 股东大会 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds no behavioral context beyond the fact that it returns a pandas DataFrame. It does not mention what the DataFrame contains (e.g., columns, date range), potential pagination, rate limits, or any notable edge cases. No contradiction with annotations, but minimal added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, consisting of a title, URL, and return type. It is front-loaded with the title and has no fluff. However, it is under-specified, which is a completeness issue rather than a conciseness issue. The structure is logical but could include a brief sentence describing the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no params, no output schema), the description still lacks essential context such as what specific fields or time periods the data covers, the format of the returned DataFrame, or any usage notes. The URL provides a reference but the description alone is not enough for an agent to understand the tool's full output. It is a minimal docstring that leaves out details an agent would typically need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter meanings since there are none. The URL provides a source reference, but that is not parameter-related. This is acceptable for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a label: '东方财富网-数据中心-股东大会' (East Money Network - Data Center - Shareholders' Meeting) followed by a URL and return type. It lacks an explicit verb like 'get' or 'fetch', and the resource is just a noun phrase. While the name and title imply it retrieves shareholder meeting data, the purpose is not clearly stated as an action. It does not distinguish itself from sibling tools beyond naming the specific data category.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention any prerequisites, scenarios, or exclusions. The description is purely declarative with no context on how this fits into a data-retrieval workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gdfx_free_holding_analyse_emBRead-onlyIdempotent
东方财富网-数据中心-股东分析-股东持股分析-十大流通股东 https://data.eastmoney.com/gdfx/HoldingAnalyse.html :param date: 报告期 :type date: str :return: 十大流通股东 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20230930 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type but does not disclose additional behavioral traits such as data scope, pagination, or data freshness. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and structured as a docstring with source URL, parameter, and return sections. Every line carries information, though a brief summary sentence at the beginning would improve front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a single parameter and no output schema, so the description should clarify the scope of the returned data. It only states '十大流通股东' without specifying whether this covers all stocks or a particular stock, nor what columns are included. This ambiguity is a significant completeness gap for an agent selecting the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It does add meaning by documenting 'date' as 报告期 (report period) with type str, but it does not specify the expected format (e.g., YYYYMMDD) or whether any specific date constraints apply. The schema default '20230930' hints at format but is not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (股东持股分析-十大流通股东) and return type (pandas.DataFrame of top 10 free shareholders), making the core purpose clear. However, it lacks a strong verb (e.g., 'fetches', 'queries') and does not differentiate from closely related siblings like stock_gdfx_free_top_10_em or stock_gdfx_holding_analyse_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor any exclusions or context for selection. The description merely restates the data source and parameter without explaining use cases or distinguishing from similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gdfx_free_holding_change_emBRead-onlyIdempotent
东方财富网-数据中心-股东分析-股东持股变动统计-十大流通股东 https://data.eastmoney.com/gdfx/HoldingAnalyse.html :param date: 报告期 :type date: str :return: 十大流通股东 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210930 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering the safety profile. The description adds that it returns a pandas DataFrame of top 10 circulating shareholders and that the date is the report period. It does not disclose additional behavioral traits such as data update frequency, pagination, or quirks, but given the annotations this is acceptable, though minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured as a docstring with a title line, URL, param, and return type, which is readable. However, it redundantly repeats the annotation title verbatim at the start, and the URL adds length without immediate value for an agent. Every line earns some place, but the redundancy and unnecessary URL make it less concise than ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one optional parameter, read-only, no output schema), so the description covers the basics: source, parameter, and return type. However, it does not explain the contents of the returned DataFrame (e.g., columns like shareholder name, change in shares, holding ratio), nor does it clarify whether the data covers all stocks or a specific stock. Without an output schema, this lack of detail leaves the agent partially informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides no description for 'date' (0% coverage), so the description's ':param date: 报告期' adds crucial meaning—it clarifies the parameter is the report period. It also states the type as str. However, it does not specify the required format (e.g., YYYYMMDD) beyond what the schema default implies, and it doesn't explain acceptable values like quarter-end dates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source (East Money), the category (shareholder holding change statistics), and the target (top 10 circulating shareholders). It also documents the report period parameter and return type. However, it lacks an explicit verb like "retrieves" and doesn't clearly distinguish itself from sibling tools like stock_gdfx_free_holding_analyse_em, aside from the tool name and the phrase "持股变动统计" in the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as stock_gdfx_free_holding_statistics_em or stock_gdfx_top_10_em. The description does not explain the context (e.g., for a specific report period, all stocks) or any prerequisites. The URL and parameter hint at usage but do not provide explicit selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gdfx_free_holding_detail_emBRead-onlyIdempotent
东方财富网-数据中心-股东分析-股东持股明细-十大流通股东 https://data.eastmoney.com/gdfx/HoldingAnalyse.html :param date: 报告期 :type date: str :return: 十大流通股东 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210930 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds useful context by specifying the return type (pandas.DataFrame) and the data source URL, but it does not disclose details like data freshness, pagination, or column specifics, which would be valuable for a financial data tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the tool's purpose. It includes a URL for reference and a compact docstring, but the layout is a bit unstructured (mixing Chinese title, URL, and parameter notes). Still, every line serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description specifies the return type (DataFrame) and the general content (top 10 floating shareholders), but lacks details on columns, index, or any peculiarities of the data. Given the simple one-parameter interface and good annotations, this is adequate but not rich. The lack of an output schema increases the need for more detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only provides the parameter name and default value, but the description's docstring ('报告期' for date) adds semantic meaning, clarifying it is the reporting period. With only one parameter and 0% schema description coverage, the description adequately compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource (东方财富网-数据中心-股东分析-股东持股明细) and the specific data (十大流通股东), making the tool's purpose unambiguous. It distinguishes itself from sibling tools by naming the exact category of shareholders, though it doesn't explicitly compare to alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus the many similar sibling tools (e.g., stock_gdfx_free_holding_analyse_em, stock_gdfx_holding_detail_em). The description gives the data source URL and parameter docstring but omits context like typical use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gdfx_free_holding_statistics_emBRead-onlyIdempotent
东方财富网-数据中心-股东分析-股东持股统计-十大流通股东 https://data.eastmoney.com/gdfx/HoldingAnalyse.html :param date: 报告期 :type date: str :return: 十大流通股东 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210630 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), which is useful context beyond annotations. However, it does not disclose any additional behavioral traits such as pagination, rate limits, or error conditions. With annotations present, the description provides marginal extra value, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a title line, a URL, and a clear parameter/return docstring. It front-loads the purpose and avoids unnecessary verbosity. The URL is extra but useful for source verification. It earns a 4 for efficiency and structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter, but there is no output schema, so the description must explain the return value. It only says '十大流通股东' (top 10 circulating shareholders) without listing columns or DataFrame structure. Also, with a large family of sibling tools like stock_gdfx_free_holding_detail_em and stock_gdfx_holding_statistics_em, the description does not differentiate what makes this tool distinct. This is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description carries the burden. The docstring ':param date: 报告期' clarifies that the `date` parameter means 'reporting period', and the default value '20210630' implies a YYYYMMDD format. This adds meaning beyond the schema property name, but it is minimal—no valid range, format specification, or examples beyond the default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the data source and content: '东方财富网-数据中心-股东分析-股东持股统计-十大流通股东' (East Money Data Center - Shareholder Analysis - Shareholder Holding Statistics - Top 10 Circulating Shareholders). It implies a retrieval function by specifying return type pandas.DataFrame. However, it does not explicitly distinguish from closely named siblings like stock_gdfx_holding_statistics_em, so it lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description simply provides a URL and parameter documentation, with no mention of appropriate contexts, exclusions, or why one might choose this over the many similar stock_gdfx_* tools. This is a clear absence of usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gdfx_free_holding_teamwork_emCRead-onlyIdempotent
东方财富网-数据中心-股东分析-股东协同-十大流通股东 https://data.eastmoney.com/gdfx/HoldingAnalyse.html :param symbol: 全部;choice of {"全部", "个人", "基金", "QFII", "社保", "券商", "信托"} :type symbol: str :return: 十大流通股东 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 社保 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is fully covered by structured fields. Beyond that, the description only adds the source site and the return type (pandas.DataFrame); it says nothing about rate limits, data freshness, or what the collaboration figure means. Minimal added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with the data category, but it is a raw docstring dump: a bare URL and :param/:type/:return/:rtype lines that duplicate the machine-readable schema. Nothing is wasted badly, but it is not shaped as prose guidance for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only data fetch, the annotations cover safety and the rtype line covers the return shape, so the description is close to adequate. Still missing: what '股东协同' measures, how the returned DataFrame is structured, and any routing hint relative to the many similar gdfx siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the schema declares no enum for symbol, so the description carries the whole burden. It supplies the full choice set {"全部", "个人", "基金", "QFII", "社保", "券商", "信托"} plus the type, which the schema omits entirely. It does not mention the schema default of 社保, but the enumeration is the critical missing semantic and is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific source and data category (东方财富网-数据中心-股东分析-股东协同-十大流通股东), so the resource is concrete. However, there is no verb and no explanation of what '股东协同' data actually represents, and it gives no basis for distinguishing itself from the many sibling shareholder tools (stock_gdfx_free_holding_detail_em, stock_gdfx_free_holding_statistics_em, stock_gdfx_holding_teamwork_em). It is a named data endpoint rather than a clearly stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternative tools. The bare URL and docstring fields give no indication of which shareholder-analysis sibling to pick. The only usable signal is the implicit 'this returns the data category in the title'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gdfx_free_top_10_emBRead-onlyIdempotent
东方财富网-个股-十大流通股东 https://emweb.securities.eastmoney.com/PC_HSF10/ShareholderResearch/Index?type=web&code=SH688686#sdltgd-0 :param symbol: 带市场标识的股票代码 :type symbol: str :param date: 报告期 :type date: str :return: 十大股东 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240930 | |
| symbol | No | sh688686 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the data source (East Money URL) and the return type (pandas.DataFrame), but does not disclose data lineage, column contents, or any potential quirks like pagination or historical coverage. It provides context beyond annotations but not rich behavioral detail, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring of four lines: a title, a reference URL, two parameter explanations, and return type. It is front-loaded with the title, each section is clearly labeled, and there is no extraneous prose. The URL duplicates the title but serves as a citation. This is a model of concise structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two optional parameters and no output schema. The description provides the return type and param meanings, but leaves gaps: it does not describe the DataFrame columns, distinguish free/circulating shareholder data from other shareholder data, or explain how to choose this over the many sibling gdfx tools. Given the annotation safety coverage, it is adequate for a basic read operation but lacks context for nuanced selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only default values with no descriptions (0% schema coverage). The description supplements this with ':param symbol: 带市场标识的股票代码' and ':param date: 报告期', clarifying that symbol requires a market prefix and date is the reporting period. This adds meaning, but the explanations are terse and do not specify exact formats (e.g., YYYYMMDD) beyond the defaults, so it does not fully compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description's title and first line state '东方财富网-个股-十大流通股东' (East Money individual stock top 10 circulating shareholders), and the URL points to the detailed shareholder research page. The ':return:' field states it returns 十大股东 as a DataFrame, making the purpose clear. However, there is no explicit verb like 'get' or 'retrieve', and it does not explicitly differentiate from sibling tools like stock_gdfx_top_10_em in the description text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks any guidance on when to use this tool versus alternatives. It does not mention any preconditions, typical use cases, or exclusions. The only contextual clue is the URL example for symbol SH688686, which implies usage but does not state when to select this over similar gdfx tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gdfx_holding_analyse_emBRead-onlyIdempotent
东方财富网-数据中心-股东分析-股东持股分析-十大股东 https://data.eastmoney.com/gdfx/HoldingAnalyse.html :param date: 报告期 :type date: str :return: 十大股东 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20230331 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a read-only, idempotent, non-destructive operation, so the description does not need to repeat that. It adds the return type (pandas DataFrame) and the meaning of the date parameter (报告期/reporting period), which provides some extra context. However, it does not disclose other behavioral details such as pagination, rate limits, or data granularity beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured as a docstring, with a title, URL, parameter description, and return type. Every line serves a purpose, and it is easy to scan. The inclusion of the URL may be redundant but does not detract significantly from conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 robust annotations, the description covers the basic purpose and return type but falls short in differentiating from close sibling tools and explaining the date parameter's format or possible values. Without an output schema, it would benefit from describing the DataFrame columns beyond just '十大股东'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the 'date' parameter, but the description partially compensates with ':param date: 报告期' and ':type date: str', clarifying that date refers to a reporting period. It does not explicitly state the format (YYYYMMDD) or valid values, relying on the schema default example. Thus, it adds basic meaning but lacks depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's function: retrieving top-10 shareholder data from East Money's shareholder analysis section, as indicated by the title and '十大股东' return type. It distinguishes from sibling tools like stock_gdfx_free_holding_analyse_em by specifying '十大股东' (top 10 shareholders) rather than free-float holdings, though it lacks an explicit verb like 'get' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools for different holding analyses (e.g., free holding, holding change, holding detail), the lack of differentiation or explicit usage context is a significant gap. The URL merely points to the data source but does not explain selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gdfx_holding_change_emBRead-onlyIdempotent
东方财富网-数据中心-股东分析-股东持股变动统计-十大股东 https://data.eastmoney.com/gdfx/HoldingAnalyse.html :param date: 报告期 :type date: str :return: 十大流通股东 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210930 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that it returns a pandas DataFrame of top 10 circulating shareholders, which is useful. However, it does not disclose data scope (e.g., all stocks vs. a single stock), pagination, or error behavior, so behavioral context remains thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and logically structured with title, URL, parameter, and return lines. The title line duplicates the annotation title, which is slightly redundant, but the URL and parameter documentation earn their place. It is not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description is too sparse for a shareholder analysis tool. It fails to clarify whether the query is for a single stock or all stocks, what the resulting DataFrame columns represent, or how the date parameter affects the output. Given the complexity and many siblings, the description leaves significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only provides 'date' as a string with default '20210930'. The description adds that it is the '报告期' (report period), giving essential meaning. While it does not explicitly state the format (e.g., YYYYMMDD), the default strongly implies it. For a single-parameter tool, this is adequate compensation for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource and content: East Money's shareholder holding change statistics for top 10 shareholders, with a specific URL. The title and name align on the main purpose, but there is no explicit verb like 'fetch' or 'query'. A minor inconsistency exists between the title (十大股东) and return (十大流通股东), yet it still distinguishes from siblings like stock_gdfx_holding_analyse_em by emphasizing 'change' statistics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many sibling shareholder analysis tools. There are no alternatives, exclusions, or prerequisites. The only usage hints are the name and the parameter documentation, so an agent cannot judge when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gdfx_holding_detail_emBRead-onlyIdempotent
东方财富网-数据中心-股东分析-股东持股明细-十大股东 https://data.eastmoney.com/gdfx/HoldingAnalyse.html :param date: 报告期 :type date: str :param indicator: 股东类型;choice of {"个人", "基金", "QFII", "社保", "券商", "信托"} :type indicator: str :param symbol: 持股变动;choice of {"新进", "增加", "不变", "减少"} :type symbol: str :return: 十大股东 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20230331 | |
| symbol | No | 新进 | |
| indicator | No | 个人 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds only that the data comes from Eastmoney and is returned as a pandas.DataFrame; it says nothing about rate limits, auth, pagination, or update cadence, which is a modest contribution given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is front-loaded with the data source and purpose, but the reST param/type block repeats type: str three times, which is redundant with the schema and adds low-value lines. It is functional but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three optional parameters and no output schema, the description covers the parameter semantics well but describes the return only as 十大股东 / pandas.DataFrame, giving no sense of the columns or shape an agent should expect. Adequate but with a visible gap for a data-retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema exposes no enums, yet the description documents each of the three parameters' meaning (报告期, 股东类型, 持股变动) and enumerates the valid values for indicator and symbol, which is essential information absent from the schema. It does not spell out the date string format, but the default value conveys it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope: Eastmoney data-center top-ten shareholder holding detail (十大股东), with a source URL. It is clear what is retrieved, but it does not explicitly differentiate itself from close siblings like stock_gdfx_free_holding_detail_em or stock_gdfx_top_10_em, leaving the freed-float vs total-holder distinction to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many gdfx/holding siblings, nor any prerequisite or exclusion. Usage is only implied by the parameter list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gdfx_holding_statistics_emCRead-onlyIdempotent
东方财富网-数据中心-股东分析-股东持股统计-十大股东 https://data.eastmoney.com/gdfx/HoldingAnalyse.html :param date: 报告期 :type date: str :return: 十大股东 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210930 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description doesn't need to repeat safety. The description adds the return type (pandas.DataFrame) and the data source URL, but does not disclose whether the tool returns data for all stocks or a specific stock, the date format, or potential pagination. This omission is significant given the many similar sibling tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and follows a standard docstring format with :param and :return. It includes the Chinese title and URL, which provide helpful context, without any fluff. While it is not overly verbose, it could be more front-loaded with a clear action statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description's ':return: 十大股东' and ':rtype: pandas.DataFrame' are minimal and do not explain the DataFrame's columns or scope. The description does not mention that this tool appears to provide statistics across all stocks for a given report period, nor does it clarify how it differs from the many sibling holding-analysis tools. This is a significant gap for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only the parameter name 'date' with a type and default, so the description's ':param date: 报告期' (report period) adds essential meaning. However, it does not specify the expected format (e.g., YYYYMMDD) or the allowed range, though the default '20210930' implies the format. Given the low schema coverage, the description partially compensates but could be more explicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as the Eastmoney data center shareholder analysis page for top 10 shareholders holding statistics, including a URL and return type. It specifies '十大股东' (top 10 shareholders) and '股东持股统计' (shareholder holding statistics), which distinguishes it from sibling tools like holding change or holding detail. However, it lacks an explicit verb like 'get' or 'fetch', but the return docstring implies retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as stock_gdfx_holding_change_em or stock_gdfx_holding_detail_em. It only documents the date parameter and return type, without mentioning exclusions, prerequisites, or specific use cases. This leaves the agent to infer usage from the tool name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gdfx_holding_teamwork_emBRead-onlyIdempotent
东方财富网-数据中心-股东分析-股东协同-十大股东 https://data.eastmoney.com/gdfx/HoldingAnalyse.html :param symbol: 全部;choice of {"全部", "个人", "基金", "QFII", "社保", "券商", "信托"} :type symbol: str :return: 十大股东 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 社保 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds the return type (pandas.DataFrame of top-10 shareholders) and the source URL, which is modest additional context. It discloses nothing about auth, rate limits, or empty-result behavior, so it does not go beyond the annotation baseline meaningfully.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose line is front-loaded, which is good, but the raw docstring skeleton (URL, :param:, :type:, :return:, :rtype:) is machine-note phrasing rather than narrative and the bare URL adds little selection value. It is compact and not bloated, but not optimally structured for agent consumption.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter data-fetch tool with rich annotations and no output schema, the description covers the parameter values and return type. What is missing is the semantic distinction from sibling shareholder tools and any clarifying meaning of '股东协同'/'十大股东', which matters given the dense sibling cluster. Adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% – the schema only declares a string named 'symbol' with default '社保' and no enum. The description compensates by enumerating the valid values ({全部, 个人, 基金, QFII, 社保, 券商, 信托}), which the agent would otherwise not know. It still does not explain what 'symbol' conceptually filters (holder category), so it is strong but not complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the data source hierarchy (EastMoney data center → shareholder analysis → shareholder teamwork → top 10 shareholders) and the return subject, so the resource is identifiable. However, there is no explicit verb and, critically, no differentiation from the very close sibling stock_gdfx_free_holding_teamwork_em (the free-float counterpart) or other stock_gdfx_holding_* tools. It reads largely as a restatement of the tool name/title, keeping it at minimum-viable clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use guidance, no prerequisites, and never names an alternative. An agent must guess whether this is the right shareholder tool among the many siblings. Nothing communicates the selection condition (e.g. 十大股东 vs 十大流通股东).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gdfx_top_10_emBRead-onlyIdempotent
东方财富网-个股-十大股东 https://emweb.securities.eastmoney.com/PC_HSF10/ShareholderResearch/Index?type=web&code=SH688686#sdgd-0 :param symbol: 带市场标识的股票代码 :type symbol: str :param date: 报告期 :type date: str :return: 十大股东 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210630 | |
| symbol | No | sh688686 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the output type (DataFrame) and a source URL, but discloses no additional behavioral traits such as pagination, rate limits, or data freshness. This is acceptable given the strong annotations but not exemplary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is compact and structured with title, URL, parameters, and return type. It is not overly verbose, though the URL may be extraneous for an AI agent and the title largely repeats the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description only vaguely specifies 'top 10 shareholders' and a DataFrame, lacking column details. Given the large family of shareholder-related sibling tools, it does not provide enough context to fully understand the result structure or select the correct tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter descriptions (0% coverage), but the description defines symbol as 'stock code with market identifier' and date as 'reporting period', providing essential meaning beyond bare types and defaults. It compensates for the schema gap, though it could be more explicit about formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates it retrieves top 10 shareholders from Eastmoney for an individual stock, with return type pandas DataFrame. However, it does not explicitly distinguish itself from sibling tools like stock_gdfx_free_top_10_em, which could lead to confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no exclusions, and no situational context. It only lists parameters and return type, leaving the agent without direction for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_ggcg_emARead-onlyIdempotent
东方财富网-数据中心-特色数据-高管持股 https://data.eastmoney.com/executive/gdzjc.html :param symbol: choice of {"全部", "股东增持", "股东减持"} :type symbol: str :return: 高管持股 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds the data source URL and parameter scoping but does not disclose additional behavioral traits such as rate limits, output size, or error handling, which go beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, including only the title, URL, parameter documentation, and return type. It is front-loaded with the resource name and avoids unnecessary filler, though the inline URL and docstring format are slightly unstructured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should provide more detail about the return structure, but it only states '高管持股' and pandas.DataFrame without column or time-range information. The single parameter is well-covered, but the output remains underspecified for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by enumerating the valid values for 'symbol' and labeling it as a choice. It clarifies the allowed options and their apparent meaning, though it does not explicitly describe how each value affects the returned DataFrame.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as executive holdings data from Eastmoney's data center, with parameter choices indicating filtering by all, increases, or decreases. However, it lacks an explicit verb like 'get' or 'fetch' and does not differentiate from sibling tools that also deal with stock holdings data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parameter choices ('全部', '股东增持', '股东减持') imply distinct usage scenarios, and the data source URL gives context. Yet it does not explicitly state when to use this tool versus alternatives or provide any prerequisites or exclusions, relying on the reader to infer intent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gpzy_distribute_statistics_bank_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-股权质押-质押机构分布统计-银行 https://data.eastmoney.com/gpzy/distributeStatistics.aspx :return: 质押机构分布统计-银行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds the return type (pandas.DataFrame) and source URL, providing some context beyond the schema. However, it does not disclose any further behavioral traits such as data coverage, rate limits, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a title line, a URL, and a return type declaration. Every line carries information, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple data retrieval with no parameters and no output schema. The description tells the agent the data source and return type, but it lacks details on the structure of the DataFrame or what specific fields are included, which could be important for selecting this tool. However, given the simplicity, it is minimally acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100%, so the description need not explain parameters. The baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as 质押机构分布统计-银行 (pledge institution distribution statistics - banks) from Eastmoney, and by specifying '银行' it differentiates from the sibling company version. However, it lacks an explicit verb like 'retrieves' or 'lists', making it more of a title than a functional description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only provides a URL and return type, with no mention of use cases, exclusions, or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gpzy_distribute_statistics_company_emARead-onlyIdempotent
东方财富网-数据中心-特色数据-股权质押-质押机构分布统计-证券公司 https://data.eastmoney.com/gpzy/distributeStatistics.aspx :return: 质押机构分布统计-证券公司 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is read-only, idempotent, and non-destructive. The description adds the return type (pandas.DataFrame) and source URL, but does not reveal additional behavioral traits such as data freshness, pagination, or network dependencies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise and well-structured, front-loading the title and including useful metadata (URL and return type). It loses a point for repeating '质押机构分布统计-证券公司' twice, which is slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter, read-only tool, the description provides sufficient context: it states the source, the specific data topic, and the return type. While it lacks column details or examples, the annotations and simplicity of the tool make this adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers parameter semantics. The description does not need to add parameter details; the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: pledge institution distribution statistics for securities companies, with an explicit source URL. It distinguishes from sibling tools like the bank variant by specifying '证券公司' (securities companies), though it lacks an explicit verb like 'get' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its usage through the specific dataset name and URL, making it clear this is for securities company pledge distribution stats. However, it provides no explicit when-to-use guidance or comparisons to alternative tools in the same family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gpzy_individual_pledge_ratio_detail_emDRead-onlyIdempotent
AKShare API: stock_gpzy_individual_pledge_ratio_detail_em
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. However, the description adds no behavioral context beyond this—no mention of data source, return characteristics, symbol format, or any operational nuances. The description contributes zero additional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While the description is extremely short, this is under-specification rather than concise effective communication. A single sentence that merely restates the tool name does not earn its place; it provides no informative content. The structure is minimal but functionally empty.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a data-fetching tool with one parameter and no output schema, the description is critically incomplete. It does not explain what data is returned, what 'individual pledge ratio' means, or how it differs from closely related tools. The combination of a zero-information description and minimal schema leaves the agent unable to use this tool correctly or predict its output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'symbol' has no description in the schema (0% coverage) and the description provides no meaning, format, or example. The agent cannot infer what a valid symbol looks like (e.g., '600000' vs 'sh600000') or how it relates to the pledge ratio domain. The description fails to compensate for the schema's lack of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is purely tautological: "AKShare API: stock_gpzy_individual_pledge_ratio_detail_em" simply restates the tool name with a prefix. It does not state what the tool does, what resource it operates on, or what 'individual pledge ratio detail' means. It fails to convey any specific verb, action, or domain context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 its many siblings, such as stock_gpzy_pledge_ratio_detail_em or stock_gpzy_industry_data_em. There is no mention of use cases, exclusions, or selection criteria. The description is just a label with no contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gpzy_industry_data_emARead-onlyIdempotent
东方财富网-数据中心-特色数据-股权质押-上市公司质押比例-行业数据 https://data.eastmoney.com/gpzy/industryData.aspx :return: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering safety. The description adds the source URL and return type (pandas.DataFrame), but does not disclose data granularity, update frequency, or any potential quirks. With annotations present, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three lines with no fluff: a human-readable title, the source URL, and the return type. Every element earns its place, making it highly concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter data-fetch tool with strong annotations, the description is largely complete: it names the data source, the specific dataset, and return format. The only gap is the lack of detail on the DataFrame's columns or structure, but this is not critical given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers parameter semantics. The description correctly notes the return type, which is useful, and the baseline of 4 applies since no parameter explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource clearly: Eastmoney data center's equity pledge industry data for listed companies. It distinguishes from sibling tools like stock_gpzy_individual_pledge_ratio_detail_em by specifying '行业数据' (industry data), but lacks an explicit verb such as 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of use cases, prerequisites, or comparisons to sibling equity pledge tools, leaving the agent to infer suitability only from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gpzy_pledge_ratio_detail_emDRead-onlyIdempotent
AKShare API: stock_gpzy_pledge_ratio_detail_em
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is clear. However, the description adds no behavioral context beyond this, leaving the actual return behavior and operational characteristics completely unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only a brief label, which is under-specification rather than effective conciseness. It fails to earn its place because it conveys no actionable meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a data-fetching tool with no output schema, the description must explain what data is returned and how to interpret it. Here, even the core purpose is missing, making the description completely inadequate for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is an empty object. With 0 params, the baseline is 4, and there is no param semantics needed. The description adds no param info, but none is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is merely the tool name prefixed with 'AKShare API:', providing no statement of what the tool does. It is a tautology that restates the identifier without any verb or explanation of functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling tools. No scenarios, prerequisites, or alternative suggestions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gpzy_pledge_ratio_emCRead-onlyIdempotent
东方财富网-数据中心-特色数据-股权质押-上市公司质押比例 https://data.eastmoney.com/gpzy/pledgeRatio.aspx :param date: 指定交易日,访问 https://data.eastmoney.com/gpzy/pledgeRatio.aspx 查询 :type date: str :return: 上市公司质押比例 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240906 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is fully covered. The description adds the data source (Eastmoney) and the return type (pandas.DataFrame), which is modest but real added value since no output schema exists; it says nothing about rate limits, freshness, or coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short and front-loads the resource and source URL, then the single parameter, then the return type. Every element is relevant; only the redundant URL repetition wastes a little space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output-schema data fetch, the description covers source, parameter intent, and return type, which is close to adequate. It still omits the date format and any distinction from the gpzy siblings, so an agent could pick the wrong tool or pass an invalid date.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single date parameter, so the description carries the burden. It clarifies the parameter means a trading day (指定交易日) and references a lookup page, but never states the required YYYYMMDD string format that the default 20240906 implies, leaving a real gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific data product (东方财富 上市公司质押比例) and its source, so the resource is identifiable. However, it uses a bare noun phrase with no verb and never differentiates from close siblings such as stock_gpzy_pledge_ratio_detail_em or stock_gpzy_profile_em, leaving the agent to infer this is the headline ratio table rather than a detail listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of any alternative tool. The URL and the note that the date parameter can be queried at that page give a faint sense of usage context, but nothing tells the agent when this tool is preferred over the detail or profile siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gpzy_profile_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-股权质押-股权质押市场概况 https://data.eastmoney.com/gpzy/marketProfile.aspx :return: 股权质押市场概况 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds a source URL and return type (DataFrame) but does not disclose other behavioral traits such as data freshness, network requirements, or the shape of the returned data. Given the annotations, this is acceptable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact at three lines. The first line is a Chinese breadcrumb path that largely duplicates the tool's name meaning, and the URL is useful for source identification. It is not overly verbose, but the redundancy keeps it from a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the returned DataFrame contains, but it only states 'equity pledge market profile' and gives a URL. It leaves column names, data granularity, and whether the data is historical or a snapshot unspecified. This is minimal but sufficient for a zero-parameter read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty (100% coverage), so no parameter documentation is needed. The description adds nothing about parameters, but none exist, so the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as the equity pledge market profile from East Money's data center, with a specific URL and return type (pandas DataFrame). It lacks an explicit verb like 'fetch' or 'get', but the ':return:' phrasing implies retrieval. It does not explicitly differentiate from sibling pledge tools, but the specialized 'market profile' terminology and URL provide enough distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as stock_gpzy_pledge_ratio_detail_em or stock_gpzy_distribute_statistics_*. No mention of alternative tools, use cases, or exclusions is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_gsrl_gsdt_emBRead-onlyIdempotent
东方财富网-数据中心-股市日历-公司动态 https://data.eastmoney.com/gsrl/gsdt.html :param date: 交易日 :type date: str :return: 公司动态 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20230808 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive, so the description does not repeat these. It adds that the date parameter is a trading day and that the result is a pandas DataFrame, providing some behavioral context. However, it does not disclose details like data granularity, potential network behavior, or exact contents, so the added value is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely compact, consisting of a title line, a URL, and a concise docstring for the parameter and return. It is front-loaded with the source name and presents information in a structured, scannable format with no redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description covers the source, parameter, and return type, which is adequate for basic use. However, it does not explain what columns or event types are included in the returned 'company dynamics' DataFrame, nor does it explicitly state the date format. An agent would need additional inference to fully understand the output content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only the parameter name, type, and default value, with no descriptions. The description compensates by stating ':param date: 交易日' (trading day) and using the default '20230808' to imply a YYYYMMDD format. This clarifies the meaning and format of the parameter, though it could be more explicit about allowed date ranges or edge cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially repeats the title '东方财富网-数据中心-股市日历-公司动态' and adds a URL and docstring. It clearly implies the domain (company dynamics in the stock calendar) but lacks an explicit action verb like 'retrieves' or 'queries'. The return type as a pandas DataFrame and the date parameter strongly hint at data retrieval, making it somewhat clear, but the purpose is not stated as a directive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternative tools for similar data. The description does not mention prerequisites, exclusions, or alternative tools. It only provides the parameter and return specification, leaving the agent to infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_history_dividendBRead-onlyIdempotent
新浪财经-发行与分配-历史分红 https://vip.stock.finance.sina.com.cn/q/go.php/vInvestConsult/kind/lsfh/index.phtml :return: 所有股票的历史分红数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows it's a safe read. The description adds the source URL and the scope '所有股票的历史分红数据' (all stocks' historical dividend data), which clarifies the data scope. However, it doesn't disclose potential pitfalls like rate limits, data freshness, or the fact that it returns ALL stocks (which could be a large dataset). For a tool with annotations covering safety, this is acceptable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the title, but it includes a raw URL that takes up space without explaining its relevance to the agent. The docstring-style 'return' and 'rtype' lines are succinct but add minimal value beyond the description. It's efficient but slightly cluttered with the URL and lacks a clean separation of purpose and usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (zero params) and annotations cover safety, so the description doesn't need much. However, it doesn't describe the output schema or columns, which would help the agent understand what data comes back. Given the existence of sibling tools like stock_history_dividend_detail, it would be beneficial to clarify whether this returns aggregate or detailed data. The description mentions 'all stocks', but the agent might need to know if it can filter by stock or date. It's adequate for a zero-param tool but leaves some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 with 100% coverage. Since there are no parameters to document, the description doesn't need to explain any. The baseline for zero parameters is 4, and the description correctly indicates no input is needed beyond calling the function. It doesn't add detail about return columns, but that's not required for parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the source (新浪财经-发行与分配-历史分红), provides a URL, and indicates the return type (all stocks' historical dividend data as a pandas DataFrame). It clearly identifies the tool as a read-only data retrieval for dividend history. However, it lacks a comparison to sibling tools like stock_history_dividend_detail, stock_dividend_cninfo, or fund_fh_em, so it doesn't fully distinguish itself from similar dividend-related functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a specific stock code) or scenarios where this tool is preferred over stock_history_dividend_detail or stock_dividend_cninfo. The description only states what it does, not when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_history_dividend_detailBRead-onlyIdempotent
新浪财经-发行与分配-分红配股详情 https://vip.stock.finance.sina.com.cn/corp/go.php/vISSUE_ShareBonus/stockid/300670.phtml :param indicator: choice of {"分红", "配股"} :type indicator: str :param symbol: 股票代码 :type symbol: str :param date: 分红配股的具体日期,e.g., "1994-12-24" :type date: str :return: 指定 indicator, stock, date 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| symbol | No | 000002 | |
| indicator | No | 分红 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds the concrete data source (Sina Finance) and the return type (pandas.DataFrame), which is useful but modest given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the source and resource before listing parameters. The raw source URL and Sphinx type lines add mild clutter but no sentence is wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter read-only query with no output schema, the description supplies the data source, all three parameter meanings, and the return type, which is enough for an agent to call it. It lacks only guidance on scope/alternatives relative to sibling dividend tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema only supplies raw defaults, so the description carries the burden: it enumerates the indicator choices {"分红", "配股"}, identifies symbol as 股票代码, and gives a date format example ("1994-12-24"). This meaningfully compensates for the empty schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (新浪财经 发行与分配 分红配股详情) and points at the exact source URL, so an agent knows this returns dividend/rights-issue records from Sina Finance. It does not differentiate itself from close siblings like stock_history_dividend or stock_dividend_cninfo, which prevents a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternative tools for dividend data. The agent must infer context purely from the Chinese title and the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_company_profile_emBRead-onlyIdempotent
东方财富-港股-公司资料 https://emweb.securities.eastmoney.com/PC_HKF10/pages/home/index.html?code=03900&type=web&color=w#/CompanyProfile :param symbol: 股票代码 :type symbol: str :return: 公司资料 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 03900 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, idempotent operation, so the description doesn't need to restate that. It adds the return type (pandas.DataFrame) and a source URL, which provides some context, but it does not disclose the contents of the DataFrame or any other behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and follows a clear docstring structure with source URL, parameter, return, and rtype. The URL is somewhat lengthy, but each line serves a purpose; it's not padded with fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives the output type but not the actual fields or structure of the returned DataFrame. It also lacks any context to help an agent decide if this is the right tool among many HK stock tools, making it incomplete for selecting and invoking correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions, so the param docstring ('股票代码' meaning stock code) adds meaning beyond the raw schema. However, it lacks details about the code format, examples, or constraints, leaving the agent with only a general sense of the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches Hong Kong stock company profile data from East Money and returns it as a pandas DataFrame. However, it does not differentiate it from sibling tools like stock_hk_security_profile_em, and the Chinese title largely mirrors the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention any conditions, exclusions, or scenarios, so the agent gets no help in choosing this tool over related HK stock tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_dailyBRead-onlyIdempotent
新浪财经-港股-个股的历史行情数据 https://stock.finance.sina.com.cn/hkstock/quotes/02912.html :param symbol: 可以使用 ak.stock_hk_spot() 获取 :type symbol: str :param adjust: "": 返回未复权的数据 ; qfq: 返回前复权后的数据;qfq-factor: 返回前复权因子和调整; :type adjust: str :return: 指定 adjust 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| symbol | No | 00981 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, covering the safety profile. The description adds the data source, return type, and adjust-value behavior, but omits important behavior such as the default date range, frequency, pagination, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, followed by a source URL and parameter documentation. The docstring-style type lines and return type add some redundancy but remain compact and relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose, parameter semantics, and return type, and annotations cover safety. However, with no output schema and no date range or row-level return behavior described, the definition leaves meaningful gaps for an agent selecting among many similar HK stock data tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It explains the adjust parameter values well (unadjusted, qfq, qfq-factor) and explains where to obtain a valid symbol, though it does not document the symbol format or default values beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource: Sina Finance historical daily quote data for individual Hong Kong stocks. It is clear what data the tool returns, but it does not distinguish itself from sibling tools such as stock_hk_hist or stock_hk_spot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only tells the user that the symbol can be obtained via ak.stock_hk_spot(). It gives no guidance on when to use this tool instead of alternatives like stock_hk_hist or stock_hk_spot, and no when-not conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_dividend_payout_emBRead-onlyIdempotent
东方财富-港股-核心必读-分红派息 https://emweb.securities.eastmoney.com/PC_HKF10/pages/home/index.html?code=03900&type=web&color=w#/CoreReading :param symbol: 股票代码 :type symbol: str :return: 分红派息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 03900 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, which covers the safety profile. The description adds the data source URL and states that the return is a pandas DataFrame, but discloses no additional behavioral traits such as pagination, data coverage, or update frequency. Given the strong annotation coverage, this is adequate but not enriching.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively compact, but it includes a long 100+ character URL and a title line that merely repeats the tool name. The docstring format is standard and front-loaded with the title, but the URL adds noise without contributing essential information, making the structure somewhat cluttered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter data retrieval tool, the description provides the source, parameter meaning, and return type. However, without an output schema, it does not detail the DataFrame columns or underlying data fields, and no edge cases or formatting requirements are mentioned. The read-only annotations help, but the description could be richer to fully guide an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage, but the description explicitly defines 'symbol' as a stock code with type str, and the example URL includes code=03900. This compensates for the missing schema description. However, it does not specify format constraints (e.g., 5-digit leading zeros for HK stocks), so it is not fully comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description's first line '东方财富-港股-核心必读-分红派息' is essentially a title that restates the tool name without an explicit action verb like 'retrieve' or 'query'. It identifies the resource (HK dividend payout data from East Money) and the return type, but does not clearly state what the tool does in a functional sentence or distinguish it from sibling HK dividend tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives, no exclusions, prerequisites, or context. The description only gives a source URL and a parameter definition, so an agent cannot decide between this and other dividend-related tools like stock_hk_fhpx_detail_ths or stock_history_dividend.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_famous_spot_emCRead-onlyIdempotent
东方财富网-行情中心-港股市场-知名港股 https://quote.eastmoney.com/center/gridlist.html#hk_wellknown :return: 知名美股实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent. The description adds that it returns real-time quotes as a DataFrame, but it also introduces an inconsistency by calling the output US stocks. No other behavioral details (e.g., data freshness, column meanings) are disclosed. This is not an annotation contradiction, but it reduces trust.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, includes a source URL and return type, but the mislabeling of output as US stocks makes it poorly structured and confusing. The 'return' line is clearly erroneous, so the conciseness is undermined by incorrect information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool, the description provides the source and data type, but fails to specify what columns/fields are included or clarify the market (it says HK in the heading but US in the return). Given the availability of sibling tools, it needs better differentiation and accuracy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts no parameters, and the schema is empty (100% coverage by default). Since there are no parameters to document, the description does not need to add parameter detail; the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source and market (港股市场, 知名港股), but the return description mislabels the result as '知名美股实时行情', conflicting with the tool's name and source URL. The core purpose is still discernible but the error undermines clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this vs sibling tools like stock_hk_spot, stock_hk_main_board_spot_em, or stock_us_famous_spot_em. The URL and market name imply it's for well-known HK stocks, but no exclusions or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_fhpx_detail_thsBRead-onlyIdempotent
同花顺-港股-分红派息 https://stockpage.10jqka.com.cn/HK0700/bonus/ :param symbol: 港股代码 :type symbol: str :return: 分红派息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 0700 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false. The description adds minimal behavioral context: it reveals the data source is THS (同花顺) and the return type is a DataFrame. It does not disclose pagination, column contents, or any rate limits. Since annotations already cover safety, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and includes a useful example URL, param doc, and return type in a few lines. No filler, but the structure is a bit terse and mainly a docstring copy. It earns a 4 for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with one optional parameter and clear annotations. The description gives enough to call it (symbol only) but lacks context on the returned DataFrame fields and how this tool compares to sibling dividend tools. Given its simplicity, a 3 is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (no descriptions on parameters), so the description carries the burden. It states 'symbol: 港股代码' (HK stock code) and provides an example URL with HK0700, which helps clarify the format. However, it doesn't specify whether the symbol should include leading zeros or the exchange prefix. The example implies a 4-digit format but doesn't explicitly say so. Baseline for one undocumented param is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the source (同花顺/THS), market (港股/HK stocks), and subject (分红派息/dividend distribution). It clearly identifies a specific resource per symbol. However, it does not explicitly distinguish itself from the many sibling tools like stock_hk_dividend_payout_em, stock_fhps_ths, or stock_history_dividend, so it lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives is provided. The description only shows a sample URL and parameter type. There is no mention of when THS dividend details should be preferred over East Money (EM) or other dividend tools, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_financial_indicator_emARead-onlyIdempotent
东方财富-港股-核心必读-最新指标 https://emweb.securities.eastmoney.com/PC_HKF10/pages/home/index.html?code=03900&type=web&color=w#/CoreReading :param symbol: 股票代码 :type symbol: str :return: 财务指标 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 03900 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that the tool returns a pandas.DataFrame and references a source URL, but it does not disclose additional behavioral traits such as rate limits, error handling, or data scope beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a title, URL, parameter, and return type. It is front-loaded and each line serves a purpose, though the URL is arguably optional and could be omitted for brevity. Overall, it is well-structured and not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter and no output schema, the description explains the return type as 'financial indicators' in a pandas.DataFrame, but it does not specify which indicators are included or their format. This is adequate for basic usage but leaves ambiguity about the data contents, especially given the description's brevity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter, symbol, with no description. The description explicitly states 'symbol: 股票代码' (stock code) and provides a default example via the URL (code=03900). This adds semantic meaning beyond the raw schema, though it does not detail the expected format or possible values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates this tool retrieves financial indicators for Hong Kong stocks from East Money via the title '东方财富-港股-核心必读-最新指标' and the parameter/return documentation. It distinguishes itself by specifying '核心必读' (core reading) and '最新指标' (latest indicators), though other HK financial tools exist among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when financial indicators for a specific HK stock are needed, based on the provided purpose. However, it does not explicitly mention when to use this tool versus alternatives, nor does it provide exclusion criteria or when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_ggt_components_emBRead-onlyIdempotent
东方财富网-行情中心-港股市场-港股通成份股 https://quote.eastmoney.com/center/gridlist.html#hk_components :return: 港股通成份股 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description's burden is light. It adds that the return type is a pandas.DataFrame and the data source URL, which is useful. However, it does not describe columns, data freshness, or any potential exceptions, leaving some behavioral aspects undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, containing a title, source URL, and return type in a structured docstring format. It is only a few lines and has no filler, but the format is a mix of Chinese and code-like syntax rather than a polished natural-language description, slightly reducing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool, the description gives the essential context: what data it returns (港股通成份股), from which source (East Money URL), and as what type (pandas.DataFrame). Without an output schema, it would benefit from listing typical columns, but for a simple constituent list, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the input schema is empty. Per the rubric, a baseline of 4 applies when there are no params, and the description accurately indicates the return type (DataFrame) and content, so no additional parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning 港股通成份股 (Stock Connect constituent stocks) from East Money's market center, and the URL confirms the specific data source. It is distinct from siblings like stock_hk_spot_em by focusing on constituent list rather than quotes. However, it lacks an explicit verb like 'get' or 'fetch', relying instead on a noun phrase and docstring-style :return:.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description does not mention exclusions, prerequisites, or relation to sibling tools such as stock_hk_spot_em or stock_hk_main_board_spot_em. Usage is only implied by the tool name and topic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_growth_comparison_emBRead-onlyIdempotent
东方财富-港股-行业对比-成长性对比 https://emweb.securities.eastmoney.com/PC_HKF10/pages/home/index.html?code=03900&type=web&color=w#/IndustryComparison :param symbol: 股票代码 :type symbol: str :return: 成长性对比 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 03900 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds some value by specifying the return type (pandas.DataFrame) and the source URL, but it does not disclose additional behavioral traits such as data freshness, pagination, or rate limits. Since annotations cover the core safety aspects, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with a title, source URL, and param/return docstrings. It avoids unnecessary fluff. The URL might be considered extra but serves as a useful reference. No redundant sentences are present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only tool, the description provides the return type and param meaning, which is adequate for a basic call. However, it does not describe the contents of the DataFrame (columns or dimensions of growth comparison) or the meaning of the default symbol '03900'. Since there is no output schema, more detail about the return structure would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes a docstring for 'symbol' as '股票代码' (stock code), which adds meaning beyond the schema's bare string type and default value. However, it does not specify the expected format (e.g., leading zeros, 5-digit HK code) or how to obtain valid symbols. With schema description coverage at 0%, the description partially compensates but leaves gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (HK stock industry comparison) and the specific aspect (growth comparison) via the Chinese title '东方财富-港股-行业对比-成长性对比'. It distinguishes from sibling tools like stock_hk_valuation_comparison_em and stock_hk_scale_comparison_em. However, it lacks an explicit verb like 'get' or 'fetch', relying on the implicit return type to convey the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description does not mention exclusions, prerequisites, or scenarios where another tool (e.g., stock_zh_growth_comparison_em for A-shares) would be more appropriate. The only context is the title and URL, which imply the data source but not usage conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_gxl_lgBRead-onlyIdempotent
乐咕乐股-股息率-恒生指数股息率 https://legulegu.com/stockdata/market/hk/dv/hsi :return: 恒生指数股息率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the specific return content (HSI dividend yield), the return type (pandas.DataFrame), and the source URL, which is useful context but does not go into topics like data frequency or update schedule.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and includes only the essential return info and source URL. However, the first line duplicates the title from annotations, which adds slight redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only data retrieval tool with good annotations, the description adequately explains what is returned and in what format. It doesn't describe the DataFrame's columns, but for this simple case that is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers this aspect. Per the baseline for 0 params, this is a 4; the description correctly avoids parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool returns the Hang Seng Index dividend yield (恒生指数股息率) from Legulegu, with a source URL and a pandas.DataFrame return type. It clearly identifies the resource and is distinct from other HK stock tools, though the retrieval verb is implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It simply states the data source and return value without mention of use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_histBRead-onlyIdempotent
东方财富网-行情-港股-每日行情 https://quote.eastmoney.com/hk/08367.html :param symbol: 港股-每日行情 :type symbol: str :param period: choice of {'daily', 'weekly', 'monthly'} :type period: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :param adjust: choice of {"qfq": "1", "hfq": "2", "": "不复权"} :type adjust: str :return: 每日行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| period | No | daily | |
| symbol | No | 00593 | |
| end_date | No | 22220101 | |
| start_date | No | 19700101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. The description adds that it's a history/daily-quote fetch, but doesn't disclose things like potential rate limits, data source quirks, or how the default dates work (e.g., default start 19700101, end 22220101 might fetch a huge range). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly compact and structured with param/type/return in docstring format. It's front-loaded with the source and URL. Some redundancy exists (e.g., repeating '每日行情' multiple times), but it's mostly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, the description mentions return is 'pandas.DataFrame' but doesn't detail columns. The tool has 5 parameters, all optional with defaults, and the description explains most but not date formats or symbol format details. Given the complexity of a historical data tool and no output schema, the description is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains period choices ('daily', 'weekly', 'monthly'), adjust choices ('qfq', 'hfq', ''), and mentions symbol as a string with an example URL. However, it doesn't explain date formats (start_date/end_date) beyond '开始日期' and '结束日期', and the example symbol in URL (08367) differs from schema default (00593). The description adds some value but leaves gaps in date syntax and symbol format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly says it fetches Hong Kong stock daily market data from East Money ('东方财富网-行情-港股-每日行情'), with a URL example. It uses specific verbs like '每日行情' (daily quotes) and indicates resource (HK stocks) and data type (history). However, it doesn't explicitly distinguish itself from sibling tools like stock_hk_hist_min_em or stock_hk_spot_em, though the 'hist' in the name and '每日行情' imply historical daily data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: it's for retrieving HK stock daily/weekly/monthly historical data. It provides an example URL and parameter choices (period, adjust). However, it doesn't explicitly state when to use this tool vs alternatives like stock_hk_hist_min_em or stock_hk_spot_em, and doesn't mention exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_hist_min_emARead-onlyIdempotent
东方财富网-行情-港股-每日分时行情 https://quote.eastmoney.com/hk/00948.html :param symbol: 股票代码 :type symbol: str :param period: choice of {'1', '5', '15', '30', '60'} :type period: str :param adjust: choice of {'', 'qfq', 'hfq'} :type adjust: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :return: 每日分时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| period | No | 1 | |
| symbol | No | 01611 | |
| end_date | No | 2222-01-01 09:32:00 | |
| start_date | No | 1979-09-01 09:32:00 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds useful context such as the data source URL and the return type (pandas.DataFrame), but does not disclose behavior like date inclusiveness, timezone handling, or potential limitations of the data source. It adds some value but lacks deeper behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured as a docstring, with each parameter on its own line and a clear source URL. Every line provides useful information without unnecessary fluff. The structure is easy for an agent to parse, though it lacks a brief narrative overview.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with five parameters and no output schema, the description covers the parameters and return type, but omits important details such as the exact columns of the returned DataFrame, the date/time format expected for start_date and end_date, and how the period interacts with daily minute data. The unusual default values (e.g., '1979-09-01 09:32:00') are not explained, leaving ambiguity for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only lists parameters with defaults and no descriptions, so the description carries the full burden. It provides per-parameter documentation: symbol (股票代码), period (choice of '1','5','15','30','60'), adjust (choice of '','qfq','hfq'), start_date (开始日期), and end_date (结束日期). The valid choices for period and adjust are explicitly listed, which is essential. However, date formats are not specified, and the odd default values are unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing daily minute-level (分时) quotes for Hong Kong stocks from Eastmoney, with the title '东方财富网-行情-港股-每日分时行情'. The resource and data type are specific, and the tool name 'stock_hk_hist_min_em' aligns with the description, distinguishing it from daily or spot HK stock tools. However, the verb is not explicitly stated (e.g., 'fetch' or 'get'), which slightly reduces clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: provide a HK stock symbol, a minute period, adjustment, and date range to retrieve minute-level history. However, it does not explicitly state when to use this tool versus alternatives like stock_hk_hist (likely daily) or stock_hk_spot (real-time). No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_hot_rank_detail_emARead-onlyIdempotent
东方财富-个股人气榜-历史趋势 https://guba.eastmoney.com/rank/stock?code=HK_00700 :param symbol: 带市场表示的证券代码 :type symbol: str :return: 个股的历史趋势 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 00700 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is clear. The description adds that the return is a pandas.DataFrame and the source URL, but does not disclose behaviors like rate limits, invalid symbol handling, or data update frequency. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, starting with a title line, then a URL, then docstring-style param/return/type lines. Every line contributes meaning and the content is front-loaded. The mix of Chinese text and docstring syntax is slightly noisy but acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter and no output schema, the description covers the parameter format and return type, but it does not specify the output structure (columns, date range, etc.) beyond 'historical trend'. For a simple read-only tool with annotations, this is adequate but not complete; an agent might not know what fields to expect in the returned DataFrame.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema property 'symbol' has no description and a default of '00700'. The description explains the symbol must be a '带市场表示的证券代码' (securities code with market representation), reinforced by the URL example 'HK_00700'. This adds critical meaning beyond the schema. However, the default '00700' appears inconsistent with the market-prefix requirement, creating mild ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as '东方财富-个股人气榜-历史趋势' (Eastmoney individual stock popularity ranking historical trend) and states the return is historical trend data for a specific stock. The URL example and sibling names (e.g., stock_hk_hot_rank_detail_realtime_em, stock_hk_hot_rank_latest_em) help distinguish this as the historical trend variant, though the description does not explicitly contrast with siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when historical popularity trend data for a specific Hong Kong stock is needed, via the '历史趋势' phrase and the return type. However, it provides no explicit when-to-use vs alternatives, no exclusions, and no mention of sibling realtime or latest variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_hot_rank_detail_realtime_emBRead-onlyIdempotent
东方财富-个股人气榜-实时变动 https://guba.eastmoney.com/rank/stock?code=HK_00700 :param symbol: 带市场表示的证券代码 :type symbol: str :return: 实时变动 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 00700 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a safe read-only, idempotent operation (readOnlyHint=true, destructiveHint=false). The description adds that it returns a pandas DataFrame and provides the data source URL, but offers no additional behavioral context like rate limits, pagination, or authentication requirements. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a docstring-like structure with a title, URL, parameter, and return type. It is front-loaded with the purpose. The minor inconsistency between the described symbol format and the schema default slightly detracts from clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter, no output schema), the description covers the basic source and return type. However, '实时变动' is vague and does not explain the DataFrame's columns or structure, leaving some ambiguity about what the data contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds crucial meaning to the 'symbol' parameter by stating it must include a market representation (e.g., HK_00700), which is not evident from the schema alone. The default of '00700' in the schema is inconsistent with this format, but the description still provides valuable guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches real-time changes for an individual stock's popularity ranking from East Money, with a URL example (HK_00700) providing concrete scope. However, it does not explicitly differentiate this from sibling tools like stock_hk_hot_rank_detail_em, instead relying on the 'realtime' in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any mention of scenarios, prerequisites, or exclusions. The description simply defines the data source and parameter without helping the agent decide when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_hot_rank_emBRead-onlyIdempotent
东方财富-个股人气榜-人气榜-港股市场 https://guba.eastmoney.com/rank/ :return: 人气榜 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the source URL and confirms it returns a pandas DataFrame, but does not disclose any additional behavioral traits like data freshness, pagination, or rank criteria.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief, containing only the title, URL, and return type. It is front-loaded and has no fluff, but it is so terse that it reads more like a header than an explanatory description. Still, every line conveys something.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with no inputs and a clear return type, the description provides the basic purpose. However, it does not explain how this ranking differs from related HK hot rank tools (e.g., latest, detail), and the output content is unspecified beyond '人气榜'. Given the open world hint and absence of an output schema, more context would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, and the schema coverage is 100%. Per the baseline for 0-param tools, the description does not need to elaborate on parameters; the description's mention of return type adds minor value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as the Eastmoney individual stock popularity ranking for the Hong Kong market, including a source URL and return type. However, it lacks an explicit action verb like 'get' or 'list', relying on the tool name to convey the operation. It distinguishes from siblings by specifying '港股市场'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternative tools such as stock_hk_hot_rank_latest_em or stock_hk_hot_rank_detail_em. There is no mention of exclusions, preferred scenarios, or related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_hot_rank_latest_emARead-onlyIdempotent
东方财富-个股人气榜-最新排名 https://guba.eastmoney.com/rank/stock?code=HK_00700 :param symbol: 带市场表示的证券代码 :type symbol: str :return: 最新排名 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 00700 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds the return type (pandas.DataFrame) and the data source URL, but does not disclose additional behavioral details such as pagination, error handling, or the exact ranking criteria.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and structured, with a title, example URL, and param/return blocks. Every line adds value and it is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read tool, the description provides the return type and a URL, but the lack of an output schema means more detail on the returned DataFrame columns would be valuable. The market scope (HK) is implied by the name and URL, not explicitly stated in the description itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description compensates by explaining the symbol parameter as a 'security code with market representation' and providing the example 'HK_00700'. This adds meaning beyond the bare string type, though it lacks detail on supported market prefixes or format variations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this tool retrieves the latest popularity ranking for individual stocks from East Money, with a Chinese title and example URL. It distinguishes itself from sibling tools like 'stock_hk_hot_rank_em' by specifying 'latest' and 'hk' in the name and URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool over alternatives is provided. The URL example and 'HK' hint at Hong Kong stocks, but there's no mention of exclusions or referenced sibling tools for other markets or ranking types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_index_daily_emBRead-onlyIdempotent
东方财富网-港股-股票指数数据 https://quote.eastmoney.com/gb/zsHSTECF2L.html :param symbol: 港股指数代码;可以通过 ak.stock_hk_index_spot_em() 获取 :type symbol: str :return: 指数数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | HSTECF2L |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so safety semantics are covered. The description only adds the return type (pandas.DataFrame) and a source URL; it discloses nothing about date-range coverage, rate limits, or pagination. Minimal added behavioral value over the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is compact and front-loads the source, but it is a raw docstring dump with :param/:type/:return/:rtype scaffolding and a bare URL that provides provenance rather than actionable guidance. Adequate but not tightly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description covers the input source and the return type but says nothing about what columns the DataFrame contains or what date span is returned. That leaves an agent guessing about the result shape, which a slightly fuller description should have addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single schema property has no description, so the description carries the burden. It explains that symbol is a 港股指数代码 and points to ak.stock_hk_index_spot_em() as the way to discover valid codes, which meaningfully compensates for the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the provider (东方财富网), the market (港股), and the resource (股票指数数据), which is more than a tautology. However, it never states the frequency/scope that distinguishes it from siblings like stock_hk_index_spot_em (spot) or stock_hk_index_daily_sina; 'daily' appears only in the tool name, so an agent cannot tell the temporal granularity from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a useful procedural hint — obtain the symbol via ak.stock_hk_index_spot_em() — which implies usage context. But it never says when to prefer this tool over the spot or Sina-daily alternatives, nor does it state any prerequisite or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_index_daily_sinaBRead-onlyIdempotent
新浪财经-港股指数-历史行情数据 https://stock.finance.sina.com.cn/hkstock/quotes/CES100.html :param symbol: CES100,港股指数代码 :type symbol: str :return: 历史行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | CES100 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds only the return type (pandas.DataFrame), which is modest but real value given there is no output schema; it says nothing about the time span of '历史行情数据', frequency, or whether the full history is always returned (notably, there are no date parameters).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first line, and the Sphinx-style lines are terse. The URL and :return:/:rtype: lines earn their place somewhat because there is no output schema, though the opening line is a verbatim duplicate of the annotation title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output-schema tool the definition is minimally sufficient: an agent can call it with a default symbol and knows it gets a DataFrame. It is incomplete in that neither the valid symbol set nor the content/horizon of the returned history is described, and no sibling cross-reference is offered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% — the single parameter has only a default of 'CES100' and no description — so the description must carry the burden. It does explain that symbol means 港股指数代码 (HK index code) and gives CES100 as the example, but it does not enumerate valid codes or the accepted format, so compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (新浪财经-港股指数) and a specific output (历史行情数据), so an agent knows this returns historical HK index quotes from Sina rather than a spot snapshot. It does not, however, explicitly distinguish itself from the near-identical sibling stock_hk_index_daily_em (same data, EM source) or stock_hk_index_spot_sina, leaving that disambiguation to the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of what the tool is not for, and no reference to alternatives such as stock_hk_index_daily_em or stock_hk_index_spot_sina despite their overlapping scope. The agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_index_spot_emCRead-onlyIdempotent
东方财富网-行情中心-港股-指数实时行情 https://quote.eastmoney.com/center/gridlist.html#hk_index :return: 指数行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds that the data is from East Money's market center and returns a pandas.DataFrame, but does not disclose any further behavior like data latency or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the first line duplicates the title annotation. The URL and return type are useful, but the redundant line wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-param, no-output-schema tool, the description only states it returns a DataFrame of index quotes. It lacks details on which indices, columns, or the nature of the data, making it incomplete for an agent to understand the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% with an empty object. Per the rubric, a baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '港股-指数实时行情' (HK index real-time quotes) which indicates the resource, but it is a noun phrase without a verb and essentially repeats the title annotation. It does not distinguish from sibling tools like stock_hk_index_spot_sina.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It only gives a source URL and return type, with no mention of use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_index_spot_sinaARead-onlyIdempotent
新浪财经-行情中心-港股指数 大量采集会被目标网站服务器封禁 IP,如果被封禁 IP,请 10 分钟后再试 https://vip.stock.finance.sina.com.cn/mkt/#zs_hk :return: 所有指数的实时行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description usefully adds a rate-limit/IP-ban warning and retry guidance plus the return type (pandas.DataFrame), which are genuine behavioral facts not present in the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, but the block is cluttered with a bare documentation URL and docstring artifacts (':return:', ':rtype:') that duplicate information. The rate-limit warning earns its place; the URL and formatter tags are mostly noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema read tool, the description covers what is returned (all HK index real-time quotes as a DataFrame), the data source, and the throttling caveat. Little else is needed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4; there is nothing for the description to disambiguate and it introduces no misleading parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific source (新浪财经), resource (港股指数), and scope (所有指数的实时行情数据), so an agent knows it returns real-time HK index quotes. It does not, however, explicitly distinguish itself from close siblings like stock_hk_index_spot_em or stock_hk_index_daily_sina beyond the embedded source name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: '实时行情' signals snapshot data rather than history, and the IP-ban/10-minute-retry note gives operating context, but there is no explicit statement of when to pick this over the EM-sourced sibling or the daily-history sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_indicator_eniuBRead-onlyIdempotent
亿牛网-港股指标 https://eniu.com/gu/hk01093/roe :param symbol: 港股代码 :type symbol: str :param indicator: 需要获取的指标,choice of {"港股", "市盈率", "市净率", "股息率", "ROE", "市值"} :type indicator: str :return: 指定 symbol 和 indicator 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | hk01093 | |
| indicator | No | 市盈率 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the upstream source and a pandas.DataFrame return type; it says nothing about rate limits, whether eniu requires auth, or whether results are a snapshot vs. a historical series. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, but the body is a raw Python docstring: a bare URL, redundant :type tags that merely repeat the schema types, and an :rtype line. The indicator choice list is the only high-value content, so some lines do not earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity 2-parameter tool with no output schema, the description supplies both param meanings, the indicator enum, the source, and the return type (pandas.DataFrame). What is missing is whether the data is a time series or a current snapshot and any hint about the time dimension the URL implies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and neither parameter carries a description or enum in the schema, so the description does the heavy lifting: it glosses symbol as a HK stock code and, crucially, enumerates the indicator choices {港股, 市盈率, 市净率, 股息率, ROE, 市值}. It falls short of clarifying the accepted symbol format (e.g. 'hk01093').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific source (亿牛网/eniu.com) and resource (港股指标 / HK stock indicators), and the URL example (hk01093/roe) makes the retrieval target concrete. It distinguishes itself from valuation siblings (stock_hk_valuation_baidu, stock_hk_financial_indicator_em) mainly by the named data source rather than an explicit statement of difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use context, no prerequisites, and never names an alternative tool despite many nearby HK-fundamental siblings. The agent must infer usage entirely from the name and params.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_main_board_spot_emBRead-onlyIdempotent
东方财富网-港股-主板-实时行情 https://quote.eastmoney.com/center/gridlist.html#hk_mainboard :return: 港股-主板-实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is known. The description adds the return type (pandas.DataFrame) but does not mention data currency, update frequency, or any other behavioral nuance. This is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear title, a source URL, and a return type. There is no redundant or filler content, and the structure is easy to parse. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter spot data tool, the description is minimally sufficient but leaves gaps. It does not specify the DataFrame columns (e.g., stock code, name, latest price, change) or confirm the full scope of 'main board' coverage. Since there is no output schema, additional detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema has 100% coverage (it is an empty object). The description adds no parameter-specific semantics, but with no parameters to clarify, the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing real-time quotes for Hong Kong Main Board stocks from Eastmoney, which is a specific verb+resource combination. It does not explicitly contrast with sibling tools, but the 'main board' scope in the name and title inherently differentiates it from tools like stock_hk_index_spot_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus other Hong Kong stock spot tools. The description lacks any contextual hints, prerequisites, or alternative suggestions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_profit_forecast_etBRead-onlyIdempotent
经济通-公司资料-盈利预测 https://www.etnet.com.hk/www/sc/stocks/realtime/quote_profit.php?code=9999 :param symbol: 股票代码 :type symbol: str :param indicator: "盈利预测概览"; choice of {"评级总览", "去年度业绩表现", "综合盈利预测", "盈利预测概览"} :type indicator: str :return: 盈利预测 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 09999 | |
| indicator | No | 盈利预测概览 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the data source URL and return type but no further behavioral context like rate limits, pagination, or authentication requirements. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the tool's purpose and source. However, it redundantly repeats the title and includes a docstring-style layout that could be more concise. Overall, it is appropriately sized and every element contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two optional parameters and no output schema, the description gives reasonable parameter guidance but fails to explain the structure of the returned DataFrame beyond '盈利预测'. An agent may not know which columns or values to expect. It is minimally adequate but has noticeable gaps in output context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description compensates by documenting both parameters: symbol as stock code with default 09999, and indicator with allowed choices (评级总览, 去年度业绩表现, 综合盈利预测, 盈利预测概览) and default. It does not specify symbol format details (e.g., zero-padding), but provides essential selection info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as 经济通-公司资料-盈利预测 (ETNet Company Data - Profit Forecast) with a source URL, making clear it retrieves profit forecast data for HK stocks. It distinguishes from siblings like stock_hk_profit_forecast_em by specifying the ETNet source, though it lacks an explicit verb phrase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides parameters but no guidance on when to use this tool versus alternatives such as stock_hk_profit_forecast_em or stock_profit_forecast_ths. It does not state scenarios, exclusions, or selection criteria, leaving the agent to infer from the source URL alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_scale_comparison_emCRead-onlyIdempotent
东方财富-港股-行业对比-规模对比 https://emweb.securities.eastmoney.com/PC_HKF10/pages/home/index.html?code=03900&type=web&color=w#/IndustryComparison :param symbol: 股票代码 :type symbol: str :return: 规模对比 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 03900 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear without description support. The description adds that it returns a pandas.DataFrame, which is mildly useful, but it does not disclose data freshness, response structure, or any operational constraints. This is minimal but non-redundant value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and uses a standard docstring format, but the headline sentence duplicates the title and the long embedded URL adds noise without functional value for an AI agent. It is not bloated, but the structure could be more informative by replacing the URL with a clearer explanation of the tool's behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of explaining the return data. It only states '规模对比' (scale comparison) and 'pandas.DataFrame', leaving the columns, row structure, and meaning vague. The purpose ambiguity further reduces completeness. For a simple one-parameter read-only tool, it should at least clarify what 'scale comparison' returns and how the symbol parameter shapes the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the parameter 'symbol'. It does so by stating ':param symbol: 股票代码' (stock code) and type str, which gives basic meaning to the parameter. However, it lacks format details (e.g., 5-digit code, leading zeros) and does not explain how the symbol relates to the returned scale comparison. This is a partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the title repeated ('东方财富-港股-行业对比-规模对比' = East Money - HK Stocks - Industry Comparison - Scale Comparison). It lacks a verb or clear action, leaving ambiguous whether it retrieves scale data for a single stock, compares multiple stocks, or something else. It does specify the domain (HK stock industry comparison) but fails to distinguish itself from sibling comparison tools like stock_hk_valuation_comparison_em or stock_hk_growth_comparison_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There are many sibling comparison tools (valuation, growth, scale) and the description offers no context or exclusion criteria. The agent is left to infer usage solely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_security_profile_emBRead-onlyIdempotent
东方财富-港股-证券资料 https://emweb.securities.eastmoney.com/PC_HKF10/pages/home/index.html?code=03900&type=web&color=w#/CompanyProfile :param symbol: 股票代码 :type symbol: str :return: 证券资料 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 03900 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds that it returns a pandas DataFrame and provides a source URL, which is useful. However, it does not disclose potential pitfalls such as required code format (e.g., leading zeros) or error behavior. With annotations covering the core safety profile, this level of transparency is minimally acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise: a short title, a source URL, and docstring for parameter and return. It avoids excessive verbosity. The URL is a bit long but adds reference value. Overall, it is well-structured and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should specify the returned data structure. It only says '证券资料' (securities profile) and 'pandas.DataFrame', leaving the fields ambiguous. It also lacks guidance on valid symbol formats or edge cases. For a simple one-parameter tool, this is sufficient for basic use but lacks depth for a new agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'symbol' is described as '股票代码' (stock code), and the URL example 'code=03900' provides a concrete format illustration. Since schema description coverage is 0%, this description compensates effectively by explaining the parameter and offering a realistic example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides '东方财富-港股-证券资料' (East Money HK Stock Securities Profile), indicating it fetches profile data for a Hong Kong stock. While it lacks an explicit verb like 'get' or 'fetch', the resource and market are clearly identified. It is distinguishable from most siblings, though not explicitly differentiated from the similar stock_hk_company_profile_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It does not mention any context, prerequisites, or comparison with sibling tools. For an agent selecting among many HK stock tools, this is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_spotBRead-onlyIdempotent
新浪财经-港股的所有港股的实时行情数据 https://vip.stock.finance.sina.com.cn/mkt/#qbgg_hk :return: 实时行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering safety expectations. The description adds that the tool returns 实时行情数据 (real-time market data) as a pandas.DataFrame, which is helpful, but it does not disclose additional behavioral traits such as rate limits, data freshness, or network dependencies. It adds some value beyond annotations but remains limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with the main purpose in the first line followed by a source URL and return type. It is efficient and front-loaded, though the Vim-style docstring formatting (:return:, :rtype:) is slightly unconventional for a tool description but not confusing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool, the description adequately covers what data is returned (real-time quotes for all HK stocks), the source (Sina Finance), and the return type (pandas.DataFrame). There is no output schema, so the description carries the burden of explaining the return value, which it does sufficiently. It could mention detailed columns or limitations, but for a simple list endpoint, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema description coverage, the baseline score is 4. The description does not need to explain any input semantics since none exist, and it correctly omits parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns real-time market data for all Hong Kong stocks from Sina Finance, including a source URL. It is specific about scope and resource, but does not explicitly differentiate from sibling tools like stock_hk_spot_em or stock_hk_index_spot_em, so it misses the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description simply states what data it returns without any contextual hints or exclusions, leaving the agent to infer usage independently.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_spot_emBRead-onlyIdempotent
东方财富网-港股-实时行情 https://quote.eastmoney.com/center/gridlist.html#hk_stocks :return: 港股-实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, non-destructive, idempotent, and open-world. The description adds only the return type (DataFrame) and source URL, with no additional behavioral details like pagination or data scope. This is adequate but not rich, earning a baseline score given the annotations cover the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and relevant, containing only the source, URL, return value, and return type. It could be more structured with a clear sentence, but it avoids unnecessary verbosity and wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple no-parameter read-only nature and the presence of annotations, the description sufficiently conveys the tool's purpose and return type. However, it could be more explicit about the exact scope (e.g., 'all Hong Kong stocks') and any limitations, making it just short of a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the baseline of 4 applies. The description offers no parameter information, but none is needed; the schema is empty and the description does not need to compensate for missing parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing real-time Hong Kong stock quotes from Eastmoney, with a source URL. It distinguishes from siblings like stock_hk_spot and stock_hk_main_board_spot_em by naming the source and the general HK stock scope, though it lacks an explicit verb like 'get' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention use cases, prerequisites, or exclusions, leaving the agent to infer its applicability from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_valuation_baiduBRead-onlyIdempotent
百度股市通-港股-财务报表-估值数据 https://gushitong.baidu.com/stock/hk-06969 :param symbol: 股票代码 :type symbol: str :param indicator: choice of {"总市值", "市盈率(TTM)", "市盈率(静)", "市净率", "市现率"} :type indicator: str :param period: choice of {"近一年", "近三年", "全部"} :type period: str :return: 估值数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 近一年 | |
| symbol | No | 06969 | |
| indicator | No | 总市值 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe, non-destructive read operation. The description adds that it returns a pandas.DataFrame and includes a source URL, but it does not disclose any further behavioral traits such as data freshness, rate limits, or authentication needs. This is adequate but not rich, given the safety annotations already cover the main concerns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a structured docstring with a title, URL, parameter definitions, return type, and return description. It is dense but not bloated, with no wasted words. The format is conventional and easy to parse, and the sample URL is useful. It could be slightly more concise by combining the title and URL, but it remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 optional parameters, no output schema, safe read annotations), the description is reasonably complete. It documents all parameter choices, identifies the data source, and specifies the return type. It does not explain the exact structure of the returned DataFrame or handle edge cases, but for a straightforward valuation data fetch, this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description carries the full burden for parameter documentation. It provides type and valid choices for indicator (总市值, 市盈率(TTM), etc.) and period (近一年, 近三年, 全部), and includes defaults for symbol and period. The sample symbol '06969' clarifies the expected HK stock code format. This goes well beyond the bare schema, though it does not explain the meaning of each indicator.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as obtaining valuation data for Hong Kong stocks from Baidu's stock platform, with a sample URL (https://gushitong.baidu.com/stock/hk-06969). The title '百度股市通-港股-财务报表-估值数据' and the name make the purpose unambiguous, and the Baidu source distinguishes it from Eastmoney-based sibling tools. However, there is no explicit verb like 'retrieve' or 'query', so it falls short of a fully specific verb+resource phrasing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description simply states the data source and parameters without mentioning any use cases, prerequisites, or exclusions. It neither names alternative tools nor gives context for when this Baidu-sourced data would be preferred over other HK stock valuation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hk_valuation_comparison_emBRead-onlyIdempotent
东方财富-港股-行业对比-估值对比 https://emweb.securities.eastmoney.com/PC_HKF10/pages/home/index.html?code=03900&type=web&color=w#/IndustryComparison :param symbol: 股票代码 :type symbol: str :return: 估值对比 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 03900 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds the source (Eastmoney), market (HK), and context (industry comparison), plus the pandas DataFrame return type. However, it does not disclose deeper behavioral traits such as pagination, rate limits, or data freshness. Given the annotations cover the safety profile, the description provides adequate but not rich additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, but the long URL is unnecessary clutter and the structure is fragmented (title, URL, then docstring-like param/return lines). The core information is present but could be better organized with a clearer separation between purpose and technical details. It earns a middle score for being reasonably concise while having some structural noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema) and the annotations provide the safety context. The description identifies the source, market, purpose, parameter, and return type. However, it does not specify what 'valuation comparison' actually contains (e.g., PE, PB, EV/EBITDA) or any details about the returned DataFrame. For a simple lookup tool, this is adequate but not fully complete, as the agent may not know the exact output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It states that 'symbol' is the stock code (股票代码), which adds basic meaning beyond the schema. However, it does not provide format examples, constraints, or explain how the code should be formatted (e.g., leading zeros, exchange suffix). The default value '03900' indirectly suggests the format, but the description could be more explicit. This is a minimal but sufficient compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as 'Eastmoney - HK Stocks - Industry Comparison - Valuation Comparison', which specifies the resource (HK stocks), the source (Eastmoney), and the purpose (industry valuation comparison). This distinguishes it from A-share counterparts like stock_zh_valuation_comparison_em and other sources like stock_hk_valuation_baidu. However, it lacks an explicit verb like 'retrieve' or 'get', making it slightly less direct than ideal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or scenarios where another tool would be more appropriate. The URL is a reference page but is not explained. The agent is left to infer usage context solely from the name and title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hold_change_cninfoBRead-onlyIdempotent
巨潮资讯-数据中心-专题统计-股东股本-股本变动 https://webapi.cninfo.com.cn/#/thematicStatistics :param symbol: choice of {"深市主板", "沪市", "创业板", "科创板", "北交所", "全部"} :type symbol: str :return: 股本变动 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which conveys the safety profile. The description adds the source URL and the fact that it returns a DataFrame, but discloses no additional behavioral traits such as pagination, data granularity, or rate limits. With annotations covering the core safety behavior, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is written as a compact docstring with a title line, URL, parameter/return annotations, which is reasonably sized for a one-parameter tool. However, it lacks a plain-language opening sentence and front-loads the Chinese title, making it less immediately scannable. Each line contributes something, but the structure is not optimally tailored for an AI agent's quick parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter) and annotations indicating a safe read operation, the description gives enough to invoke it. Yet it does not describe the contents of the returned DataFrame beyond '股本变动', nor does it explain the relationship to sibling tools like stock_share_change_cninfo, leaving some ambiguity for selection and output expectation. It is adequate but incomplete for a tool with many close relatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines 'symbol' as a string with a default, providing no descriptions. The description compensates by listing the valid choices: {"深市主板", "沪市", "创业板", "科创板", "北交所", "全部"}, which adds meaningful semantic value beyond the schema. It also documents the parameter type and return type, though it does not explain what each market choice specifically filters or the exact output columns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves '股本变动' (capital stock changes) from CNInfo's data center, and the Chinese title and URL clarify the source. It is specific about the resource (thematic statistics for shareholders' equity) and the return type (pandas.DataFrame). However, it does not explicitly differentiate itself from sibling tools like stock_share_change_cninfo or stock_hold_num_cninfo, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like stock_hold_control_cninfo or stock_share_hold_change_sse. It only lists the parameter choices and the return type, with no context about use cases, prerequisites, or exclusions. Given the large number of related stock-hold/share tools, this lack of usage guidance is a notable gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hold_control_cninfoBRead-onlyIdempotent
巨潮资讯-数据中心-专题统计-股东股本-实际控制人持股变动 https://webapi.cninfo.com.cn/#/thematicStatistics :param symbol: choice of {"单独控制", "实际控制人", "一致行动人", "家族控制", "全部"};从 2010 开始 :type symbol: str :return: 实际控制人持股变动 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds useful but modest context: the upstream source (webapi.cninfo.com.cn) and the fact that data starts from 2010. Return shape and any pagination/rate limits are not addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core title is front-loaded, but the body reads as a pasted docstring: a raw source URL, and :type/:rtype tags that restate obvious facts ('str', 'pandas.DataFrame'). Roughly half the text does not help an agent decide or invoke.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only stat query this is close to sufficient: domain, source, accepted values, and temporal coverage are all present, and the return value is characterized as a DataFrame of actual-controller holding changes. No output schema exists, so nothing further is strictly required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema exposes no enum, so the description carries the full burden for the single parameter – and it does, listing all five accepted values {'单独控制','实际控制人','一致行动人','家族控制','全部'} plus the default-relevant note that coverage begins in 2010. Only the string type is redundant with the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific data domain (CNINFO data center, thematic statistics, shareholder equity, actual-controller holding changes) rather than being pure tautology, but it is essentially the tool title restated plus a source URL. It gives no differentiation from similar siblings such as stock_hold_change_cninfo, stock_hold_num_cninfo, or stock_share_change_cninfo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives. The only usage-adjacent note is the data-coverage remark '(从 2010 开始)', which tells the agent nothing about selection conditions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hold_management_detail_cninfoBRead-onlyIdempotent
巨潮资讯-数据中心-专题统计-股东股本-高管持股变动明细 https://webapi.cninfo.com.cn/#/thematicStatistics :param symbol: choice of {"增持", "减持"} :type symbol: str :return: 高管持股变动明细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 增持 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the agent knows this is a safe, non-mutating query. The description adds the source URL and return type (pandas.DataFrame) but does not clarify data scope, pagination, rate limits, or any filtering behavior beyond the symbol parameter. This is adequate but not rich, given the safety profile is already disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, containing only the title, source URL, parameter documentation, and return type in a standard docstring format. It is not bloated, but the URL and title are somewhat redundant with the tool name. The information is front-loaded enough for an agent to quickly parse the purpose and parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description only states the return type as pandas.DataFrame and the content as 高管持股变动明细, but it does not describe columns, date ranges, or possible limitations. The single optional parameter is well-documented, making the tool minimally viable, but the lack of usage guidance and return value details leaves gaps for an agent deciding whether to invoke it for a specific task.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does: it specifies the allowed values for 'symbol' as the choice of {'增持', '减持'} (increase/decrease), which is not present in the input schema. It also confirms the parameter type. This meaningfully adds to the bare schema definition, though it does not explain the semantics of the choices further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving executive shareholding change details (高管持股变动明细) from CNInfo's Data Center thematic statistics section, including the source URL. While it lacks an explicit verb like 'list' or 'get', the docstring-style format with ':return:' implies a data retrieval function. The cninfo suffix in the tool name distinguishes it from the similar EM-based sibling stock_hold_management_detail_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or comparisons to the many sibling tools (e.g., stock_hold_management_detail_em, stock_hold_management_person_em). The only context is the source name and URL, which implicitly suggests data origin but not usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hold_management_detail_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-高管持股-董监高及相关人员持股变动明细 https://data.eastmoney.com/executive/list.html :return: 董监高及相关人员持股变动明细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the main safety profile. The description adds that it returns a pandas.DataFrame, which is useful, but does not disclose potential rate limits, pagination, or any other behavioral nuances. Since annotations carry the safety burden, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief and essentially repeats the title, then adds a URL and return type. It is not a well-structured sentence or paragraph; it reads more like metadata fragments. While short, it lacks the flow that would make it a polished description, though it does not waste words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description should explain what data is returned beyond the vague title. It states the return type (pandas.DataFrame) but does not list columns, time range, or any caveats. For a straightforward data download tool, this is acceptable but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is trivially 100%. Per the rubric, 0 params receives a baseline of 4 because there is no parameter semantics to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source (东方财富网/数据中心) and specific content (董监高及相关人员持股变动明细), making the tool's purpose reasonably clear. It distinguishes itself from the sibling tool stock_hold_management_detail_cninfo by explicitly referencing the East Money URL, though it lacks an explicit verb like 'fetch' or 'return'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention the CNINFO variant or any context for choosing this specific data source. Users must infer usage solely from the tool name and URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hold_management_person_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-高管持股-人员增减持股变动明细 https://data.eastmoney.com/executive/personinfo.html?name=%E5%90%B4%E8%BF%9C&code=001308 :param symbol: 股票代码 :type name: str :param name: 高管名称 :type symbol: str :return: 人员增减持股变动明细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | 吴远 | |
| symbol | No | 001308 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well-covered. The description adds the data source URL and the pandas.DataFrame return type, but says nothing about failure modes, data freshness, pagination, or other runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with about five lines covering source, URL, parameters, and return type, with no filler. The structure is slightly marred by the misaligned :param/:type docstring entries and the raw encoded URL, but it remains front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since no output schema exists, the description should compensate by detailing return values; it only names the return ('人员增减持股变动明细') and type (pandas.DataFrame) without listing expected columns. It also does not clarify how name and symbol combine, though both have defaults, leaving agents uncertain about result fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description compensates by providing Chinese semantics: symbol=股票代码 (stock code) and name=高管名称 (executive name), adding meaning beyond the bare string schema. However, the :type docstring lines are swapped with the :param lines, and no format constraints are given beyond the defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: East Money executive-holdings personnel increase/decrease shareholding change details, reinforced by the source URL. However, it lacks an explicit action verb and does not distinguish itself from the closely named sibling stock_hold_management_detail_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the parameter docs (query by stock code and executive name) and the breadcrumb path under 数据中心-特色数据-高管持股. No explicit when-to-use, when-not-to-use, or alternative tool guidance is provided, especially versus sibling tools like stock_hold_management_detail_em.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hold_num_cninfoBRead-onlyIdempotent
巨潮资讯-数据中心-专题统计-股东股本-股东人数及持股集中度 https://webapi.cninfo.com.cn/#/thematicStatistics :param date: choice of {"XXXX0331", "XXXX0630", "XXXX0930", "XXXX1231"};从 20170331 开始 :type date: str :return: 股东人数及持股集中度 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210630 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds a useful behavioral constraint (data available only from 20170331 onward) and the underlying API endpoint, which is context beyond the annotations, but no pagination or volume behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the source and resource name, followed by the URL and a compact Sphinx-style param/return block. No filler sentences, though the raw URL contributes little selection value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-param, no-output-schema tool the description is adequate: it states the return type (pandas.DataFrame) and the date constraint. It does not explain what columns or dimensions the DataFrame carries (e.g. concentration metrics), which would help an agent judge result suitability, but the core need is met.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter. It does: it enumerates the valid date forms (XXXX0331/0630/0930/1231) and states the earliest supported date, which the bare string schema does not. Good compensation for a single param, though the default value 20210630 is not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope: 股东人数及持股集中度 (shareholder count and holding concentration) from CNINFO's data center. An agent can tell this is a shareholder-structure statistics tool. However, it does not differentiate from the many other stock_hold_* siblings, so the boundary is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance and no alternatives named among the large stock_hold_*/stock_gdfx_* sibling set. The only contextual hint is the data-source URL, which tells where the data comes from but not when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hot_deal_xqBRead-onlyIdempotent
雪球-沪深股市-热度排行榜-分享交易排行榜 https://xueqiu.com/hq :param symbol: choice of {"本周新增", "最热门"} :type symbol: str :return: 分享交易排行榜 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 最热门 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the return type (pandas.DataFrame) and the source URL, but does not disclose rate limits, pagination, or the meaning of the ranking data. It adds minimal value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and uses a clear docstring-like structure with :param and :return. It repeats the title from annotations, which is slightly redundant, but the overall size is appropriate and all sentences are informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should describe the returned DataFrame's columns or content. It only states the return type and the ranking name, leaving the data structure unclear. The tool is simple (one param), but the lack of output detail and usage context makes it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explicitly lists the allowed values for 'symbol' ('本周新增' and '最热门') and specifies its type as str. This is a meaningful addition beyond the bare schema, though it does not explain the meaning of each value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource (Xueqiu Shanghai/Shenzhen hot deal ranking) and the parameter choices. The verb is implied ('returns a ranking'), but the title and return type clarify the action. It does not distinguish from sibling stock ranking tools, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The description only lists parameter choices and a URL, with no context on use cases, prerequisites, or exclusion of other tools. This is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hot_follow_xqBRead-onlyIdempotent
雪球-沪深股市-热度排行榜-关注排行榜 https://xueqiu.com/hq :param symbol: choice of {"本周新增", "最热门"} :type symbol: str :return: 关注排行榜 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 最热门 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds the return type (pandas.DataFrame) and the source URL, but does not disclose potential behavioral traits such as data freshness, rate limits, or whether scraping may be required. Given the annotations, the additional context is moderate but not extensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of a title line, a URL, and concise param/return docstrings. It is front-loaded with the purpose and structured logically, though the URL line and redundant title could be considered minor clutter. Every sentence contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the parameter choices, return type, and source, which is adequate for a simple one-parameter tool with no output schema. However, it lacks details on the DataFrame's columns, data update frequency, or potential quirks of the Xueqiu source. For a basic ranking tool, this is sufficient but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a parameter name and default value with 0% description coverage. The description compensates by explicitly listing the valid choices for 'symbol' ("本周新增" and "最热门"), adding meaningful semantics beyond the schema. It could further explain the impact of each choice, but the literal meanings are fairly self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb+resource: it provides a follow/popularity ranking for Shanghai/Shenzhen stocks from Xueqiu, with a URL to the relevant page. It distinguishes itself from siblings like stock_hot_tweet_xq and stock_hot_rank_em by focusing on the '关注排行榜' (follow ranking), though it doesn't elaborate on what exactly that entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. Among many sibling hot/rank tools, there is no explicit differentiation or context about scenarios where this specific follow ranking is preferable. The description only provides the source and parameters, leaving the agent to guess the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hot_keyword_emBRead-onlyIdempotent
东方财富-个股人气榜-热门关键词 https://guba.eastmoney.com/rank/stock?code=000665 :param symbol: 带市场表示的证券代码 :type symbol: str :return: 热门关键词 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SZ000665 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. The description adds no further behavioral nuance (e.g., data freshness, rate limits, or result variability), but also does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with title, URL, parameter, and return documentation. It is front-loaded and efficient. The URL example is slightly misleading, but overall it is appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema and good annotations, the description provides the return type and parameter meaning. However, it does not explain what hot keywords represent, how they are derived, or the structure of the returned DataFrame beyond 'pandas.DataFrame'. The example URL adds ambiguity about the expected symbol format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a default value with no description. The description explains the 'symbol' parameter as '带市场表示的证券代码' (securities code with market representation) and type str, which is essential for using the tool correctly. The URL example uses 'code=000665' which is slightly inconsistent with the default 'SZ000665', but the parameter description clarifies the format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as returning hot keywords from East Money's individual stock popularity ranking, using the title and docstring. It includes a URL and parameter/return specs. However, it lacks a clear verb phrase and does not explicitly differentiate from sibling tools like other stock_hot_rank_* functions, though the 'keyword' focus is evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, no exclusions, prerequisites, or contextual hints. The description only documents parameters and returns without any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hot_rank_detail_emARead-onlyIdempotent
东方财富-个股人气榜-历史趋势及粉丝特征 https://guba.eastmoney.com/rank/stock?code=000665 :param symbol: 带市场表示的证券代码 :type symbol: str :return: 个股的历史趋势及粉丝特征 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SZ000665 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so the safety profile is clear. The description adds that the return type is pandas.DataFrame and that it contains historical trends and fan characteristics, which is useful but minimal. There is no detail on data granularity, columns, or potential pagination, so it only partially exceeds annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a one-line title, a reference URL, and a compact docstring with parameter and return type. Every sentence is informative without unnecessary verbosity, and the structure follows a clear pattern (title, source, param, return).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description provides enough context: it names the source (Eastmoney), the data content (historical trends and fan characteristics), the required parameter format, and the return type. It lacks specifics about the DataFrame structure or date range, but given the simplicity of the tool, this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. The docstring explains 'symbol' as a security code with market representation ('带市场表示的证券代码') and provides an example default 'SZ000665'. This adds meaning beyond the bare schema type and default, clarifying the expected format (exchange prefix + code).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves historical trends and fan characteristics for a stock's popularity ranking on Eastmoney. The verb is implicit but the resource is specific ('个股人气榜-历史趋势及粉丝特征'), distinguishing it from real-time rank tools like stock_hot_rank_detail_realtime_em. However, it does not explicitly mention alternative sibling tools, so it loses one point for full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for historical analysis ('历史趋势') but provides no explicit guidance on when to choose this over real-time rank tools or other popularity tools. There are no stated exclusions or alternatives, so the context is implied rather than explicitly directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hot_rank_detail_realtime_emBRead-onlyIdempotent
东方财富-个股人气榜-实时变动 https://guba.eastmoney.com/rank/stock?code=000665 :param symbol: 带市场表示的证券代码 :type symbol: str :return: 实时变动 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SZ000665 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and side effects. The description adds return type (pandas.DataFrame) and parameter format (securities code with market prefix), which is useful. However, it does not disclose what the DataFrame contains beyond 'real-time change', nor any data freshness or update behavior, so it adds only modest context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, using a four-line docstring format with title, source URL, parameter semantics, and return type. There is minimal fluff, and key information is front-loaded. The return line is terse but acceptable given the simplicity of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with good annotations, the description covers the essential invocation details. However, the return is described only as '实时变动' (real-time change), which is vague, and there is no explanation of how this differs from closely named siblings like stock_hot_rank_detail_em. An agent might not confidently choose this tool without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter description, but the description explains that symbol is a securities code with market representation (e.g., SZ000665) and provides an example URL. This directly compensates for the schema's 0% coverage, though it does not enumerate all possible market prefixes (e.g., SH, BJ), keeping it from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as providing East Money individual stock popularity ranking real-time changes, with a source URL for context. The verb is implicit (get/retrieve), but the resource and real-time nature are clear. It does not explicitly differentiate from sibling tools like stock_hot_rank_detail_em beyond the word 'realtime', so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool vs alternatives. There is no mention of sibling tools, exclusions, or context such as 'use for real-time changes; use stock_hot_rank_detail_em for historical'. The only hint is the tool name and the '实时变动' label, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hot_rank_emBRead-onlyIdempotent
东方财富-个股人气榜-人气榜 https://guba.eastmoney.com/rank/ :return: 人气榜 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, and non-destructive behavior. The description adds the data source URL and return type (pandas.DataFrame), but no additional behavioral context such as rate limits, pagination, or column specifics. This is acceptable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of a title, URL, and return type. It is not verbose, though the phrase '人气榜' appears twice and the structure is a bit repetitive. Overall, it is efficient for a no-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with no output schema, the description should clarify the return contents. It indicates a DataFrame of popularity rankings and provides the source URL, but it does not describe expected fields (e.g., stock code, rank, popularity score). This leaves some ambiguity for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to compensate for schema gaps. The baseline of 4 applies, and the description correctly limits itself to the return type without adding irrelevant parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('个股人气榜' – individual stock popularity ranking) and provides a source URL, but it lacks a clear verb and is essentially a title. It does not differentiate from sibling rank tools like stock_hot_rank_detail_em or stock_hot_rank_latest_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool, what it should be used for, or when to prefer an alternative. It solely states what it is without any contextual usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hot_rank_latest_emBRead-onlyIdempotent
东方财富-个股人气榜-最新排名 https://guba.eastmoney.com/rank/stock?code=000665 :param symbol: 带市场表示的证券代码 :type symbol: str :return: 最新排名 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SZ000665 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds minimal extra behavioral context, essentially stating that it returns a pandas DataFrame. It does not disclose additional specifics like whether the data is real-time, what the freshness might be, or any quirks of the source. Given the strong annotations, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded. It begins with the title, includes a source URL, and then provides concise docstring-style explanations for the parameter and return type. Every element earns its place, 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter, read-only tool, the basic operation is covered. However, it lacks practical selection guidance among the many hot-rank sibling tools, does not mention what columns the returned DataFrame contains, and could be more explicit about whether the ranking is for a single stock or a list. These gaps leave an agent with some uncertainty about the tool's full capabilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single parameter 'symbol' with no description. The description compensates by explaining it is a '带市场表示的证券代码' (stock code with market prefix), which clarifies the expected format (e.g., SZ000665). This adds meaningful guidance beyond the bare schema, though it could give more detail on valid prefixes and examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool retrieves the latest stock popularity ranking from East Money (东方财富-个股人气榜-最新排名). It names the resource and the action. However, it does not explicitly differentiate among sibling tools like stock_hot_rank_em or stock_hot_rank_detail_em, leaving some ambiguity about its exact scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention that stock_hot_rank_em might be for full rankings or that stock_hot_rank_detail_em provides details. The description only states the basic functionality without guiding an agent toward or away from this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hot_rank_relate_emARead-onlyIdempotent
东方财富-个股人气榜-相关股票 https://guba.eastmoney.com/rank/stock?code=000665 :param symbol: 带市场表示的证券代码 :type symbol: str :return: 相关股票 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SZ000665 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds useful detail about the symbol format (market representation) and return type, but discloses no unexpected behaviors, side effects, or limitations beyond what one would assume from a read-only data retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using a structured docstring format with separate sections for source URL, parameter, and return. Every line contributes essential information without redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter, and there is no output schema, so the description carries the burden of explaining return values. It states the return type is pandas.DataFrame and that it contains related stocks, but it does not detail the columns, data semantics, or any possible variations in the response. Given the missing output schema, this is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has a single parameter with no description (0% coverage), so the description must compensate. The docstring clearly explains that 'symbol' should be a security code with market representation (e.g., 'SZ000665'), which adds meaning beyond the raw parameter name and default value. It could provide a more detailed format specification, but it is sufficient for a single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as 'related stocks' from the East Money individual stock popularity list, which distinguishes it from siblings like stock_hot_rank_em. However, it lacks an explicit verb such as 'retrieve' or 'get', making it a noun phrase rather than a full functional statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through its title and parameter definition (given a symbol, get related stocks), but it does not explicitly mention when to use this tool versus alternatives or provide exclusions. The URL example provides minimal context but no comparative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hot_search_baiduBRead-onlyIdempotent
百度股市通-热搜股票 https://gushitong.baidu.com/hotlist?mainTab=hotSearch&market=all :param symbol: choice of {"全部", "A股", "港股", "美股"} :type symbol: str :param date: 日期 :type date: str :param time: time="今日";choice of {"今日", "1小时"} :type time: str :return: 热搜股票 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20250616 | |
| time | No | 今日 | |
| symbol | No | A股 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, effectively covering the safety profile. The description adds the source URL and return type, but does not disclose edge cases, rate limits, or any deeper behavioral traits beyond what the annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly compact but lacks a structured summary sentence. It leads with a URL and uses docstring-style parameter listings, which conveys necessary information but could be better organized with a concise one-line overview.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool, the description covers the parameters and return type. However, it does not specify the columns in the DataFrame or provide example usage, leaving some ambiguity about the exact output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates by documenting all three parameters: symbol with its allowed choices, time with choices and default, and date as '日期'. This adds significant meaning beyond the schema, though the exact date format is only implied by the default value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource ('百度股市通-热搜股票') and includes the source URL and return type, making it evident this retrieves Baidu's hot search stock list. However, it lacks an explicit action verb and does not contrast with sibling hot-rank tools like stock_hot_rank_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative hot stock tools. The parameter choices are listed, but there is no mention of alternatives, exclusions, or when to prefer this over similar tools in the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hot_tweet_xqBRead-onlyIdempotent
雪球-沪深股市-热度排行榜-讨论排行榜 https://xueqiu.com/hq :param symbol: choice of {"本周新增", "最热门"} :type symbol: str :return: 讨论排行榜 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 最热门 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that it returns a pandas.DataFrame and specifies the parameter domain, but does not disclose any further behaviors like pagination or data scope limitations. This is acceptable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, containing a title, URL, parameter information, and return type—all in a few lines. Each element adds value, though the structure is more docstring-like than a coherent sentence. It is concise and front-loaded with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description covers the basics: source, parameter choices, and return type. However, it does not explain what the returned DataFrame contains beyond 'discussion ranking', leaving out column details or semantics. This is a moderate gap given the lack of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines a string parameter with a default, providing no description or enum. The description's ':param symbol: choice of {"本周新增", "最热门"}' fills that gap by listing the exact allowed values, adding significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as Xueqiu's Shanghai/Shenzhen stock market discussion hot ranking, with the title and URL providing clear context. Although there is no explicit verb like 'get' or 'fetch', the intent is clear and it is distinguishable from similar tools (e.g., stock_hot_rank_em) by the 'xq' source and '讨论排行榜' focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any exclusions or contextual recommendations. The only hint is the parameter choice, which is not usage guidance. This is a clear gap for a tool with many hot-ranking siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hot_up_emARead-onlyIdempotent
东方财富-个股人气榜-飙升榜 https://guba.eastmoney.com/rank/ :return: 飙升榜 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide strong safety signals (readOnlyHint=true, idempotentHint=true, destructiveHint=false), and the description does not contradict these. However, the description adds only the source URL and return type, without disclosing potential behavioral traits such as data freshness, pagination limits, or whether the ranking is real-time. With annotation coverage, a score of 3 reflects the minimal added context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of three short lines that include the Chinese title, the source URL, and the return type/value. Every line provides distinct, useful information without redundancy or filler. This is an example of appropriate minimalism that prioritizes scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description gives the essential facts: what data is returned, its source, and its type. However, it lacks details about the returned DataFrame's columns, the ranking criteria, or any caveats (e.g., real-time vs. delayed). Given the simplicity, this is a minimum-viable description but leaves room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and the description is 100% covered by the schema (trivially). The baseline for 0-param tools is 4, and the description includes a docstring-style return type, though no parameter info is needed. The description could not add value here since there are no parameters to describe.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states '东方财富-个股人气榜-飙升榜' and provides the source URL, clearly identifying it as the Eastmoney individual stock popularity surging list. This distinguishes it from sibling hot-rank tools, which typically target different ranking metrics or markets. The return type and value are also specified, leaving no ambiguity about the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or contrast with sibling tools like stock_hot_rank_em or stock_hot_rank_detail_em. Usage context is only implied by the tool name and source URL, which is insufficient for an agent to decide between similar ranking tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hsgt_board_rank_emARead-onlyIdempotent
东方财富网-数据中心-沪深港通持股-行业板块排行-北向资金增持行业板块排行 https://data.eastmoney.com/hsgtcg/bk.html :param symbol: choice of {"北向资金增持行业板块排行", "北向资金增持概念板块排行", "北向资金增持地域板块排行"} :type symbol: str :param indicator: choice of {"今日", "3日", "5日", "10日", "1月", "1季", "1年"} :type indicator: str :return: 北向资金增持行业板块排行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 北向资金增持行业板块排行 | |
| indicator | No | 今日 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as read-only, idempotent, and non-destructive. The description adds the source URL and return type, but does not disclose additional behavioral aspects like rate limits, pagination, data freshness, or that it fetches from an external website. It does clarify the ranking is specifically for '增持' (increase) which is a meaningful filter, but overall it adds minimal behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a structured docstring with a clear title, source URL, and parameter documentation. It is not overly long, though the title is redundant with the annotations and the ':return:' line simply restates the title. Overall, information density is good and the structure is easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter ranking tool, the description provides the necessary parameter choices, source URL, and return type. It does not explain the columns of the returned DataFrame or how the 'indicator' values map to time windows, but these are fairly intuitive. Given no output schema exists, the description is mostly sufficient for an agent to invoke the tool and interpret the result as a ranked DataFrame.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no enums and 0% description coverage, but the docstring fully enumerates valid choices for both parameters: symbol (industry/concept/region) and indicator (今日/3日/5日/10日/1月/1季/1年). This is essential for correct invocation and fully compensates for the schema's lack of detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as fetching a ranking of boards (industry/concept/region) by northbound capital increase from East Money Data Center. The title names the exact resource and the param choices further specify the scope, distinguishing it from sibling HSGT tools that cover different datasets like fund flow or individual holdings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus other HSGT or ranking tools. It simply lists the data source and parameter options, without mentioning alternatives, prerequisites, or exclusions. An agent is left to infer usage from the title alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hsgt_fund_flow_summary_emARead-onlyIdempotent
东方财富网-数据中心-资金流向-沪深港通资金流向 https://data.eastmoney.com/hsgt/index.html#lssj :return: 沪深港通资金流向 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is well-covered. The description adds the specific data source URL and return type, which is useful, but it does not disclose additional behavioral traits such as data freshness, pagination, or rate limits. This is adequate but not rich, consistent with the lower bar set by strong annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: source name, URL, and return type in three short lines. Every sentence carries essential information with no filler or redundancy. It is a model of concise documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no parameters, strong read-only annotations, and no output schema, the description provides sufficient context: it states the data source, the exact URL, and the return type. It lacks specifics about the returned DataFrame's columns or time range, but for a zero-parameter data summary tool, this is acceptable. Slightly more detail on update frequency or data scope would push it to a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is trivially complete (100% coverage). The description confirms that no inputs are needed and that the return is a pandas DataFrame. With 0 params, the baseline is 4, and the description adds no unnecessary parameter details, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving 沪深港通资金流向 (HSGT fund flow) from Eastmoney's data center, with a specific URL. It names a specific resource and return type (pandas DataFrame), making the purpose unambiguous. However, it does not explicitly distinguish itself from the many sibling HSGT tools (e.g., stock_hsgt_fund_min_em, stock_hsgt_hist_em), so it misses the explicit differentiation that would earn a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The source path and URL imply the tool is for retrieving historical/current HSGT fund flow summary data, which gives a contextual sense of when to use it. However, there is no explicit guidance on when to choose this tool over alternatives, no exclusions, and no mention of alternatives. Usage context is implied but not articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hsgt_fund_min_emBRead-onlyIdempotent
东方财富-数据中心-沪深港通-市场概括-分时数据 https://data.eastmoney.com/hsgt/hsgtDetail/scgk.html :param symbol: 北向资金;choice of {"北向资金", "南向资金"} :type symbol: str :return: 沪深港通持股-分时数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 北向资金 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is fully covered. The description adds that the data is 分时 (intraday/minute-level) and returns a pandas.DataFrame, which is modest but real behavioral context. It does not describe refresh cadence, data range, or column layout.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose, source URL, and parameter are front-loaded with no filler. Sphinx-style :type/:rtype lines are boilerplate, and the title repeats the annotation title, but overall it stays tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter data-fetch tool with no output schema, the definition covers the data source, domain, granularity, and the parameter choices. It stops short of describing the returned minute-series fields or time coverage, leaving gaps an agent would otherwise need to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema has no enum, yet the description supplies the valid choice set {"北向资金", "南向资金"} for the symbol parameter, which the schema omits. This is a meaningful addition, though it does not explain the default or the distinction between northbound and southbound.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first line identifies the source (东方财富-数据中心), the domain (沪深港通, Stock Connect) and the granularity (分时数据, intraday), which is a specific resource statement. However, it offers no differentiation from close siblings such as stock_hsgt_hist_em, stock_hsgt_fund_flow_summary_em, or stock_hsgt_hold_stock_em, so an agent cannot tell them apart from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many other HSGT or macro data tools. The single :param/:return line gives no context about selection, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hsgt_hist_emARead-onlyIdempotent
东方财富网-数据中心-资金流向-沪深港通资金流向-沪深港通历史数据 https://data.eastmoney.com/hsgt/index.html :param symbol: choice of {"北向资金", "沪股通", "深股通", "南向资金", "港股通沪", "港股通深"} :type symbol: str :return: 沪深港通历史数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 北向资金 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and parameter details, but nothing about pagination, rate limits, or data scope beyond that. With strong annotation coverage, this is acceptable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured as a docstring with clear sections (:param:, :type:, :return:, :rtype:). It includes a source URL for context and is appropriately sized for a simple one-parameter tool. No redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one parameter and no output schema, the description covers the essential aspects: data source, parameter choices, return type, and URL. It assumes domain knowledge about Stock Connect but is adequate for a simple historical data fetcher. Minor gaps include lack of date range or data granularity, but that's acceptable for this level of complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has a single parameter 'symbol' with no description and no enum. The description fully compensates by listing all accepted choices (北向资金, 沪股通, etc.) and the type (str). This is essential for correct invocation and adds complete meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides 沪深港通历史数据 (Stock Connect historical data) from East Money, with the title and parameter choices making the resource explicit. However, it does not explicitly use a verb like 'retrieve' or 'fetch', and while the 'hist' in the name distinguishes it from other HSGT tools, the description itself doesn't directly contrast with siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus other HSGT-related tools like stock_hsgt_fund_flow_summary_em or stock_hsgt_fund_min_em. It only lists the symbol choices, implying usage for historical data but lacking explicit alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hsgt_hold_stock_emBRead-onlyIdempotent
东方财富-数据中心-沪深港通持股-个股排行 https://data.eastmoney.com/hsgtcg/list.html :param market: choice of {"北向", "沪股通", "深股通"} :type market: str :param indicator: choice of {"今日排行", "3日排行", "5日排行", "10日排行", "月排行", "季排行", "年排行"} :type indicator: str :return: 指定 sector 和 indicator 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | 沪股通 | |
| indicator | No | 5日排行 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), which is useful context, but doesn't add details like pagination, data freshness, or rate limits. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a structured docstring with title, URL, params, and return type. It is compact and front-loaded with the title. The URL adds some noise but doesn't detract significantly from clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should clarify what the returned data contains. It only states '指定 sector 和 indicator 的数据' (data for specified sector and indicator), which is vague about columns or content. The title implies stock rankings, but the return semantics are under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It lists the allowed values for both market and indicator, providing the necessary enumeration. However, it doesn't explain the semantics of each choice (e.g., difference between 北向 and 沪股通) and uses 'sector' instead of 'market' in the return description, causing slight ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: 东方财富-数据中心-沪深港通持股-个股排行 (Eastmoney Data Center - Stock Connect Holdings - Individual Stock Ranking), making the tool's purpose clear. However, it lacks an explicit verb like 'get' or 'fetch', and doesn't explicitly distinguish from sibling tools, though the name and context are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor any exclusions or prerequisites. The description only lists parameter choices, offering no context on use cases among the many similar stock_* sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hsgt_individual_detail_emBRead-onlyIdempotent
东方财富-数据中心-沪深港通-沪深港通持股-具体股票详情 https://data.eastmoney.com/hsgtcg/StockHdStatistics/002008.html :param symbol: 股票代码 :type symbol: str :param start_date: 开始时间 :type start_date: str :param end_date: 结束时间 :type end_date: str :return: 沪深港通持股-具体股票详情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 002008 | |
| end_date | No | 20220330 | |
| start_date | No | 20220130 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, establishing a safe, idempotent read operation. The description adds context by naming the data source and specifying the return type as pandas.DataFrame, but does not cover pagination, rate limits, or other behavioral traits, which is acceptable given the low-risk read profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a title line, URL, parameter definitions, and return type, all front-loaded. It is structured and not overly verbose, though the title and return section repeat the same phrase 'specific stock detail'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only query with three parameters, the description gives the source, all parameter meanings, defaults, and return type (DataFrame). It could benefit from clarifying date format or listing possible edge cases, but the information provided is sufficient for typical use of this data-retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description's docstring explicitly defines each parameter (symbol=stock code, start_date/end_date=time range) and provides an example URL with a concrete symbol (002008). The defaults in the schema also hint at the date format, making parameter usage reasonably clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description provides a clear hierarchical source label (East Money Data Center → HSGT → HSGT Holdings → Specific Stock Detail) and a URL with an example, making it clear this tool retrieves detailed HSGT holding data for an individual stock. It doesn't use an explicit verb like 'get' or 'list', but the resource and scope are specific enough to distinguish it from other HSGT tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like stock_hsgt_hold_stock_em or stock_hsgt_individual_em. There is no mention of use cases, prerequisites, or exclusions; it only repeats the title and parameter specs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hsgt_individual_emCRead-onlyIdempotent
东方财富-数据中心-沪深港通-沪深港通持股-具体股票 https://data.eastmoney.com/hsgt/StockHdDetail/002008.html :param symbol: 股票代码 :type symbol: str :return: 具体股票-沪深港通持股 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 002008 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds only the return type (DataFrame) and a source URL, but does not disclose data scope, historical depth, or any other behavioral traits. It does not contradict the annotations, but adds minimal value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact, structured docstring with a URL, parameter, and return section. It is not verbose and contains no filler. Some redundancy exists between the title in the annotations and the first line, but overall it is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description is thin. It does not explain what columns the returned DataFrame contains, whether it returns historical or current holdings, or how it differs from the many sibling stock-connect tools. The URL hint is useful but insufficient for complete agent comprehension.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description's parameter documentation (':param symbol: 股票代码', ':type symbol: str') provides essential meaning that the schema lacks. It clarifies that symbol is a stock code string, but does not specify format constraints, leading zeros, or the default behavior beyond the schema's default value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns '具体股票-沪深港通持股' (specific stock's Stock Connect holdings) and provides a URL example. It identifies the resource (a specific stock) and the data type (holdings). However, it does not explicitly distinguish itself from sibling tools like stock_hsgt_individual_detail_em or stock_hsgt_hold_stock_em, relying on the name for differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description is purely declarative, with no mention of use cases, prerequisites, or exclusions. Given the many related stock-connect tools in the sibling list, this is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hsgt_institution_statistics_emBRead-onlyIdempotent
东方财富网-数据中心-沪深港通-沪深港通持股-每日机构统计 https://data.eastmoney.com/hsgtcg/InstitutionStatistics.aspx :param market: choice of {"北向持股", "南向持股", "沪股通持股", "深股通持股"} :type market: str :param start_date: 指定数据获取开始的时间,e.g., "20200713" :type start_date: str :param end_date: 指定数据获取结束的时间,e.g., "20200715" :type end_date:str :return: 指定市场和指定时间段的每日个股统计数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | 北向持股 | |
| end_date | No | 20220609 | |
| start_date | No | 20220601 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds the upstream data source and the return type (pandas.DataFrame) but says nothing about rate limits, pagination, or data freshness, which is acceptable but not rich for an open-world web-scraped source.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Structured docstring with source URL, params, and return documented in a front-loaded line. The URL is somewhat extraneous but provides provenance; otherwise every line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter, no-required, no-output-schema read tool, the description covers the parameter semantics (including the enum missing from the schema) and the return type. The only real omissions are usage disambiguation against siblings and any behavioral caveats about the scraped source.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It does this well: it enumerates the valid market choices (北向持股/南向持股/沪股通持股/深股通持股), which the schema does not, and gives concrete date-format examples ("20200713"). It does not state the date range defaults or limits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific source and resource (东方财富网数据中心-沪深港通持股-每日机构统计) and states the return content: 每日个股统计数据 for a given market and date range. This clearly identifies the tool as HSGT institutional holding statistics. It does not, however, explicitly differentiate itself from close siblings like stock_hsgt_stock_statistics_em or stock_hsgt_hist_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is provided. Given the enormous sibling list containing many HSGT and stock-statistics tools (stock_hsgt_stock_statistics_em, stock_hsgt_hold_stock_em, stock_hsgt_hist_em), the absence of any disambiguation is a meaningful gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hsgt_sh_hk_spot_emCRead-onlyIdempotent
东方财富网-行情中心-沪深港通-港股通(沪>港)-股票 https://quote.eastmoney.com/center/gridlist.html#hk_sh_stocks :return: 东方财富网-行情中心-沪深港通-港股通(沪>港)-股票 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds that the return is a pandas.DataFrame, which is useful because there is no output schema, but it says nothing about rate limits, auth, or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the source, but the same dataset string (东方财富网-行情中心-沪深港通-港股通(沪>港)-股票) is repeated verbatim in the :return: block, and the title field duplicates it again. The URL is useful, but the duplicated naming line wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter data-fetch tool, the description should at least differentiate the output from sibling HK / 港股通 spot and history tools, and clarify what the 'spot' dataset contains. It only names the source and return type, leaving the agent unable to discriminate among the many adjacent stock_hk_* and stock_hsgt_* tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool takes zero parameters and schema coverage is 100%, so no parameter semantics are needed. The baseline for a no-parameter tool is 4; the description does not need to explain arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the source (东方财富网 行情中心) and the specific dataset (沪深港通-港股通(沪>港)-股票), so an agent can roughly tell it retrieves a list of stocks under the Shanghai-HK Connect southbound channel. However, it never states a verb or scope (spot quotes? full list? what columns?), and it does not distinguish itself from near-identical siblings like stock_hk_spot_em, stock_hsgt_hist_em, or stock_hk_main_board_spot_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no named alternative. The agent must infer applicability solely from the source label and must guess how it differs from other 港股通 / HK spot tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_hsgt_stock_statistics_emBRead-onlyIdempotent
东方财富网-数据中心-沪深港通-沪深港通持股-每日个股统计 https://data.eastmoney.com/hsgtcg/StockStatistics.aspx market=001,沪股通持股 market=003,深股通持股 :param symbol: choice of {"北向持股", "南向持股"} :type symbol: str :param start_date: 指定数据获取开始的时间,e.g., "20200713" :type start_date: str :param end_date: 指定数据获取结束的时间,e.g., "20200715" :type end_date:str :return: 指定市场和指定时间段的每日个股统计数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 北向持股 | |
| end_date | No | 20240110 | |
| start_date | No | 20240110 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds useful context (remote data source URL, accepted symbol values, date format) but does not describe pagination, row volume, or freshness of the data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The source URL and symbol routing are front-loaded, but the Sphinx :param:/:type: block repeats information the JSON schema already encodes (names and types), adding length without new meaning. Structure is conventional rather than optimized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter query with no output schema, the description names the return type (pandas.DataFrame) but not its columns or granularity beyond 'daily per-stock statistics', and it references a market parameter the caller cannot actually supply. Adequate but leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the burden and mostly does: it enumerates symbol choices {"北向持股", "南向持股"} and gives concrete date format examples ("20200713"). It is undercut by documenting a market=001/003 parameter that does not exist in the schema, which can misdirect the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb (fetch daily per-stock statistics) and resource (East Money HSGT holdings data), and the source URL confirms the exact dataset. It does not name or contrast itself with sibling tools such as stock_hsgt_institution_statistics_em or stock_hsgt_hold_stock_em, so an agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no named alternative. The only routing hints are market=001/003 labels and the source URL, which tell you nothing about when this tool should be chosen over the many other hsgt/stock_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_index_pb_lgBRead-onlyIdempotent
乐咕乐股-指数市净率 https://legulegu.com/stockdata/sz50-pb :param symbol: choice of {"上证50", "沪深300", "上证380", "创业板50", "中证500", "上证180", "深证红利", "深证100", "中证1000", "上证红利", "中证100", "中证800"} :type symbol: str :return: 指定指数的市净率数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 上证50 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the description need not repeat safety details. It adds a source URL and return type (pandas.DataFrame), but does not describe the DataFrame's columns, historical depth, or any pagination or rate-limit characteristics. This is partial but not comprehensive context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with a title, URL, and a standard docstring structure. It includes only relevant information without padding. Slight redundancy exists because the title repeats the Chinese name, but overall it is well-structured and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what the returned DataFrame contains. It only says '市净率数据' (PB data) and the type, which is minimal. It also lacks any note on historical range or data granularity. Given the simple one-parameter nature, the description covers the basics but leaves important details unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only provides a string parameter with a default and no description (0% coverage). The description compensates by fully listing the valid symbol choices ({{"上证50", "沪深300", ...}) and the type (str), which is essential for correct invocation. It does not explain the meaning of each index, but the list itself is sufficient for selection.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool provides PB (price-to-book) data for specified stock indices via the title '乐咕乐股-指数市净率' and the return statement '指定指数的市净率数据'. It specifies a resource (index PB) and a limited set of supported indices, distinguishing it from generic market PB tools, though it lacks an explicit verb like 'get' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention sibling tools such as stock_market_pb_lg or stock_index_pe_lg, and provides no exclusions or prerequisites. The intended use is only implied by the specific index list, but an agent would have to infer when this is the right tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_index_pe_lgARead-onlyIdempotent
乐咕乐股-指数市盈率 https://legulegu.com/stockdata/sz50-ttm-lyr :param symbol: choice of {"上证50", "沪深300", "上证380", "创业板50", "中证500", "上证180", "深证红利", "深证100", "中证1000", "上证红利", "中证100", "中证800"} :type symbol: str :return: 指定指数的市盈率数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 沪深300 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds only the source URL and the list of valid symbols, but does not disclose behavioral traits such as whether data is historical or current, data granularity, or any rate limits or authentication requirements. It goes barely beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a title, source URL, parameter specification, and return type. It is front-loaded with the title, and every line is informative without unnecessary verbosity. The structure is clean and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only tool with no output schema, the description adequately covers purpose, input choices, and return type. It lacks details about the exact contents of the returned DataFrame (e.g., columns, time range), but given the tool's simplicity and the provided annotations, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has a single parameter 'symbol' with no description and no enum, but the description provides a complete enumeration of accepted values: 上证50, 沪深300, 上证380, etc. This is critical for correct usage and fully compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves index PE ratio data from Legulegu ('乐咕乐股-指数市盈率') and documents the return as '指定指数的市盈率数据' (PE data for the specified index). This distinguishes it from sibling tools like stock_index_pb_lg (PB ratio) and stock_market_pe_lg, as it focuses specifically on index PE.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for fetching PE data for one of the listed Chinese indices, but it does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or alternative tools. The usage context is clear from the title and return description, but not explicitly articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_individual_basic_info_hk_xqARead-onlyIdempotent
雪球-个股-公司概况-公司简介 https://xueqiu.com/S/00700 :param symbol: 证券代码 :type symbol: str :param token: 雪球财经的 xq_a_token :type token: Optional[str] :param timeout: 设置超时时间 :type timeout: Optional[float] :return: 公司简介 :rtype: pandas.DataFrame :raises APIError: 雪球接口需要有效登录态时抛出
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| symbol | No | 02097 | |
| timeout | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive hints. The description adds that a valid login token (xq_a_token) may be required and that an APIError is raised for invalid login states, which is useful behavioral context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is reasonably concise and follows a standard structure with parameter/return/exception sections. It includes a useful example URL. Minor redundancy exists in the type declarations, but overall every part serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but the description lacks details on the market scope (HK stocks) and the contents of the returned DataFrame. It also doesn't explain how to obtain the token or any limitations. Given there is no output schema, more explicit return field documentation would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage, but the docstring explains each parameter: symbol is a securities code, token is the Xueqiu xq_a_token, and timeout sets the timeout period. The return type is specified as a pandas DataFrame, which adds meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates this tool retrieves a company profile ('公司简介') for an individual stock, with a sample URL (00700). However, it doesn't explicitly distinguish this from the A-share or US versions of the same tool; the differentiation relies on the tool name containing 'hk_xq'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus the many sibling tools (e.g., stock_individual_basic_info_xq for A-shares, stock_individual_basic_info_us_xq for US, or stock_hk_company_profile_em). The only hint is the tool name, which is not elaborated in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_individual_basic_info_us_xqBRead-onlyIdempotent
雪球-个股-公司概况-公司简介 https://xueqiu.com/snowman/S/NVDA/detail#/GSJJ :param symbol: 证券代码 :type symbol: str :param token: 雪球财经的 xq_a_token :type token: Optional[str] :param timeout: 设置超时时间 :type timeout: Optional[float] :return: 公司简介 :rtype: pandas.DataFrame :raises APIError: 雪球接口需要有效登录态时抛出
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| symbol | No | NVDA | |
| timeout | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful context: it notes the use of an xq_a_token for authentication and that an APIError is raised when a valid login is required. However, it does not describe pagination, rate limits, or behavior on invalid symbols. No contradiction with annotations is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured, with a title, source URL, and parameter/return/exception documentation. The URL is useful for verification. It is not verbose and every line contributes to understanding. The only minor issue is the mixing of a raw URL into the prose, but it does not hamper readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should describe the return data in more detail. It states the return type (DataFrame) and content (公司简介/company profile), but does not list the columns or fields included. The authentication requirement is disclosed, and annotations cover safety, but for a tool with no output schema, the description lacks enough detail to fully predict the return structure. It is adequate for a simple lookup but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description's docstring carries the full burden, and it compensates well: each parameter is given a meaningful explanation—symbol as 证券代码 (securities code), token as 雪球财经的 xq_a_token, and timeout as 设置超时时间. The example URL further clarifies symbol format (e.g., NVDA). It would benefit from noting the required format for US symbols, but it is adequate for basic usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with '雪球-个股-公司概况-公司简介' (Xueqiu - Individual Stock - Company Overview - Company Profile), clearly stating the resource and data type returned. It specifies a return type of pandas.DataFrame and includes a source URL. However, it does not explicitly mention 'US' stocks within the description, relying on the tool name to distinguish from sibling tools like stock_individual_basic_info_xq and stock_individual_basic_info_hk_xq.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that it is for US stocks, nor does it reference sibling tools for Hong Kong or A-share stocks. The only context is the URL and the tool name, which implies but does not state the scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_individual_basic_info_xqBRead-onlyIdempotent
雪球-个股-公司概况-公司简介 https://xueqiu.com/snowman/S/SH601127/detail#/GSJJ :param symbol: 证券代码 :type symbol: str :param token: 雪球财经的 xq_a_token :type token: Optional[str] :param timeout: 设置超时时间 :type timeout: Optional[float] :return: 公司简介 :rtype: pandas.DataFrame :raises APIError: 雪球接口需要有效登录态时抛出
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| symbol | No | SH601127 | |
| timeout | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false; the description adds context about auth requirements (APIError when valid login is needed), the optional token, and DataFrame return type. It does not contradict annotations, but omits external network behavior and potential 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with title, URL, parameter docs, return type, and raised exception. It front-loads the purpose and each line contributes, though the title is redundantly repeated in the annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and annotations cover safety, but there is no output schema, so the description should clarify the return structure more than just '公司简介 DataFrame'. It also doesn't explicitly state market scope (A-share vs HK/US) or whether symbol is required despite having a default, leaving moderate gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% property description coverage, so the docstring compensates by explaining symbol as 证券代码, token as xq_a_token, and timeout as 超时时间. However, it lacks detail on timeout units and the exact symbol format (e.g., SH prefix), preventing a higher score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as a Xueqiu individual stock company profile tool, with title '公司简介' and a specific URL. The name and siblings imply A-share scope, but it doesn't explicitly state 'A-share' or distinguish from HK/US variants beyond naming.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like stock_individual_basic_info_hk_xq or stock_individual_info_em. The URL and source name imply Xueqiu usage, but there are no stated conditions, exclusions, or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_individual_fund_flowBRead-onlyIdempotent
东方财富网-数据中心-资金流向-个股 https://data.eastmoney.com/zjlx/detail.html :param stock: 股票代码 :type stock: str :param market: 股票市场;上海证券交易所:sh,深证证券交易所:sz,北京证券交易所:bj; :type market: str :return: 近期个股的资金流数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| stock | No | 600094 | |
| market | No | sh |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds little beyond that - it notes the source site and that the return is a pandas.DataFrame of recent data, but no rate limits, auth needs, or column semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the docstring boilerplate (:param/:type/:return/:rtype) plus the bare URL adds some non-actionable material. Purpose is front-loaded, which is good, but the format is a raw Python docstring rather than agent-oriented prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, two simple non-mutating parameters, and safety fully covered by annotations, the description is minimally adequate. It still omits return contents and, more importantly, any distinction from the many sibling fund-flow tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden, and it does: stock is identified as the stock code, and market is documented with its valid values (sh/sz/bj for the three exchanges). That is meaningful added meaning, though no code-format example is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a clear source+resource pair (东方财富网 数据中心 - 个股资金流向), so an agent knows this returns individual-stock fund-flow data. However, it gives no differentiation from near-duplicate siblings such as stock_fund_flow_individual or stock_individual_fund_flow_rank, leaving the agent to guess which fund-flow variant to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance. Given the density of fund-flow siblings in the toolset, this is a real gap: nothing tells the agent to prefer this over a market-wide or rank-style flow tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_individual_fund_flow_rankARead-onlyIdempotent
东方财富网-数据中心-资金流向-排名 https://data.eastmoney.com/zjlx/detail.html :param indicator: choice of {"今日", "3日", "5日", "10日"} :type indicator: str :return: 指定 indicator 资金流向排行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| indicator | No | 5日 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds that it returns a pandas DataFrame and specifies the return type, but does not disclose additional behavioral traits such as data freshness, pagination, or rate limits. Some value added 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured, containing a source label, URL, parameter documentation, and return type in a standard docstring format. It is efficient without wasted words, though it mixes Chinese and English but remains readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description provides the source URL, parameter choices, and return type, which is adequate. However, it could improve by explicitly stating that it covers individual stock fund flow rankings and distinguishing it from sector/industry fund flow rank tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema lacks any description for the 'indicator' parameter and no enums are defined. The description compensates by listing the valid choices and indicating that they are period options, thereby providing meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the resource (East Money data center fund flow ranking) and the action (return ranking), though it lacks an explicit imperative verb. It is distinct from siblings by implying rank-focused fund flow data, but does not explicitly state 'individual stock' in the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context by listing indicator choices ('今日', '3日', '5日', '10日') and the data source URL, implying when to use it. However, it does not explicitly state alternatives or when not to use this tool, leaving usage guidance implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_individual_info_emBRead-onlyIdempotent
东方财富-个股-股票信息 https://quote.eastmoney.com/concept/sh603777.html?from=classic :param symbol: 股票代码 :type symbol: str :param timeout: choice of None or a positive float number :type timeout: float :return: 股票信息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 603777 | |
| timeout | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations declaring readOnlyHint=true, destructiveHint=false, and idempotentHint=true, the safety profile is covered. The description adds the return type (pandas.DataFrame) and the timeout parameter constraint, providing some context, but it does not describe output content, error behavior, or data source specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with a title and URL. The docstring-like format is efficient, but the :param/:type lines are somewhat redundant with the schema and the overall layout is not optimized for an AI agent's quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description only says 'returns pandas.DataFrame'. It does not specify what fields or information are included, leaving the agent unable to predict the actual data. This is a significant gap for selecting among the many stock-information sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden. It explains 'symbol' as a stock code (股票代码) and clarifies that timeout is a positive float or None, which adds meaning beyond the JSON schema's bare type declarations. However, the timeout description is still a type constraint rather than its behavioral role.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns '股票信息' (stock information) for an individual stock from Eastmoney, with a sample URL. This is a clear purpose but not very specific about what 'stock information' includes, and it doesn't explicitly differentiate from sibling tools like stock_zh_a_spot_em or stock_individual_basic_info_xq.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only provides parameter documentation and a URL; it does not mention intended scenarios, prerequisites, or why an agent should choose this over sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_individual_notice_reportBRead-onlyIdempotent
东方财富网-数据中心-公告大全-个股 https://data.eastmoney.com/notices/stock/300237.html :param security: 股票代码 :type security: str :param symbol: 报告类型;choice of {"全部", "重大事项", "财务报告", "融资公告", "风险提示", "资产重组", "信息变更", "持股变动"} :type symbol: str :param begin_date: 开始日期 :type begin_date: str :param end_date: 结束日期 :type end_date: str :return: 个股公告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部 | |
| end_date | No | ||
| security | Yes | ||
| begin_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds only the data source and the fact that the result is a pandas.DataFrame; it discloses nothing about pagination, rate limits, date-range defaults, or which columns come back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is compact and front-loads the source and URL, but the ':type' lines merely restate the JSON schema types and add no information. Every remaining sentence does carry some value, so it is acceptable but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should describe the returned columns or at least the date format, but it only says 'pandas.DataFrame'. For a 4-parameter data-retrieval tool whose annotations already cover safety, it is adequate but leaves the agent guessing about the return shape and date syntax.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden and does so well: it names all four parameters, explains that security is a stock code, that begin_date/end_date bound the range, and crucially enumerates the eight valid values for symbol, which the schema itself does not constrain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the exact resource and scope: East Money's data center, the notice compendium ('公告大全'), for an individual stock, with a concrete example URL. The verb is implicit ('fetch announcements') rather than stated, and it does not differentiate itself from the sibling stock_notice_report, which likely covers market-wide notices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, no prerequisites, and no exclusions. The only usage signal is the implicit '个股' scope, which the agent must infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_individual_spot_xqARead-onlyIdempotent
雪球-行情中心-个股 https://xueqiu.com/S/SH600000 :param symbol: 证券代码,可以是 A 股代码,A 股场内基金代码,A 股指数,美股代码,美股指数 :type symbol: str :param token: 雪球财经的 xq_a_token :type token: Optional[str] :param timeout: choice of None or a positive float number :type timeout: Optional[float] :return: 证券最新行情 :rtype: pandas.DataFrame :raises APIError: 雪球接口需要有效登录态时抛出
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| symbol | No | SH600000 | |
| timeout | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/non-destructive, but the description adds genuine value beyond them: it discloses the :raises APIError condition when a valid Xueqiu login state is required, and explains the token is an xq_a_token. It does not describe rate limits or return format richness, but the auth caveat is the important behavior here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the tool's Chinese name and an example URL, which is good, but the sphinx-style :param/:type/:return/:raises block is boilerplate that repeats field names. It is acceptable but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-output-schema, 3-param read tool the description covers input semantics, the return type (pandas.DataFrame of latest quote) and the auth-failure mode. The main omission is guidance on choosing this source versus the many sibling spot/quote tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the parameter burden and largely does: symbol is documented as accepting A-share codes, A-share ETF codes, A-share indices, US codes and US indices; token as the xq_a_token; timeout as None or a positive float. Only the default symbol value's meaning is left implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the source and resource (雪球-行情中心-个股) and states the output is 证券最新行情 for a single security, with a concrete example URL. It does not differentiate itself from the many sibling quote tools (e.g. stock_zh_a_spot_em, stock_individual_basic_info_xq), but the verb+resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to pick this over an alternative quote source such as stock_zh_a_spot_em or stock_hk_spot_em, nor any prerequisites other than the token param. Usage is only implied by the title ('行情中心-个股').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_industry_category_cninfoBRead-onlyIdempotent
巨潮资讯-行业分类数据 https://webapi.cninfo.com.cn/#/apiDoc 查询 p_public0002 接口 :param symbol: 行业类型;choice of {"证监会行业分类标准", "巨潮行业分类标准", "申银万国行业分类标准", "新财富行业分类标准", "国资委行业分类标准", "巨潮产业细分标准", "天相行业分类标准", "全球行业分类标准"} :type symbol: str :return: 行业分类数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 巨潮行业分类标准 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds only the source URL and a return-type note, disclosing nothing extra about behavior, auth, rate limits, or result characteristics beyond what the annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, but the raw API URL and 'p_public0002' endpoint reference add clutter that does not help an agent select or call the tool, and the Sphinx-style :param/:type/:rtype scaffolding is verbose. Acceptable but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description supplies the valid parameter values and notes the DataFrame return, which is useful since no output schema exists. Given the annotations cover safety, the definition is nearly complete, missing only routing guidance against siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'symbol' parameter has no enum in the schema, so the description carries the load and does so well by spelling out all eight classification-standard choices, which the raw schema lacks. It could explain the default's effect, but this is a strong compensation for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (巨潮资讯 industry classification data) and the underlying p_public0002 interface, with a clear query intent implied by the docstring. However, it never distinguishes itself from closely related siblings like stock_industry_pe_ratio_cninfo or stock_industry_change_cninfo, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use, when-not-to-use, or alternative-tool guidance. It enumerates the valid classification standards but never explains which to pick or what situation calls for this tool over the sibling industry tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_industry_change_cninfoARead-onlyIdempotent
巨潮资讯-上市公司行业归属的变动情况 https://webapi.cninfo.com.cn/#/apiDoc 查询 p_stock2110 接口 :param symbol: 股票代码 :type symbol: str :param start_date: 开始变动日期 :type start_date: str :param end_date: 结束变动日期 :type end_date: str :return: 行业归属的变动情况 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 002594 | |
| end_date | No | 20220713 | |
| start_date | No | 20091227 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that it queries the specific CNInfo p_stock2110 endpoint and returns a pandas DataFrame, but it does not describe authentication, rate limits, pagination, or the exact structure of the returned data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a structured docstring with one line for purpose, a source URL, and parameter/return definitions. It is not overly long, though the first line duplicates the annotation title. The information is front-loaded with the main purpose in the first line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should explain the return values. It states the return type (pandas.DataFrame) and content (行业归属的变动情况), but does not specify the DataFrame columns or any additional behavior such as date boundaries or error conditions. Given the simplicity of the tool and read-only annotations, the description is adequate but leaves some ambiguity about the output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only names and defaults for the three parameters, with 0% description coverage. The description compensates by defining each parameter: symbol (股票代码), start_date (开始变动日期), and end_date (结束变动日期), making their purpose clear. It does not state the date format explicitly, but the defaults (e.g., 20220713) imply YYYYMMDD.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states '查询 p_stock2110 接口' (query the p_stock2110 interface) and describes the resource as '上市公司行业归属的变动情况' (changes in industry attribution of listed companies). This clearly identifies the tool as a query for industry attribution changes from CNInfo, distinguishing it from sibling tools like stock_industry_category_cninfo and stock_industry_pe_ratio_cninfo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context that this tool queries industry changes for a stock over a date range, but it does not mention any alternative tools, when-not-to-use conditions, or prerequisites. The usage is implied by the parameter definitions but not explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_industry_clf_hist_swBRead-onlyIdempotent
申万宏源研究-行业分类-全部行业分类 https://www.swsresearch.com/swindex/pdf/SwClass2021/StockClassifyUse_stock.xls :return: 个股行业分类变动历史 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame), which is useful context, but it does not disclose further behavioral traits such as data scope, date range, or potential errors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and efficient, containing a source URL, a return line, and a return type. The title line is somewhat redundant with the annotations but does not add significant waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameter-less, read-only tool with good annotations, the description is mostly adequate. However, it lacks details about the actual content of the returned DataFrame (e.g., columns, date range, coverage), and there is no output schema to compensate for this gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline score of 4 applies. No parameter explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns '个股行业分类变动历史' (individual stock industry classification change history), which identifies a specific operation and resource. However, it does not explicitly differentiate from sibling tools like stock_industry_change_cninfo, though the 'sw' and 'hist' hints in the name provide some distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description merely states what it returns, with no mention of use cases, exclusions, or relationship to other stock industry tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_industry_pe_ratio_cninfoBRead-onlyIdempotent
巨潮资讯-数据中心-行业分析-行业市盈率 http://webapi.cninfo.com.cn/#/thematicStatistics :param symbol: choice of {"证监会行业分类", "国证行业分类"} :type symbol: str :param date: 查询日期 :type date: str :return: 行业市盈率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210910 | |
| symbol | No | 证监会行业分类 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the return type (pandas.DataFrame) and the data source URL, which provides minor behavioral context beyond the annotations, but it does not describe pagination, rate limits, or any other side effects. This is adequate given the low complexity, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a title, URL, parameter docs, and return type. It is front-loaded with the purpose and contains no fluff. Each line serves a function, keeping it appropriately sized for a simple two-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with two parameters and no output schema, the description covers the source, parameters, and return type. However, it does not specify what columns the returned DataFrame contains, nor does it clarify the date format beyond the default example. This is a viable description but leaves a noticeable gap in the output contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does. It explicitly documents both parameters: symbol with enumerated choices (证监会行业分类, 国证行业分类) and date as '查询日期' (query date). The default value '20210910' implies a date format, but the description does not explicitly state it. Overall, it adds meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the tool's title '巨潮资讯-数据中心-行业分析-行业市盈率' (CNInfo Data Center - Industry Analysis - Industry P/E Ratio), which clearly identifies the data resource and metric. While no explicit verb like 'get' is used, the noun phrase and URL context make the purpose unambiguous. It distinguishes itself from sibling tools by naming the specific cninfo industry PE ratio dataset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or compare with similar tools like stock_index_pe_lg or stock_a_ttm_lyr. An agent selecting among the many stock valuation tools would have no help from this description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_info_a_code_nameBRead-onlyIdempotent
沪深京 A 股列表 :return: 沪深京 A 股数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering safety expectations. The description adds minimal context beyond the return type and a broad list scope, such as what columns might be included or that it is a reference list. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and to the point, consisting of a title and a return type annotation. It is front-loaded and efficient, though slightly under-specified for the return data's actual content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and a simple list operation, the description is adequate but lacks details about the returned DataFrame's columns (e.g., whether it includes code and name only) or any caveats like market coverage. Sibling confusion is possible without more specificity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so parameter semantics are trivially complete. Per the rubric, a baseline of 4 applies for 0-parameter tools, and the description does not need to explain nonexistent parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '沪深京 A 股列表' (Shanghai, Shenzhen, Beijing A-share list) and return type as DataFrame, making it clear the tool provides a list of A-shares. However, it does not differentiate from sibling tools like stock_zh_a_spot_em or stock_bj_a_spot_em, and the description is essentially a noun phrase without an explicit verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only states what it returns, not the context or exclusions, and no sibling comparisons are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_info_bj_name_codeARead-onlyIdempotent
北京证券交易所-股票列表 https://www.bse.cn/nq/listedcompany.html :return: 股票列表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type (pandas DataFrame) but does not disclose other behavioral traits such as pagination, data freshness, or rate limits. This is acceptable baseline given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short lines, front-loaded with the purpose, followed by the source URL and return type. Every line adds practical value—the source URL aids verification, and the return type tells the agent what to expect—without any filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list tool, the description covers the essentials: what it returns (stock list), in what format (pandas DataFrame), and the source URL. However, the function name implies the list contains names and codes, which is not explicitly stated in the description. This is a minor gap given the simplicity of the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100% (empty properties). Since there are no parameters to explain, the description is not required to add parameter detail. The baseline of 4 applies per the rubric.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '北京证券交易所-股票列表' (Beijing Stock Exchange stock list), identifying both the specific resource and the operation. The URL provides the data source, and the exchange name distinguishes it from sibling tools like stock_info_sh_name_code and stock_info_sz_name_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives, no exclusions, and no context beyond the raw fact that it returns a stock list. With many sibling stock-info tools, explicit use-case guidance would be valuable but is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_info_change_nameCRead-onlyIdempotent
新浪财经-股票曾用名 https://vip.stock.finance.sina.com.cn/corp/go.php/vCI_CorpInfo/stockid/300378.phtml :param symbol: 股票代码 :type symbol: str :return: 股票曾用名 :rtype: list
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000503 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds minimal behavioral context: it specifies the return type as list and includes a source URL, but it does not reveal any operational details such as rate limits, response structure beyond 'list', or potential empty results. Without annotations this would be insufficient, but with them it adds little extra.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, using a docstring format with title, source URL, param, and return sections. It is front-loaded with the tool's purpose. The URL is somewhat verbose but serves as a source reference. Overall it is efficient and avoids unnecessary repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description covers the basic input and return type. However, there is no output schema, so the description should clarify what the list contains (e.g., whether it's just name strings or includes dates). The optional nature of the symbol (required 0, default) is not mentioned in the description, and edge-case behavior is absent. It is minimally complete but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only the parameter name 'symbol' with a string type and default, but no description. The description compensates with ':param symbol: 股票代码' (stock code), giving the parameter clear meaning. It does not specify format (e.g., exchange prefix or digit length), but the default '000503' and Chinese context make it reasonably clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns Sina Finance stock former names (新浪财经-股票曾用名) for a given symbol. It identifies the specific resource and action, though it does not explicitly differentiate from sibling stock_info_sz_change_name which may cover a similar scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There are siblings like stock_info_sz_change_name and many other stock_info tools, but the description does not mention any exclusions, alternatives, or specific use cases. The agent is left to infer usage solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_info_cjzc_emCRead-onlyIdempotent
东方财富-财经早餐 https://stock.eastmoney.com/a/czpnc.html :return: 财经早餐 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the tool's safety profile is clear. However, the description adds no behavioral context beyond that—no mention of data source freshness, potential delays, scope of the returned data, or any caveats. The only addition is the URL and return type, which are more structural than behavioral.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but that is not conciseness; it is under-specification. It provides a title, a URL, and a return type with no coherent sentence structure or explanation. It lacks a clear purpose statement and reads more like metadata dump than a helpful description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not explain what the returned pandas DataFrame contains (columns, data granularity, time range, etc.). The URL is not self-explanatory for an AI agent. For a tool that claims to return '财经早餐', the description leaves out essential details that would help an agent judge whether the output is relevant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline of 4 applies. The description does not need to explain any parameter semantics because there are none. The empty schema and the fact that it takes no inputs are already clear from the structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool's title ('东方财富-财经早餐') without a clear verb or action. It gives a URL and return type but does not explain what the '财经早餐' content actually is or what the function does. It fails to distinguish the tool from many other news-related sibling tools like news_cctv or stock_news_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool or how it differs from alternatives. The description provides no context about typical use cases, exclusions, or preferred scenarios. An agent would have no idea when to pick this over other financial news or stock information tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_info_global_clsCRead-onlyIdempotent
财联社-电报 https://www.cls.cn/telegraph :param symbol: choice of {"全部", "重点"} :type symbol: str :return: 财联社-电报 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows it is safe. However, the description adds no additional behavioral context beyond the URL and return type. It does not disclose what data is returned, whether the symbol filter changes the output structure, or any rate limits or source specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, but it includes redundant lines such as ':return:' and ':rtype:' which say the same thing. It is a bare docstring with some repetition and lacks a polished, front-loaded summary. It earns a middling score for being short but not optimally structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description has the full burden of explaining what the DataFrame contains. It fails to do so—an agent cannot know whether this returns news items, stock codes, or price data. The meaning of the symbol parameter is also under-specified, making the tool incomplete for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It does provide the allowed values '全部' and '重点' which are absent from the schema, but it does not explain what these values mean. The type declaration duplicates the schema, and the parameter name 'symbol' remains ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a label '财联社-电报' (CLS Telegram) with a URL, lacking any action verb or explicit statement of what the tool does. The tool name suggests global stock info from CLS, but the description does not confirm this or differentiate it from sibling tools like stock_info_global_em or stock_info_global_sina.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. There is no mention of alternatives, use cases, or prerequisites. The URL is contextual but does not help an agent decide between the many stock_info_global_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_info_global_emBRead-onlyIdempotent
东方财富-全球财经快讯 https://kuaixun.eastmoney.com/7_24.html :return: 全球财经快讯 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type, but does not disclose any additional behavioral traits such as rate limits, pagination, or data freshness. With annotations present, the burden is lower, and the added value is minimal but not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of four short lines: title, URL, return label, and rtype. Each line adds some information, though it is fragmented rather than a coherent sentence. It is not overly verbose and avoids unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read-only news fetch, the description is adequate: it gives the source, content type, and return type. However, it lacks details about the returned DataFrame's columns, data range, or any limitations. Since there is no output schema, a bit more description of the return structure would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100% (empty properties). The description does not need to explain parameters. It does mention the return type as pandas.DataFrame, which is useful for the agent, and with no parameters, a baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: Eastmoney's global financial news flash (全球财经快讯), with a source URL and return type. It distinguishes from siblings like stock_info_global_sina or stock_info_global_ths by naming Eastmoney as the source. However, it lacks an explicit verb like 'get' or 'fetch', relying on the noun phrase and return annotation to convey the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as stock_info_global_cls, stock_info_global_futu, or stock_info_global_sina. The description simply states what the tool is without mentioning use cases, exclusions, or selecting among sibling news sources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_info_global_futuBRead-onlyIdempotent
富途牛牛-快讯 https://news.futunn.com/main/live :return: 快讯 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds a return type (pandas.DataFrame) and source URL, which is useful context beyond the annotations. However, it does not disclose any additional behavioral details such as data scope, real-time nature, or potential quirks. It is adequate but not rich, fitting the baseline for a safe read-only operation with good annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise, containing only the title, URL, and return type in a clear docstring format. Every element earns its place, and there is no superfluous information. It is brief but effectively structured for a parameterless tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (no parameters, no output schema) and strong annotations, the description is minimally viable but leaves gaps. It explains the return type but not the nature of the news content (e.g., market updates, company announcements) or any temporal scope. It is sufficient for a simple news feed, but richer context would help differentiate it from siblings and clarify expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is fully covered (100%) and there are no parameter semantics to clarify. Per the rubric, a baseline of 4 applies for tools with no parameters, as the description cannot add parameter detail where none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource (富途牛牛/ Futu news) and provides a URL and return type, but it lacks a clear verb like 'fetch' or 'list.' The resource is evident, but the action is implied rather than stated. It does distinguish from siblings by the source (Futu), but the wording is a noun phrase rather than a directive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. With many sibling news tools (e.g., stock_info_global_em, stock_info_global_sina), the description gives no context on why one would choose Futu news over others, nor any exclusions or prerequisite conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_info_global_sinaBRead-onlyIdempotent
新浪财经-全球财经快讯 https://finance.sina.com.cn/7x24 :return: 全球财经快讯 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the return type (pandas.DataFrame) and the fact that it is a 7x24 global financial news feed from a specific URL, which is useful context. However, it does not disclose details about the DataFrame contents or any other behavioral nuances beyond what annotations already cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of three short lines: the title, the source URL, and return type information. Every line adds some information (title, source, output type), and there is no redundant filler. It is appropriately structured for a simple no-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of annotations, the description is mostly sufficient, but it does not explain what the returned DataFrame contains (e.g., columns like time, headline, URL). Since there is no output schema, the description bears the burden of describing the return values, and it only states '全球财经快讯' without structural details, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema description coverage is 100% (vacuously). Per the rubric, a baseline of 4 is appropriate since the description has no need to explain parameters. No additional parameter information is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says '新浪财经-全球财经快讯' and ':return: 全球财经快讯', which restates the tool's title and indicates it returns global financial news. It is not a tautology because it adds the source URL and a return type, but it lacks an explicit verb like 'fetch' or 'list' and does not clearly distinguish from sibling tools such as stock_info_global_em or stock_info_global_ths beyond the source name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 its siblings (e.g., stock_info_global_cls, stock_info_global_em, stock_info_global_futu, stock_info_global_ths). The description does not mention any exclusions or alternative tools, so an agent has no context for selecting this specific source.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_info_global_thsBRead-onlyIdempotent
同花顺财经-全球财经直播 https://news.10jqka.com.cn/realtimenews.html :return: 全球财经直播 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds little beyond confirming it returns a pandas DataFrame and providing a source URL. It does not disclose potential rate limits, pagination, or the nature of 'live' (streaming vs. snapshot), but given the annotation coverage, a middle score is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact—three lines covering title, source URL, return type, and return description. It is not overly verbose, but it repeats the title in the :return: field and does not add structural detail like column names, which keeps it from being a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool without an output schema, the description provides basic context: source, return type, and subject. However, it lacks detail on what the DataFrame contains (columns, refresh frequency, language), which is important for an agent to know what to expect. It is minimally sufficient but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty, so there is nothing to document. Description adds no parameter information, but none is needed. The baseline for no parameters is 4, which is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool provides global financial live news from 同花顺 (THS), specifically via the URL. The :return: field indicates it returns a pandas DataFrame of this content. It is distinguishable from siblings like stock_info_global_em and stock_info_global_sina by the THS source. However, it lacks an explicit verb like 'fetch' or 'retrieve', though the context implies it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to choose this tool over the numerous sibling stock_info_global_* variants. It does not mention alternatives, exclusions, or use cases. The usage is only implied by the content type (global financial live), which is insufficient for an AI agent selecting among similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_info_sh_delistBRead-onlyIdempotent
上海证券交易所-终止上市公司 https://www.sse.com.cn/assortment/stock/list/delisting/ :param symbol: choice of {"全部", "沪市", "科创板"} :type symbol: str :return: 终止上市公司 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as read-only, idempotent, and non-destructive. The description adds the source URL and return type but does not disclose additional behavioral details such as data freshness, pagination, or rate limits. Since the annotations cover the safety profile, a neutral score is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and directly to the point, containing only the essential elements: the title, source URL, parameter definition, and return type. Every line adds value, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only one optional parameter, and the description provides the URL and return type. However, the return is described merely as '终止上市公司' without detailing the DataFrame's columns or structure, which would be helpful given there is no output schema. It is sufficient for basic use but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides no description for the `symbol` parameter (0% coverage), but the description explicitly lists the valid choices: `{"全部", "沪市", "科创板"}`. This compensates for the schema gap, though it doesn't elaborate on the meaning of each choice beyond their obvious translations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '上海证券交易所-终止上市公司' (Shanghai Stock Exchange - terminated listed companies) and provides the exact source URL, making the tool's scope unambiguous. It is distinguished from siblings like `stock_info_sz_delist` by the 'sh' in the name and the explicit Shanghai reference, though it lacks an explicit verb like 'get' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives, nor does it mention sibling tools such as `stock_info_sz_delist`. Usage is only implied by the parameter choices (`全部`, `沪市`, `科创板`), which suggest filtering by market segment, but there is no stated scenario or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_info_sh_name_codeARead-onlyIdempotent
上海证券交易所-股票列表 https://www.sse.com.cn/assortment/stock/list/share/ :param symbol: choice of {"主板A股": "1", "主板B股": "2", "科创板": "8"} :type symbol: str :return: 指定 indicator 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 主板A股 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, covering the safety profile. The description adds the specific symbol choices and the fact that it returns a pandas DataFrame, but does not disclose further behavioral traits such as rate limits or the meaning of the return data. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the title and URL. However, it includes a confusing return line '指定 indicator 的数据' which appears to be a template artifact and adds noise. Overall, it is appropriately compact for a simple tool but not perfectly clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one optional parameter and no output schema. The description provides the parameter choices and return type, but does not explicitly describe the DataFrame contents (e.g., stock code and name), and the return line is ambiguous. Given the name suggests 'name_code', a more explicit mention of the output columns would improve completeness. Still, the essentials are present, so it is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage and no enum values. The description compensates by listing the allowed symbol values: '主板A股', '主板B股', '科创板' with their corresponding codes, and specifying the type as str. This gives the agent the necessary semantic information to choose the correct parameter value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description provides the title '上海证券交易所-股票列表' (Shanghai Stock Exchange Stock List) and a source URL, clearly indicating this tool fetches the SSE stock list. The verb is implicit rather than explicit (e.g., 'get' or 'fetch'), and it does not clearly distinguish from sibling tools like stock_info_a_code_name or stock_info_sz_name_code, though the exchange is named. Thus it is clear but lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only lists parameter choices and a return type, with no mention of suitable use cases, exclusions, or references to sibling tools. This is 'no guidance' per the rubric.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_info_sz_change_nameBRead-onlyIdempotent
深证证券交易所-市场数据-股票数据-名称变更 https://www.szse.cn/www/market/stock/changename/index.html :param symbol: choice of {"全称变更": "tab1", "简称变更": "tab2"} :type symbol: str :return: 名称变更数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全称变更 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds a source URL and return type (pandas.DataFrame), which are useful but minimal. It does not disclose pagination, error behavior, or data coverage, but given annotations, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and structured as a docstring with title, URL, parameter, and return sections. Each part contributes useful information, though the title line somewhat repeats the tool name. No unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description covers the source, parameter choices, and return type. However, it lacks details about the returned DataFrame columns, data range, or any examples. It is adequate for simple invocation but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description thoroughly documents the only parameter 'symbol' with its exact accepted values ('全称变更' and '简称变更') and their mapping to tabs. This is critical information not present in the schema, which only defines a string with a default. Schema coverage is 0%, so the description fully compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as Shenzhen Stock Exchange name change data, with a source URL and parameter documentation. It is specific enough to distinguish it from broader stock data tools, though it lacks an explicit verb and does not differentiate from siblings like stock_info_change_name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Sibling tools such as stock_info_change_name, stock_info_sh_name_code, and stock_info_sz_name_code exist, but the description provides no comparisons, exclusions, or contextual usage hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_info_sz_delistARead-onlyIdempotent
深证证券交易所-暂停上市公司-终止上市公司 https://www.szse.cn/market/stock/suspend/index.html :param symbol: choice of {"暂停上市公司", "终止上市公司"} :type symbol: str :return: 暂停上市公司 or 终止上市公司 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 终止上市公司 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and the source URL (https://www.szse.cn/...), which is useful context, but does not detail other behavioral aspects such as data coverage, pagination, or update frequency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a title, source URL, parameter definition, and return type, all in a standard structured format. Each line serves a purpose, and there is no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter, read-only tool, the description adequately covers the essentials: the source, the parameter choices, and the return type (pandas.DataFrame). It lacks examples or details about the DataFrame columns, but given the low complexity and the presence of annotations, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only shows a default value ('终止上市公司') with no description. The description explicitly enumerates the two allowed values for symbol ('暂停上市公司' and '终止上市公司') and specifies the type as str, providing essential semantic information that the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing data on suspended and terminated listed companies from the Shenzhen Stock Exchange (SZSE) by specifying the two categories and including the source URL. The return statement 'return: 暂停上市公司 or 终止上市公司 的数据' makes the purpose explicit, though it lacks a strong imperative verb like 'Get' or 'List'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides the two valid values for the symbol parameter, which guides the user on what data each option returns. However, it does not explicitly state when to use this tool versus sibling tools (e.g., stock_info_sh_delist) or provide any contextual guidance on when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_info_sz_name_codeBRead-onlyIdempotent
深圳证券交易所-股票列表 https://www.szse.cn/market/product/stock/list/index.html :param symbol: choice of {"A股列表", "B股列表", "CDR列表", "AB股列表"} :type symbol: str :return: 指定 indicator 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | A股列表 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint as safe, so the description is not burdened with safety disclosure. It adds a source URL and states the return type is a pandas DataFrame, but does not detail rate limits, data freshness, or other behavioral traits. There is a minor inconsistency referring to 'indicator' instead of 'symbol'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a docstring format with URL, parameter, type, and return lines. However, it contains a terminology inconsistency and the sentence structure is somewhat repetitive, making it less polished than ideal. Despite these issues, it remains brief and generally understandable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description only specifies the return type (DataFrame) and the source, but does not describe columns or row scope. For a simple stock list tool where the symbol category determines the content, this is adequate, but it leaves the agent guessing about the exact data structure. The inclusion of a source URL adds some context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides a single symbol parameter with no description (0% coverage), so the description must compensate. It does so by enumerating the allowed values (A股列表, B股列表, CDR列表, AB股列表) and indicating a default, which is actionable for the agent. The return line's reference to 'indicator' is slightly confusing, but the parameter choices are clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a Shenzhen Stock Exchange stock list with a source URL and specific symbol categories (A股列表, B股列表, CDR列表, AB股列表). It distinguishes itself from sibling tools like stock_info_sh_name_code by focusing on the Shenzhen exchange, though the action verb is implied rather than explicitly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by naming the exchange and the parameter choices, but it does not explicitly state when to use this tool versus alternatives or any exclusions. There is no mention of scenarios best suited for this tool or comparisons to similar list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_inner_trade_xqBRead-onlyIdempotent
雪球-行情中心-沪深股市-内部交易 https://xueqiu.com/hq/insider :return: 内部交易 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type, but does not disclose data freshness, scope limitations, or other behavioral traits beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of three short lines: a title, a URL, and return type info. Every element is purposeful with no wasted words, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with no output schema and rich annotations, the description covers the essentials: data source, market scope, and return type. However, it omits details about the columns in the returned DataFrame or any potential limitations, leaving some contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter semantics to explain. The baseline score of 4 applies, as the description is not required to compensate for missing parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns insider transaction data for Shanghai/Shenzhen stocks from Xueqiu, and specifies the return type as pandas.DataFrame. It identifies the data domain distinctly, though it lacks an explicit action verb like 'retrieve' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, related tools, or any conditions for use, leaving the AI agent without context for selecting this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_institute_holdBRead-onlyIdempotent
新浪财经-股票-机构持股一览表 https://vip.stock.finance.sina.com.cn/q/go.php/vComStockHold/kind/jgcg/index.phtml :param symbol: 从 2005 年开始,{"一季报":1, "中报":2 "三季报":3 "年报":4}, e.g., "20191",其中的 1 表示一季报;"20193",其中的 3 表示三季报; :type symbol: str :return: 机构持股一览表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 20051 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, openWorld behavior, so the safety profile is covered. The description adds useful context that data starts from 2005 and the return is a pandas.DataFrame, but says nothing about pagination, coverage breadth, or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is reasonable in size, but the raw docstring formatting (URL line, :param/:type/:return/:rtype) is not front-loaded and mixes source URL boilerplate with operational detail, diluting readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema tool the description covers the essentials: source, param encoding, and return type. It stops short of the coverage/when-to-use detail an agent needs to choose it confidently over its sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden for the single 'symbol' parameter. It does explain the year+quarter encoding ('20191' = 2019 Q1, with the 1/2/3/4 quarter mapping), which is genuinely valuable, but the unusually-named parameter and boundary values are only partially clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (机构持股一览表 / institutional holdings list) from a specific source (Sina Finance), so the agent knows what data it returns. It does not differentiate from the closely related sibling tool stock_institute_hold_detail, which an agent would otherwise struggle to disambiguate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance. Given the near-identical sibling 'stock_institute_hold_detail' exists in the tool list, the absence of any routing hint is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_institute_hold_detailBRead-onlyIdempotent
新浪财经-股票-机构持股详情 https://vip.stock.finance.sina.com.cn/q/go.php/vComStockHold/kind/jgcg/index.phtml :param stock: 股票代码 :type stock: str :param quarter: 从 2005 年开始,{"一季报":1, "中报":2 "三季报":3 "年报":4}, e.g., "20191",其中的 1 表示一季报;"20193",其中的 3 表示三季报; :type quarter: str :return: 指定股票和财报时间的机构持股数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| stock | No | 600433 | |
| quarter | No | 20201 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the data provenance (Sina Finance URL) and the return type (pandas.DataFrame), which is useful but not deep behavioral context (no rate limits, coverage years beyond the quarter start note, or data-freshness caveats).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, and the quarter explanation earns its space, but the raw URL and sphinx-style boilerplate (:type/:rtype) add clutter without improving agent decision-making. It is acceptable but not tightly edited.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter, read-only fetch with no output schema, the description supplies source, both parameter formats, and the return type. The only real omission is the shape/columns of the returned DataFrame, which is a minor gap given the annotations already convey safety.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full load for both parameters. It explains that 'stock' is a stock code and, more importantly, decodes the opaque 'quarter' string with the report-type mapping (一季报=1, 中报=2, 三季报=3, 年报=4) and worked examples like "20191" and "20193", which the schema does not convey at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the source (新浪财经), the resource (机构持股详情), and the returned data (a stock's institutional holding data for a given reporting period). However, it never distinguishes this tool from near-identical siblings such as stock_institute_hold or stock_gdfx_holding_detail_em, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the large family of related holding/股东 tools (stock_institute_hold, stock_gdfx_holding_detail_em, stock_report_fund_hold_detail, etc.). The agent must infer usage purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_institute_recommendBRead-onlyIdempotent
新浪财经-机构推荐池-最新投资评级 http://stock.finance.sina.com.cn/stock/go.php/vIR_RatingNewest/index.phtml :param symbol: choice of {'最新投资评级', '上调评级股票', '下调评级股票', '股票综合评级', '首次评级股票', '目标涨幅排名', '机构关注度', '行业关注度', '投资评级选股'} :type symbol: str :return: 最新投资评级数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 投资评级选股 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds the source URL and the fact that it returns a pandas DataFrame, which is useful but does not go into deeper behavioral details such as data freshness, pagination, or response size. Since annotations carry the safety burden, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with the source URL, parameter documentation, and return type, all in a standard format. The list of symbol choices is somewhat long but necessary and does not add excessive verbosity. It is efficient and front-loaded with the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a single parameter and no output schema, the description provides sufficient context: the data source, the valid parameter choices, and the return type (pandas DataFrame). Combined with the default value in the schema, an agent can reasonably invoke the tool. It is not perfect because it lacks examples or explanation of the default behavior, but it is adequate for simple read-only data retrieval.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines 'symbol' as a string with a default, but the description enriches it with an explicit list of valid choices: '最新投资评级', '上调评级股票', '下调评级股票', '股票综合评级', '首次评级股票', '目标涨幅排名', '机构关注度', '行业关注度', and '投资评级选股'. This adds significant meaning beyond the bare schema, though it does not explain what each choice returns in detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource '新浪财经-机构推荐池-最新投资评级' and includes the source URL, making it clear this tool retrieves latest investment ratings from Sina Finance's institutional recommendation pool. However, it does not explicitly distinguish itself from closely related siblings like stock_institute_recommend_detail or stock_institute_hold, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only lists the symbol choices and return type, but does not explain use cases, prerequisites, or situations where another tool (e.g., stock_institute_recommend_detail) would be more appropriate. This is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_institute_recommend_detailBRead-onlyIdempotent
新浪财经-机构推荐池-股票评级记录 http://stock.finance.sina.com.cn/stock/go.php/vIR_StockSearch/key/sz000001.phtml :param symbol: 股票代码 :type symbol: str :return: 具体股票的股票评级记录 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive. The description adds that the source is Sina Finance and the return is a pandas DataFrame, but does not disclose additional behavioral traits such as pagination, rate limits, or data range.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a structured docstring with title, source URL, parameter documentation, and return type. It is concise and easy to parse, though the URL line is somewhat extraneous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple single-parameter read-only tool. The description provides the return type (DataFrame) and what it returns (rating records). However, it lacks details about the returned columns and the exact symbol format, which could be important for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain the parameter. It specifies 'symbol' is a stock code (股票代码) of type str, which adds meaning. However, it does not clarify whether the format requires an exchange prefix (e.g., 'sz000001' as in the URL) or just the numeric code (default '000001').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns stock rating records for a specific stock from Sina Finance's institutional recommendation pool. It uses the URL example to illustrate the data source and distinguishes itself from siblings like stock_institute_recommend by focusing on per-stock rating records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only documents the parameter and return type, with no mention of use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_intraday_emCRead-onlyIdempotent
东方财富-分时数据 https://quote.eastmoney.com/f1.html?newcode=0.000001 :param symbol: 股票代码 :type symbol: str :return: 分时数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds a return type (pandas.DataFrame) and a reference URL, but does not disclose behavioral details such as the DataFrame's columns, time granularity, intraday period covered, or any rate limits. This is minimal added value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with only essential lines: title, URL, param, type, return, rtype. It avoids lengthy prose and each line serves a purpose. However, the lack of a main sentence makes it feel more like metadata than a human-readable explanation, preventing a score of 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter and no output schema, the description should explain what the returned DataFrame contains, the intraday interval, and any data limitations. It only states '分时数据' (intraday data) and 'pandas.DataFrame', leaving the agent uncertain about columns, time range, and whether it covers real-time or historical data. The URL is not explained either.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It defines 'symbol' as 股票代码 (stock code), which is a translation of the parameter name but adds little meaning. It does not explain the expected format (e.g., exchange prefix, leading zeros), even though the example URL suggests a market prefix ('0.000001'). The default '000001' offers some hint, but the description fails to clarify edge cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source (东方财富/Eastmoney) and data type (分时数据/intraday data), which identifies the tool's core function of fetching intraday stock data. However, it lacks a clear verb (e.g., 'retrieves', 'gets') and does not differentiate this tool from similar sibling tools like stock_intraday_sina or stock_zh_a_hist_min_em, which also deal with intraday/minute data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternative data sources or tools. The description simply lists a parameter and return type without any contextual usage instructions, prerequisites, or exclusions. The agent receives no help in deciding whether to invoke this tool over its many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_intraday_sinaBRead-onlyIdempotent
新浪财经-日内分时数据 https://vip.stock.finance.sina.com.cn/quotes_service/view/cn_bill.php?symbol=sz000001 :param symbol: 股票代码 :type symbol: str :param date: 交易日 :type date: str :return: 分时数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240321 | |
| symbol | No | sz000001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the source URL and return type, which provides some context, but it does not disclose any caveats like required symbol prefix format ('sz'/'sh'), date format, or behavior for invalid dates. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the title. It includes the source URL, parameter docs, and return type in a docstring format. The URL is somewhat verbose but serves as an example. No unnecessary prose; every line contributes to understanding the tool's interface.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain return values; it does mention '分时数据' and 'pandas.DataFrame'. However, it omits critical invocation details like the exchange prefix in the symbol (e.g., 'sz', 'sh') and the exact date format (YYYYMMDD), which are only inferable from defaults. For a simple tool, the description is adequate but incomplete for a first-time user.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides parameter names and types (symbol: 股票代码, date: 交易日) but does not explain format requirements. The URL example shows symbol='sz000001', and the schema defaults give date='20240321', which are helpful but not explicitly described. The description adds partial semantic value but leaves format ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '新浪财经-日内分时数据' (Sina Finance intraday minute data) and indicates a data fetch with a URL and return type. This clearly conveys the tool's function of retrieving intraday stock data. However, it does not explicitly differentiate from sibling tools like stock_intraday_em or stock_zh_a_hist_min_em, relying mainly on the 'sina' in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description does not mention any distinguishing use cases, such as preferring it for Sina-specific data or its unique attributes. There is no exclusion or alternative reference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_ipo_benefit_thsARead-onlyIdempotent
同花顺-数据中心-新股数据-IPO受益股 https://data.10jqka.com.cn/ipo/syg/ :return: IPO受益股 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, and non-destructive behavior. The description adds a source URL and return type (pandas.DataFrame), which provide minimal context about data origin and output format, but no additional behavioral specifics such as rate limits, data freshness, or failure modes. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief with three lines: title, URL, and return type. It is front-loaded with the key resource name and lacks fluff, though the URL is somewhat tangential. It is appropriately sized for a parameterless tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description provides only a high-level return type and source. It does not specify columns, data granularity, or how the data is structured. For a zero-parameter tool, this is minimally sufficient but leaves gaps for an agent that needs to interpret the returned DataFrame.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description needs no parameter details. The schema coverage is trivially 100%, and the description correctly implies a no-argument call. Baseline for zero parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning IPO beneficiary stocks data from Tonghuashun (同花顺) Data Center, with a specific URL and return type. Though it lacks an explicit verb like 'get' or 'fetch', the resource and scope are unambiguous, and the name differentiates it from related IPO tools like stock_ipo_ths.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the data name and description: the agent can infer it is for IPO beneficiary stock data from 10jqka. However, there is no explicit guidance on when to use this tool versus sibling tools, nor any mention of exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_ipo_declare_emBRead-onlyIdempotent
东方财富网-数据中心-新股数据-首发申报企业信息 https://data.eastmoney.com/xg/xg/sbqy.html :return: 首发申报企业信息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds a source URL and return type (pandas.DataFrame), which is useful but does not reveal behavioral traits like data coverage, update frequency, or volume. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with source and resource, but it redundantly repeats '东方财富网-数据中心-新股数据' and '首发申报企业信息' multiple times. The URL and return type documentation are useful, but the repetition means not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should detail what the returned DataFrame contains, but it only names the category '首发申报企业信息' without listing any columns, fields, or examples. There is no explanation of how data is organized or filtered, leaving an agent without enough context to fully understand the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema has no properties, so there is nothing to explain. The description appropriately focuses on the returned entity type, and with no parameters, the baseline is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the resource: 东方财富网数据中心新股数据-首发申报企业信息, and provides a URL to the exact data page. It indicates the tool returns IPO declaration enterprise information as a pandas DataFrame. However, it lacks an explicit action verb like 'Get' or 'Return', and its differentiation from sibling ipo tools is only implicit through the specific data category.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus the many sibling stock_ipo_* tools, nor does it state any exclusions or prerequisites. The agent must infer usage solely from the name and description, which is insufficient for choosing among alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_ipo_hk_thsARead-onlyIdempotent
同花顺-数据中心-新股申购与中签-港股 https://data.10jqka.com.cn/ipo/xgsgyzq/ :return: 港股新股申购与中签数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, establishing a safe, read-only operation. The description adds that the return type is a pandas.DataFrame and provides the data source URL, but it does not disclose any additional behavioral traits like data freshness, pagination, or network dependencies. This adds modest value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a title, source URL, return description, and return type. Each line serves a purpose, and it is front-loaded with the most important information. No redundant or filler content is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless data retrieval tool, the description is sufficiently complete. It specifies the data source, the nature of the data (HK IPO subscription and allotment), and the return type. While it does not detail the DataFrame columns, the low complexity and supporting annotations make this acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema has 100% coverage (vacuously). With no parameters to document, the baseline of 4 applies, and the description correctly focuses on the return value rather than parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states this tool retrieves Hong Kong IPO subscription and allotment data from the Tonghuashun Data Center, with a specific URL and return type. It clearly identifies the resource (HK IPO data) and the source (THS), distinguishing it from sibling tools like stock_ipo_ths or stock_xgsr_ths. However, it lacks an explicit verb like '获取' or 'retrieves', relying on the context of returning a DataFrame.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for accessing HK IPO subscription and winning data, but it does not provide explicit guidance on when to use it versus alternatives such as stock_ipo_ths, stock_xgsr_ths, or other IPO data tools. No exclusions or alternative tool references are mentioned, leaving usage context only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_ipo_infoARead-onlyIdempotent
新浪财经-发行与分配-新股发行 https://vip.stock.finance.sina.com.cn/corp/go.php/vISSUE_NewStock/stockid/600004.phtml :param stock: 股票代码 :type stock: str :return: 返回新股发行详情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| stock | No | 600004 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and the direct source URL, which is useful but not extensive. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and follows a docstring structure with param, type, return, and rtype lines. The included URL is slightly verbose but adds source context. No unnecessary filler; it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema), and the description provides the essential return type and parameter meaning. However, it does not describe what 'new stock issuance details' actually contain, nor does it clarify the scope (e.g., only A-shares) or any data limitations. This would be sufficient for a basic understanding but not for nuanced tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'stock' is clearly explained as a stock code (股票代码), and the URL provides an example (600004). Since schema description coverage is 0%, the description fully compensates by defining the parameter's meaning and expected format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns new stock issuance details (新股发行详情) for a given stock code. This is a specific action and resource, though it does not explicitly differentiate from the many sibling IPO tools. The source URL (Sina Finance) helps identify the data origin.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many sibling IPO tools (e.g., stock_ipo_ths, stock_ipo_review_em). The description only implies usage via the stock parameter, without context on selection criteria or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_ipo_review_emARead-onlyIdempotent
东方财富网-数据中心-新股申购-新股上会信息 https://data.eastmoney.com/xg/gh/default.html :return: 新股上会信息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type but does not disclose additional behavioral context such as data scope, update frequency, or potential limitations. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: three lines covering the source, URL, and return type. No unnecessary words, each element serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter tool, the description provides the data source and return type, which is fairly complete. However, it lacks detail about the exact data fields or whether the data is historical/current, but this is acceptable given the simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is fully covered (vacuously). The baseline for 0-param tools is 4, and the description doesn't need to explain parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning '新股上会信息' (IPO review meeting information) from East Money's data center, with the URL and return type making the purpose evident. It distinguishes from sibling tools like stock_ipo_declare_em by specifying '上会' (review meeting), but the verb is implied via ':return:' rather than an explicit 'Get' or 'List'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 other IPO-related tools. There is no mention of alternatives, exclusions, or specific use cases beyond the data source itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_ipo_summary_cninfoCRead-onlyIdempotent
巨潮资讯-个股-上市相关 https://webapi.cninfo.com.cn/#/company :param symbol: 股票代码 :type symbol: str :return: 上市相关 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600030 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds little beyond a source URL and return type; it does not disclose what data is included, whether it is historical or current, or any other behavioral characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and follows a clear docstring structure with source, parameter, and return sections. It front-loads the source and purpose, with no redundant or verbose content, though it is under-specified in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description needed to explain what '上市相关' includes, but it only returns a vague label. It does not specify the data fields, time range, or any distinctions from similar IPO tools, leaving the agent uncertain about the results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only provides a default value for symbol with 0% description coverage. The description compensates by explicitly documenting 'symbol: 股票代码' (stock code) and its string type, giving the agent the key meaning needed to invoke the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool provides '巨潮资讯-个股-上市相关' (CNInfo individual stock listing-related) and returns a pandas DataFrame, but it lacks an explicit verb and the scope '上市相关' is broad. The tool name hints at IPO summary, but the description alone does not clearly distinguish it from sibling stock_ipo_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The many sibling IPO tools (e.g., stock_ipo_info, stock_new_ipo_cninfo) are not mentioned, nor are any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_ipo_thsBRead-onlyIdempotent
同花顺-数据中心-新股申购与中签 https://data.10jqka.com.cn/ipo/xgsgyzq/ :param symbol: choice of {"全部A股", "沪市主板", "深市主板", "创业板", "科创板", "京市主板"} :type symbol: str :return: 新股申购与中签数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部A股 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context about the data source (同花顺) and the market segment filter, but does not disclose data freshness, pagination, or other behavioral traits. This is consistent with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured with standard docstring sections (:param, :return). The first line duplicates the title and the URL is not essential for invocation, but overall the content is not wasteful and each remaining line serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one optional parameter and no output schema, the description covers the essential retrieval purpose and parameter choices. However, it does not detail the returned DataFrame structure or mention any assumptions about data coverage, leaving some ambiguity for an agent needing to interpret the results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only provides type string and a default, but the description lists the exact allowed choices for the 'symbol' parameter (e.g., '全部A股', '沪市主板'). Since schema description coverage is 0%, this compensation is valuable and gives the agent the necessary constraints to invoke the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (同花顺 新股申购与中签) and scope (data for IPO subscriptions and winning results) via the title, URL, and return line. It distinguishes itself from sibling tools that cover other aspects of IPOs (e.g., benefits, HK IPOs), though it lacks an explicit verb like 'fetch' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description simply states what it does and lists parameters, without mentioning exclusions, prerequisites, or when a sibling IPO-related tool might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_ipo_tutor_emBRead-onlyIdempotent
东方财富网-数据中心-新股数据-IPO辅导信息 https://data.eastmoney.com/xg/ipo/fd.html :return: IPO辅导信息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the source URL and return type but does not disclose other behavioral traits like data scope, freshness, rate limits, or any quirks of the returned DataFrame. This is adequate for a simple read-only tool but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of a source title, URL, and return type in a docstring-like format. It has no fluff, but it repeats the title from annotations and does not provide a structured narrative for an AI agent, so it is not maximally effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what the returned DataFrame contains. It only repeats 'IPO辅导信息' without specifying columns, update frequency, or data scope. For an agent to use the data meaningfully, it needs more detail about the return structure and content limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is trivially complete (100% coverage). Since there are no parameters to describe, the baseline of 4 applies; the description does not need to compensate for any parameter documentation gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source ('东方财富网-数据中心-新股数据-IPO辅导信息'), the URL, and the return type ('IPO辅导信息', pandas.DataFrame). This makes the purpose clear for a data-fetching tool, though it relies on the same terminology as the tool name and title rather than a distinct verb phrase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool compared to sibling tools. It only states the source and return type, with no context about selection criteria, alternatives, or preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_irm_ans_cninfoCRead-onlyIdempotent
互动易-回答 https://irm.cninfo.com.cn/ircs/question/questionDetail?questionId=1515236357817618432 :param symbol: 提问者编号;通过 ak.stock_irm_cninfo() 来获取具体的提问者编号 :type symbol: str :return: 回答 :rtype: str
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 1513586704097333248 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds only that the symbol is a questioner ID obtained elsewhere and that the return type is str ('回答'); it does not disclose pagination, rate limits, or return shape beyond a bare type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but is a raw docstring dump: a URL, then ':param'/':type'/':return'/':rtype' tags with no front-loaded summary. Structure serves autodoc, not an agent deciding whether/how to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a single undocumented-schema parameter, the description should clarify what is returned and how the ID maps to a question. It offers only 'rtype: str' and an ambiguous ID definition, leaving the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It labels symbol as '提问者编号' (questioner ID), yet the embedded URL uses 'questionId=' and the default value looks like a question ID, creating ambiguity about what the parameter actually identifies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the title label '互动易-回答' (Hudongyi - answer) plus a source URL and Sphinx docstring tags. It never states a clear verb like 'retrieve' or explains that it fetches the investor Q&A answer for a given question, so the purpose is largely inferred from the tool name rather than explained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is one implicit prerequisite: 'obtain the questioner ID via ak.stock_irm_cninfo()'. That is useful, but there is no statement of when to use this tool versus the many sibling tools (e.g., stock_irm_cninfo, nlp_answer), nor any when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_irm_cninfoDRead-onlyIdempotent
互动易-提问 https://irm.cninfo.com.cn/ircs/question/questionDetail?questionId=1515236357817618432 :param symbol: 股票代码 :type symbol: str :return: 提问 :rtype: str
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 002594 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, so the tool's safety profile is partially known. However, the description adds almost no behavioral detail beyond these annotations, stating only "提问" (question) as the return type without describing data scope, format, or edge cases. The hard-coded URL is not informative and may confuse the agent about expected inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but disjointed, mixing a title, a sample URL, and a docstring without a coherent narrative. The URL is unnecessary and consumes space without conveying actionable guidance. A single, well-structured paragraph would be far more effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description should clearly explain the return value and usage context. It only says ":return: 提问" (question), which is vague, and omits details about the data source, freshness, or limitations. The description is inadequate even for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes a docstring for the `symbol` parameter, defining it as a stock code (股票代码), which adds meaning beyond the bare schema. However, it does not specify the expected format, exchange, or constraints, and the default value "002594" implies but does not explicitly state that it expects Chinese A-share codes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description consists only of the title "互动易-提问" and a docstring snippet, with no explicit statement of what the tool does. It fails to use a clear verb+resource structure and does not distinguish itself from similar tools like stock_irm_ans_cninfo. The example URL referencing a specific question detail page further obscures the tool's intended function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool or how it relates to alternative tools. No prerequisites, exclusions, or comparison with sibling tools are mentioned, leaving the agent without any selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_jgdy_detail_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-机构调研-机构调研详细 https://data.eastmoney.com/jgdy/xx.html :param date: 开始时间 :type date: str :return: 机构调研详细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20241211 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, so the safety profile is covered. The description adds minimal behavioral context: it's a scraper for a specific Eastmoney page, returns a pandas DataFrame, and requires a start date. It doesn't describe error behavior, rate limits, or pagination, but with annotations covering safety, this is acceptable though 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and structured with a clear title, URL, param doc, and return type. It uses a consistent docstring format. The lines are short and informative, though the URL line could be considered redundant and the name itself is very long. Overall, every part earns its place, but the format is a bit terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's medium complexity (1 param, no output schema, no nested objects), the description is incomplete. It doesn't specify the exact structure of the returned DataFrame, what columns to expect, or whether the date parameter is inclusive/exclusive. The URL adds context but doesn't substitute for missing return schema details. With siblings like stock_jgdy_tj_em, more behavioral hints would help disambiguate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, meaning the description carries the burden of explaining the 'date' parameter. It says 'date: 开始时间' (start time) and provides a default example '20241211', roughly implying a YYYYMMDD format. This is minimal but some meaning is conveyed. However, it's not clear if this is a start date for a range or a specific reporting date, and no details on format variations are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly says it retrieves institutional research details (机构调研详细) from a specific Eastmoney data center page. The verb 'detail' is specific, but it could be confused with sibling tool stock_jgdy_tj_em (机构调研统计) which is about the same domain. It distinguishes by saying '详细' (detail) rather than '统计' (statistics), but doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives. It mentions the URL and a single parameter (date), but does not state prerequisites, limitations, or when a user would prefer this over the statistical sibling tool. The context implies it's for historical institutional research detail data, but no clear usage scenario is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_jgdy_tj_emCRead-onlyIdempotent
东方财富网-数据中心-特色数据-机构调研-机构调研统计 https://data.eastmoney.com/jgdy/tj.html :param date: 开始时间 :type date: str :return: 机构调研统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20220101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds that the parameter is a start time and the return is a pandas DataFrame, but does not disclose pagination, rate limits, or the scope of the statistics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is compact, using a docstring-style format with source, URL, param, and return. However, it repeats the title information and includes a URL that may be of limited value to an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the returned DataFrame contains, but it only repeats '机构调研统计' without detail. It also does not clarify the date range behavior or how the statistics are aggregated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'date' with zero description coverage. The description labels it as '开始时间' (start time), which adds some meaning, but does not specify the expected format (e.g., YYYYMMDD) or that it defaults to '20220101'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as Eastmoney's institutional research statistics and includes the source URL. It specifies the resource and data type, though it lacks an explicit action verb and does not differentiate from the sibling tool stock_jgdy_detail_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only states the data source and parameter, without any context about use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_js_weibo_nlp_timeDRead-onlyIdempotent
https://datacenter.jin10.com/market :return: 特定时间表示的字典 :rtype: dict
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint true, destructiveHint false, and idempotentHint true, but the description adds no behavioral context beyond that. It does not mention data source behavior, rate limits, side effects, or any operational traits, despite the URL hinting at a data center endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but under-specified. It contains only a URL and a return-type line, which do not earn their place as a meaningful description. The brevity is not purposeful conciseness but a lack of substantive content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the cryptic name and lack of output schema, the description is completely inadequate. It fails to explain what the tool does, what data it retrieves, or what 'specific time representation' means, leaving the agent unable to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4 per the rubric. The description does not need to explain parameter semantics since there are none to document; the empty schema already fully covers this.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description provides only a URL and a return type ('dictionary representing a specific time'), with no verb or resource indicating what the tool actually does. The name 'stock_js_weibo_nlp_time' is cryptic, and the description does not clarify its function or distinguish it from any of the many sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description contains no context about scenarios, prerequisites, or exclusions, leaving the agent completely without direction for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_js_weibo_reportBRead-onlyIdempotent
金十数据中心-实时监控-微博舆情报告 https://datacenter.jin10.com/market :param time_period: {'CNHOUR2': '2小时', 'CNHOUR6': '6小时', 'CNHOUR12': '12小时', 'CNHOUR24': '1天', 'CNDAY7': '1周', 'CNDAY30': '1月'} :type time_period: str :return: 指定时间段的微博舆情报告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| time_period | No | CNHOUR12 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is clear. The description adds the return type (pandas.DataFrame) and the data source URL, but doesn't disclose any additional side effects or edge cases. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is compact, containing only the title, source URL, parameter help, and return type. Each element serves a purpose, though the structure is somewhat docstring-style rather than natural language, it remains efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only report fetcher with no output schema, the description covers the key aspects: what it returns, the parameter options, and the source. It doesn't list the columns or content of the report, but given the low complexity and strong annotations, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides a `time_period` string with a default but no description. The description compensates by enumerating the valid enum values and their human-readable labels (e.g., CNHOUR12 means 12 hours), which is essential for correct usage. This goes beyond the schema's bare type and default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as a Weibo sentiment report from the Jin10 data center, with a parameterized time period, and the return statement confirms it returns the report. This distinguishes it from sibling `stock_js_weibo_nlp_time` by being a report rather than NLP time-series data, though it lacks an explicit verb like 'fetch' or 'query'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The only usage context is the time_period parameter dictionary, which implies the caller chooses a period, but no exclusions or comparisons to similar tools such as `stock_js_weibo_nlp_time` are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_kc_a_spot_emARead-onlyIdempotent
东方财富网-科创板-实时行情 https://quote.eastmoney.com/center/gridlist.html#kcb_board :return: 实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds that it returns a pandas DataFrame. The description does not disclose any additional behavioral traits such as data freshness, source pagination, or any quirks about the returned data. Since the annotations cover the safety profile, the description adds some value (return type, source) but not deeply rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the source and purpose, followed by the URL and return type. It is efficient without unnecessary fluff, but could be slightly better structured by including a brief note on the returned data fields or update frequency. However, it's still appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no parameters, no output schema, and annotations already indicate it is a read-only, idempotent operation, the description is sufficient for an agent to select and invoke it. It lacks details about the exact columns of the returned DataFrame, but the URL and title give enough context. The complexity is low, so the description is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has zero parameters, so the schema provides all necessary information. The description does not need to explain any parameter semantics. The description does imply the tool returns all real-time quotes for the board without filtering, which is useful for understanding the scope of the call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies that this tool retrieves real-time quotes for the 科创板 (STAR Market) from Eastmoney, but it is somewhat unclear whether 'spot' means the full list of all KCB stocks or a snapshot quote. The URL and return type clarify the data source, but the description does not explicitly distinguish this from other stock_*_spot_em siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates this is for real-time market data from the 科创板 board, which is clear from the title and URL. However, it does not explicitly state when to use this tool over alternatives like stock_cy_a_spot_em or stock_zh_a_spot_em, nor does it mention any exclusions or prerequisites. The context implies it is for 科创板 spot quotes, but no explicit guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lhb_detail_daily_sinaBRead-onlyIdempotent
龙虎榜-每日详情 https://vip.stock.finance.sina.com.cn/q/go.php/vInvestConsult/kind/lhb/index.phtml :param date: 交易日 :type date: str :return: 龙虎榜-每日详情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240222 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds useful context by specifying the return type as pandas.DataFrame and the parameter as a trading day, but it does not disclose column details, pagination, or data source quirks. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the title. It includes a source URL and structured docstring lines for param/return. There is minor redundancy (the title repeats in the 'return' line), but overall it is concise and well-organized for the limited content it provides.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with no output schema, the description is mostly adequate but thin. It explains the parameter and return type, yet it fails to clarify the DataFrame columns, how this tool differs from the many similar LHB siblings, or any date formatting/rules. The strong annotations partially compensate, but the lack of differentiation in a crowded sibling set leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage, so the description must compensate. It defines 'date' as '交易日' (trading day) and gives its type as str, which adds semantic meaning beyond the bare schema. The default value '20240222' implies a YYYYMMDD format, but this is not explicitly stated, and no further details about required vs optional behavior are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as '龙虎榜-每日详情' (Dragon-Tiger List daily details) and provides a source URL. This conveys that the tool fetches daily LHB details, and the name includes 'sina' to distinguish from similar EM-based tools. However, it lacks a verbose action verb and does not explicitly differentiate among the many sibling LHB tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or comparisons to sibling tools like stock_lhb_detail_em or stock_lhb_ggtj_sina. The only context is the source URL, which does not help an agent choose between similar LHB tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lhb_detail_emCRead-onlyIdempotent
东方财富网-数据中心-龙虎榜单-龙虎榜详情 https://data.eastmoney.com/stock/tradedetail.html :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :return: 龙虎榜详情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | 20230417 | |
| start_date | No | 20230403 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only a URL and the return type (pandas.DataFrame), but does not disclose behavioral details such as date format expectations, data granularity, pagination, or potential limitations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a clear docstring structure with a source line, URL, and param/return sections. It is not verbose, but the parameter descriptions are mostly redundant with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is present, so the description should describe the returned DataFrame's contents. It only says '龙虎榜详情' without listing columns, aggregation level, or how it differs from related LHB tools. The tool appears simple, but the lack of output details leaves agents guessing about the structure and applicability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description's param docs restate 'start_date: 开始日期' and 'end_date: 结束日期', which adds little meaning beyond the parameter names. It does not mention the expected date format (e.g., YYYYMMDD) or any constraints, despite the schema defaults hinting at the format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as '东方财富网-数据中心-龙虎榜单-龙虎榜详情' with a URL, but it lacks a clear action verb and does not specify what the '详情' includes. It is difficult to distinguish from sibling LHB detail tools like stock_lhb_stock_detail_em or stock_lhb_stock_detail_date_em, making the purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. There is no mention of when to use this tool versus alternative LHB tools, no prerequisites, and no exclusions. The description simply states the resource name and parameters without contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lhb_ggtj_sinaBRead-onlyIdempotent
龙虎榜-个股上榜统计 https://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/ggtj/index.phtml :param symbol: choice of {"5": 最近 5 天;"10": 最近 10 天;"30": 最近 30 天;"60": 最近 60 天;} :type symbol: str :return: 龙虎榜-个股上榜统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 5 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only the source URL and an rtype, disclosing nothing about what the statistics contain, update cadence, or return shape beyond 'pandas.DataFrame'. Little value beyond structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short, which is good, but it is a raw pasted docstring with a bare URL and a redundant ':return:' line that merely restates the tool title. Slightly wasteful and not front-loaded with any actionable guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool with no output schema, the parameter documentation is complete. However, in such a dense sibling namespace the omission of any disambiguation or usage context leaves a real gap an agent would need filled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden for the single parameter. It does so well, enumerating each symbol value and its meaning ('5'=最近5天, '10'=最近10天, '30'=最近30天, '60'=最近60天), which the schema leaves entirely undocumented. Minor deduction because the default of '5' is not restated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource, 龙虎榜-个股上榜统计 (Dragon-Tiger list per-stock listing statistics), which is concrete enough for an agent to understand the data returned. However, it makes no attempt to distinguish itself from the many closely-named siblings such as stock_lhb_yytj_sina (brokerage statistics), stock_lhb_jgzz_sina, or stock_lhb_detail_daily_sina.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use statement, and no alternative is named. In a namespace crowded with lhb tools (stock_lhb_yytj_sina, stock_lhb_jgmmtj_em, stock_lhb_stock_statistic_em, etc.), the agent is left to guess which one produces 'individual stock listing statistics'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lhb_hyyyb_emBRead-onlyIdempotent
东方财富网-数据中心-龙虎榜单-每日活跃营业部 https://data.eastmoney.com/stock/hyyyb.html :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :return: 每日活跃营业部 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | 20220324 | |
| start_date | No | 20220324 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey readOnly, openWorld, idempotent, and non-destructive behavior. The description adds the return type (pandas.DataFrame) and the source URL, which is useful context beyond annotations, but it does not disclose any additional behavioral traits such as pagination, rate limits, or date range constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and follows a clear docstring structure with source URL, params, and return type. It is appropriately sized with no fluff, though the first line duplicates the title annotation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only data retrieval tool with strong annotations, the description is minimally adequate. It provides source, return type, and parameter names, but lacks usage context and explicit date format guidance. It is not as rich as tools with detailed behavioral or situational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the parameters, but it only restates the names in Chinese ('开始日期', '结束日期') without specifying format, requiredness, or constraints. The defaults show YYYYMMDD format, but this is not explicitly stated in the description, leaving the agent to infer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the specific data resource: '东方财富网-数据中心-龙虎榜单-每日活跃营业部' (East Money Data Center - Dragon Tiger List - Daily Active Business Departments), and the return type 'pandas.DataFrame' clarifies it retrieves this data. It distinguishes from sibling tools like stock_lhb_yybph_em or stock_lhb_yyb_detail_em by naming the specific daily active department scope, though it lacks an explicit verb like 'get' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor are any prerequisites or exclusions mentioned. The description only states what the data is, not the context in which an agent should select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lhb_jgmmtj_emCRead-onlyIdempotent
东方财富网-数据中心-龙虎榜单-机构买卖每日统计 https://data.eastmoney.com/stock/jgmmtj.html :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :return: 机构买卖每日统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | 20240430 | |
| start_date | No | 20240417 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds the return type (pandas.DataFrame) and source URL, but it does not disclose additional behavioral traits such as date range limitations, data granularity, or response columns. No contradictions, but minimal added value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of a title, a URL, and a brief docstring. It is front-loaded with the core purpose, and there is no wasteful prose. However, the docstring largely restates the title and parameters, and the URL could be considered extra.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the returned DataFrame contains (columns, rows, and meaning). It only says '机构买卖每日统计' without specifying fields like stock code, buy amount, sell amount, or net buy. Given the numerous sibling LHB tools, this description is insufficient for an agent to predict the output or differentiate the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description must compensate, but it only repeats the parameter names and types ('start_date: 开始日期') without explaining format, inclusivity, or examples. The default values (20240430) implicitly suggest YYYYMMDD format, but this is not explicitly stated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning Eastmoney's daily institutional buy/sell statistics from the Dragon Tiger List, which helps distinguish it from other LHB tools such as stock_lhb_detail_em or stock_lhb_jgstatistic_em. However, it lacks an explicit verb like 'fetch' or 'get', relying instead on a noun phrase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling LHB tools, nor any contextual or alternative recommendations. The description only provides parameters and a source URL, giving no indication of preferred use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lhb_jgmx_sinaCRead-onlyIdempotent
龙虎榜-机构席位成交明细 https://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/jgmx/index.phtml :return: 龙虎榜-机构席位成交明细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is known. The description adds only the return type (pandas.DataFrame) and a URL, but no behavioral context such as what data is included, whether it is real-time/historical, or any rate limits. This adds minimal value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but it is repetitive: the Chinese title appears twice ('龙虎榜-机构席位成交明细' in the title and in the :return: line). The URL is additional but not descriptive. It is front-loaded but under-specified, making it concise yet redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should describe the returned data content. It only provides a return type and a repeated title, not what columns or data it contains. The description is insufficient for an agent to understand what data will be returned or how to interpret it, given the tool's clear niche.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so parameter semantics are not applicable. The baseline of 4 is appropriate because there are no parameters for the description to explain, and the schema is empty (100% coverage). 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the specific resource as '龙虎榜-机构席位成交明细' (Dragon-Tiger List institutional seat transaction details) and includes a source URL. This is clear enough to distinguish it from other stock_lhb_* sibling tools, though it lacks an explicit verb like 'get' or 'retrieve'. The Chinese title is specific and informative, so purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. There is no mention of use cases, context, exclusions, or alternative tools. It simply states the resource name and return type without any situational guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lhb_jgstatistic_emBRead-onlyIdempotent
东方财富网-数据中心-龙虎榜单-机构席位追踪 https://data.eastmoney.com/stock/jgstatistic.html :param symbol: choice of {"近一月", "近三月", "近六月", "近一年"} :type symbol: str :return: 机构席位追踪 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 近一月 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds the source URL and return type (pandas.DataFrame), but does not disclose any further behavioral traits such as rate limits, data freshness, or delimiters. It provides some value beyond annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured as a docstring, with a URL, parameter specification, and return type. It avoids excess prose, though the title phrase is repeated in the return description, making it slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one optional parameter, no output schema, and a simple read-only operation, the description includes the key elements: data source, parameter choices, and return type. It omits details like default behavior or output columns, but for this complexity level it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a string 'symbol' with a default, while the description specifies the valid choices (近一月, 近三月, 近六月, 近一年). This meaningfully compensates for the schema's 0% description coverage, though it does not explain the period semantics explicitly (e.g., '近一月' = last month).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's resource: East Money's data center for Dragon-Tiger List institutional seat tracking (机构席位追踪), with a specific URL. The verb is implicit ('returns' via the return type), and the tool is differentiated from siblings by the 'em' source and the statistic name, though not an explicit contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given on when to use this tool versus alternatives. The usage is only implied by the description itself (e.g., choosing a 'symbol' period), with no mention of exclusions or simply when to prefer this over other LHB tools. This is a clear gap for tool selection among many similar siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lhb_jgzz_sinaBRead-onlyIdempotent
龙虎榜-机构席位追踪 https://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/jgzz/index.phtml :param symbol: choice of {"5": 最近 5 天;"10": 最近 10 天;"30": 最近 30 天;"60": 最近 60 天;} :type symbol: str :return: 龙虎榜-机构席位追踪 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 5 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered. The description adds only the source URL and the return type (pandas.DataFrame), with no disclosure of data scope, freshness, or response shape. Baseline 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded, with the useful parameter enumeration earning its space. Minor redundancy: the tool name/title is repeated verbatim in the ':return:' line, which adds nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single read-only parameter tool with accurate annotations, the definition is mostly adequate, and the parameter values are fully specified. Without an output schema, however, the ':return: 龙虎榜-机构席位追踪 / pandas.DataFrame' line labels the result by name only and gives no sense of the columns/fields an agent will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% with no enum, so the description carries the full burden for the single parameter — and it does: it enumerates all four accepted values ('5','10','30','60') with their meanings (最近 5/10/30/60 天). That is meaningful compensation beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific dataset (龙虎榜-机构席位追踪, institutional seat tracking on the Dragon-Tiger list) and identifies the source URL, so an agent knows exactly what data is returned. However, it gives no differentiation from the many sibling 龙虎榜 tools (stock_lhb_ggtj_sina, stock_lhb_yytj_sina, stock_lhb_jgmx_sina, etc.), so the agent cannot tell which LHB variant to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. Given the dense cluster of sibling LHB tools, the absence of any routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lhb_stock_detail_date_emCRead-onlyIdempotent
东方财富网-数据中心-龙虎榜单-个股龙虎榜详情-日期 https://data.eastmoney.com/stock/tradedetail.html :param symbol: 股票代码 :type symbol: str :return: 个股龙虎榜详情-日期 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600077 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds minimal extra context (source URL, return type as DataFrame) but does not disclose behaviors like date handling, error cases, or data scope. Since annotations cover the core aspects, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, but it is poorly structured for an agent. It repeats the title, then provides a URL and docstring. There is no front-loaded purpose sentence, and the format is more like a raw function docstring than a clear tool description. It is not overly verbose, but it sacrifices clarity for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool name includes 'date' but the input schema only has 'symbol' with no date parameter. The description does not explain how the date is determined or whether the tool returns data for a specific date. There is no output schema, so the return structure is unknown. Given the ambiguity and missing context, the description is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter (symbol) with no description (0% coverage). The description only states '股票代码' (stock code), which is redundant with the parameter name. It does not explain the expected format (e.g., leading zeros, exchange prefix), provide examples, or clarify how the symbol relates to the 'date' aspect of the tool. This is insufficient compensation for the missing schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a label: '东方财富网-数据中心-龙虎榜单-个股龙虎榜详情-日期' (East Money, Dragon Tiger List, Individual Stock Detail, Date). It lacks a clear verb or explicit statement of what the tool does (e.g., 'fetches the historical LHB detail for a given stock'). The title is repeated but adds no functional clarity, and it does not differentiate from sibling tools like stock_lhb_stock_detail_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of scenarios, prerequisites, or exclusions. The URL and param are given but no context on how this fits into a workflow or why one would choose this over other LHB-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lhb_stock_detail_emARead-onlyIdempotent
东方财富网-数据中心-龙虎榜单-个股龙虎榜详情 https://data.eastmoney.com/stock/lhb/600077.html :param symbol: 股票代码 :type symbol: str :param date: 查询日期;需要通过 ak.stock_lhb_stock_detail_date_em(symbol="600077") 接口获取相应股票的有龙虎榜详情数据的日期 :type date: str :param flag: choice of {"买入", "卖出"} :type flag: str :return: 个股龙虎榜详情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20220315 | |
| flag | No | 卖出 | |
| symbol | No | 000788 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and the date-source constraint, but discloses nothing about rate limits, pagination, or empty-result behavior for a mutation-free read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and URL are front-loaded and the param docs are tight, but the :type: lines restate information already carried by the schema and add boilerplate. Adequate, not wasteful, but not every line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter read-only retrieval with no output schema, the description covers purpose, all parameters, the return type, and the cross-tool date dependency. What remains (output columns, pagination) is minor given the tool's scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden and does so well: symbol=股票代码, date=查询日期 plus how to obtain it, and flag with its choice set {"买入","卖出"}. The schema has no enum for flag, so the description uniquely supplies those valid values; only the schema defaults go unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (东方财富 龙虎榜单-个股龙虎榜详情) with a concrete URL example, so the agent knows this retrieves individual-stock dragon-tiger board detail rather than the daily list. It does not explicitly name or distinguish itself from close siblings like stock_lhb_detail_em or stock_lhb_stock_statistic_em, which keeps it at 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete prerequisite: the date must be fetched via stock_lhb_stock_detail_date_em(symbol=...), which tells the agent how to sequence calls correctly. It stops short of stating when-not to use this tool or how it differs from the other lhb tools, so no 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lhb_stock_statistic_emBRead-onlyIdempotent
东方财富网-数据中心-龙虎榜单-个股上榜统计 https://data.eastmoney.com/stock/tradedetail.html :param symbol: choice of {"近一月", "近三月", "近六月", "近一年"} :type symbol: str :return: 个股上榜统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 近一月 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, establishing the safety profile. The description adds the source URL and that it returns a pandas.DataFrame, but does not disclose data freshness, pagination, or any caveats. With annotations covering the risk profile, the added behavioral context is minimal but not zero, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with five lines covering title, URL, parameter, return type, and return description. It is front-loaded with the title and source, making the purpose immediately visible. The URL line feels slightly disjointed, but overall it is concise and free of fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool with no output schema, the description is minimally adequate. It covers the parameter and return type, but does not describe the structure of the returned DataFrame or any limitations. The domain-specific name and title help, but an agent might need more detail on what columns or rows to expect. It is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no description for symbol and no enum, so the description is the only source of semantic meaning. It explicitly lists the allowed values (近一月, 近三月, 近六月, 近一年) and the type, which is essential for correct invocation. It does not explain the exact date ranges implied by these values, but they are self-explanatory enough. This significantly compensates for the schema's 0% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides 个股上榜统计 (individual stock listing statistics) from Eastmoney's Dragon-Tiger List, identifying the resource and scope. It distinguishes from sibling tools like stock_lhb_stock_detail_em by focusing on aggregate statistics per stock. However, the verb is implicit (it does not explicitly say 'get' or 'retrieve'), so it falls short of a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only gives the data source and parameter choices, without mentioning alternative tools or contexts where a different LHB tool would be more appropriate. This is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lhb_traderstatistic_emCRead-onlyIdempotent
东方财富网-数据中心-龙虎榜单-营业部统计 https://data.eastmoney.com/stock/traderstatistic.html :param symbol: choice of {"近一月", "近三月", "近六月", "近一年"} :type symbol: str :return: 营业部统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 近一月 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds only a source URL and return type, with no behavioral details such as data freshness, pagination, or limitations. With annotations covering safety, the description contributes minimal extra transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured with a title, URL, parameter, and return type. The first line repeats the title unnecessarily, but overall it is efficient and free of fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the large number of closely related stock_lhb_* tools, the description does not clarify what specifically '营业部统计' means or how it differs from alternatives like stock_lhb_yyb_detail_em. It lacks the disambiguation needed for an agent to confidently select this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description for the symbol parameter, but the description explicitly lists the allowed values ('近一月', '近三月', '近六月', '近一年') and the type. This is critical for correct invocation, effectively compensating for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description's first line is identical to the title, and the return type is the same phrase (营业部统计). It does not state an explicit action or clarify what the tool retrieves beyond what the name already implies. The URL and parameter info add some context, but the core purpose remains a restatement of the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many other stock_lhb_* sibling tools. No mention of alternatives, exclusions, or situational context, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lhb_yyb_detail_emARead-onlyIdempotent
东方财富网-数据中心-龙虎榜单-营业部历史交易明细-营业部交易明细 https://data.eastmoney.com/stock/lhb/yyb/10188715.html :param symbol: 营业部代码,如 "10188715",通过 ak.stock_lhb_hyyyb_em() 接口获取 :type symbol: str :return: 营业部交易明细数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 10188715 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds that it scrapes a data-center page and returns a pandas.DataFrame of branch trade records, but says nothing about pagination, history depth, or source-site rate behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the domain and resource, then the docstring-style param/return lines. The bare URL is marginal value, but overall it is compact and every informational line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema tool with rich annotations, the description supplies input meaning, input sourcing, and return type. Missing only detail on how much history a single call returns and whether results are paginated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the full parameter burden – and it does: symbol is identified as 营业部代码, given a concrete example ("10188715"), and tied to a source interface for obtaining valid values. That substantially compensates for the empty schema, though format constraints on the code are not spelled out.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope: East Money's Dragon-Tiger list broker-branch historical trading detail (龙虎榜单-营业部历史交易明细). That is a clear verb+resource pair, but it never distinguishes itself from near siblings such as stock_lhb_hyyyb_em or stock_lhb_yybph_em, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one useful workflow hint – the symbol comes from ak.stock_lhb_hyyyb_em() – which tells the agent how to obtain the required input. It does not say when to prefer this tool over the many other 龙虎榜 tools, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lhb_yybph_emBRead-onlyIdempotent
东方财富网-数据中心-龙虎榜单-营业部排行 https://data.eastmoney.com/stock/yybph.html :param symbol: choice of {"近一月", "近三月", "近六月", "近一年"} :type symbol: str :return: 营业部排行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 近一月 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the source URL and parameter domain but does not disclose additional behavioral details such as sorting criteria, data freshness, or pagination. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and structured in docstring format, listing source, params, and returns without excessive prose. It is front-loaded with the identifying title. Minor fragmentation prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 strong annotations, the description provides the source, valid parameter values, and return type. However, it lacks detail on the exact contents of the returned DataFrame (columns, sorting) and does not clarify how '营业部排行' is defined, which may cause ambiguity among the many LHB sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description explicitly enumerates the allowed values for 'symbol' ({近一月, 近三月, 近六月, 近一年}) and specifies the return type. This adds crucial semantic meaning beyond the bare schema definition, which only has a default value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as the East Money Dragon-Tiger List business department ranking ('营业部排行') and provides the source URL. Although written as a noun phrase rather than a verb phrase, it is unambiguous and distinguishes from siblings like stock_lhb_yyb_capital or stock_lhb_yyb_control by focusing on the ranking aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative LHB tools. The description simply states the data source and parameter choices, without any contextual cues or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lhb_yytj_sinaBRead-onlyIdempotent
龙虎榜-营业部上榜统计 https://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/yytj/index.phtml :param symbol: choice of {"5": 最近 5 天;"10": 最近 10 天;"30": 最近 30 天;"60": 最近 60 天;} :type symbol: str :return: 龙虎榜-营业部上榜统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 5 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, covering the safety profile. The description adds the upstream source URL and a pandas DataFrame return type, which is modest context, but says nothing about pagination, row limits, or refresh cadence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact overall, but the ':return:' line merely restates the opening title, and embedding a long source URL consumes space without helping tool selection. The genuinely useful param choices are present, so structure is adequate rather than tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter read tool with no output schema and annotations covering safety, the description supplies param semantics and the return type. It is nearly complete; the missing default value and any row-limit behavior are minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema exposes only a bare string 'symbol', so the description carries the burden. It documents all four allowed values (5/10/30/60 days) with their meanings, which is the key information an agent needs; it omits only the default of '5'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific dataset ('龙虎榜-营业部上榜统计') and gives the exact source URL, so an agent knows it retrieves Sina's Dragon-Tiger List brokerage-branch statistics. However, it does not distinguish this from the many close siblings such as stock_lhb_ggtj_sina, stock_lhb_jgzz_sina, or stock_lh_yyb_* variants that all deal with LHB/branch data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given, and no alternative tool is named despite a large family of competing LHB tools. The agent must infer the use case purely from the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lh_yyb_capitalBRead-onlyIdempotent
同花顺-数据中心-营业部排名-资金实力最强 https://data.10jqka.com.cn/market/longhu/ :return: 资金实力最强 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type (pandas.DataFrame), which is useful context, but it does not disclose other behavioral traits such as pagination, date range coverage, or network dependency. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at three lines: a title, a source URL, and a return type. It is front-loaded and readable, though '资金实力最强' is repeated in the title and return line, adding slight redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters, but the description does not explain what columns or ranking criteria the returned DataFrame contains, nor how it differs from other longhu ranking tools. Given the absence of an output schema, additional structural detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100% (empty properties object). The baseline of 4 applies because there are no parameter semantics to clarify, and the description correctly implies a no-arg call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing Tonghuashun's business department ranking by strongest capital strength ('资金实力最强'). It names a specific resource (营业部排名) and includes the source URL, distinguishing it from sibling tools like stock_lh_yyb_control and stock_lh_yyb_most, though it lacks an explicit verb like 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. With many similar longhu-related sibling tools (e.g., stock_lh_yyb_control, stock_lh_yyb_most), the description does not specify use cases, exclusions, or alternatives, leaving the agent to rely on the title alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lh_yyb_controlCRead-onlyIdempotent
同花顺-数据中心-营业部排名-抱团操作实力 https://data.10jqka.com.cn/market/longhu/ :return: 抱团操作实力 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and the return type (pandas.DataFrame), which are useful behavioral cues. However, it does not explain what the DataFrame contains or any potential quirks, but it does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and to the point, but it is structurally fragmented, consisting of a title, URL, and return annotations rather than a coherent descriptive paragraph. It avoids verbosity but lacks a clear explanatory sentence, making it less effective for agent comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool returns a DataFrame about '抱团操作实力' but the description does not explain the data's content, columns, or meaning. With no output schema, the description carries the full burden, which it fails to meet. The URL provides the source but not the semantic details necessary for understanding what the returned data represents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to clarify. Per the rubric, a zero-parameter tool receives a baseline score of 4. The description appropriately omits parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially repeats the tool's title ('同花顺-数据中心-营业部排名-抱团操作实力') and provides a URL and return type, but does not clearly state the tool's function. It fails to differentiate from closely related siblings like stock_lh_yyb_capital or stock_lh_yyb_most, leaving the agent uncertain about what specific data this tool provides.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No usage context, exclusions, or comparisons to sibling tools are provided. The agent cannot determine the appropriate scenario for selecting this tool over other stock_lh_* or stock_lhb_* options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lh_yyb_mostARead-onlyIdempotent
同花顺-数据中心-营业部排名-上榜次数最多 https://data.10jqka.com.cn/market/longhu/ :return: 上榜次数最多 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true. The description adds that the return type is a pandas.DataFrame and that it contains the most-appearances ranking, plus a source URL. It does not disclose additional behavioral traits like pagination or rate limits, which is acceptable given the annotations, but the content is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a title line, a URL, and a return type/description. All three elements carry useful information and nothing is redundant. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter data retrieval tool with rich annotations, the description covers the essentials: source, return type, and the specific ranking metric. While it could offer more context about what the data represents or how it is sorted, the existing information is sufficient for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty. The baseline for 0 params is 4, and the description does not need to explain parameter semantics. It appropriately stays silent on parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves data about business department rankings by number of appearances on the 龙虎榜 (Dragon-Tiger List) from 同花顺's data center. It specifies the exact metric ('上榜次数最多') and provides a source URL. However, it does not explicitly differentiate this tool from similar siblings like stock_lh_yyb_capital or stock_lh_yyb_control.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It does not mention any scenarios, prerequisites, or exclusions. The only added context is the source URL, which does not help an agent decide between this and similar ranking tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_lrb_emCRead-onlyIdempotent
东方财富-数据中心-年报季报-业绩快报-利润表 https://data.eastmoney.com/bbsj/202003/lrb.html :param date: choice of {"20200331", "20200630", "20200930", "20201231", "..."};从 20100331 开始 :type date: str :return: 利润表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240331 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds nothing behavioral beyond that — no scope (all stocks vs. one), no data-source quirks, no rate/coverage notes — leaving the behavioral burden entirely on structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is compact and front-loads the dataset identification, with parameter and return info following. The docstring-style :param/:rtype lines and URL are slightly redundant but not wasteful for a 1-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the burden of return-value context; it states the return is a 利润表 DataFrame but never clarifies cross-sectional scope (all listed companies for the given reporting period) or the fields returned. Adequate but leaves a material ambiguity for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema only carries a default, so the description is the sole source of parameter meaning. It usefully specifies the date format (e.g. 20200331, quarter-end YYYYMMDD) and the earliest available period (from 20100331), which is substantive detail the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source and resource (东方财富 income statement data, 利润表), but there is no verb and no differentiation from the many sibling financial-statement tools (e.g. stock_profit_sheet_by_report_em, stock_profit_sheet_by_quarterly_em). An agent cannot tell from the text whether this returns one company's statement or all companies for a period.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and does not mention any alternative. The only usage-adjacent content is the valid date range for the parameter, which is not the same as routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_main_fund_flowCRead-onlyIdempotent
东方财富网-数据中心-资金流向-主力净流入排名 https://data.eastmoney.com/zjlx/list.html :param symbol: 全部股票;choice of {"全部股票", "沪深A股", "沪市A股", "科创板", "深市A股", "创业板", "沪市B股", "深市B股"} :type symbol: str :return: 主力净流入排名 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部股票 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds only the upstream data source URL and adds nothing about freshness, pagination, or result scope, so it contributes little behavioral context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first line, but the block is a raw docstring dump with redundant :type and :rtype lines that restate what is already implied. It is short enough not to be bloated but not tightly edited.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only ranking tool with no output schema, the description covers the source, the parameter choices, and the return shape (pandas.DataFrame of the ranking). It is minimally adequate but does not clarify result granularity or how the ranking is ordered/sized.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema has no enum, so the description's full choice list for symbol ({"全部股票", "沪深A股", "沪市A股", "科创板", "深市A股", "创业板", "沪市B股", "深市B股"}) is a genuine and necessary addition. It compensates for the schema gap, though it does not explain what each market segment means for the returned ranking.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first line identifies the resource (main-fund net-inflow ranking from East Money's data center) and the URL confirms the source. However, it largely restates the tool name and title and offers no differentiation from siblings such as stock_individual_fund_flow, stock_market_fund_flow, or stock_sector_fund_flow_rank, which an agent would need in order to pick the right one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many fund-flow siblings, no prerequisites, and no exclusions. The only guidance is the default symbol value, which is usage-adjacent but not a when-to-use rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_main_stock_holderCRead-onlyIdempotent
新浪财经-股本股东-主要股东 P.S. 特定股票特定时间只有前 5 个;e.g., 000002 https://vip.stock.finance.sina.com.cn/corp/go.php/vCI_StockHolder/stockid/600004.phtml :param stock: 股票代码 :type stock: str :return: 新浪财经-股本股东-主要股东 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| stock | No | 600004 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld). The description adds one genuinely useful behavioral fact — that only the top 5 shareholders are returned at a given time — but omits pagination, historical scope, or refresh behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring-style Sphinx fields (:param/:type/:return/:rtype) are somewhat noisy for a single-parameter tool, though the top-5 caveat is useful. It is short but not tightly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and no output schema, listing the return type as pandas.DataFrame is sufficient, and the top-5 note is a valuable scoping detail. However, no output-schema means the agent gets no column/field structure, and the description does little to fill that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the parameter meaning. It does supply ':param stock: 股票代码' (stock code), which is better than nothing, but gives no format spec (e.g. 6-digit A-share code) other than a single incidental example, so the compensation is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the source and data domain (新浪财经-股本股东-主要股东, i.e. Sina Finance major shareholders) so the resource is identifiable, but it uses a noun phrase rather than a clear verb and offers no differentiation from siblings like stock_circulate_stock_holder or stock_fund_stock_holder that cover similar ground.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance or prerequisites. The only quasi-guidance is the P.S. about the top-5 limitation, which is a data constraint rather than a usage condition, and no alternative tool is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_management_change_thsCRead-onlyIdempotent
同花顺-公司大事-高管持股变动 https://basic.10jqka.com.cn/new/688981/event.html :param symbol: 股票代码 :type symbol: str :return: 同花顺-公司大事-高管持股变动 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 688981 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the bar is lower. The description adds a source URL and return type (pandas.DataFrame) but does not disclose any behavioral traits such as data coverage, pagination, or potential network dependency. It adds little beyond the annotation safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but contains a redundant first line that exactly matches the title. The structure is docstring-like with URL and param/return, but the repeated title wastes space. It is not as concise as it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one optional parameter and no output schema, the description should clarify what data is returned and how it differs from similar tools. It only says it returns a DataFrame of executive shareholding changes from THS, without describing columns, date ranges, or use cases. This is insufficient for a tool with many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It only states 'symbol: 股票代码' (stock code), which is already obvious from the parameter name. No format, examples, or default behavior details are given, so the parameter semantics are minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is '同花顺-公司大事-高管持股变动', which is identical to the title and essentially restates the tool name. It provides no verb or explicit action, only a noun phrase describing a data category, and does not differentiate from sibling tools like stock_hold_management_detail_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description only contains a URL and parameter documentation, with no mention of preferred use cases, exclusions, or related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_margin_account_infoBRead-onlyIdempotent
东方财富网-数据中心-融资融券-融资融券账户统计-两融账户信息 https://data.eastmoney.com/rzrq/zhtjday.html :return: 融资融券账户统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the tool returns a pandas.DataFrame and provides a source URL, but does not disclose data update frequency, exact columns, or any access limitations. This is modest additional context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and includes three pieces of information: source path, URL, and return type. Some repetition exists ('融资融券账户统计' appears in both the path and return), but it is not overly verbose. Each line serves a purpose, though the structure could be more informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters and no output schema, but the description should still convey the nature and scope of the returned data. It states the return is '融资融券账户统计' and a DataFrame, but does not specify whether it covers all markets, the granularity, or the exact fields. The URL provides a reference, but the description is sparse for a data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with zero parameters, so the description has no parameters to explain. Per the rubric, the baseline for 0 parameters is 4. The description does not need to compensate for any parameter documentation gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns '融资融券账户统计' (margin trading account statistics) from a specific Eastmoney data center page. The verb is implied ('return/provide') and the resource is clearly identified. It does not explicitly distinguish from sibling margin tools like stock_margin_sse or stock_margin_szse, but the source URL and title make the specific dataset clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of exclusions, prerequisites, or comparison with other margin account tools. The description only gives the source and return type, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_margin_bseBRead-onlyIdempotent
北京证券交易所-融资融券数据-融资融券汇总。
:param date: 交易日 :type date: str :return: 融资融券汇总 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20260721 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is clear. The description adds the return type pandas.DataFrame but does not disclose any potential quirks, such as whether data is available for all historical dates or whether the summary includes multiple rows per date. This is acceptable for a simple read tool but adds limited behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with the main purpose stated in the first line and a structured docstring for parameters and return type. It avoids unnecessary elaboration, though the docstring could be seen as somewhat repetitive given the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter data retrieval tool with strong annotations, the description is minimally adequate. However, there is no output schema, and the description does not list the columns or structure of the returned DataFrame, nor provide an example call. An agent would need to infer data granularity and date handling from the default value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one 'date' parameter with zero description, but the docstring clarifies it is a trading day (交易日). It does not specify the expected format (though the default '20260721' implies YYYYMMDD) or any constraints. The description partially compensates for the schema's lack of documentation, but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving Beijing Stock Exchange margin trading summary data, with the title and first line specifying '融资融券汇总'. The name and description together distinguish it from related siblings like stock_margin_detail_bse (detail) and other exchange-specific margin tools, though it lacks an explicit verb like 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool instead of alternatives. No mention of related tools such as stock_margin_detail_bse or stock_margin_sse, nor any context about typical use cases. The description only implies a single-date query without explaining how the date should be formatted or what happens if it's invalid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_margin_detail_bseCRead-onlyIdempotent
北京证券交易所-融资融券数据-融资融券交易明细。
:param date: 交易日 :type date: str :return: 融资融券明细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20260721 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint, covering the safety profile. The description adds only the return type (pandas.DataFrame) and a repeated statement about margin transaction details, but no behavioral context such as date format expectations, error behavior, pagination, or rate limits. It does not contradict the annotations, but adds little beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a standard docstring structure (title, param, return). It contains no unnecessary words. However, the first line largely repeats the tool name and the overall brevity leaves out important details, which is acceptable for conciseness but contributes to the completeness gap.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple schema and no output schema, so the description should clarify what the returned DataFrame contains. It only says '融资融券明细' (margin details), which is vague. It also omits the date format and any caveats about data availability. While annotations cover safety, the description is insufficient for an agent to fully understand the tool's output and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single 'date' parameter with 0% schema description coverage, so the description bears the full burden. It adds the meaning 'trading day' but does not specify the expected format (e.g., YYYYMMDD), provide examples, or explain how the date filters the returned data. This is minimal compensation for the lack of schema-level description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the data source (Beijing Stock Exchange), the category (margin trading/securities lending), and the specific data (transaction details). However, it lacks an explicit verb like 'get' or 'retrieve' and does not distinguish itself from similar sibling tools (e.g., stock_margin_detail_sse, stock_margin_detail_szse) beyond the market name in the tool name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or contrast with sibling tools such as stock_margin_bse or the SSE/SZSE margin detail tools. The only hint is the market name in the title, but that is not explicit usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_margin_detail_sseBRead-onlyIdempotent
上海证券交易所-融资融券数据-融资融券明细 https://www.sse.com.cn/market/othersdata/margin/detail/ :param date: 交易日期 :type date: str :return: 融资融券明细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20230922 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, destructiveHint=false, idempotentHint=true) already establish the safety profile. The description adds the return type (pandas.DataFrame) and source URL, but does not disclose behavior like date format constraints, pagination, or data availability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the title and URL, followed by parameter documentation in a standard docstring format. No unnecessary words, though it could be more narrative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter data retrieval tool, the description adequately states the source, return type, and basic parameter meaning. However, it lacks usage differentiation from sibling tools and does not mention any caveats about data format or availability, making it minimally viable but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no description for the 'date' parameter (0% coverage), so the description must compensate. It does add the semantic label '交易日期' and type 'str', but stops short of explaining the expected format (e.g., YYYYMMDD), relying on the default value as an example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (SSE margin trading detail) and provides a source URL, distinguishing it from similar tools for other exchanges (SZSE/BSE). However, it lacks an explicit verb like 'get' or 'list', relying on the noun phrase '融资融券明细' to convey the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 instead of siblings such as stock_margin_sse or stock_margin_detail_szse. The description does not mention exchange-specific scope or prerequisites, leaving the agent to infer usage solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_margin_detail_szseBRead-onlyIdempotent
深证证券交易所-融资融券数据-融资融券交易明细 https://www.szse.cn/disclosure/margin/margin/index.html :param date: 交易日期 :type date: str :return: 融资融券明细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20230925 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds little beyond the return type (pandas.DataFrame) and the source URL. It does not disclose date format requirements, pagination, or any other behavioral traits, but with strong annotations this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: a title line, a source URL, and structured param/return docstring entries. It avoids unnecessary prose and is easy to scan. The docstring formatting is standard and appropriate for the content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain the return data; it only says '融资融券明细' (margin trading details) as a DataFrame. It lacks column names, data granularity (daily vs. historical), or any explanation of what fields are included. For a financial data tool, this is insufficient for an agent to confidently use the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It documents the 'date' parameter as '交易日期' (trading date), which adds meaning over the schema's raw string type. However, it does not specify the expected format (e.g., YYYYMMDD) beyond the default value, and no additional constraints or examples are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description's first line names the resource and scope: Shenzhen Stock Exchange margin trading transaction details. Although it lacks an explicit verb like 'retrieve' or 'list', the 'return' field (DataFrame) makes it clear this is a data retrieval tool. The exchange and '明细' (details) distinction help set it apart from summary or other-exchange margin tools, though it relies heavily on the tool name for full disambiguation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as stock_margin_detail_sse or stock_margin_szse. There is no mention of use cases, exclusions, or prerequisites. The URL is a source reference but not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_margin_ratio_paARead-onlyIdempotent
融资融券-标的证券名单及保证金比例查询 https://stock.pingan.com/static/webinfo/margin/business.html?businessType=0 :param symbol: choice of {"深市", "沪市", "北交所"} :type symbol: str :param date: 交易日期 :type date: str :return: 标的证券名单及保证金比例查询 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20260113 | |
| symbol | No | 深市 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds a source URL and parameter constraints (allowed symbol values) but does not disclose additional behavioral traits like rate limits, pagination, or data freshness. It does not contradict annotations; the query verb aligns with read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the title as the first line, followed by a URL and docstring-style params. It includes a small redundancy: the return line repeats the title phrase '标的证券名单及保证金比例查询'. Overall, it is appropriately sized with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only query with two optional, defaulted parameters, the description covers the purpose, parameters, return type (DataFrame), and data source URL. It does not have an output schema, but the description sufficiently explains what the tool returns. It is complete enough for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does provide docstring-style meanings: symbol is limited to {'深市', '沪市', '北交所'} and date is '交易日期' (trading date). However, it fails to specify the date format (though the default '20260113' hints at it) and does not describe the return DataFrame columns in detail. This partial compensation merits a score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: '融资融券-标的证券名单及保证金比例查询' (Margin trading - underlying securities list and margin ratio query). It specifies the resource (标的证券名单及保证金比例) and the action (查询), and distinguishes from sibling margin tools by covering three exchanges (深市/沪市/北交所) with a URL source. This matches a specific verb+resource pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or direct comparisons to sibling margin tools (e.g., stock_margin_sse). The usage context is only implied by the parameter choices, not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_margin_sseBRead-onlyIdempotent
上海证券交易所-融资融券数据-融资融券汇总 https://www.sse.com.cn/market/othersdata/margin/sum/ :param start_date: 交易开始日期 :type start_date: str :param end_date: 交易结束日期 :type end_date: str :return: 融资融券汇总 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | 20230922 | |
| start_date | No | 20010106 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and idempotent behavior, so the description does not need to repeat that. It adds the return type (pandas.DataFrame) and the official SSE URL, providing some context about data source and format. However, it does not disclose potential rate limits, date restrictions, or payload structure beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-organized, with a title, URL, and docstring lines. There is no redundant text, and each element contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
As a simple two-parameter data retrieval tool with strong annotations, the description provides sufficient context: source exchange, URL, parameter meanings, and return type. It lacks detailed column information, but the title '融资融券汇总' conveys the content, making the description adequate for this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only parameter names and defaults with no descriptions, but the description includes a docstring that explains both start_date and end_date as transaction start and end dates. This adds meaning beyond the schema, though the date format (YYYYMMDD) is only implied by the defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly identify this as a Shanghai Stock Exchange margin trading summary data retrieval tool, with a source URL and parameter documentation. It distinguishes itself from sibling margin tools by specifying the exchange and summary granularity, though it lacks an explicit verb like 'fetch' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative margin data tools such as stock_margin_szse or stock_margin_detail_sse. The description only documents its own parameters and return type, leaving the agent to infer use cases from the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_margin_szseARead-onlyIdempotent
深圳证券交易所-融资融券数据-融资融券汇总 https://www.szse.cn/disclosure/margin/margin/index.html :param date: 交易日 :type date: str :return: 融资融券汇总 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240411 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds value by stating the return type (pandas.DataFrame) and the official source URL, which clarifies the data origin and output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured as a docstring, including the source URL, parameter documentation, and return type. Every element serves a purpose without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description provides the essential details: data source, parameter meaning, and return type. It does not enumerate the columns of the summary DataFrame, but this is not critical given the tool's simplicity and the presence of sibling tools for more specific margin data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter descriptions (0% coverage), so the description must compensate. It does provide a docstring for the 'date' parameter ('交易日', meaning trading day) and its type, which gives semantic meaning. However, it does not specify the date format, though the default '20240411' in the schema hints at it. This is helpful but minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves SZSE margin trading summary data (融资融券汇总), with a specific source URL. The tool name and description together distinguish it from sibling tools like stock_margin_sse and stock_margin_detail_szse by exchange and summary-level scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: it is for querying Shenzhen Stock Exchange margin summary data for a given trading day. However, it does not explicitly mention alternatives or when not to use it, though the differentiation is apparent from the tool name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_margin_underlying_info_bseBRead-onlyIdempotent
北京证券交易所-融资融券数据-标的证券信息。
:param date: 交易日 :type date: str :return: 标的证券信息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20260722 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a read-only, idempotent operation. The description adds that it accepts a trading date and returns a pandas DataFrame, which is useful context beyond the annotations. However, it does not disclose any further behavioral traits such as response structure, pagination, or edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and to the point, with a title-like sentence followed by a brief docstring. It is not overly verbose and is well-structured, though it is arguably under-specified in content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple interface with one optional parameter, but the description lacks detail on what 'underlying securities information' includes. Without an output schema, the description should clarify the return values, but it only says '标的证券信息' and the return type, leaving ambiguity about the data's structure and content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter, date, with no description. The description/docstring states this is a trading day (交易日), adding some meaning. However, it does not specify the expected format (though the default suggests YYYYMMDD) or any validation rules. Given 0% schema coverage, the description only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing Beijing Stock Exchange margin trading underlying securities information. It specifies the market (BSE) and the data category, distinguishing it from similar tools like stock_margin_underlying_info_szse. However, it lacks an explicit verb like 'retrieve' or 'list,' relying on the noun phrase to imply the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It simply states the data content without any mention of alternatives, exclusions, or prerequisites. The tool name and sibling context hint at the use case, but the description itself offers no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_margin_underlying_info_szseARead-onlyIdempotent
深圳证券交易所-融资融券数据-标的证券信息 https://www.szse.cn/disclosure/margin/object/index.html :param date: 交易日 :type date: str :return: 标的证券信息 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20221129 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is already covered. The description adds that it returns a pandas.DataFrame and includes the source URL, but it does not describe potential caveats like date validity or result contents beyond '标的证券信息'. This is adequate but not rich, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a title line, a source URL, and standard param/return docstring lines. No fluff or redundancy. It's appropriately sized for a one-parameter read-only tool, though it could be slightly more informative about output columns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with good annotations and a single parameter, this is mostly complete: it states the data source, the parameter meaning, and the return type. However, it does not describe the actual columns or contents of the returned DataFrame, and there is no output schema to compensate. This leaves the agent somewhat in the dark about the exact data structure, so a 3 is warranted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It defines the 'date' parameter as a '交易日' (trading day), which adds business meaning beyond the schema's plain string type. The default value '20221129' in the schema also suggests format, but the description itself doesn't explicitly state the YYYYMMDD format. Still, it meaningfully clarifies the parameter's semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '深圳证券交易所-融资融券数据-标的证券信息' (Shenzhen Stock Exchange - Margin Trading Data - Underlying Securities Information) and includes the source URL. It distinguishes from siblings like stock_margin_underlying_info_bse by specifying the exchange in both the name and description. However, it lacks an explicit verb like 'get' or 'retrieve', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is for SZSE margin trading underlying securities data, with a date parameter. The URL and title establish the intended use case without explicitly stating when not to use it or naming alternatives, which fits the 'clear context, no exclusions' level. It doesn't explicitly contrast with BSE/SSE counterparts, but the exchange is clearly identified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_market_activity_leguCRead-onlyIdempotent
乐咕乐股网-赚钱效应分析 https://www.legulegu.com/stockdata/market-activity :return: 乐咕乐股网-赚钱效应分析 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, establishing it as a safe, read-only operation. The description adds that it returns a pandas.DataFrame and the source URL, which provides some value beyond annotations, though it does not elaborate on data scope or potential quirks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief and follows a clear docstring structure with :return: and :rtype:. However, the first line is redundant with the title, and the content is terse rather than informative. It earns a 4 for being compact and structurally clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description is the only source for understanding the returned data. It states the return type is a DataFrame but does not describe columns, time range, or the meaning of '赚钱效应'. This leaves the agent without enough context to interpret the output or decide if it meets a user's need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so there is no parameter ambiguity to resolve. The schema coverage is effectively complete, and the description is not required to compensate for missing parameter documentation. Baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely repeats the title '乐咕乐股网-赚钱效应分析' with no verb or explanation of what the tool actually computes or returns. It does not distinguish itself from sibling stock market tools, and the term '赚钱效应' (profit effect) is left undefined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No scenarios, prerequisites, or exclusions are mentioned. The URL is useful for human reference but does not clarify selection criteria for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_market_fund_flowARead-onlyIdempotent
东方财富网-数据中心-资金流向-大盘 https://data.eastmoney.com/zjlx/dpzjlx.html :return: 近期大盘的资金流数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds the data source (Eastmoney), the URL, and that it returns a pandas DataFrame of recent data, but does not disclose any additional behavioral nuances such as data update frequency or row count. This is adequate given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of a source title, URL, and return type. It is front-loaded with the resource name and avoids unnecessary prose, though the URL is somewhat redundant with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with no parameters, the description provides enough context: it identifies the data source, the specific dataset (market-wide fund flow), and the return type. An output schema is absent, but the return type is mentioned, making it reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is fully descriptive. The description adds no parameter information, but none is needed. The baseline of 4 for zero-parameter tools applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns recent market-wide fund flow data (大盘资金流) from Eastmoney, with a specific URL as evidence. This distinguishes it from sibling tools that focus on sector or individual fund flows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving recent market-wide fund flow data, but provides no explicit guidance on when to choose this tool over alternatives like stock_sector_fund_flow_rank or stock_individual_fund_flow. No exclusions or conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_market_pb_lgARead-onlyIdempotent
乐咕乐股-主板市净率 https://legulegu.com/stockdata/shanghaiPB :param symbol: choice of {"上证", "深证", "创业板", "科创版"} :type symbol: str :return: 指定市场的市净率数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 上证 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only and idempotent annotations, the description adds the data source URL and declares the return type as pandas.DataFrame. It does not disclose potential rate limits, data granularity, or how the DataFrame is structured, but for a safe read tool the annotations already cover the main behavioral contract. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with four lines: title, source URL, parameter spec, and return spec. It is appropriately sized and front-loaded, with no filler. The structure is clear even though the language is Chinese.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter tool with no output schema, the description provides the necessary parameter choices and return type. However, it leaves ambiguity about the nature of the returned data (e.g., time series vs. snapshot, column names, frequency). This is a clear gap, though the tool is simple enough that the agent can likely infer usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description is the only source of parameter meaning. It explicitly enumerates the valid values for 'symbol' (上证, 深证, 创业板, 科创版), which is essential for invoking the tool correctly. This adds crucial semantics that the JSON schema entirely lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description explicitly state this returns P/B (市净率) data for a selected market (指定市场), with the URL indicating the source. It uses a clear resource and scope, distinguishing it from PE-focused siblings like stock_market_pe_lg. However, the verb (get/retrieve) is only implied via the return type, and the title mentions 'main board' while the symbol options include non-main-board markets, slightly muddying clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives like stock_index_pb_lg or stock_market_pe_lg. It does not state prerequisites, exclusions, or scenarios. An agent would have to infer usage from the name and parameter choices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_market_pe_lgARead-onlyIdempotent
乐咕乐股-主板市盈率 https://legulegu.com/stockdata/shanghaiPE :param symbol: choice of {"上证", "深证", "创业板", "科创版"} :type symbol: str :return: 指定市场的市盈率数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 深证 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive, so the safety profile is clear. The description adds the data source URL and return type (pandas.DataFrame) but does not disclose additional behavioral aspects like data frequency, historical depth, or any limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of a title, URL, and docstring-style param/return lines. It is not excessively verbose, though the URL and docstring formatting could be streamlined; the content is directly relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one optional parameter, the description covers the essential purpose and parameter. However, with no output schema, it fails to describe the structure or time span of the returned PE data, and the title's '主板' (main board) label conflicts with the inclusion of 创业板 and 科创版, creating mild ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a type and default for 'symbol' with no enum or description (0% coverage). The description compensates by explicitly listing the allowed values {'上证', '深证', '创业板', '科创版'} and the meaning of the parameter as the target market for PE data, making parameter semantics fully specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing PE ratio data for Chinese stock markets via the title '乐咕乐股-主板市盈率' and the return statement '指定市场的市盈率数据'. It is specific about the resource (market PE) but does not explicitly differentiate from sibling tool stock_index_pe_lg, which may serve a similar function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as stock_index_pe_lg or stock_market_pb_lg. It only describes the parameter and return value, leaving selection criteria entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_new_a_spot_emBRead-onlyIdempotent
东方财富网-新股-实时行情 https://quote.eastmoney.com/center/gridlist.html#newshares :return: 实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so safety and idempotency are covered. The description adds little beyond the return type (pandas.DataFrame) and that results are 'real-time' – no mention of refresh cadence, coverage, or column shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded with the source and dataset, then the return type. Nothing is wasted, though the single colon-tagged metadata line is terse to the point of offering little actionable structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only list tool with no output schema, the description conveys the source, subject, and return type, which is close to adequate. It stops short of describing what the real-time snapshot contains (columns, number of rows, whether it is a full list), leaving a modest gap for a data-retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (100% schema coverage of an empty object), so there are no parameter semantics to add; baseline for a no-param tool is 4. Nothing in the description contradicts or misrepresents the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific source (东方财富网/Eastmoney) and resource (新股 new stocks, 实时行情 real-time quotes), so the agent knows it returns live quotes for newly listed shares. It does not differentiate from close siblings like stock_zh_a_new_em or stock_zt_pool_sub_new_em, which also cover new/IPO stocks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives among the many new-stock siblings, and no stated prerequisites. The agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_new_gh_cninfoBRead-onlyIdempotent
巨潮资讯-数据中心-新股数据-新股过会 https://webapi.cninfo.com.cn/#/xinguList :return: 新股过会 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, so the tool is known to be safe. The description adds only that it returns a pandas.DataFrame, but does not disclose any additional behavioral traits such as data scope, freshness, pagination, or network dependencies. For a read-only data retrieval tool, the description is minimal and provides little beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with no unnecessary words. It includes the source URL and return type in a compact format. While it could be more structured (e.g., with headers), the brevity is appropriate for such a simple tool, and every line provides some informational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description must clarify what data is returned. It only says '新股过会' (IPO approval) and the return type, without describing columns, examples, or the nature of the data. This is inadequate for an agent to understand the tool's output or to choose it over closely related tools. The absence of any details beyond the label makes the description incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. According to the rubric, a zero-parameter tool gets a baseline of 4, and the description correctly does not attempt to explain nonexistent parameters. No additional parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool fetches new stock data related to '新股过会' (IPO approval) from cninfo's data center, with a source URL. This gives a specific resource and a clear domain (new stock listings passing review), distinguishing it from sibling tools like stock_new_ipo_cninfo or stock_ipo_review_em. However, it's in Chinese and somewhat terse, lacking an explicit verb like 'get' or 'return', though the return type is mentioned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus sibling tools such as stock_new_ipo_cninfo or stock_ipo_summary_cninfo. The description merely labels the dataset and provides a URL; it does not explain the specific use case or any exclusions. This leaves the agent to infer from the name alone, which is insufficient given many similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_new_ipo_cninfoCRead-onlyIdempotent
巨潮资讯-数据中心-新股数据-新股发行 https://webapi.cninfo.com.cn/#/xinguList :return: 新股发行 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, so safety profile is covered. The description adds non-redundant behavioral details: the source URL (indicating the origin of data) and the return type (pandas.DataFrame). However, it does not disclose limitations, filtering behavior, or any operational caveats, so it adds only modest value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the data source, but the first line repeats the annotation title, which is redundant. The URL and return type lines are useful and non-repetitive. Overall, it is under-specified but not verbose; the redundancy costs it a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is insufficiently complete for a tool with no output schema. It only states that it returns a DataFrame of '新股发行' (new stock issuance), but does not explain what columns, time ranges, or specific data points are included. It also fails to differentiate from many IPO-related sibling tools, leaving the agent uncertain about the exact content and scope of the returned data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema description coverage is 100% (trivially). The baseline for no parameters is 4, and the description need not explain any input semantics. It correctly implies the tool takes no arguments and returns a complete dataset.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name/title: '巨潮资讯-数据中心-新股数据-新股发行' is identical to the annotation title. It uses a noun phrase ('新股发行') rather than a specific verb like 'retrieve' or 'list', and provides no differentiation from similar stock IPO tools like stock_ipo_summary_cninfo or stock_new_gh_cninfo. The URL and return type add slight context but do not clarify the action performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only provides a source URL and return type, with no mention of scenarios, prerequisites, or exclusions. Unlike strong examples that explicitly name sibling tools for comparison, this description leaves the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_news_emBRead-onlyIdempotent
东方财富-个股新闻-最近 100 条新闻 https://so.eastmoney.com/news/s?keyword=603777 :param symbol: 股票代码 :type symbol: str :return: 个股新闻 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 603777 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, open-world, idempotent, and non-destructive behavior. The description adds useful context by specifying the 100-news limit, data source (Eastmoney), and pandas DataFrame return type, but omits potential error cases or rate limits. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, combining a title, a reference URL, and structured docstring lines for parameter and return type. Every line adds information without fluff, though the URL could be considered optional.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter, read-only tool, the description covers the essential aspects: what it returns, the source, and the fixed limit. The lack of an output schema is mitigated by the stated return type, though exact columns of the DataFrame are not described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter `symbol` is documented as 股票代码 (stock code), and the example URL with keyword=603777 reinforces its meaning. This adds semantic value beyond the schema's bare type and default, making the parameter's purpose clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides the latest 100 individual stock news from Eastmoney, including a sample URL and parameter documentation. It is not a tautology and distinguishes from generic news tools, though it lacks an explicit verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention exclusions or recommend other tools for different scenarios, leaving the agent to infer usage from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_news_main_cxDRead-onlyIdempotent
财新网-财新数据通 https://cxdata.caixin.com/pc/ :return: 特定时间表示的字典 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. However, the description adds no extra behavioral context such as data source reliability, update frequency, or access restrictions; it merely repeats source branding and return type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short but is under-specified rather than concise. It contains a brand name, a URL, and two cryptic docstring-like lines, none of which effectively communicate the tool's purpose or usage. Every line is present but lacks informative value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without parameters, output schema, or meaningful description, this tool is severely under-documented. The agent cannot determine what data is returned, what a 'specific time' means, or how the dictionary/DataFrame is structured, making this completely inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters (schema coverage is 100% with an empty properties object). The baseline is 4, and the description includes return type mentions (dictionary/DataFrame), which adds minimal semantic clarity even though it does not explain the structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only provides a website name and URL (财新网-财新数据通) along with return type hints, but never states what the tool actually does. There is no verb or resource indicating the function; the tool name suggests 'stock news' but the description fails to confirm or explain it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The description lacks any context about use cases, prerequisites, or exclusions, leaving the agent without direction among the many sibling data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_notice_reportCRead-onlyIdempotent
东方财富网-数据中心-公告大全-沪深京 A 股公告 https://data.eastmoney.com/notices/hsa/5.html :param symbol: 报告类型;choice of {"全部", "重大事项", "财务报告", "融资公告", "风险提示", "资产重组", "信息变更", "持股变动"} :type symbol: str :param date: 制定日期 :type date: str :return: 沪深京 A 股公告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20220511 | |
| symbol | No | 全部 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true and destructiveHint=false, so the safety/network profile is covered. The description adds the upstream URL and that the return is a pandas.DataFrame, which is useful context for a scraping-backed tool, but it says nothing about pagination, rate limits, or whether the date default is meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is front-loaded with the source title and URL, but the Sphinx :param/:type/:return/:rtype scaffolding adds boilerplate lines that repeat type information already implied by the schema. It is neither bloated nor tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does disclose the return type (pandas.DataFrame) and the data source, which is the main thing needed. But for a source-scraping, date-and-category-filtered query tool it omits date format expectations, result scope, and any alternative-tool routing, leaving real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It does enumerate the eight accepted symbol values ({"全部", "重大事项", "财务报告", ...}), which is genuinely additive since the schema declares no enum. The date parameter is only glossed as 制定日期 ("formulation date"), which is ambiguous about format and whether it is the announcement or report date, so the coverage is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as Eastmoney's A-share (沪深京) announcement listing and links the source page, so an agent can tell it fetches company notices. However, it never states a verb (fetch/list/query), reads as a scraped page title, and does not distinguish itself from siblings like stock_individual_notice_report. Purpose is inferable but not crisply stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling stock_individual_notice_report, and no note that results are a dated snapshot filtered by announcement category. The agent is left to infer usage entirely from the name and params.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_pg_emBRead-onlyIdempotent
东方财富网-数据中心-新股数据-配股 https://data.eastmoney.com/xg/pg/ :return: 配股 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type (pandas DataFrame), providing some value, but it does not disclose other behavioral traits such as data freshness, rate limits, or scope of the returned data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise and front-loaded with the source and return type. It follows a docstring-like structure (return and rtype) without unnecessary prose. It could be slightly more informative, but it is appropriately sized for a zero-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description is minimally adequate. It states the source and return type, but it does not describe the columns or the exact nature of the '配股' data, leaving some ambiguity about the returned DataFrame's contents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, and the schema covers 100% of that (none). With no parameters to describe, the baseline is 4, and the description does not need to elaborate on parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (配股/allotment data from Eastmoney) and indicates it returns a pandas DataFrame. Although it lacks an explicit verb like 'get' or 'fetch', the URL and return type imply data retrieval, and it is distinguishable from sibling tools focused on IPOs and other new-stock data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or related tools, leaving the agent without context on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_price_jsBRead-onlyIdempotent
美股目标价 or 港股目标价 https://www.ushknews.com/report.html :param symbol: choice of {"us", "hk"} :type symbol: str :return: 美股目标价 or 港股目标价 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | us |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, so the description does not need to repeat safety. It adds the data source URL and return type (pandas.DataFrame), but does not disclose output shape or scope, which is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and includes structured param/return docstrings, but repeats the same phrase '美股目标价 or 港股目标价' twice. The URL adds context but could be trimmed without loss of essential meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description only states the return is a DataFrame of US/HK target prices, but does not explain columns, row scope, or how to filter for a specific stock. The singular optional parameter (symbol=us/hk) suggests market-level results, but this is not clarified, leaving a significant gap in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description explicitly documents the parameter: ':param symbol: choice of {"us", "hk"}' and type str. This fully compensates for the lack of schema descriptions and clarifies the allowed values, which is critical for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning US or HK stock target prices (目标价), using '美股目标价 or 港股目标价' and a return type. It distinguishes from sibling spot-price tools like stock_us_spot and stock_hk_spot, but lacks an explicit action verb such as 'get' or 'list', making it slightly less direct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only specifies the parameter choices (us/hk) and return type, without exclusions, prerequisites, or references to similar tools. The URL is a source link, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_profile_cninfoBRead-onlyIdempotent
巨潮资讯-个股-公司概况 https://webapi.cninfo.com.cn/#/company :param symbol: 股票代码 :type symbol: str :return: 公司概况 :rtype: pandas.DataFrame :raise: Exception,如果服务器返回的数据无法被解析
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600030 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the specific exception behavior (raises Exception if server data cannot be parsed) and states the return type. This is useful but limited; no mention of rate limits, authentication, or response content details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured with labeled docstring sections and a URL. It front-loads the title and includes only essential technical details. The URL, while not strictly necessary, is not excessive. No redundant or vague prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema), and the description covers input, return type, and error behavior. However, it does not specify the exact content of the company profile (column names, fields), market coverage (A-shares, B-shares, etc.), or any data update frequency. Given the lack of output schema, more detail on return values would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It defines 'symbol' as '股票代码' (stock code) with type str, which is basic but meaningful. However, it lacks details like format (e.g., 6-digit code), exchange-specific examples, or any guidance beyond the raw term. The description adds some value over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '公司概况' (company profile) for an individual stock from CNINFO, with a return type of pandas.DataFrame. It does not explicitly state a verb like 'get' or 'retrieve', but the return documentation implies data fetching. It doesn't explicitly distinguish from sibling tools, though the source (CNINFO) and name provide some differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description is purely a docstring with parameter, return, and exception details. It provides no guidance on when to use this tool versus alternatives like stock_individual_info_em or stock_hk_company_profile_em. No context about market scope (A-share, H-share) or prerequisites is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_profit_forecast_emBRead-onlyIdempotent
东方财富网-数据中心-研究报告-盈利预测 https://data.eastmoney.com/report/profitforecast.jshtml :param symbol: "",默认为获取全部数据;symbol="船舶制造",则获取具体行业板块的数据; 行业板块可以通过 ak.stock_board_industry_name_em() 接口获取 :type symbol: str :return: 盈利预测 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds the useful operational fact that the default empty symbol returns the entire dataset (a potentially large fetch) and names the upstream data source, but says nothing about pagination, rate limits, or update frequency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is modest in size and the source/site name is front-loaded, but it is written as a Python docstring with :param/:type/:return/:rtype boilerplate and a raw URL, which is less agent-friendly than prose. Nothing is grossly redundant, but the Sphinx-style scaffolding is not earning much.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does state the return concept (盈利预测) and type (pandas.DataFrame), which is the minimum needed. It does not describe what columns/fields the forecast table contains or whether rows are per-stock or per-industry, leaving the agent unable to predict the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter carries no inline documentation, so the description does the heavy lifting: it defines the empty-string default as 'all data' and shows a concrete industry-board example, plus tells the agent where to obtain valid board names. That is a strong compensation for the schema gap, though it does not cover invalid-input behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the exact resource and source (东方财富网 profit-forecast data from the research-report data center) and includes the canonical URL. This lets an agent distinguish it from stock_profit_forecast_ths (same data, different provider) at a glance. The verb is only implied, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains how the symbol argument selects scope (empty = all data, a board name = that industry) and points to ak.stock_board_industry_name_em() for valid board names. However, it gives no guidance on when to prefer this tool over siblings like stock_profit_forecast_ths or stock_institute_recommend, and states no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_profit_forecast_thsARead-onlyIdempotent
同花顺-盈利预测 https://basic.10jqka.com.cn/new/600519/worth.html :param symbol: 股票代码 :type symbol: str :param indicator: choice of {"预测年报每股收益", "预测年报净利润", "业绩预测详表-机构", "业绩预测详表-详细指标预测"} :type indicator: str :return: 盈利预测 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600519 | |
| indicator | No | 预测年报每股收益 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, establishing a safe read-only operation. The description adds the source URL and return type but discloses no additional behavioral traits such as rate limits, pagination, or authentication requirements. It does not contradict annotations, but the added context is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a title, source URL, parameter/return annotations, and type hints. It is well-structured and easy to parse. The title '同花顺-盈利预测' is somewhat redundant with the tool name, and the URL is specific to the default symbol 600519, which might be distracting, but overall each section serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with two parameters, the description covers the essential inputs and return type. However, it does not explain what each indicator means or what columns the returned DataFrame contains. Since there is no output schema, this missing detail leaves the agent uncertain about the actual data structure, which could affect downstream processing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description fully documents both parameters. It specifies symbol as '股票代码' (stock code) and lists all valid choices for indicator, including exact Chinese strings like '预测年报每股收益' and '业绩预测详表-机构'. This is critical because the schema provides no enum values, making the description the only source for allowed inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing profit forecast data from 同花顺 (THS), with a source URL. The title '同花顺-盈利预测' and the return type 'pandas.DataFrame' make it evident this is a data retrieval tool. However, it lacks a strong imperative verb like 'Get' or 'Fetch', and the purpose is conveyed through the title and docstring rather than explicit action language.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention that stock_profit_forecast_em exists for East Money data, or provide any exclusion criteria. The only implied usage is via the parameter descriptions (e.g., indicator choices), but there is no context about typical scenarios or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_profit_sheet_by_quarterly_emBRead-onlyIdempotent
东方财富-股票-财务分析-利润表-按单季度 https://emweb.securities.eastmoney.com/PC_HSF10/NewFinanceAnalysis/Index?type=web&code=sh600519#lrb-0 :param symbol: 股票代码;带市场标识 :type symbol: str :return: 利润表-按单季度 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SH600519 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety and reproducibility profile is covered without description help. The description adds the upstream source (an emweb URL) and the return type (pandas.DataFrame), which is modest but genuine value beyond the annotations; it says nothing about rate limits, pagination, or data latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is compact and front-loaded with the data-set identifier, followed by a source link and standard Sphinx param/return lines. Nothing is padded, though the bare URL is of limited utility to an agent and the docstring boilerplate (:type, :rtype) is redundant next to the structured schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only fetch, the safety profile (annotations), parameter format hint, and return type together cover most of what is needed to call it. The notable gap is the absence of any statement distinguishing this quarterly variant from the report/years/delisted siblings in the same family, which is the main ambiguity an agent faces here; no output schema exists so the description needn't detail columns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema documents only a string named symbol with default SH600519 and no explanation. The description partially compensates by stating 股票代码;带市场标识, i.e. that the code must carry a market prefix, which is meaningful format guidance an agent could not get from the schema alone; it stops short of giving a format example or listing valid market prefixes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource and source: 东方财富 (Eastmoney) income statement (利润表) by single quarter (按单季度), which tells an agent exactly what data set is returned. However, it offers no differentiation from close siblings such as stock_profit_sheet_by_report_em or stock_profit_sheet_by_yearly_em, whose names differ only in the period basis, leaving the agent to infer the distinction from names alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of when this tool should be preferred over the by_report or by_yearly income-statement siblings, and no mention of prerequisites or exclusions. The description only names the data set, so selection must be inferred entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_profit_sheet_by_report_delisted_emARead-onlyIdempotent
东方财富-股票-财务分析-利润表-已退市股票-按报告期 https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html?type=web&code=SZ000013#/cwfx/lrb :param symbol: 已退市股票代码;带市场标识 :type symbol: str :return: 利润表-按报告期 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SZ000013 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, open-world, idempotent, and non-destructive behavior. The description adds useful return information (pandas.DataFrame containing the income statement by reporting period) and notes that the symbol needs a market identifier, but it does not discuss auth, rate limits, or empty results for delisted stocks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the dataset identity, followed by the source URL, parameter meaning, and return type. It is compact and docstring-like, with little wasted text, though the embedded URL is extra and the formatting is not optimized for agent reading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter retrieval task, rich safety annotations, and no output schema, the description provides enough context to call the tool correctly: data scope, required market-prefixed symbol, and the return type. It stops short of explaining returned columns or pagination behavior, but those gaps are minor here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It explains that symbol is a delisted stock code and must include a market identifier, which is more than the schema provides beyond its default value SZ000013.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the data resource: Eastmoney income statement, financial analysis, delisted stocks, by reporting period. This scope distinguishes it from siblings such as the non-delisted profit sheet and the quarterly/yearly variants, though it states no explicit verb or routing instruction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the scope '已退市股票' and '按报告期', which indicates when this tool is appropriate versus non-delisted or period-specific siblings. However, it does not explicitly say when to use this tool, when not to use it, or name the alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_profit_sheet_by_report_emBRead-onlyIdempotent
东方财富-股票-财务分析-利润表-报告期 https://emweb.securities.eastmoney.com/PC_HSF10/NewFinanceAnalysis/Index?type=web&code=sh600519#lrb-0 :param symbol: 股票代码;带市场标识 :type symbol: str :return: 利润表-报告期 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SH600519 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the data source (East Money) and confirms the return type is a pandas DataFrame, but says nothing about network/rate-limit behavior or the shape/content of the returned statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact docstring layout with the identifier/resource line front-loaded, then param semantics, then return (利润表-报告期) and rtype (pandas.DataFrame). The return line largely repeats the opening line, and the embedded URL is only marginally useful, but there is no bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter lookup with no output schema, the description covers the required input semantics and the return container type. It does not describe the columns/fields returned, which columns correspond to which reporting periods, or how many periods come back – gaps that matter for a financial statement tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% – the symbol property has only a default (SH600519) and no description. The description compensates by explaining that symbol is a stock code that must carry a market prefix (带市场标识), which is exactly the non-obvious detail an agent needs, though it gives no format examples or market-prefix enumeration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the source (东方财富), the resource (利润表/income statement), and the scoping dimension (报告期/report period), so an agent knows this returns East Money income-statement data keyed by reporting period. It does not, however, distinguish itself from siblings such as stock_profit_sheet_by_quarterly_em, stock_profit_sheet_by_yearly_em, or stock_profit_sheet_by_report_delisted_em, leaving the agent to infer the granularity difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is provided. The description never mentions the quarterly/yearly/delisted variants of the same data, nor when the report-period view is preferable, so the agent gets no routing information among near-identical siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_profit_sheet_by_yearly_emBRead-onlyIdempotent
东方财富-股票-财务分析-利润表-按年度 https://emweb.securities.eastmoney.com/PC_HSF10/NewFinanceAnalysis/Index?type=web&code=sh600519#lrb-0 :param symbol: 股票代码;带市场标识 :type symbol: str :return: 利润表-按年度 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SH600519 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds that data comes from a remote Eastmoney endpoint (open-world, network-dependent) and that the symbol must carry a market prefix, which is modestly useful additional context, but it says nothing about rate limits, data freshness, or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded: the resource and scope come first, followed by the source URL and the standard param/return doc lines. The URL is somewhat extraneous but plausibly useful for provenance; nothing is bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema tool, the description covers the essential contract (what is fetched, what the input is, that a DataFrame is returned). What is missing is the disambiguation from the quarterly/report income-statement siblings, which matters a lot given the crowded namespace around it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It partially does: '股票代码;带市场标识' clarifies that the symbol is a stock code including a market identifier, which is more than the bare string in the schema (though the default 'SH600519' already hints at the format). It does not document accepted market prefixes or exchange suffixes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source (东方财富), the resource (利润表/income statement), the sub-resource scope (财务分析), and the granularity (按年度), so an agent knows exactly what data comes back. It does not, however, explicitly distinguish itself from close siblings like stock_profit_sheet_by_quarterly_em or stock_profit_sheet_by_report_em, leaving the 'yearly' distinction to be inferred from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of the quarterly/report alternatives that a caller must choose between. The choice of this tool over its three near-identical siblings is left entirely to the agent's inference from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_qbzf_emBRead-onlyIdempotent
东方财富网-数据中心-新股数据-增发-全部增发 https://data.eastmoney.com/other/gkzf.html :return: 全部增发 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is clear. The description adds the source URL and return type, which is useful context, but does not disclose behavioral traits such as network dependency, data update frequency, or potential columns. This is acceptable given the low bar set by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and to the point, containing only the data source, URL, and return type. It is concise, but the format is a raw docstring fragment rather than structured prose, which slightly reduces clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters and no output schema. The description provides the key facts: what data is returned, the source URL, and the return type. However, it omits details like the DataFrame columns, time range, or update frequency, which would help an agent understand the data fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing to document. According to the rubric, 0 parameters gives a baseline of 4, and the schema coverage is trivially 100%. No additional semantic explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the data source and content: '东方财富网-数据中心-新股数据-增发-全部增发' (Eastmoney Data Center - New Stock Data - Additional Issuance - All Additional Issuance) and specifies the return type as pandas.DataFrame. It is a specific resource, though it lacks an explicit verb like 'get' or 'list' and does not differentiate from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool vs alternatives. It does not mention exclusions, prerequisites, or alternative tools, leaving the agent to infer usage solely from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_qsjy_emARead-onlyIdempotent
东方财富网-数据中心-特色数据-券商业绩月报 http://data.eastmoney.com/other/qsjy.html :param date: 数据月份,从 2010-06-01 开始,e.g.,需要 2011 年 7 月,则输入 2011-07-01 :type date: str :return: 券商业绩月报 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20200731 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior, so the description earns credit for adding the return type (pandas.DataFrame), source URL, and the data start date (2010-06-01). It does not describe pagination or update frequency, but the added behavioral context is useful beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the dataset identity, source, parameter guidance, and return type. The URL and docstring-style fields are structured and not wasteful, though slightly boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only data retrieval tool with no output schema, the description covers the data source, parameter format, and return type adequately. It could mention output columns, but that is not required without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single date parameter is undocumented in the schema, but the description fully compensates by giving the format, the start date (2010-06-01), and a concrete example showing 2011-07-01 for July 2011. This is exactly what an agent needs to construct the call correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific dataset: 东方财富网券商业绩月报, with a source URL, making the resource clear and distinguishable from macro or stock-list siblings. It lacks an explicit retrieval verb, but the data purpose is evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use guidance, no when-not-to-use conditions, and does not name alternatives among the many sibling data tools. Only the date range is mentioned, which is parameter help rather than usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_rank_cxd_thsBRead-onlyIdempotent
同花顺-数据中心-技术选股-创新低 https://data.10jqka.com.cn/rank/cxd/ :param symbol: choice of {"创月新低", "半年新低", "一年新低", "历史新低"} :type symbol: str :return: 创新低数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 创月新低 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. However, the description adds no behavioral context beyond stating it returns a pandas DataFrame; there is no mention of data freshness, pagination, rate limits, or any caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and structured, with a clear title, source URL, parameter documentation, and return type. It avoids unnecessary verbosity, though it could be more informative without becoming bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool, the description covers the key filter options, but the return description '创新低数据' is vague and does not specify what columns or data elements are included. With no output schema, this leaves some ambiguity about the result structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a string type with a default value and no descriptions (0% coverage). The description compensates by listing the valid choices for the 'symbol' parameter: 创月新低, 半年新低, 一年新低, 历史新低, which is essential for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as THS data center technical stock selection for new lows, with a specific URL. The title '创新低' (new lows) distinguishes it from sibling rank tools like stock_rank_cxg_ths (创新高). The purpose is evident, though it lacks an explicit verb like 'list' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative ranking tools or other data sources. The description only includes parameter documentation and a URL, with no mention of use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_rank_cxfl_thsBRead-onlyIdempotent
同花顺-数据中心-技术选股-持续放量 https://data.10jqka.com.cn/rank/cxfl/ :return: 持续放量 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the source URL and return type, but does not disclose any additional behaviors like data frequency, granularity, or pagination. With annotations carrying the main burden, this is acceptable but not enriching.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and structured with a title, URL, and return annotations, making it compact. However, it repeats '持续放量' multiple times (in the title and return statement), causing slight redundancy. It could be more informative without added length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should at least sketch what the returned DataFrame contains (e.g., stock codes, names, volume statistics). It only says '持续放量', which is vague and leaves the agent uncertain about the exact output structure or what criteria define the ranking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers the input. The description repeats the return type but adds no parameter semantics, which is appropriate for a parameterless tool. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as THS Data Center technical stock selection for '持续放量' (continuous volume increase), which clarifies the cryptic 'cxfl' in the tool name. However, it lacks an explicit verb like 'fetch' or 'list' and does not detail what qualifies as continuous volume, so it is more of a label than a full purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus its many sibling tools such as stock_rank_cxd_ths or stock_rank_cxg_ths. The description simply states the ranking name without any context for selection or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_rank_cxg_thsARead-onlyIdempotent
同花顺-数据中心-技术选股-创新高 https://data.10jqka.com.cn/rank/cxg/ :param symbol: choice of {"创月新高", "半年新高", "一年新高", "历史新高"} :type symbol: str :return: 创新高数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 创月新高 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type, but no further behavioral details like pagination or column specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with title, URL, parameter documentation, and return type. Each line serves a purpose, and it is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter tool with no output schema, the description covers the data source, parameter choices, and return type. However, it does not detail the DataFrame's columns or content, which would be helpful since there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% with only a default value; the description compensates by listing the four valid choices for symbol (创月新高, 半年新高, 一年新高, 历史新高). This adds meaningful guidance beyond the schema's type string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves stock screening data for '创新高' (new highs) from 同花顺 (THS) data center, with a provided URL. It distinguishes itself from sibling rank tools by specifying this specific category.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for screening stocks hitting new highs, and the parameter choices define time periods, but it does not explicitly state when to use this versus alternative ranking tools or mention exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_rank_cxsl_thsBRead-onlyIdempotent
同花顺-数据中心-技术选股-持续缩量 https://data.10jqka.com.cn/rank/cxsl/ :return: 持续缩量 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds that the return is a pandas DataFrame and gives the source URL, which is useful context but does not disclose additional behavioral traits such as network dependency, data freshness, or output contents. This meets the baseline expected when annotations are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief, consisting of a title, a URL, and return type lines. It avoids unnecessary words and is easy to scan. However, the 'return: 持续缩量' line is somewhat redundant with the title, and a more structured sentence could improve clarity without adding bulk.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema), the description provides the essential purpose and source, but it does not describe the DataFrame structure, columns, or the exact ranking criteria beyond the phrase '持续缩量'. Without an output schema, the description is expected to elaborate on return values; it only gives a terse label. This is adequate but leaves some gap for an agent seeking full understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema reflects this with 100% coverage. The description does not need to explain parameters since there are none, and the baseline for no-parameter tools is 4. The description does not add any misleading parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source (同花顺-数据中心), the category (技术选股), and the specific indicator (持续缩量), along with a URL. It clearly indicates this tool provides a ranking list of stocks with continuous volume contraction, distinguishing it from sibling tools by suffix. However, it lacks an explicit verb like 'get' or 'fetch', relying on the tool name and context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives. Sibling tools cover other technical indicators (e.g., stock_rank_cxd_ths for a different strategy), but no differentiation or selection criteria are stated. Usage must be inferred solely from the tool name and the small descriptive phrase.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_rank_forecast_cninfoBRead-onlyIdempotent
巨潮资讯-数据中心-评级预测-投资评级 https://webapi.cninfo.com.cn/#/thematicStatistics?name=%E6%8A%95%E8%B5%84%E8%AF%84%E7%BA%A7 :param date: 查询日期 :type date: str :return: 投资评级 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20230817 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds the return type (pandas.DataFrame) and source URL, but does not disclose any additional behavioral traits such as data scope, pagination, or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and uses a docstring structure with title, URL, parameter, and return sections. It includes the title redundantly and a long URL, but overall remains compact and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool, the description covers the basics: what it returns and the parameter meaning. However, it lacks detail on the contents of the returned DataFrame (e.g., columns, scope), and provides no comparison with similar rating tools, leaving some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description defines 'date' as the query date (查询日期) and specifies its type as str, adding meaning beyond the bare schema. It does not explicitly state the date format, but the schema default '20230817' implies YYYYMMDD.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as investment ratings (投资评级) from CNInfo, and the return type is specified as a pandas DataFrame. However, it lacks an explicit action verb like 'fetch' or 'retrieve', and does not distinguish itself from other rating-related tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only includes parameter documentation and a source URL, with no context about use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_rank_ljqd_thsARead-onlyIdempotent
同花顺-数据中心-技术选股-量价齐跌 http://data.10jqka.com.cn/rank/ljqd/ :return: 量价齐跌 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that the return type is pandas.DataFrame and provides the source URL, which is useful but does not disclose behavior such as data completeness, freshness, or any peculiarities of the ranking list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, containing only the titled source, URL, return label, and return type. Every element contributes, with no redundancy or filler. The docstring format is well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, clear annotations, and a specific data type), the description adequately states what it returns and where the data comes from. It lacks column details, but for a basic ranking list with a recognizable Chinese stock-market indicator, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty with 100% coverage. Per guidelines, the baseline for 0 params is 4, and no parameter descriptions are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing data on '量价齐跌' (volume and price both falling) from 同花顺's data center technical stock selection, which distinguishes it from sibling rank tools. It includes a URL for the source and states the return type, making the purpose understandable, though it lacks an explicit action verb like 'fetch' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling stock_rank_*_ths tools. It only states what it returns without mentioning any context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_rank_ljqs_thsBRead-onlyIdempotent
同花顺-数据中心-技术选股-量价齐升 http://data.10jqka.com.cn/rank/ljqs/ :return: 量价齐升 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive. The description adds only the return type (pandas.DataFrame) and URL, but no behavioral context like pagination limits, data freshness, or potential network failures. With annotations covering safety, still minimal added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: three lines including title, URL, and return type. No filler, well-structured docstring format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-param data fetch, the description gives source and return type, but lacks details about DataFrame columns, data update frequency, and exact contents beyond '量价齐升'. Without an output schema, this leaves the agent guessing about the data structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has zero parameters, so description need not explain params. It implicitly indicates no inputs are required, which is consistent. Baseline of 4 for no-param tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the source (THS Data Center) and specific screening criterion (量价齐升, volume-price increase), with a URL and return type. It distinguishes from sibling rank tools by specifying this is the ljqs (量价齐升) ranking, though it lacks an explicit verb like 'fetch' or 'return'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs other stock_rank_* tools. Sibling tools like stock_rank_cxg_ths or stock_rank_xstp_ths exist, but the description doesn't differentiate use cases. No exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_rank_lxsz_thsBRead-onlyIdempotent
同花顺-数据中心-技术选股-连续上涨 https://data.10jqka.com.cn/rank/lxsz/ :return: 连续上涨 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds the source URL and a return type of pandas.DataFrame, but does not disclose any additional behavioral traits such as data freshness, row limits, or the exact meaning of '连续上涨' (e.g., number of days). This is slightly above minimal but still lacks meaningful behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, front-loaded with the title, and includes only a URL and return type docstring. It wastes no words and is appropriate for a zero-parameter data retrieval tool. However, the URL line could be considered slightly arbitrary and the overall structure is minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain return values. It only says '连续上涨' (consecutive gains) without specifying the columns (e.g., code, name, days of rise), sorting, or data scope. The lack of detail about the DataFrame structure makes it incomplete for an agent to predict what data will be returned. Annotations provide safety context but not output semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema correctly reflects this with an empty properties object. Since there are no parameters to explain, the baseline of 4 applies. The description adds no parameter information but is not required to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description explicitly identify the tool as the THS Data Center page for '连续上涨' (consecutive gains), along with a direct URL. This clearly indicates it fetches a ranking of stocks with consecutive rises, distinguishing it from sibling rank tools by the specific lxsz (连涨) indicator. However, it does not explicitly state the action verb like 'list' or 'get', and relies heavily on the name/title to convey the resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description provides no context on use cases, prerequisites, or comparison with siblings such as stock_rank_cxd_ths or stock_rank_lxxd_ths. It simply states the data source and return type without explaining scenarios where this ranking is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_rank_lxxd_thsBRead-onlyIdempotent
同花顺-数据中心-技术选股-连续下跌 https://data.10jqka.com.cn/rank/lxxd/ :return: 连续下跌 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds the return type (pandas DataFrame) and source URL, but does not disclose additional behavioral aspects like data freshness, network dependencies, or output structure beyond the type. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a title-like Chinese label, a URL, and a short return type specification. Each piece of information serves a purpose, and the description is front-loaded with the key identifier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters and no output schema, but the description only states the return type and a vague content description ('连续下跌' - consecutive decline). It does not specify what columns or data the DataFrame contains, nor any caveats about the data. This is adequate for a basic tool but leaves gaps about the returned data structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, as confirmed by the empty input schema. The description adds nothing about parameters because none exist; the baseline of 4 is appropriate given the vacuous schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly labels the tool as a ranking from 同花顺's data center for consecutively declining stocks, with a source URL and return type. It distinguishes itself from sibling rank tools via the specific label '连续下跌' (consecutive decline), though it lacks an explicit verb like 'fetches' or 'retrieves'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool vs alternatives. It is merely a label with a URL and return type; usage is only implied by the name and title, with no mention of exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_rank_xstp_thsARead-onlyIdempotent
同花顺-数据中心-技术选股-向上突破 https://data.10jqka.com.cn/rank/xstp/ :param symbol: choice of {"5日均线", "10日均线", "20日均线", "30日均线", "60日均线", "90日均线", "250日均线", "500日均线"} :type symbol: str :return: 向上突破 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 500日均线 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the data source URL and return type (pandas.DataFrame), but does not disclose pagination, rate limits, or other behavioral aspects. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the Chinese title, followed by the URL and docstring-style param/return lines. It contains some redundancy (the return line repeats '向上突破') and the format is a bit unstructured, but overall it is efficient and every part contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read-only tool, the description covers the source, parameter choices, and return type. However, it does not describe the structure or columns of the returned DataFrame, which is relevant since no output schema is provided. It is minimally sufficient but lacks details that would help an agent know what to do with the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the parameter has no enum, so the description's explicit list of eight moving-average options (from '5日均线' to '500日均线') is essential. It also specifies the type as str. This fully compensates for the schema's lack of detail and is critical for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as THS Data Center technical stock selection for upward breakout (向上突破), with a source URL. This distinguishes it from sibling rank tools like stock_rank_cxd_ths or stock_rank_ljqd_ths. However, it doesn't explicitly state the action (e.g., 'retrieves a list of stocks'), relying on the title concept to convey the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs other stock_rank_*_ths tools. The description only provides parameter options and a source URL, with no mention of alternatives, prerequisites, or specific use cases. The intended context is implied by the title but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_rank_xxtp_thsBRead-onlyIdempotent
同花顺-数据中心-技术选股-向下突破 https://data.10jqka.com.cn/rank/xxtp/ :param symbol: choice of {"5日均线", "10日均线", "20日均线", "30日均线", "60日均线", "90日均线", "250日均线", "500日均线"} :type symbol: str :return: 向下突破 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 500日均线 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the tool returns a pandas DataFrame of downward-breakout stocks and enumerates the supported moving-average periods. It does not disclose data recency, market scope, or pagination, but the read-only nature is clear from annotations. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description uses a docstring format with a first line identical to the annotation title, which is redundant. The URL, parameter, and return type lines are useful, but there is no crisp imperative sentence describing the tool's function. It is compact but not optimally structured for an agent to quickly parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter, no output schema, and safety annotations, the description should at least outline what the returned DataFrame contains (e.g., stock codes, names, breakout dates). It only states 'return: 向下突破' and 'rtype: pandas.DataFrame', leaving the output structure and data scope unexplained. This is a significant gap for an agent deciding if the tool meets its needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines symbol as a string with a default, providing no enum or explanation (0% coverage). The description compensates by listing all allowed values ('5日均线' through '500日均线') and indicating they represent moving average periods. This is actually more informative than a typical enum, as the values are self-descriptive. It lacks a definition of what 'symbol' means in context, but the choices are sufficiently clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description's first line '同花顺-数据中心-技术选股-向下突破' clearly identifies the resource and action: a THS data center technical stock selection tool for downward breakouts. The URL and parameter list reinforce this, and the term '向下突破' distinguishes it from sibling rank tools focused on other metrics (e.g., 向上突破). It stops short of a full sentence stating 'returns stocks that broke below the given moving average,' so it's clear but not maximally explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like stock_rank_xstp_ths (likely upward breakout) or other stock_rank_* tools. It only lists the source and parameters, leaving the selection criteria to the agent's interpretation. No exclusions or recommended contexts are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_rank_xzjp_thsBRead-onlyIdempotent
同花顺-数据中心-技术选股-险资举牌 https://data.10jqka.com.cn/financial/xzjp/ :return: 险资举牌 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds the source URL and return type, but no additional behavioral details such as rate limits or data freshness. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (three lines) and front-loaded with the title, but the first line simply repeats the tool's Chinese title, which is redundant with the 'title' annotation. Still, it's concise with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only data retrieval tool with no output schema, the description provides the source URL and the general output type. However, it does not explain what '险资举牌' data contains (e.g., columns, stock codes, time coverage), leaving some ambiguity for an agent deciding if this tool is relevant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description correctly does not attempt to document parameters; no param-related guidance is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source (同花顺-数据中心-技术选股-险资举牌) and return type (pandas.DataFrame), but lacks an explicit verb like 'get' or 'list'. It mostly restates the tool's name/title, making it somewhat tautological. It doesn't distinguish itself from sibling stock_rank_*_ths tools beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus other stock_rank_*_ths tools or alternatives. No when-to-use or when-not-to-use information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_register_all_emCRead-onlyIdempotent
东方财富网-数据中心-新股数据-IPO审核信息-全部 https://data.eastmoney.com/xg/ipo/ :return: 科创板注册制审核结果 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to cover safety. It adds useful context by specifying the return type (pandas.DataFrame) and source URL, but it does not disclose any behavioral nuances such as data coverage, pagination, or the evident scope inconsistency between 'all' and 'STAR Market'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and not verbose, but its structure is a raw dump of a title, URL, and Sphinx-style return directives. The first line merely restates the tool name/title, which wastes space; the rest is functional but poorly organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and the presence of numerous sibling register-related tools, the description is incomplete. It does not clarify what 'all' means in contrast to stock_register_kcb, stock_register_cyb, etc., nor does it explain the exact contents of the returned DataFrame beyond 'audit results'. The internal scope mismatch further undermines completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty, so there is nothing for the description to explain. The baseline score of 4 applies because no parameter documentation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool's name in Chinese ('东方财富网-数据中心-新股数据-IPO审核信息-全部') followed by a URL and return type. It lacks a clear verb like 'get' or 'return', and it inconsistently states '全部' (all) in the title but says the return is only '科创板注册制审核结果' (STAR Market audit results), creating ambiguity about whether this covers all boards or just the STAR Market.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many related sibling tools such as stock_register_kcb, stock_register_sh, stock_register_sz, etc. The description does not explain the distinction between 'all' and the individual market-specific register tools, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_register_bjARead-onlyIdempotent
东方财富网-数据中心-新股数据-IPO审核信息-北交所 https://data.eastmoney.com/xg/ipo/ :return: 北交所 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL (https://data.eastmoney.com/xg/ipo/) and the return type (pandas.DataFrame), which is useful context beyond annotations. However, it does not disclose any additional behavioral traits such as data freshness, network requirements, or potential errors, which is acceptable for a simple data-fetch tool 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of four lines with no filler words. It front-loads the source and topic, followed by URL and return type. The only minor issue is the ':return: 北交所' line, which is vague and could be misinterpreted, but overall it is well-structured and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no parameters and no output schema, so the description must carry the burden of explaining what is returned. It states the return type (pandas.DataFrame) and the topic (IPO review info), but the return value line '北交所' is unhelpful and does not enumerate columns or content details. Given the simplicity of a zero-param fetch, the description is adequate but leaves gaps about the actual data structure, which warrants a 3 rather than a 4.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers all parameters (trivially). Per the rubric, 0 params gets a baseline of 4. The description adds nothing about parameters, but none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as '东方财富网-数据中心-新股数据-IPO审核信息-北交所' (Eastmoney Data Center - IPO Review Info - Beijing Stock Exchange), which clearly specifies the data source and target market. The tool name 'stock_register_bj' further reinforces the Beijing exchange focus, distinguishing it from sibling register tools. However, it lacks an explicit verb like 'get' or 'list', relying on the implied DataFrame return type to convey retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies usage for Beijing Stock Exchange IPO review data via the '北交所' label, and the sibling tools (stock_register_cyb, stock_register_kcb, etc.) suggest other markets. This provides clear context about when to use this tool, but it does not explicitly state alternatives or exclusions, which would earn a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_register_cybARead-onlyIdempotent
东方财富网-数据中心-新股数据-IPO审核信息-创业板 https://data.eastmoney.com/xg/ipo/ :return: 创业板注册制审核结果 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that the tool returns a pandas DataFrame with the review results and includes the source URL, but it does not disclose other behavioral traits like pagination, data freshness, or rate limits. It adds some value but is not especially rich in behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact string that front-loads the data source, includes the direct URL, and specifies both the return value and type (:return: and :rtype:). Every element earns its place, with no redundant or filler text. It is as concise as possible while conveying the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description is largely complete: it names the source, gives the URL, and states the return type and content. It does not list DataFrame columns or mention potential caveats like data delay, but these are not critical for a basic read-only retrieval tool. The provided information is sufficient for an agent to invoke and understand the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema is trivially complete. The description provides no parameter details because none are needed. Per the rubric, a zero-parameter tool gets a baseline of 4, and the description does not need to compensate for any missing schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing IPO review information for the ChiNext (创业板) registration system from Eastmoney's data center, with a specific source URL and return type. It distinguishes itself from sibling register tools like stock_register_kcb or stock_register_sz by specifying 创业板 (ChiNext) and 注册制审核结果 (registration review results). The verb is implicit but the function name 'stock_register_cyb' reinforces retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating the data source and what it returns, but it does not explicitly mention when to use this tool over alternatives or provide exclusion criteria. The URL suggests a direct data retrieval use case, but there is no comparative guidance against sibling tools like stock_register_all_em or stock_register_kcb. It provides clear context but lacks explicit when-not or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_register_dbBRead-onlyIdempotent
东方财富网-数据中心-新股数据-IPO审核信息-达标企业 https://data.eastmoney.com/xg/cyb/ :return: 达标企业 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and a URL, but does not disclose any other behaviors such as data freshness, pagination, or error handling. Given the simple read-only nature, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief and to the point: it gives the data source, a URL, the semantic meaning, and the return type in three lines. There is no redundant text, though the lack of a fuller description is a slight drawback.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only tool, this is minimally complete: it states the origin, the content (qualified enterprises from IPO review), and the DataFrame return. However, it does not describe the DataFrame columns or any specifics about the data, and the absence of an output schema leaves the agent guessing about the exact structure. The simplicity of the tool makes this acceptable but not excellent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and schema description coverage is 100%, so there are no parameter semantics to explain. The baseline for a no-parameter tool is 4, and the description does not need to compensate for missing parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source and content ('IPO审核信息-达标企业') and states the return type, but it lacks an explicit action verb (e.g., 'fetch' or 'list') and does not distinguish this tool from sibling tools like stock_register_cyb or stock_register_all_em that likely serve similar purposes. It is more a title than a functional description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention any exclusions, prerequisites, or scenarios where another tool should be used. It simply states the data source and return type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_register_kcbBRead-onlyIdempotent
东方财富网-数据中心-新股数据-IPO审核信息-科创板 https://data.eastmoney.com/xg/ipo/ :return: 科创板注册制审核结果 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds that the tool returns a DataFrame, but does not disclose any further behavioral details such as data freshness, column schema, or errors. Thus it adds modest value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief: a Chinese title, a URL, and a return annotation. While compact, it reads as unpolished fragments rather than a structured description. It earns a 4 for appropriate brevity given the zero-parameter interface.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read-only tool with robust annotations, the description provides the essential return type and source URL. However, it lacks any guidance on expected columns, use cases, or relationship to other stock register tools, so it is merely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty input schema, so there is nothing for the description to meaningfully elaborate. The description's mention of return type and data source is irrelevant to parameters. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this tool returns 科创板注册制审核结果 (STAR Market registration review results) as a pandas DataFrame, distinguishing it from sibling stock_register_* tools via the explicit 科创板 (STAR Market) qualifier. However, it lacks a direct verb like 'get' or 'retrieve,' making the action implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as stock_register_cyb or stock_register_all_em. It only gives a data source URL and return type, with no mention of exclusions or preferred use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_register_shCRead-onlyIdempotent
东方财富网-数据中心-新股数据-IPO审核信息-上海主板 https://data.eastmoney.com/xg/ipo/ :return: 上海主板 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive, so the bar is lower. The description adds only a source URL and return type (pandas.DataFrame), but no additional behavioral traits such as pagination, data freshness, or default selection of columns. This is minimal extra context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the title and URL, then the return type. It avoids verbosity, though it is more of a docstring fragment than a structured explanation. The brevity is appropriate for a simple zero-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description identifies the data source, scope (Shanghai Main Board), and return type, but does not explain what fields the DataFrame contains, how the data is structured, or what 'IPO审核信息' includes. With no output schema, this leaves the agent without critical information about the returned data's content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is empty and there is nothing to describe. Per the baseline for zero-parameter tools, the description is sufficient even though it adds no parameter-specific semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly identify the resource as IPO review information for the Shanghai Main Board from Eastmoney, and the return type is stated. However, there is no explicit verb like 'get' or 'query', relying on the noun phrase, so it is clear but not fully action-oriented.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 sibling tools such as stock_register_sz, stock_register_cyb, or stock_register_all_em. There are no context indicators, alternatives, or exclusions, leaving the agent to guess based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_register_szARead-onlyIdempotent
东方财富网-数据中心-新股数据-IPO审核信息-深圳主板 https://data.eastmoney.com/xg/ipo/ :return: 深圳主板 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds the source URL and return type (pandas.DataFrame) but does not disclose additional behavioral traits such as data freshness, pagination, or network requirements beyond what openWorldHint implies. This adds some context but not rich detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and includes the essential information: source, category, board, URL, and return type. It is structured with line breaks. However, it repeats '深圳主板' twice (in the title and the return line), which is slightly redundant, but overall it is concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter tool with rich annotations, the description provides core information about the data source and return type. However, since there is no output schema, it would be helpful to describe the DataFrame's columns or structure, which is absent. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty input schema, so there is no parameter ambiguity. The description does not need to explain parameter meanings; the baseline score of 4 applies for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the data source (East Money Data Center), the category (New Stock Data - IPO Review Information), and the specific market segment (Shenzhen Main Board). The ':return:' line confirms the tool returns data, and the URL provides the exact source. This differentiates it from sibling tools like stock_register_sh or stock_register_kcb, which target different boards.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that this tool retrieves IPO review information for the Shenzhen Main Board, which is sufficient to guide an agent when to use it (when such data is needed). However, it does not explicitly mention alternatives or state when not to use it, so it falls short of full guidance but is still clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_report_disclosureBRead-onlyIdempotent
巨潮资讯-首页-数据-预约披露 http://www.cninfo.com.cn/new/commonUrl?url=data/yypl :param market: choice of {"沪深京": "szsh", "深市": "sz", "深主板": "szmb", "中小板": "szsme", "创业板": "szcn", "沪市": "sh", "沪主板": "shmb", "科创板": "shkcp"} :type market: str :param period: 最近四期的财报 :type period: str :return: 指定 market 和 period 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | 沪深京 | |
| period | No | 2021年报 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is clear. The description adds a return type (pandas.DataFrame) and the source URL, but does not disclose additional behavioral traits such as data freshness, pagination, or potential errors. It does not contradict the annotations, hence a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise docstring with URL, parameters, and return type. It is efficient with no redundant text, though the layout is more technical than natural language, keeping it from a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two optional parameters and no output schema, the description is mostly adequate. It explains the source, parameters, and return type, but does not describe the output columns or data granularity, leaving some ambiguity about the exact contents of the returned DataFrame.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 fully describes the market parameter with a mapping of Chinese labels to codes, but the period parameter is vague ('最近四期的财报') with no explicit valid values, and it conflicts slightly with the schema default '2021年报.' Thus it adds meaningful but incomplete parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (CNInfo scheduled disclosure data) and the function (returns data for specified market and period), as evidenced by the URL and parameter/return documentation. However, it lacks an explicit action verb like 'retrieve' or 'list,' and does not explicitly differentiate from sibling tools beyond the resource URL, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only lists parameters and return type, with no mention of eligible use cases, exclusions, or related tools. This is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_report_fund_holdBRead-onlyIdempotent
东方财富网-数据中心-主力数据-基金持仓 http://data.eastmoney.com/zlsj/2020-12-31-1-2.html :param symbol: choice of {"基金持仓", "QFII持仓", "社保持仓", "券商持仓", "保险持仓", "信托持仓"} :type symbol: str :param date: 财报发布日期,xxxx-03-31, xxxx-06-30, xxxx-09-30, xxxx-12-31 :type date: str :return: 基金持仓数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20210331 | |
| symbol | No | 基金持仓 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered by structured data. The description adds the return type ('pandas.DataFrame') which is useful given there is no output schema, but says nothing about returned columns, pagination, or source caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Content is compact and front-loaded with the source name, but the raw URL and Sphinx-style :param:/:type:/:rtype: boilerplate are noise for an agent and could be trimmed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only data tool with no output schema, coverage is adequate: both params and the return type are documented. It stops short of describing the returned data shape or any source reliability caveats, which an agent would find useful for a scraped Eastmoney endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description does the heavy lifting: it enumerates the accepted symbol values (基金持仓, QFII持仓, 社保持仓, 券商持仓, 保险持仓, 信托持仓) and explains the date field as a report publication date with quarter-end examples. Minor flaw: the stated date format 'xxxx-03-31' contradicts the dashless default '20210331', which could mislead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source and resource concretely: '东方财富网-数据中心-主力数据-基金持仓', so an agent understands it retrieves fund-holding (main-capital) data from Eastmoney. It is clear but does not distinguish itself from the closely named sibling stock_report_fund_hold_detail, leaving the boundary implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, no prerequisites, and no indication of when the symbol categories apply. The reader must infer usage purely from the parameter list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_report_fund_hold_detailBRead-onlyIdempotent
东方财富网-数据中心-主力数据-基金持仓-明细 http://data.eastmoney.com/zlsj/ccjj/2020-12-31-008286.html :param symbol: 基金代码 :type symbol: str :param date: 财报发布日期,xxxx-03-31, xxxx-06-30, xxxx-09-30, xxxx-12-31 :type date: str :return: 基金持仓-明细数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20220331 | |
| symbol | No | 008286 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds the data source (Eastmoney data center) and an example URL, but nothing about latency, data freshness, or return contents beyond 'pandas.DataFrame'. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a raw Sphinx docstring dump (the :param/:type/:return/:rtype scaffolding) rather than agent-optimized prose. The core signal is front-loaded, but the type-annotation boilerplate adds length without adding meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter read-only tool with annotations covering the safety profile, it is adequate: both params are explained and the return type is stated. However, the date-format mismatch with the default and the absence of any note on returned columns or coverage leave minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden, and it does: symbol is defined as fund code and date as the report publish date with quarter-end format examples. Minor inconsistency: the stated dashed format (xxxx-03-31) conflicts with the schema default '20220331', which could confuse an agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource: Eastmoney fund holding detail (基金持仓-明细). The verb is implicit ('get') but the data source path and URL make the target unambiguous. It does not explicitly distinguish itself from the closely named sibling stock_report_fund_hold, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as stock_report_fund_hold, fund_portfolio_hold_em, or fund_hold_structure_em. The description is purely a parameter/data-source listing with no contextual routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_repurchase_emBRead-onlyIdempotent
东方财富网-数据中心-股票回购-股票回购数据 https://data.eastmoney.com/gphg/hglist.html :return: 股票回购数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, covering the safety profile. The description adds the data source URL and return type (pandas.DataFrame), but does not disclose additional behavioral details such as data granularity or pagination. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the title, but it is somewhat fragmentary, consisting of a title, URL, and return type. It is not wasteful, but it lacks a clear sentence structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool, the description identifies the source and return type, but leaves the actual data contents vague ('stock repurchase data'). With no output schema, the agent may not know what columns or time period to expect, making completeness moderate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline score of 4 applies. The description does not need to explain parameter semantics, and it correctly does not attempt to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource clearly: '股票回购数据' (stock repurchase data) from East Money's data center, with a specific URL. It distinguishes from siblings by topic, but lacks an explicit verb like 'get' or 'fetch', making it more a title than a complete purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any conditions, exclusions, or alternative tools, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_research_report_emBRead-onlyIdempotent
东方财富网-数据中心-研究报告-个股研报 https://data.eastmoney.com/report/stock.jshtml :param symbol: 个股代码 :type symbol: str :return: 个股研报 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the return type (pandas.DataFrame) and the source URL, providing some behavioral context. However, it does not disclose details like pagination, data volume, or potential rate limits, so it adds limited value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise docstring with clear sections for source, parameter, and return, front-loaded with the title and URL. Every line earns its place, though the URL could be seen as extraneous. It is well-structured and appropriately sized, though not exceptionally compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one optional parameter) and the description explains the source and return type, which is useful. However, with no output schema, it does not describe the DataFrame columns or what the research report data contains, leaving the agent guessing about the result structure. The absence of any mention of data range, filtering, or pagination makes it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description carries the burden for parameter meaning. It documents ':param symbol: 个股代码' (individual stock code), which clarifies the purpose of the single parameter, and the schema's default '000001' suggests a 6-digit A-share code. Yet it omits format specifics (e.g., exchange prefix, applicable markets), leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource (东方财富网-数据中心-研究报告-个股研报 = East Money Data Center individual stock research report) and includes a URL, which clearly scopes it to a specific data source and type. However, it lacks an explicit verb like 'fetch' or 'return', though the docstring's ':return: 个股研报' implies retrieval, so it stops short of a fully specific verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only describes the source and parameter, without mentioning any exclusions, competitor tools, or specific use cases. This leaves the agent to infer usage purely from the name and source.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_restricted_release_detail_emCRead-onlyIdempotent
东方财富网-数据中心-限售股解禁-解禁详情一览 https://data.eastmoney.com/dxf/detail.html :param start_date: 开始时间 :type start_date: str :param end_date: 结束时间 :type end_date: str :return: 解禁详情一览 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | 20241202 | |
| start_date | No | 20221202 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. However, the description adds no extra behavioral traits: it only mentions a return type of pandas.DataFrame and a website URL, without disclosing rate limits, pagination, authentication needs, or any quirks of the underlying API. Relative to the annotations, the description contributes minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and contains no fluff: it gives the title, URL, and two parameter definitions. Every line serves a purpose. However, the structure is flat and not well organized; it reads as a single block of Chinese text plus parameter docs, which could be clearer with separators or an explicit summary. Still, it is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool, the description is incomplete. It omits the date format required for start_date/end_date, does not explain what columns the returned DataFrame contains, and provides no differentiation from several sibling tools on restricted share releases. The presence of annotations and the simple schema lower the burden, but the missing date format and usage context are critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two string parameters with defaults but no descriptions (coverage 0%). The description merely restates the parameter names and types in Chinese ('开始时间'/'结束时间') without specifying the required date format (e.g., YYYYMMDD), the valid range, or whether filtering is inclusive. The default values in the schema hint at the format, but the description does not clarify it, leaving critical ambiguity for an agent to invoke correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the tool's title '东方财富网-数据中心-限售股解禁-解禁详情一览', which is a noun phrase describing a list of restricted share unlock details. It clearly identifies the resource (restricted share unlock details) but lacks an explicit action verb like 'get' or 'list', and does not differentiate it from sibling tools such as stock_restricted_release_summary_em or stock_restricted_release_queue_em. Thus it is more than a tautology but still not a fully specified purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only provides the source URL and parameter documentation, without mentioning any conditions, prerequisites, or exclusions. It neither states when this tool is appropriate nor names any related tools for alternative data sources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_restricted_release_queue_emBRead-onlyIdempotent
东方财富网-数据中心-个股限售解禁-解禁批次 https://data.eastmoney.com/dxf/q/600000.html :param symbol: 股票代码 :type symbol: str :return: 个股限售解禁 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile with readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds a useful source URL and indicates a pandas DataFrame return type, but it does not disclose behavioral details such as pagination, data scope, date limits, or the exact contents of the returned DataFrame. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the tool's Chinese title and source URL, followed by concise param/return docstring lines. It contains some redundancy with the annotations title and schema type information, but overall there is no filler or excessive length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only data retrieval tool, the description is minimally usable: it identifies the source, parameter, and return type. However, with no output schema, it fails to describe the returned DataFrame's columns or semantics, and it does not explain what '解禁批次' contains or how this tool relates to the many restricted-release sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description carries the burden of explaining 'symbol'. It provides the Chinese meaning '股票代码', confirms the type as str, and shows an example via the URL '600000'. This adds modest meaning beyond the raw schema, but it does not explain code format, valid values, or the default behavior when the parameter is omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the data domain and source through the Chinese title '东方财富网-数据中心-个股限售解禁-解禁批次' and the return statement '个股限售解禁', making it evident that this tool fetches restricted-share release batches for individual stocks from Eastmoney. However, it lacks an explicit verb like '获取/查询' and does not directly differentiate itself from sibling tools beyond the implied 'em' source and the given URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as stock_restricted_release_queue_sina, stock_restricted_release_detail_em, or stock_restricted_release_summary_em. The description only states the data source, a single parameter, and the return type, leaving usage context and exclusions entirely unaddressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_restricted_release_queue_sinaBRead-onlyIdempotent
新浪财经-发行分配-限售解禁 https://vip.stock.finance.sina.com.cn/q/go.php/vInvestConsult/kind/xsjj/index.phtml?symbol=sh600000 :param symbol: 股票代码 :type symbol: str :return: 返回限售解禁数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 600000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description needn't cover safety. It adds a source URL and return type, but it does not clarify symbol prefix expectations (URL shows sh600000 while schema default is 600000) or what the DataFrame contains. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and follows a clear docstring structure: title, URL, params, and return. The source URL adds provenance even if slightly cluttered. No wasted prose, though the title repeats the annotation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter and no output schema, the description states that a DataFrame is returned and identifies the data category, but it does not specify the release queue content, date range, or how it differs from sibling versions. It is minimally sufficient but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must fully explain the parameter. It only says ':param symbol: 股票代码', which essentially restates the property name, and does not clarify whether the exchange prefix is required or what data fields are returned. The URL example with sh600000 conflicts with the default 600000 without explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning Sina Finance restricted-share release (限售解禁) data for a stock code, with a source URL and return type. It is specific about the resource and action, but it does not differentiate from sibling tools like stock_restricted_release_queue_em or stock_restricted_release_detail_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It provides no exclusions, context, or alternative tool names, which is a significant gap given the many sibling restricted-release tools. Usage is only implied as a data retrieval tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_restricted_release_stockholder_emBRead-onlyIdempotent
东方财富网-数据中心-个股限售解禁-解禁股东 https://data.eastmoney.com/dxf/q/600000.html :param symbol: 股票代码 :type symbol: str :param date: 日期;通过 ak.stock_restricted_release_queue_em(symbol="600000") 获取 :type date: str :return: 个股限售解禁 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20200904 | |
| symbol | No | 600000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered. The description adds the data source URL and return type (pandas.DataFrame), which is modest extra context but nothing about rate limits, caching, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Sphinx-style docstring with :param/:type/:return/:rtype boilerplate that is somewhat redundant, plus a bare URL that adds minimal value. It is not bloated, but it is not front-loaded prose either – the operational cue about acquiring the date is buried in the param block.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter data-retrieval tool with no output schema, the description covers source, both inputs, and the return type reasonably. It still leaves the agent without sibling differentiation among the several restricted-release tools and without any pagination/shape expectations for the DataFrame.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden. It documents both parameters: symbol as 股票代码 and date as a date obtainable via a sibling tool, adding meaning beyond the bare defaults in the schema. It does not explain the default values (600000 / 20200904), keeping it just short of a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the data provider (东方财富网-数据中心) and the resource precisely (个股限售解禁-解禁股东, i.e. restricted-share release by shareholder), which is a specific noun-resource distinct from the queue/detail/summary siblings. It does not explicitly contrast itself with those siblings, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly tells the agent how to obtain the date argument by pointing to ak.stock_restricted_release_queue_em(symbol="600000"), which is useful dependency context. However, it gives no explicit when-to-use/when-not-to-use guidance against the many stock_restricted_release_* siblings (detail, queue, summary).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_restricted_release_summary_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-限售股解禁 https://data.eastmoney.com/dxf/marketStatistics.html?type=day&startdate=2022-11-08&enddate=2022-12-19 :param symbol: 标的市场;choice of {"全部股票", "沪市A股", "科创板", "深市A股", "创业板", "京市A股"} :type symbol: str :param start_date: 开始时间 :type start_date: str :param end_date: 结束时间 :type end_date: str :return: 限售股解禁 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部股票 | |
| end_date | No | 20221209 | |
| start_date | No | 20221101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered. The description adds the upstream source URL and that the return is a pandas.DataFrame, but discloses nothing additional about behavior such as rate limits, pagination, or freshness. With annotations carrying the safety burden, this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a compact Sphinx-style docstring with front-loaded source information, but the raw URL and :type:/:rtype: plumbing are boilerplate that add bulk without much value. Every element is defensible yet not tightly optimized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter read-only query with no output schema, the description covers the parameters and names the return type (pandas.DataFrame), which is enough to invoke it. It is missing the one thing that would really help — what distinguishes this summary endpoint from the sibling restricted-release tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it largely does: it documents all three parameters including an enumerated choice set for symbol (全部股票/沪市A股/科创板/深市A股/创业板/京市A股) that the schema does not contain at all. start_date/end_date are labeled but not given format details, and the sample URL implies a date-range semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the data source (东方财富网-数据中心) and the resource (限售股解禁 / restricted-share release) and links the exact statistics page. However it offers no verb framing and no differentiation from close siblings such as stock_restricted_release_detail_em, stock_restricted_release_queue_em, or stock_restricted_release_stockholder_em, so an agent cannot easily tell what makes this the 'summary' variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when an alternative sibling is preferable, and no prerequisites or context for selecting this tool over the other restricted-release tools. Usage must be entirely inferred from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sector_detailBRead-onlyIdempotent
新浪行业-板块行情-成份详情 http://finance.sina.com.cn/stock/sl/#area_1 :param sector: stock_sector_spot 返回的 label 值,choice of {"新浪行业", "概念", "地域", "行业"}; "启明星行业" 无详情 :type sector: str :return: 指定 sector 的板块详情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| sector | No | gn_gfgn |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds that the return is a pandas.DataFrame and that one sector category yields no detail, which is incremental context. It adds little else (no pagination, no failure modes), so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is short and front-loads the resource name, but it carries Sphinx boilerplate (:type, :return, :rtype) and a bare URL that add clutter for an agent. Information density is acceptable but not tightly optimized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with no output schema, annotations cover the safety profile and the description covers the purpose and parameter origin. However the mismatch between the documented value set and the schema default, plus the absence of any enum constraint in the schema, leaves the input format insufficiently pinned down.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (no enum, no description on the 'sector' property), so the description must carry the burden; it does explain that sector is the label from stock_sector_spot and lists candidate values. However those values ({"新浪行业","概念","地域","行业"}) are inconsistent with the schema default "gn_gfgn", which is a code-like value, leaving the actual accepted format ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (新浪行业板块成份详情) and the source variant (Sina industry sector board detail), giving an agent a clear verb+resource. It also ties itself to the sibling stock_sector_spot as the origin of the input value, aiding differentiation. It is somewhat terse and the operation is implied rather than stated as an explicit verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides one useful precondition (sector must come from stock_sector_spot's label) and one exclusion ("启明星行业" has no detail), which is real guidance. However, there is no explicit statement of when to prefer this tool over alternatives or what the intended workflow is beyond that single hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sector_fund_flow_histBRead-onlyIdempotent
东方财富网-数据中心-资金流向-行业资金流-行业历史资金流 https://data.eastmoney.com/bkzj/BK1034.html :param symbol: 行业名称 :type symbol: str :return: xx行业个股资金流 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 汽车服务 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, which cover the safety profile. The description adds the data source (East Money), a URL, and the return type (pandas DataFrame), providing some context. However, it does not disclose details like date ranges, pagination, or data update frequency, so it adds moderate value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is quite short and includes a title, URL, and a brief docstring with parameter and return info. It is structured and avoids waste, but the first line is more of a label than a concise summary sentence. It could be improved by front-loading a clear one-sentence purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with annotations covering safety and idempotency, the description provides the source and parameter meaning. However, the return description is vague ('xx行业个股资金流') and does not clarify the exact structure of the DataFrame, date range, or whether the data is per-stock or industry-level. Without an output schema, this is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has only a 'symbol' parameter with 0% coverage, so the description must compensate. The description provides ':param symbol: 行业名称', adding that the parameter is an industry name, which is helpful. However, it does not specify valid values, format (e.g., Chinese name), or how to discover industry names, leaving the parameter semantics incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as fetching industry historical capital flow data from East Money, with a specific URL and parameter for industry name. However, the return description 'xx行业个股资金流' is slightly ambiguous—it could mean individual stock flows within the industry rather than the industry's aggregate historical flow. The tool name and title help disambiguate to historical sector fund flow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives like stock_sector_fund_flow_rank or stock_sector_fund_flow_summary. The name implies 'hist' means historical, but the description does not state this or provide any usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sector_fund_flow_rankARead-onlyIdempotent
东方财富网-数据中心-资金流向-板块资金流-排名 https://data.eastmoney.com/bkzj/hy.html :param indicator: choice of {"今日", "5日", "10日"} :type indicator: str :param sector_type: choice of {"行业资金流", "概念资金流", "地域资金流"} :type sector_type: str :return: 指定参数的资金流排名数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| indicator | No | 今日 | |
| sector_type | No | 行业资金流 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is clear. The description adds the source URL (https://data.eastmoney.com/bkzj/hy.html) and return type, but does not disclose rate limits, authentication, or any data behavior beyond the annotations. No contradiction, but limited additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with a clear header (title/URL), structured :param and :return sections. The duplicate title line matches the annotation but is not overly wasteful. It front-loads the source path and parameter definitions without extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with two optional parameters, the description provides parameter choices and a high-level return statement (pandas DataFrame of ranking data). However, it does not describe the DataFrame's columns or any nuances about the data (e.g., date handling, sorting), leaving some gaps given there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description fully compensates by enumerating exact choices for both parameters: indicator accepts {'今日', '5日', '10日'} and sector_type accepts {'行业资金流', '概念资金流', '地域资金流'}. This adds semantic meaning that the raw schema (just string type and defaults) lacks, making parameter selection unambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the resource (sector capital flow) and the action (ranking) via the path '资金流向-板块资金流-排名' and the return '资金流排名数据'. It clearly indicates that this tool fetches sector fund flow ranking data. However, it does not explicitly differentiate from sibling tools like stock_sector_fund_flow_hist or stock_sector_fund_flow_summary, so it doesn't reach a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It only describes parameters and return value. The implied usage is for ranking data, but there is no when/when-not or alternative comparison, so it fails to direct an agent effectively.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sector_fund_flow_summaryBRead-onlyIdempotent
东方财富网-数据中心-资金流向-行业资金流-xx行业个股资金流 https://data.eastmoney.com/bkzj/BK1034.html :param symbol: 行业名称 :type symbol: str :param indicator: choice of {"今日", "5日", "10日"} :type indicator: str :return: xx行业个股资金流 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 电源设备 | |
| indicator | No | 今日 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds useful context: the data source URL, return type (pandas.DataFrame), and indicator choices (今日/5日/10日). However, it does not disclose potential data latency, pagination, or any limitations, which would be valuable for a data-fetching tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is reasonably compact but includes redundant elements: the title line duplicates the description's first phrase, and the URL may not be essential for an agent. The docstring-style formatting is clear and front-loaded, but the extra URL and repeated title make it slightly cluttered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only tool, the description covers purpose, parameters, and return type, which is adequate for basic invocation. However, it lacks explicit usage context, differentiation from close siblings (e.g., stock_sector_fund_flow_hist, stock_sector_fund_flow_rank), and any examples or edge-case handling, leaving the agent to infer when this tool is the best choice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It provides clear semantics: symbol is '行业名称' (industry name) and indicator is a choice of {'今日', '5日', '10日'}. This fully compensates for the missing schema descriptions, though it could be more explicit about the format of symbol values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource ('行业资金流' - industry fund flow) and the specific output ('xx行业个股资金流' - individual stock fund flows for a given industry). The verb is implied but the scope is specific, and the resource distinguishes it from sibling tools like stock_sector_fund_flow_rank and stock_sector_fund_flow_hist, though it does not explicitly contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of use cases, exclusions, or which sibling tools serve different purposes. The description only enumerates parameters and return type, leaving selection decisions to the agent without contextual hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sector_spotBRead-onlyIdempotent
新浪行业-板块行情 http://finance.sina.com.cn/stock/sl/ :param indicator: choice of {"新浪行业", "启明星行业", "概念", "地域", "行业"} :type indicator: str :return: 指定 indicator 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| indicator | No | 新浪行业 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering the safety profile. The description adds the data source (Sina) and return type (pandas.DataFrame), which is useful but does not disclose any rate limits, pagination, or data freshness behavior. This aligns with the calibration example where annotations lower the burden but the description still lacks rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and functional, consisting of a title, source URL, and docstring-style parameter/return annotations. There is no wasted text, and the structure is clear. It is slightly sparse, but every line serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain the return data more thoroughly. It only states '指定 indicator 的数据' (data for the specified indicator) and the rtype, leaving column names or data granularity unspecified. The tool is simple, and the parameter choices are covered, but the return structure is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description compensates by listing the allowed values for the 'indicator' parameter: {'新浪行业', '启明星行业', '概念', '地域', '行业'}. This adds significant meaning beyond the schema's basic type/string and default definition, though it does not explain what each choice returns in detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves sector quotes from Sina Finance with the Chinese phrase '新浪行业-板块行情' and provides the source URL. It is specific about the resource (sector quotes) but does not explicitly differentiate from sibling tools like stock_sector_detail or stock_sector_fund_flow_rank, hence not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It lists parameter choices but does not mention any exclusions, prerequisites, or contextual scenarios. The only implicit usage is from the tool name and the description's mention of different indicator categories, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sgt_reference_exchange_rate_sseBRead-onlyIdempotent
沪港通-港股通信息披露-参考汇率 https://www.sse.com.cn/services/hkexsc/disclo/ratios/ :return: 参考汇率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that the return type is pandas.DataFrame and includes the source URL, but does not disclose any additional behavioral traits such as data freshness, column contents, or potential network dependencies beyond what annotations already imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a title line, a source URL, and return type documentation. Every piece of content serves a purpose, and there is no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, read-only), the description is mostly sufficient, but the absence of an output schema means the description should more explicitly explain what the returned DataFrame contains (e.g., currency pairs, buy/sell rates, or timestamps). The current description only says '参考汇率' without detailing columns or how these rates are computed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema description coverage is 100% by nature. There is nothing for the description to add about parameter meanings; the baseline of 4 for zero-parameter tools applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '参考汇率' (reference exchange rate) for the Shanghai-Hong Kong Stock Connect on SSE, with a source URL. It distinguishes from sibling tools like stock_sgt_settlement_exchange_rate_sse and stock_sgt_reference_exchange_rate_szse through the 'reference' and 'sse' qualifiers, though it lacks an explicit action verb such as 'get' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention that reference rates differ from settlement rates, nor does it point to SSE versus SZSE variants, so an agent cannot tell which tool fits based on the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sgt_reference_exchange_rate_szseCRead-onlyIdempotent
深港通-港股通业务信息-参考汇率 https://www.szse.cn/szhk/hkbussiness/exchangerate/index.html :return: 参考汇率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds the source URL and return type (pandas.DataFrame), which is useful but does not disclose additional behavioral traits like data freshness, frequency, or potential error conditions. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, with a title line, URL, and return type. The URL and return type are valuable, but the title line is redundant with the tool name. It is concise and front-loaded, but the redundant title prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what data is returned. It only says '参考汇率' (reference exchange rate) and 'pandas.DataFrame', without specifying the currency pair, the date range, or the DataFrame columns. This ambiguity makes it hard for an agent to know what to expect, especially when choosing between SZSE and SSE variants.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. There are no parameters to describe, and the description does not need to add parameter-level semantics. The schema coverage is 100% since there are no properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The main description line '深港通-港股通业务信息-参考汇率' is a noun phrase that restates the tool name in Chinese, with no action verb like 'get' or 'fetch'. The URL and :return: lines indicate the source and data type but still do not clearly state what the tool does. It fails to differentiate from the sibling stock_sgt_reference_exchange_rate_sse beyond the 'szse' in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as the SSE counterpart or settlement exchange rate tools. The description lacks explicit context about SZSE-specific applicability or any exclusions, leaving the agent to infer usage solely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sgt_settlement_exchange_rate_sseBRead-onlyIdempotent
沪港通-港股通信息披露-结算汇兑 https://www.sse.com.cn/services/hkexsc/disclo/ratios/ :return: 结算汇兑比率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the return type 'pandas.DataFrame' and the data field '结算汇兑比率', but does not disclose any additional behavioral context such as update frequency, date coverage, or source limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (three lines) and includes a source URL and return type, but the first line duplicates the title provided in annotations. While not verbose, the redundancy means not every line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read-only data tool, the description provides a source URL, data content, and return type. However, it does not explain what the settlement exchange ratio represents or how it differs from the reference exchange rate, leaving some ambiguity for an agent comparing sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty. Per the rubric, a baseline of 4 applies since there are no parameter semantics to document, and the description correctly omits parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource as '沪港通-港股通信息披露-结算汇兑' (SSE Stock Connect settlement exchange) and specifies a return value of '结算汇兑比率' (settlement exchange ratio). The tool name clearly indicates SSE, distinguishing it from SZSE siblings, though it lacks an explicit imperative verb like 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Sibling tools such as stock_sgt_reference_exchange_rate_sse and stock_sgt_settlement_exchange_rate_szse are not mentioned, and the description does not explain how this tool differs from them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sgt_settlement_exchange_rate_szseBRead-onlyIdempotent
深港通-港股通业务信息-结算汇率 https://www.szse.cn/szhk/hkbussiness/exchangerate/index.html :return: 结算汇率 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive, so the description's lack of behavioral disclosure is acceptable. The included source URL adds minor context about the data origin, but no additional behavioral traits (e.g., pagination, rate limits) are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a title, a source URL, and a return type docstring. Every element earns its place, and the most important information (what is returned) is front-loaded in the title and return fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides the return type and source URL, and the annotations cover safety characteristics. However, it lacks any detail about the columns or structure of the DataFrame, and does not clarify its relationship to sibling tools (e.g., settlement vs reference, SZSE vs SSE). Given the simple zero-parameter nature, it is minimally adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts no parameters, so there are no parameter semantics to clarify. The baseline score of 4 applies, and the description's lack of parameter information is appropriate because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as the settlement exchange rate for SZSE Stock Connect and indicates a pandas DataFrame return type. However, it does not explicitly distinguish itself from sibling tools such as the reference exchange rate or the SSE version, relying on the name to carry that differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives like settlement vs reference exchange rates or SSE vs SZSE. It is not misleading, but it provides zero contextual direction for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sh_a_spot_emARead-onlyIdempotent
东方财富网-沪 A 股-实时行情 https://quote.eastmoney.com/center/gridlist.html#hs_a_board :return: 实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the specific data provenance (Eastmoney website URL) and return type (pandas.DataFrame), which provides useful behavioral context beyond the annotations. It doesn't mention rate limits or potential delays, but for a simple read-only quote tool, the core behavior is adequately disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by a source URL and return type. It earns its place with a clear source citation and type hint. It could be slightly more structured with explicit labels, but it's efficient and not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has zero parameters, no output schema, and simple read-only behavior, the description provides sufficient completeness: it identifies the market, source, and return type. It doesn't describe the exact DataFrame columns or size, but for a real-time spot quote tool with clear sibling context, this is adequate. The source URL adds trust and traceability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty with 100% coverage, meaning there are no parameters to document. The baseline for 0 params is 4, and the description does not introduce any parameter-related confusion. It explains the return type, which is relevant context for invocation, though not strictly parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves real-time quotes for Shanghai A-shares from Eastmoney, with a source URL. It specifies the market (沪 A 股) and the action (实时行情), which distinguishes it from similar tools like stock_sz_a_spot_em (Shenzhen) and stock_kc_a_spot_em (STAR). However, it lacks explicit detail on the exact data columns or scope, and the name is somewhat cryptic without the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying the data source and market (Shanghai A-shares), but it provides no explicit guidance on when to choose this tool over alternatives like stock_zh_a_spot_em or stock_sz_a_spot_em. The URL and market designation give context, but there is no when-to-use or when-not-to-use guidance, only implied scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sns_sseinfoBRead-onlyIdempotent
上证e互动-提问与回答 https://sns.sseinfo.com/company.do?uid=65 :param symbol: 股票代码 :type symbol: str :return: 提问与回答 :rtype: str
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 603119 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds the source URL and return type, but does not disclose potential pagination, rate limits, or the meaning of 'uid=65'. No contradiction, but limited additional value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the title, followed by the URL and docstring lines. It avoids unnecessary prose, though it repeats '提问与回答' in multiple places. Overall it is efficient for its purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain the return format more thoroughly; it only says '提问与回答' and rtype str. It does not describe the structure or content of the Q&A data, nor any edge cases. For a simple read-only retrieval tool, this is adequate but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description explicitly documents the parameter 'symbol' as '股票代码' (stock code), which adds meaningful context beyond the raw schema's type and default. It also specifies its type as str, compensating for the schema's lack of description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title '上证e互动-提问与回答' clearly indicates the tool retrieves Q&A from SSE e-Interactive, and the URL confirms the exact source. The verb is implied (get/fetch) but not explicitly stated, and it doesn't explicitly differentiate from sibling tools, though the name makes it fairly unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus other stock-related tools, such as stock_news_em or stock_zh_a_hist. It does not mention prerequisites, alternatives, or exclusions. The only context is the source URL and parameter documentation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sse_deal_dailyCRead-onlyIdempotent
上海证券交易所-数据-股票数据-成交概况-股票成交概况-每日股票情况 https://www.sse.com.cn/market/stockdata/overview/day/ :param date: 交易日 :type date: str :return: 每日股票情况 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20241216 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds the return type (pandas.DataFrame) and the parameter meaning, but does not disclose additional behavioral details such as the DataFrame's columns, date range constraints, or any rate limits. This is minimal value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably short but mixes a Chinese title, a URL, and Python docstring format (param/return lines). The title is redundant with the annotation title, and the structure is somewhat fragmented, though it does not waste many words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one optional parameter and no output schema, but the description only vaguely states that the return is '每日股票情况' (daily stock situation). It does not describe what data is contained in the DataFrame, how the default date is used, whether other formats are accepted, or any error conditions. With no output schema, the description should provide more substance about the return value and behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a type and default for 'date' with no description. The description adds that the parameter is a trading day (交易日) and specifies it is a string. This gives some meaning beyond the schema, but it does not specify the expected format (beyond the default example) or any valid range, leaving gaps for a 0% schema description coverage case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as daily stock trading overview data from the Shanghai Stock Exchange, with a specific URL and the Chinese hierarchical path. However, it lacks a clear verb (e.g., 'fetch', 'get') and does not explicitly distinguish itself from similar sibling tools like stock_sse_summary, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only states the data source and parameter, with no mention of use cases, exclusions, or related tools. The implied usage is present but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sse_summaryBRead-onlyIdempotent
上海证券交易所-总貌 https://www.sse.com.cn/market/stockdata/statistic/ :return: 上海证券交易所-总貌 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare the read-only, idempotent, and non-destructive nature. The description adds the return type (pandas.DataFrame) and a URL to the source data but includes no additional behavioral details such as update frequency or data freshness. This is acceptable but minimal for a 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and front-loaded with the name, but it repeats the same phrase '上海证券交易所-总貌' in the title and the return docstring. The URL is useful and there is no wasted prose, but the repetition is slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no params, no output schema), the description covers the essential information: what it returns and from where. It could mention the DataFrame columns or how current the data is, but for a zero-parameter summary endpoint, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is an empty object, so the description is not expected to elaborate on parameters. The baseline of 4 applies because there is nothing to add beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the resource: '上海证券交易所-总貌' (Shanghai Stock Exchange Overview) and provides the source URL, distinguishing it from sibling tools like stock_szse_summary. However, it lacks an explicit verb such as 'fetch' or 'get', so it reads as a noun phrase rather than a command.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of scenarios, prerequisites, or exclusions, leaving an agent without the information needed to choose between this and related SSE/SZSE summary tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_staq_net_stopARead-onlyIdempotent
东方财富网-行情中心-沪深个股-两网及退市 https://quote.eastmoney.com/center/gridlist.html#staq_net_board :return: 两网及退市 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations declaring readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, the safety profile is already clear. The description adds the source URL and return type but does not disclose additional behavioral traits such as data freshness, pagination, or potential scraping delays. It adds minimal context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the title and URL. It uses a structured docstring format with :return: and :rtype:, which is clear. There is some redundancy (the board name repeats), but overall it is concise without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter data retrieval tool with strong annotations, the description provides the source and return type but lacks details about the DataFrame's columns, data freshness, or any caveats (e.g., includes only currently listed delisted stocks). The absence of an output schema means the agent cannot know what fields to expect, making this description minimally adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the baseline for 0 params is 4. The description appropriately does not attempt to explain any parameters, and there is no parameter information to add beyond the schema, which correctly defines an empty object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as the '两网及退市' (two networks and delisted stocks) board from Eastmoney, with a specific URL. It states the return type as pandas.DataFrame, making it evident this is a data retrieval tool for that particular board. Though it lacks an explicit verb like 'fetch' or 'get', the :return: field implies retrieval, and the board name distinguishes it from sibling tools for other boards.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by naming a specific board and providing a URL, but it does not explicitly state when to use this tool versus alternatives. No exclusions or alternative recommendations are mentioned, leaving the agent to infer from the board name and sibling tool names that this is for 'two networks and delisted' data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sy_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-商誉-个股商誉明细 https://data.eastmoney.com/sy/list.html :param date: 参考网站指定的数据日期 :type date: str :return: 个股商誉明细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20231231 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true. The description adds minimal behavioral context beyond that, such as the return type (pandas.DataFrame) and the note that the date should reference the website. It does not mention pagination, data volume, or any side effects. Since annotations cover the safety profile, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear structure: title, URL, parameter doc, and return doc. It is front-loaded with the key information and does not contain unnecessary verbosity. The URL and param/return sections are all relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a single parameter and no output schema, so the description carries the burden of explaining the return. It states that it returns a pandas.DataFrame of individual stock goodwill details, but does not describe the columns or any specifics about the data. It also does not differentiate from sibling tools in usage context. For a simple data retrieval tool, this is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains that the single parameter 'date' is the data date as specified by the website, and specifies its type as str. This adds meaning beyond the bare schema, though it could be more specific about the date format or valid values. Given the single parameter, it adequately compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource (East Money individual stock goodwill details) and provides a source URL, distinguishing it from similar stock_sy_* tools by specifying '个股商誉明细'. However, it lacks an explicit action verb like 'fetch' or 'list', making the purpose slightly implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus its siblings such as stock_sy_hy_em or stock_sy_jz_em. It only mentions that the date parameter should follow the website's specification, which is a parameter-level hint, not tool selection guidance. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sy_hy_emCRead-onlyIdempotent
东方财富网-数据中心-特色数据-商誉-行业商誉 https://data.eastmoney.com/sy/hylist.html :param date: 参考网站指定的数据日期 :type date: str :return: 个股商誉明细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240930 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. However, the description adds minimal behavioral context beyond the source URL and return type. It does not disclose date format expectations, pagination, or data scope, which would be valuable for a data-fetching tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and not verbose, but it is poorly structured: it mixes a title, a raw URL, and docstring-style lines in a way that is not front-loaded or scannable. The first line reads like a page title rather than a clear description of tool behavior. It is brief but the organization detracts from clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool without an output schema, the description should still clarify what data is returned and how the date parameter works. It fails to reconcile the conflict between '行业商誉' (industry goodwill) in the title and '个股商誉明细' (individual stock goodwill details) in the return, and it does not describe the output columns or date range. This is insufficient given the large sibling toolset where differentiation is critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema defines a single 'date' parameter with a default but no description (0% schema description coverage). The description says the date is '参考网站指定的数据日期' (the data date specified on the website), which adds a slight hint but still does not specify the expected format (e.g., YYYYMMDD) or any constraints. The description only partially compensates for the schema's lack of detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a concrete resource: East Money's goodwill data page (行业商誉) with a URL, and states that it returns a pandas DataFrame of 个股商誉明细. However, it lacks an explicit action verb like 'get' or 'list,' and the return description ('个股商誉明细') conflicts with the title ('行业商誉'), creating ambiguity about whether this tool returns industry-level or individual-stock goodwill data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description simply gives a source URL and parameter docstring. With many sibling tools covering similar stock/goodwill data (e.g., stock_sy_em, stock_sy_jz_em), the absence of any differentiation makes it hard for an agent to select this tool correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sy_jz_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-商誉-个股商誉减值明细 https://data.eastmoney.com/sy/jzlist.html :param date: 参考网站指定的数据日期 :type date: str :return: 个股商誉减值明细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240630 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds the source URL and return type (pandas.DataFrame), but does not disclose potential pagination, rate limits, or date format validation. With strong annotations, the added behavioral context is minimal but not contradictory, making a score of 3 appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, containing only a title line, a URL, and docstring-style param/return annotations. It is structured and scannable, with no redundant filler. It loses one point because the title is repeated verbatim in the annotations, adding slight duplication without new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only data retrieval tool, the description provides the essential elements: data source, param purpose, and return type. However, the returned DataFrame content is only described as '个股商誉减值明细' with no column details or examples, and there is no context on how to determine valid date values. Given the lack of an output schema and the presence of closely related sibling tools, the description leaves notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'date' with a default but no description, and schema coverage is 0%. The description says '参考网站指定的数据日期' (refer to the data date specified on the website), which gives vague meaning: it is the report date. However, it does not specify the expected format (e.g., YYYYMMDD) beyond the default '20240630', nor does it explain how dates map to available periods. This is minimally helpful but insufficient for an agent to confidently construct the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns '个股商誉减值明细' (individual stock goodwill impairment details) from EastMoney's data center, with a direct source URL. It is unambiguous about the resource being queried, though it lacks an explicit verb like 'get' or 'fetch'—the title and return statement imply retrieval. It does not distinguish this from closely related sibling tools such as stock_sy_hy_em or stock_sy_profile_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like stock_sy_em, stock_sy_hy_em, or stock_sy_yq_em. There is no mention of prerequisites, scenarios, or when not to use it. The only hint is the source URL, but that does not help an agent choose among the many similar goodwill-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sy_profile_emARead-onlyIdempotent
东方财富网-数据中心-特色数据-商誉-A股商誉市场概况 https://data.eastmoney.com/sy/scgk.html :return: A股商誉市场概况 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds minimal behavioral context beyond a source URL and return type (pandas.DataFrame). It does not disclose rate limits, authentication, or quirks, but given the annotations, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, containing a title line, a URL, and return type. It is structured with label-like formatting. The first line is redundant with the annotation title, but overall it is efficient and front-loaded, with no unnecessary filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of explaining the return value. It states it returns a pandas.DataFrame of the A-share goodwill market overview, but it does not describe columns, time periods, or granularity. Given the existence of several similar goodwill-related sibling tools, this lack of detail prevents full understanding of what data will be returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so there is nothing to document. Per the rubric, 0 params warrants a baseline of 4, and the description correctly avoids inventing parameter details. The return type mention is not related to parameters but is harmless.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing the A-share goodwill market overview from East Money's data center, with a source URL and return type. It does not explicitly state an action verb like 'get' or 'fetch', but the resource and scope are specific. It does not differentiate from sibling tools such as stock_sy_em, so it lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any explicit guidance on when to use this tool or mention alternative tools. The use case is implied by the name and description: if an agent needs A-share goodwill market overview data, this tool is appropriate. However, there are no exclusions, prerequisites, or alternative recommendations, so it stops at implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sy_yq_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-商誉-商誉减值预期明细 https://data.eastmoney.com/sy/yqlist.html :param date: 参考网站指定的数据日期 :type date: str :return: 商誉减值预期明细 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240630 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame) but doesn't disclose pagination, rate limits, or output details. This is minimal but not redundant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with source URL, parameter, and return type. It is efficient and has no waste, though the title line repeats the source rather than front-loading the function's action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter fetch tool, the description provides source, parameter, and return type, with annotations covering safety. However, no output schema exists, and the description doesn't describe the returned columns or any filtering behavior, leaving some ambiguity about the data's structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It only says '参考网站指定的数据日期' (refer to the website's specified date), which is vague and doesn't explain the expected format (e.g., YYYYMMDD) beyond the default. The description adds little meaningful semantics over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches '商誉减值预期明细' (goodwill impairment expectation details) from East Money's data center, with a specific URL. This is a specific verb+resource, but it doesn't explicitly distinguish it from sibling tools like stock_sy_em, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, nor any exclusions or prerequisites. The only usage hint is the date parameter, which is implied rather than explicitly contextualized.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_sz_a_spot_emARead-onlyIdempotent
东方财富网-深 A 股-实时行情 https://quote.eastmoney.com/center/gridlist.html#hs_a_board :return: 实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type but does not disclose additional behavioral traits such as data volume, columns, or potential delays. With annotations present, the description adds minimal extra context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, comprising a clear title line, a helpful source URL, and return type information. It is front-loaded with the key purpose and contains no unnecessary filler, though it could have omitted the URL without losing core meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter read-only tool, the description provides adequate context: data source, market, data type, and return format. It does not describe the DataFrame columns, but given no output schema and the simplicity of a spot quote tool, it is sufficiently complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is trivially 100%. The description correctly notes the return type (pandas.DataFrame) but adds no parameter-specific details since there are none. Baseline 4 applies for tools with no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides real-time quotes ('实时行情') for Shenzhen A-shares ('深 A 股'), specifying the exact market and data type. This distinguishes it from sibling tools like stock_sh_a_spot_em (Shanghai A-shares) and stock_bj_a_spot_em (Beijing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for Shenzhen A-share quotes but provides no explicit guidance on when to use this tool versus alternatives. It does not mention exclusions or name sibling tools, so the usage context is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_szse_area_summaryBRead-onlyIdempotent
深证证券交易所-总貌-地区交易排序 https://www.szse.cn/market/overview/index.html :param date: 最近结束交易日 :type date: str :return: 地区交易排序 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 202203 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds that it returns a pandas DataFrame and provides a source URL, but it does not disclose other behavioral traits such as data frequency, sorting, or error handling. This is minimal but non-contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a title line, a source URL, and docstring-style parameter/return documentation. No redundant text, and the structure is logical. It earns a 4 rather than 5 because the param format detail is incomplete, but it is still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and only one parameter, the description is reasonably complete: it states the purpose, parameter meaning, and return type. However, it lacks explicit usage context (when to choose this over sibling summary tools) and precise date format specification, leaving some gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no description for the 'date' parameter (0% coverage). The description compensates by stating it is the 'most recent trading day' and a string type, with a default '202203' hinting at a YYYYMM format. However, the format is ambiguous (month vs. day), and the description does not clarify the exact expected format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '深证证券交易所-总貌-地区交易排序' (Shenzhen Stock Exchange - Overview - Regional Trading Ranking), which identifies the specific data resource. It also includes the source URL and explicitly returns a pandas DataFrame of regional trading rankings, distinguishing it from sibling tools like stock_szse_summary or stock_szse_sector_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus alternatives. The only hint is the date parameter description ('最近结束交易日'), but there is no mention of exclusions or preferred use cases compared to similar summary tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_szse_sector_summaryBRead-onlyIdempotent
深圳证券交易所-统计资料-股票行业成交数据 https://docs.static.szse.cn/www/market/periodical/month/W020220511355248518608.html :param symbol: choice of {"当月", "当年"} :type symbol: str :param date: 交易年月 :type date: str :return: 股票行业成交数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 202501 | |
| symbol | No | 当月 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and parameter choices ('当月'/'当年'), which provides context beyond annotations, but does not mention edge cases or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the Chinese title and URL. It efficiently lists parameters and return type without unnecessary verbosity. The docstring-style structure is clear and every line contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides the source URL, parameter meanings, and return type (pandas DataFrame), which is adequate for a simple read-only tool. However, it does not describe the columns or structure of the returned data, and with no output schema, a bit more detail on the expected data shape would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions (0% coverage), but the description meaningfully explains both parameters: symbol is a choice of {'当月', '当年'} and date is 交易年月 (trading year-month, with default '202501' illustrating format). This compensates for the missing schema descriptions, though the exact date format is implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves Shenzhen Stock Exchange stock industry trading data (股票行业成交数据), with the title confirming it's a sector summary. It distinguishes from siblings by specifying SZSE and sector-level data, though it lacks an explicit verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention exclusions or recommend sibling tools for related needs, leaving the agent to infer from the name and title alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_szse_summaryBRead-onlyIdempotent
深证证券交易所-总貌-证券类别统计 https://www.szse.cn/market/overview/index.html :param date: 最近结束交易日 :type date: str :return: 证券类别统计 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240830 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, covering safety. The description adds modest context by specifying the param is the most recently ended trading day and the return type is a pandas DataFrame. However, it does not disclose other behavioral traits such as pagination, rate limits, or data availability, so it stays at a baseline level.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of a title, source URL, parameter documentation, and return type. It avoids unnecessary words and is well-structured as a docstring. While it is brief, it contains no fluff and is easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter, the description provides the essential information: the source, the date parameter semantics, and the return type. However, it lacks details about what specific categories are included, any prerequisites, or guidance on when to use it among the many sibling tools. Given the simplicity, it is minimally viable but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema for 'date' has no description, so the :param date: 最近结束交易日 explanation in the description is essential and helpful. It clarifies the meaning of the parameter, which is all that is needed for a single-parameter tool. This compensates well for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing securities category statistics from the Shenzhen Stock Exchange overview page. The title '深证证券交易所-总貌-证券类别统计' is specific and distinguishes it from similar summary tools like stock_sse_summary or stock_szse_area_summary. While it lacks an explicit verb like 'get' or 'retrieve', the return type and context make the purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus other market summary tools. It does not mention alternatives, exclusions, or conditions under which this tool should be selected. This is a significant gap given the large number of sibling tools dealing with market summaries and statistics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_tfp_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-停复牌信息 https://data.eastmoney.com/tfpxx/ :param date: 查询参数 "20240426" :type date: str :return: 停复牌信息表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240426 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only, idempotent, and non-destructive behavior. The description adds the return type (pandas.DataFrame) and the source URL, which provides some context but doesn't disclose details like potential network requirements or data freshness. This is adequate given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with labeled sections for URL, params, and returns. No unnecessary words, and the structure is clear and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple data-fetching tool with one optional parameter and no output schema, the description provides the essential context: data source, input parameter, and return type. The only gap is the lack of usage guidance, but that is already covered in the usage_guidelines dimension. It is complete enough for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single optional parameter with 0% description coverage. The description compensates by documenting the parameter with an example value ('20240426') and labeling it as a query parameter. However, it does not explicitly specify the expected date format (YYYYMMDD), relying on the example to convey that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as sourcing East Money's data center suspension/resumption information and returns a pandas DataFrame. It clearly specifies the resource and data type, though it lacks an explicit action verb like 'get' or 'query'. The name also hints at the purpose, but the description makes it concrete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus other financial data tools, no prerequisites, and no mention of alternatives. The description simply documents the input and output.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_us_dailyBRead-onlyIdempotent
新浪财经-美股 https://finance.sina.com.cn/stock/usstock/sector.shtml 备注:
CIEN 新浪复权因子错误
AI 新浪复权因子错误,该股票刚上市未发生复权,但是返回复权因子 :param symbol: 可以使用 get_us_stock_name 获取 :type symbol: str :param adjust: "": 返回未复权的数据 ; qfq: 返回前复权后的数据;qfq-factor: 返回前复权因子和调整; :type adjust: str :return: 指定 adjust 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| symbol | No | FB |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description does add genuine value beyond annotations by disclosing data-quality caveats – the incorrect adjustment factors for CIEN and for newly listed AI. It omits pagination, date coverage, and any rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a docstring dump: a bare URL leads, followed by notes, then :param/:return/:rtype boilerplate. The essential scope and param meaning are present but not front-loaded, and the URL/rtype lines carry little selection value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two optional params, full annotations, and no output schema, the description adequately covers inputs and caveats. However, for a 'daily' history tool it never indicates the returned date range or whether the caller controls it, leaving a real gap about what the tool actually returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load, and it does: it enumerates the adjust values ('', qfq, qfq-factor) with their meanings and points to get_us_stock_name for symbol resolution. Only mild ambiguity remains about symbol format (code vs name) given the 'FB' default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the source (新浪财经 US stocks) and links the data page, implying it returns US stock daily bars, but it never states the purpose in prose – the reader infers it from the name and URL. It also offers no differentiation from the many close siblings such as stock_us_hist, stock_us_spot_em, or stock_us_hist_min_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no exclusions, and no routing to alternatives among the several US-stock price tools. The only guidance is incidental: the symbol param points at get_us_stock_name for symbol lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_us_famous_spot_emBRead-onlyIdempotent
东方财富网-行情中心-美股市场-知名美股 https://quote.eastmoney.com/center/gridlist.html#us_wellknown :param symbol: choice of {'科技类', '金融类', '医药食品类', '媒体类', '汽车能源类', '制造零售类'} :type: str :return: 知名美股实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 科技类 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds behavioral context by specifying the return type (pandas.DataFrame) and that data is real-time ('实时行情'), plus the source URL. However, it does not disclose details like update frequency, pagination, or how invalid symbols are handled, and it does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured as a docstring: source, URL, parameter, return, and return type. It avoids unnecessary prose. The only minor issue is that the first line duplicates the annotation title, but it still serves as a clear header. Overall, every sentence contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema), and the description covers the source, parameter, and return type. However, it does not clarify what columns the DataFrame contains, what constitutes '知名美股', or whether the result is a list of all stocks in a category. Given the lack of an output schema, a bit more detail on the returned data would be beneficial, but the description is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines 'symbol' as a string with a default value, lacking an enum or description. The description compensates by enumerating the valid choices: {'科技类', '金融类', '医药食品类', '媒体类', '汽车能源类', '制造零售类'}, which is essential for using the parameter correctly. It also labels it as a 'choice' (choice), adding meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '知名美股' (famous US stocks) from 东方财富网 and states the return is '知名美股实时行情' (real-time quotes), which effectively conveys the tool's function. It distinguishes from siblings like stock_hk_famous_spot_em by the explicit '美股' (US stock) and '知名' (famous) scope. However, it lacks an explicit action verb like 'get' or 'fetch', relying on the return statement to imply retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as stock_us_spot_em or stock_us_pink_spot_em. It only gives the source and parameter choices without contextual cues like 'use this for famous US stock quotes by category'. There is no exclusion or comparison to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_us_histARead-onlyIdempotent
东方财富网-行情-美股-每日行情
https://quote.eastmoney.com/us/ENTX.html#fullScreenChart
:param symbol: 股票代码;此股票代码需要通过调用 ak.stock_us_spot_em() 的 代码 字段获取
:type symbol: str
:param period: choice of {'daily', 'weekly', 'monthly'}
:type period: str
:param start_date: 开始日期
:type start_date: str
:param end_date: 结束日期
:type end_date: str
:param adjust: choice of {"qfq": "1", "hfq": "2", "": "不复权"}
:type adjust: str
:return: 每日行情
:rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| period | No | daily | |
| symbol | No | 105.MSFT | |
| end_date | No | 22220101 | |
| start_date | No | 19700101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds the data source (Eastmoney), the return type (pandas.DataFrame), and the symbol-sourcing prerequisite — useful context, but no discussion of date handling, rate limits, or failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring format front-loads the purpose line and then lists parameters compactly. The ':type' lines duplicate the ':param' lines and add some noise, but overall it is scannable and free of padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter historical-data tool with no output schema, the description covers parameters and return type adequately. It omits the expected date format (the schema defaults suggest YYYYMMDD, e.g. 19700101) and the symbol prefix convention (the default '105.MSFT' hints at a market prefix) that the symbol-fetching note does not explain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema declares no enums, so the description carries the full parameter burden. It documents all five parameters, including the explicit value sets for period ({'daily','weekly','monthly'}) and adjust (qfq/hfq/不复权) and the required symbol provenance, which the schema does not convey at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: US stock daily quotes from Eastmoney (东方财富网-行情-美股-每日行情), which is enough to distinguish it from the many macro/fund siblings. It does not, however, differentiate itself from the closely named siblings stock_us_daily or stock_us_hist_min_em, so an agent must still infer scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives one genuinely useful operational rule: the symbol must be sourced from ak.stock_us_spot_em()'s `代码` field. That is real usage guidance. But it offers no when-to-use-vs-alternative guidance (e.g., versus stock_us_daily for Sina data or stock_us_hist_min_em for intraday), leaving the choice to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_us_hist_min_emCRead-onlyIdempotent
东方财富网-行情首页-美股-每日分时行情 https://quote.eastmoney.com/us/ATER.html :param symbol: 股票代码 :type symbol: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :return: 每日分时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 105.ATER | |
| end_date | No | 2222-01-01 09:32:00 | |
| start_date | No | 1979-09-01 09:32:00 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, openWorld, idempotent), the description adds no behavioral context. It does not disclose symbol format requirements, date format expectations, or any data source quirks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with exactly the needed info: source, URL, parameters, return type. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description leaves the return content vague. It also lacks usage guidance and parameter format details. For a simple data retrieval tool, it is minimally viable but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must define parameters. It offers only direct translations ('股票代码', '开始日期', '结束日期') that add little beyond the parameter names and the schema defaults. No format constraints or examples are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides East Money US stock intraday minute-level quotes, with a source URL and return type. The term '每日分时行情' distinguishes it from daily historical and real-time spot sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like stock_us_hist (daily) or stock_us_spot_em (spot). The description does not mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_us_pink_spot_emARead-onlyIdempotent
东方财富网-行情中心-美股市场-粉单市场 https://quote.eastmoney.com/center/gridlist.html#us_pinksheet :return: 粉单市场实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds the source URL and the return type (pandas.DataFrame), which is useful context. It does not contradict annotations and provides some behavioral information beyond the structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly three lines, specifying the source, the return content, and the return type. Every sentence earns its place with no unnecessary information, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (no parameters, no output schema), the description covers the essential purpose, return type, and source. It could be improved by explicitly stating that it is for the pink sheet segment to avoid confusion with broader US stock tools, but it is still reasonably complete for a 0-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the description does not need to add parameter semantics. The schema coverage is 100% vacuously, and the description appropriately includes no parameter information. This aligns with the baseline for no-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly identifies the resource as '粉单市场实时行情' (pink sheet market real-time quotes) and provides the source URL from East Money, distinguishing it from sibling tools like stock_us_spot_em by specifying the pink sheet market segment. The verb is implicit but clear: it returns real-time quotes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for fetching pink sheet real-time quotes but does not provide explicit when-to-use or alternative guidance. It lacks exclusions or comparisons with sibling tools, so it is at the implied usage level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_us_spotARead-onlyIdempotent
新浪财经-所有美股的数据,注意延迟 15 分钟 https://finance.sina.com.cn/stock/usstock/sector.shtml :return: 美股所有股票实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds genuinely new context not present in the annotations: a 15-minute data delay and the return type (pandas.DataFrame), which materially affects how an agent should interpret freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short and the important caveat (15-minute delay) is front-loaded. The embedded source URL is arguably noise, but it is compact and the rest is efficiently worded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description supplies what an agent needs: the resource, the source, the freshness limitation, and the return type. Only tool-selection context relative to its many siblings is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There are no arguments whose semantics could be clarified or missed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-like capability (returning quotes for all US stocks) and names the data source (Sina Finance). It clarifies scope as the entire US market spot snapshot, but does not distinguish itself from nearby siblings such as stock_us_spot_em, stock_us_famous_spot_em, or stock_us_daily.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like stock_us_spot_em or stock_us_daily. The only usage-relevant hint is the 15-minute delay caveat, which informs expectations rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_us_spot_emBRead-onlyIdempotent
东方财富网-美股-实时行情 https://quote.eastmoney.com/center/gridlist.html#us_stocks :return: 美股-实时行情;延迟 15 min :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe read-only, idempotent, open-world operation, and the description adds one genuinely useful behavioral fact beyond them: the data is delayed 15 minutes. However it says nothing about row count, column set, or snapshot timing, so the added context is thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short lines, front-loaded with source and subject, then return type and warning. The bare URL is marginally expendable but otherwise nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-param snapshot tool with no output schema, the description should at least hint at what fields the DataFrame carries or how large the snapshot is; instead it only names the return type and the 15-minute delay, leaving the payload opaque.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema/description have nothing to disambiguate; the baseline for a no-parameter tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific subject+resource: US stock real-time quotes (美股-实时行情) from East Money, with a source URL. It is clear what the tool returns, but nothing distinguishes it from close siblings such as stock_us_famous_spot_em or stock_us_pink_spot_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many similar US-equity siblings (famous spot, pink sheet spot, hist, hist_min, valuation). Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_us_valuation_baiduBRead-onlyIdempotent
百度股市通-美股-财务报表-估值数据 https://gushitong.baidu.com/stock/us-NVDA :param symbol: 股票代码 :type symbol: str :param indicator: choice of {"总市值", "市盈率(TTM)", "市盈率(静)", "市净率", "市现率"} :type indicator: str :param period: choice of {"近一年", "近三年", "全部"} :type period: str :return: 估值数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 近一年 | |
| symbol | No | NVDA | |
| indicator | No | 总市值 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds the source URL, parameter choices, and return type (pandas.DataFrame), which provide some context but do not disclose data freshness, error behavior, or symbol format nuances beyond the example.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the title and URL, followed by parameter documentation. It is not overly verbose, though the docstring format is a bit repetitive with the type lines.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and read-only, and the description plus annotations cover the essentials: parameters, choices, return type, and safety. However, it does not mention defaults (which are in the schema), potential errors, or how the symbol should be formatted (the URL uses 'us-NVDA' while the default is 'NVDA'), leaving some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description compensates for the 0% schema description coverage by documenting each parameter: symbol as a stock code string, indicator with five explicit choices, and period with three choices. This is valuable, but it stops short of explaining the meaning of each indicator or the exact accepted symbol format (e.g., 'NVDA' vs 'us-NVDA' from the URL).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as a Baidu Gushitong US stock valuation data tool, with an example URL and return type, distinguishing it from Hong Kong and A-share valuation siblings. However, it lacks an explicit verb like 'retrieve' or 'get,' relying on the noun '估值数据' to convey the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as stock_us_hist or stock_zh_valuation_baidu. The description only states what it returns, not under what circumstances it should be selected, and no exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_value_emBRead-onlyIdempotent
东方财富网-数据中心-估值分析-每日互动-每日互动-估值分析 https://data.eastmoney.com/gzfx/detail/300766.html :param symbol: 股票代码 :type symbol: str :return: 估值分析 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 300766 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the data source URL and return type (pandas.DataFrame), which is useful context, but does not disclose rate limits, pagination, or data freshness. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring containing source, URL, parameter docs, and return docs. It includes redundant repetition of '每日互动' and hardcodes an example URL, but overall is efficient and front-loaded with the data source.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with strong annotations and no output schema, the description covers the parameter and return type adequately. However, it does not specify the columns or metrics contained in the valuation analysis, nor any nuances about supported exchanges or code formats, leaving it minimally sufficient rather than rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema defines only symbol as a string with default '300766'. The description explicitly states ':param symbol: 股票代码' (stock code) and type str, providing meaning beyond the raw schema, especially for non-Chinese-speaking agents. The default value offers format hint, though no explicit format string is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source (东方财富网 East Money) and data type (估值分析 valuation analysis) with a URL, implying the tool retrieves valuation data for a given stock code. However, it lacks an explicit verb like 'fetch' or 'return', and the repeated '每日互动' (a specific company name) introduces ambiguity about whether the tool is generic or stock-specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus similar valuation tools such as stock_zh_valuation_baidu or stock_hk_valuation_comparison_em. No conditions, exclusions, or prerequisite details are provided, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_xgsglb_emARead-onlyIdempotent
新股申购与中签查询 https://data.eastmoney.com/xg/xg/default_2.html :param symbol: choice of {"全部股票", "沪市主板", "科创板", "深市主板", "创业板", "北交所"} :type symbol: str :return: 新股申购与中签数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 全部股票 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds the data source URL and return type (pandas.DataFrame), but does not disclose additional behaviors such as pagination or rate limits. This adds some value beyond annotations but is not rich in behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise, with a clear docstring structure. It includes a useful data source URL and parameter/return documentation. It could be slightly tighter, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter, the description is nearly complete: it states purpose, parameter values, return type, and source. It does not list the DataFrame columns, but given the low complexity and lack of output schema, this is an acceptable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines 'symbol' as a string with a default, with 0% description coverage. The description compensates fully by enumerating all valid values ('全部股票', '沪市主板', '科创板', '深市主板', '创业板', '北交所') and their meaning, providing complete parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: '新股申购与中签查询' (new stock subscription and winning results query), with a specific verb '查询' and resource. The URL and parameter choices further clarify the scope. It distinguishes from sibling tools by focusing on subscription and lottery results rather than other IPO stages like review or declaration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only defines what the tool does and lists the symbol parameter choices. No mention of exclusions or related tools (e.g., stock_ipo_review, stock_xgsr_ths), leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_xgsr_thsBRead-onlyIdempotent
同花顺-数据中心-新股数据-新股上市首日 https://data.10jqka.com.cn/ipo/xgsr/ :return: 新股上市首日 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds the source URL and return type (pandas.DataFrame) but provides no additional behavioral details such as rate limits or data update frequency. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and includes essential information: source path, URL, and return type. It is not overly verbose, though the placement of the URL in the middle of the text slightly disrupts flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool, the description provides enough to know it fetches new stock first-day data. However, with no output schema, it does not describe the data columns or provide any usage context, leaving some ambiguity about what the returned DataFrame contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing to explain. The baseline for 0 parameters is 4, and the description adds no extraneous parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source (同花顺-数据中心-新股数据-新股上市首日) and provides a URL and return type, but lacks an explicit verb like 'get' or 'list'. It is specific to new stock first-day listing data, which distinguishes it from sibling IPO tools, but the purpose is implied rather than directly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention related IPO tools like stock_ipo_ths or provide any context for when this data would be relevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_xjll_emBRead-onlyIdempotent
东方财富-数据中心-年报季报-业绩快报-现金流量表 https://data.eastmoney.com/bbsj/202003/xjll.html :param date: choice of {"20200331", "20200630", "20200930", "20201231", "..."};从 20100331 开始 :type date: str :return: 现金流量表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240331 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and parameter value examples, which is useful, but it does not disclose anything about rate limits, pagination, or the scope of the returned data beyond '现金流量表'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the resource name, followed by a URL, then parameter and return notes. It is reasonably sized and structured, though the URL could be considered non-essential for tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only data fetch, the description covers source, parameter format, and return type. However, it does not clarify what the returned DataFrame contains (columns, scope per stock or per market) and lacks differentiation from similar cash flow statement tools, leaving an agent to infer critical context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage for the single 'date' parameter is 0%, so the description must compensate. It gives example values like '20200331' and notes the starting range (from 20100331), which helps, but it does not fully enumerate choices or explain the default and the exact date format (e.g., quarter-end).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific source and resource: '东方财富-数据中心-年报季报-业绩快报-现金流量表'. This is more than a tautology and tells the agent it fetches cash flow statement data. However, it does not differentiate from siblings like stock_cash_flow_sheet_by_report_em that also provide cash flow statements, so sibling differentiation is missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only identifies the data source and parameter format; it does not say under what conditions an agent should choose this over other cash flow statement tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_yjbb_emBRead-onlyIdempotent
东方财富-数据中心-年报季报-业绩快报-业绩报表 https://data.eastmoney.com/bbsj/202003/yjbb.html :param date: "20200331", "20200630", "20200930", "20201231";从 20100331 开始 :type date: str :return: 业绩报表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20200331 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds the return type (pandas.DataFrame) and the valid date range (starting from 20100331), which is useful context beyond annotations, but it does not disclose details like data freshness 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description follows a docstring style with some redundancy: the URL and both :type: and :rtype: lines add little for an AI agent. The core information is front-loaded, but the extra elements reduce conciseness without adding actionable value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only data retrieval tool with no output schema, the description provides sufficient detail to call it correctly: it specifies the data source, return type, and parameter format. The main gap is the lack of differentiation from sibling tools, but that is not essential for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates by providing the date format (YYYYMMDD), four example quarter-end values, and the earliest supported date (20100331). It does not explain that the date represents a report period end, but the examples make this clear enough for invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the data source (东方财富-数据中心) and the exact resource (业绩报表), making it clear that it retrieves a performance report. However, it lacks an explicit verb and does not distinguish itself from sibling tools like stock_yjkb_em (业绩快报) or stock_yjyg_em (业绩预告), leaving some ambiguity about its precise scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any mention of prerequisites or exclusions. The description only lists the source and parameter details, offering no context for selection among the many sibling financial data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_yjkb_emARead-onlyIdempotent
东方财富-数据中心-年报季报-业绩快报 https://data.eastmoney.com/bbsj/202003/yjkb.html :param date: 财报发布日期;choice of {"20200331", "20200630", "20200930", "20201231", ...};从 20100331 开始 :type date: str :return: 业绩快报 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20211231 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered. The description adds the return type (pandas.DataFrame) and the upstream data page, but says nothing about latency, pagination, or data freshness beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is front-loaded with the source and resource, then the parameter and return type. It is compact with no filler, though the URL line is marginal value and the format is a plain docstring rather than prose tuned for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema read tool, the description covers the source, the parameter constraints, and the return type, which is close to sufficient. However, it does not clarify how the returned 业绩快报 differs from related sibling datasets, leaving an agent to infer the distinction.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema only carries a default value, so the description carries the burden of documenting the lone parameter. It supplies the enum of valid period-end dates and the earliest supported value (20100331), which materially improves correct invocation beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title/text identifies a specific data source (东方财富, 数据中心) and resource (年报季报-业绩快报), which lets an agent distinguish it from sibling report tools like stock_yjyg_em (预告) or stock_yjbb_em (报表). The verb is implicit ('fetch' the earnings express report) rather than explicit, but the resource is named unambiguously.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives date-format context (quarterly report dates, starting from 20100331), which hints at how to call it, but it never states when to prefer this over sibling tools such as stock_yjyg_em or stock_yjbb_em. Usage is implied by the source/resource naming rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_yjyg_emBRead-onlyIdempotent
东方财富-数据中心-年报季报-业绩预告 https://data.eastmoney.com/bbsj/202003/yjyg.html :param date: 财报发布日期;choice of {"20200331", "20200630", "20200930", "20201231", ...};从 20081231 开始 :type date: str :return: 业绩预告 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20200331 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false. The description adds no further behavioral context such as rate limits, authentication needs, or data update frequency; it only repeats the return type and source URL.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a title and URL, then Sphinx-style field directives. The URL may be extraneous for an agent, and the structure is not optimized for machine consumption, but it is not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description only says it returns a pandas.DataFrame of '业绩预告' without detailing columns or structure. This is minimal but arguably enough for an agent to know it is fetching earnings pre-announcement data, given the low complexity of the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It defines 'date' as the financial report release date, gives concrete example values in quarterly format (20200331, 20200630, etc.), and notes the starting date 20081231. This substantially clarifies the bare string parameter in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source and dataset ('东方财富-数据中心-年报季报-业绩预告'), which is specific enough to distinguish from sibling tools like stock_yjkb_em (业绩快报) or stock_yjbb_em (业绩报表). However, it lacks an explicit action verb and does not mention alternative tools, so it falls short of a full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The description only supplies parameter and return type information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_yysj_emARead-onlyIdempotent
东方财富-数据中心-年报季报-预约披露时间 https://data.eastmoney.com/bbsj/202003/yysj.html :param symbol: choice of {'沪深A股', '沪市A股', '科创板', '深市A股', '创业板', '京市A股', 'ST板'} :type symbol: str :param date: "20190331", "20190630", "20190930", "20191231";从 20081231 开始 :type date: str :return: 指定时间的上市公司预约披露时间数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20200331 | |
| symbol | No | 沪深A股 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint), so the description's burden is lower. It adds genuinely useful context beyond those flags: the data is sourced from Eastmoney's data center and the date coverage begins at 20081231, which tells the agent the boundaries of the dataset. It does not describe pagination, row counts, or freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the source/resource identity, then lays out parameters compactly. The raw source URL and RST field markers are inherited docstring scaffolding rather than synthesized prose, but they occupy little space and cause no ambiguity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two optional parameters, no output schema, and annotations covering the safety profile, the description supplies everything an agent needs: what the data represents, valid values for both inputs, and the date-range start. Return format is stated (:rtype: pandas.DataFrame), so nothing material is left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the schema has no descriptions or enums, so the description must carry parameter meaning — and it does: it enumerates all seven valid symbol values and gives concrete date examples while stating the earliest supported period (20081231). This is well above the baseline for an undocumented schema, though it doesn't explain the date format convention beyond examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (东方财富数据中心年报季报预约披露时间) with a clear domain and data source, so an agent can tell this returns scheduled earnings-disclosure dates rather than actual results. It stops short of naming or distinguishing itself from nearby siblings like stock_yjkb_em, stock_yjyg_em, or stock_report_disclosure, but the verb+resource pairing is specific enough to avoid confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use / when-not-to-use guidance and no alternatives are named. The parameter choices (symbol, date) implicitly define the scope, but the agent receives no statement of when this tool is preferable to the adjacent reporting-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_yzxdr_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-一致行动人 https://data.eastmoney.com/yzxdr/ :param date: 每年的季度末时间点 :type date: str :return: 一致行动人 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240930 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL, the date parameter's meaning, and the return type (pandas.DataFrame), which is useful, but it does not disclose additional behavioral traits such as output columns, pagination, or potential 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of a title line, source URL, and a docstring with param/return info. Each line serves a purpose, though the URL might be redundant for an AI agent. It is well-structured and contains no unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description provides the source, parameter meaning, and return type. However, it does not detail the output columns or the exact nature of the '一致行动人' data, which could be important for an agent to correctly interpret the results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameter descriptions, so the description must compensate. It explains the date parameter as '每年的季度末时间点' (year-end quarter end time point) with type str, adding meaning beyond the schema's bare type definition. However, it does not specify the exact date format or allowed values beyond the default '20240930'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as 一致行动人 (concerted action persons) from East Money's data center, and includes the source URL. It distinguishes this tool from siblings by naming the specific dataset, though it lacks an explicit verb like 'retrieves' or 'queries'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The only contextual hint is the parameter description '每年的季度末时间点' (year-end quarter end time point), but there is no explicit discussion of appropriate use cases or exclusions compared to other stock_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zcfz_bj_emBRead-onlyIdempotent
东方财富-数据中心-年报季报-业绩快报-资产负债表 https://data.eastmoney.com/bbsj/202003/zcfz.html :param date: choice of {"20200331", "20200630", "20200930", "20201231", "..."};从 20100331 开始 :type date: str :return: 资产负债表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240331 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds return type (pandas.DataFrame) and date-range context, but does not add auth, rate-limit, or other behavioral traits beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and mostly front-loads the source and dataset. The URL and :param/:return lines are structured and not excessive, though the URL is arguably non-essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter data-retrieval tool with no output schema, the description gives source, date format, and return type. However, in a very large sibling set it fails to clarify scope ('bj') or when to choose it over closely named alternatives, leaving meaningful selection ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It supplies the date format/enum examples (quarter-end strings from 20100331) and return type, substantially compensating for the missing schema description, though the default value 20240331 is not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the dataset (东方财富 balance sheet from annual/quarterly/earnings reports), so the high-level resource is clear. However, it does not explain the 'bj' scope or distinguish this tool from closely named siblings such as stock_zcfz_em or stock_balance_sheet_by_report_em, leaving purpose only partially resolved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, prerequisites, or alternatives are provided. The only usage-like detail is the date parameter's allowed values, which is parameter semantics rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zcfz_emCRead-onlyIdempotent
东方财富-数据中心-年报季报-业绩快报-资产负债表 https://data.eastmoney.com/bbsj/202003/zcfz.html :param date: choice of {"20200331", "20200630", "20200930", "20201231", "..."};从 20100331 开始 :type date: str :return: 资产负债表 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240331 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, covering the safety profile. The description adds only the return type (pandas.DataFrame) and no context on pagination, coverage, or caveats for this data fetch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is compact, but it is an unstructured Sphinx-style docstring with a raw URL and rst tags (:param, :type, :return) rather than front-loaded prose. Nothing is wasted, but the format is not optimized for an agent reading it as an instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema data fetch, the description supplies the parameter semantics and the return type, which is nearly sufficient. It is incomplete in that it does not differentiate this tool from the many sibling balance-sheet and 业绩快报 endpoints, leaving selection ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and does so well: it gives the accepted date values (20200331 format), the type (str), and the lower bound (从 20100331 开始). The default value in the schema is not explained, but the format and range are the critical semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source (东方财富数据中心 业绩快报) and the dataset (资产负债表), so an agent can infer it returns balance-sheet rows. However it never states a verb or scope in a way that distinguishes it from close siblings such as stock_balance_sheet_by_report_em or stock_zcfz_bj_em; the name plus title essentially label a dataset rather than describe an action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The 业绩快报 vs 报表 distinction that separates it from stock_balance_sheet_by_report_em is never stated, and no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zdhtmx_emBRead-onlyIdempotent
东方财富网-数据中心-重大合同-重大合同明细 https://data.eastmoney.com/zdht/mx.html :param start_date: 开始日期,eg 20200819 :type start_date: str :param end_date: 结束日期,eg 20230819 :type end_date: str :return: 股东大会 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | 20230819 | |
| start_date | No | 20200819 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds a source URL and a pandas.DataFrame return type, but omits data freshness, pagination, scope, and the meaning of the confusing ':return: 股东大会' line.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is short and front-loads the source/resource name before the URL and parameter fields. It has no major filler, but the questionable ':return: 股东大会' line slightly hurts clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations cover the safety profile and the description gives parameter examples, but with no output schema it does not explain the returned columns, and it omits usage context. It is minimally adequate for a simple date-range data pull but leaves clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden. It documents both parameters with Chinese labels and concrete YYYYMMDD examples, adding format and meaning beyond the schema, though it could specify inclusive/exclusive date behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Identifies the resource as 东方财富网 data center 重大合同明细 and provides a source URL. The resource is specific enough for an agent to recognize what data it fetches, though it lacks an explicit verb and does not differentiate itself from sibling stock-data tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Only documents start_date and end_date; there is no when-to-use, prerequisite, or alternative-tool guidance. An agent gets no routing help among the many sibling stock/macro data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_ab_comparison_emBRead-onlyIdempotent
东方财富网-行情中心-沪深京个股-AB股比价-全部AB股比价 https://quote.eastmoney.com/center/gridlist.html#ab_comparison :return: 实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only and idempotent. The description adds that it returns real-time quotes as a pandas DataFrame, which is useful context beyond the annotations. However, it does not mention other behavioral traits like data freshness, pagination, or specific fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a title line, a source URL, and return type information. Each element serves a purpose without excess verbosity, though it could be slightly more explicit about the data scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter data retrieval tool, the description provides essential context: data source (Eastmoney), market scope (沪深京), data type (AB股比价), and return type (pandas DataFrame). No output schema exists, but the return type is stated clearly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters in the schema, so parameter documentation is not needed. The description makes no parameter claims, and the baseline for zero parameters is appropriately 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving AB-share comparison real-time quotes from Eastmoney's market center, specifying the market scope (沪深京) and data type (AB股比价). It includes a source URL, which adds credential. However, it lacks an explicit verb like 'get' or 'fetch', reading more like a title than a functional statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as stock_zh_ah_spot or stock_zh_b_spot. The description only states what it returns, with no context about scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_cdr_dailyBRead-onlyIdempotent
新浪财经-A股-CDR个股的历史行情数据,大量抓取容易封 IP https://finance.sina.com.cn/realstock/company/sh689009/nc.shtml :param start_date: 20201103;开始日期 :type start_date: str :param end_date: 20201103;结束日期 :type end_date: str :param symbol: sh689009 :type symbol: str :return: specific data :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | sh689009 | |
| end_date | No | 22201116 | |
| start_date | No | 19900101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), so the description's genuinely additive contribution is the rate-limit/IP-ban warning, which an agent cannot infer from structured fields. It adds no detail about the shape or granularity of the returned data, hence not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring is functional but padded with a raw URL and a generic ':return: specific data' that earns little, plus repetitive Sphinx :param/:type pairs. Content is front-loaded reasonably but not tightly edited.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a data-fetch tool with no output schema, the description should say more about what the returned DataFrame contains; ':return: specific data' is uninformative. The rtype hint and the rate-limit warning partially compensate, but return-value expectations remain vague.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden. It supplies concrete examples ('20201103' implying YYYYMMDD date format, 'sh689009' implying a prefixed symbol) that the bare schema does not convey, although it does not reconcile the odd default '22201116' or the exact symbol format rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource (historical quote data) and a precise scope (Sina Finance, A-share, CDR individual stock), which separates it from broad siblings like stock_zh_a_daily or stock_us_daily. It does not explicitly name an alternative, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It warns that bulk scraping easily triggers IP bans, which is a useful operational caveat, but gives no guidance on when to choose this over sibling tools such as stock_zh_a_daily or stock_zh_a_hist. No when-to-use or exclusion criteria are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_dailyARead-onlyIdempotent
新浪财经-A 股-个股的历史行情数据,大量抓取容易封 IP https://finance.sina.com.cn/realstock/company/sh603843/nc.shtml :param symbol: sh600000 :type symbol: str :param start_date: 20201103;开始日期 :type start_date: str :param end_date: 20201103;结束日期 :type end_date: str :param adjust: 默认为空:返回不复权的数据;qfq: 返回前复权后的数据;hfq: 返回后复权后的数据;hfq-factor: 返回后复权因子;qfq-factor: 返回前复权因子 :type adjust: str :return: 行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| symbol | No | sh603843 | |
| end_date | No | 21000118 | |
| start_date | No | 19900101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, so the safety profile is covered. The description adds genuine non-structured context: a scraping rate limit that can cause IP blocking, plus the exact adjust-mode semantics (qfq/hfq/factor). This is real value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and useful, but the docstring-style :param/:type/:return boilerplate and a raw finance.sina.com URL add length. Given the 0% schema coverage the param lines earn their place, but the structure is closer to raw source docs than a curated definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only history tool with no output schema, the description covers source, params, adjust semantics, and the key operational risk (IP ban). It is essentially complete for correct invocation, with only minor gaps in date-format specification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden, and it does document all four params: symbol format example, date-string format, and the adjust modes with defaults. It adds meaning the schema does not, though formats like 'YYYYMMDD' are only shown by example rather than stated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('新浪财经 - A股 - 个股的历史行情数据'), which is immediately clear. It also names the data source (Sina) which is what distinguishes it from the 东财 (stock_zh_a_hist) and 腾讯 (stock_zh_a_hist_tx) siblings, though it doesn't name those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The rate-limit warning ('大量抓取容易封 IP') implies when to use cautiously, but there is no explicit when-to-use or when-to-prefer-another-source guidance. The agent must infer that this is a Sina-sourced daily history endpoint from the sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_disclosure_relation_cninfoCRead-onlyIdempotent
巨潮资讯-首页-数据-预约披露调研 http://www.cninfo.com.cn/new/commonUrl?url=data/yypl :param symbol: 股票代码 :type symbol: str :param market: choice of {"沪深京", "港股", "三板", "基金", "债券", "监管", "预披露"} :type market: str :param start_date: 开始时间 :type start_date: str :param end_date: 开始时间 :type end_date: str :return: 指定 symbol 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | 沪深京 | |
| symbol | No | 000001 | |
| end_date | No | 20231219 | |
| start_date | No | 20230618 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, which already establish safe read behavior. The description adds the data source URL and return type, but does not disclose rate limits, pagination, data freshness, or any caveats about the returned disclosure data. It does not contradict annotations; it simply provides minimal extra behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a consistent docstring structure. The title, URL, and parameters are listed with little waste, though the duplicated '开始时间' for end_date is a clear error that should be fixed. It is not front-loaded with a single-sentence summary, but it remains relatively efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining return values, but it only states that the result is a DataFrame for the given symbol. It does not explain what the scheduled disclosure ('预约披露') data contains, what columns are returned, or how the date range interacts with the survey. An agent cannot tell if this is the correct tool for a specific disclosure relationship query without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no parameter descriptions, so the docstring's param blocks are the only source of meaning. It defines symbol as stock code, market with an explicit choice set, and dates as start/end time. However, end_date is incorrectly described as '开始时间' (start time) instead of '结束时间', and the date format is only inferable from defaults. This partial but flawed documentation earns a mid score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a source title and URL but never states the tool's action. The return type is specified as pandas.DataFrame for the given symbol, but the data content is only implied by the title '预约披露调研'. No explicit verb like 'query' or 'list', and no differentiation from sibling tools such as stock_zh_a_disclosure_report_cninfo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of use cases, prerequisites, or exclusion conditions. The only contextual hint is the URL, which does not help an agent choose among the many cninfo-related functions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_disclosure_report_cninfoCRead-onlyIdempotent
巨潮资讯-首页-公告查询-信息披露公告 http://www.cninfo.com.cn/new/commonUrl/pageOfSearch?url=disclosure/list/search :param symbol: 股票代码 :type symbol: str :param market: choice of {"沪深京", "港股", "三板", "基金", "债券", "监管", "预披露"} :type market: str :param keyword: 关键词 :type keyword: str :param category: choice of {'年报', '半年报', '一季报', '三季报', '业绩预告', '权益分派', '董事会', '监事会', '股东大会', '日常经营', '公司治理', '中介报告', '首发', '增发', '股权激励', '配股', '解禁', '公司债', '可转债', '其他融资', '股权变动', '补充更正', '澄清致歉', '风险提示', '特别处理和退市', '退市整理期'} :type category: str :param start_date: 开始时间 :type start_date: str :param end_date: 开始时间 :type end_date: str :return: 指定 symbol 的数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | 沪深京 | |
| symbol | No | 000001 | |
| keyword | No | ||
| category | No | ||
| end_date | No | 20231219 | |
| start_date | No | 20230618 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds the URL and return type but does not disclose additional behaviors like rate limits, authentication needs, or handling of invalid inputs. It also contains a typo where end_date is described as '开始时间' (start time), which is misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a structured docstring with URL, parameters, and return type. It is reasonably compact but lacks a concise opening sentence and contains a long list of category choices. It is acceptable but not optimally organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With six parameters and no output schema, the description must clearly explain the return value and usage. It only says '指定 symbol 的数据' (data for specified symbol), leaving the result structure and semantics ambiguous. It also does not explain how start_date/end_date work or what the tool is intended for beyond the title.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides Chinese labels for all six parameters and enumerates choices for market and category, which compensates for the schema lacking descriptions (0% coverage). However, the labels are often terse or tautological (e.g., 'keyword: 关键词'), and the date format is not specified, so the compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description lacks an explicit verb or clear statement of what the tool does. It provides a Chinese title and a URL, then lists parameters, but the action (e.g., querying disclosure reports) is only implied. It does not differentiate from siblings like stock_notice_report or stock_zh_a_disclosure_relation_cninfo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The description is purely parameter documentation with no contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_gbjg_emARead-onlyIdempotent
东方财富-A股数据-股本结构 https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html#/gbjg :param symbol: 股票代码 :type symbol: str :return: 股本结构 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 603392.SH |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds the data source URL and the return type (pandas.DataFrame), but does not disclose any additional behavioral traits such as code format requirements, data update frequency, or potential limitations. It adds some value beyond annotations but is 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a tight, structured docstring with title, source URL, parameter, and return type. Every line serves a purpose with no fluff or repetition. It is front-loaded with the title and immediately informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple, single-parameter, read-only data-fetching tool. It specifies the return type and data source, and the annotations cover safety semantics. It does not describe output columns or edge cases, but for this level of complexity the information is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage for the 'symbol' parameter, but the description compensates by documenting ':param symbol: 股票代码' and ':type symbol: str'. The default value in the schema ('603392.SH') provides a concrete format example. This is sufficient for the single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving A-share equity structure data (股本结构) from Eastmoney, with a URL and return type confirming the purpose. It lacks an explicit verb like 'get' or 'retrieve', but the resource and scope are specific and distinguish it from generic stock tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention exclusions, prerequisites, or why this tool should be chosen over similar sibling tools like stock_zcfz_em or stock_zh_a_gdhs. The context is purely descriptive with no decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_gdhsBRead-onlyIdempotent
东方财富网-数据中心-特色数据-股东户数
https://data.eastmoney.com/gdhs/
:param symbol: choice of {"最新", "每个季度末"},其中 每个季度末需要写成 20230930 格式
:type symbol: str
:return: 股东户数
:rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 20230930 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so safety behavior needs no restating. The description adds modest value by naming the source (东方财富网数据中心) and the return type (pandas.DataFrame). It does not describe columns, coverage, or update cadence, so it adds context but not rich behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The Sphinx-style docstring is compact and front-loads the source and resource before the param block. The bare URL adds little beyond the already-named source, and the `:type`/`:rtype` lines are mechanical padding, but it is not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema and no required params, the description covers what the tool returns and how to format the one argument, which is adequate. It still omits any routing guidance relative to stock_zh_a_gdhs_detail_em and gives no sense of the returned dataframe's shape or coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (the single symbol param has only a default and no description or enum), so the description carries the full burden. It usefully specifies the accepted values {"最新", "每个季度末"} and the required `20230930` date format for quarterly input. That meaningfully exceeds what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (股东户数/股东户数 data from Eastmoney's data center) and implies retrieval, so the agent knows what data comes back. However, it uses no explicit verb, and it does not distinguish itself from the closely related sibling stock_zh_a_gdhs_detail_em. Purpose is inferable but not perfectly disambiguated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or what alternatives exist for shareholder-count data. The sibling stock_zh_a_gdhs_detail_em is never mentioned, leaving the agent to guess which to pick. Only the parameter format is hinted at, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_gdhs_detail_emBRead-onlyIdempotent
东方财富网-数据中心-特色数据-股东户数详情 https://data.eastmoney.com/gdhs/detail/000002.html :param symbol: 股票代码 :type symbol: str :return: 股东户数 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to cover basic safety. It adds the data source URL and return type (pandas.DataFrame), which provide some context about output format, but it does not disclose other behavioral traits such as pagination, rate limits, or the specific columns in the returned DataFrame. This is acceptable but not enriched beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and structured as a docstring with source URL, parameters, and return type. It is not verbose and every line adds something, though the URL line is somewhat redundant with the title. It remains well-organized and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter and no output schema, the description tells the agent the input (symbol) and the return type (pandas.DataFrame), but it does not detail what columns or data the '股东户数详情' (shareholder count details) actually contains. It is minimally sufficient but leaves ambiguity about the structure and scope of the returned data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'symbol' with no description (0% schema coverage), so the description carries the burden. It explains ':param symbol: 股票代码' (stock code) and gives an example URL using 000002, clarifying the expected input format. It also states the return type, adding meaning beyond the bare parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (Eastmoney Data Center - Shareholder Count Details) and provides an example URL, making it clear this tool retrieves shareholder count detail data for a given stock. It lacks an explicit verb like 'retrieve' or 'get', but the intent is clear. It does not explicitly distinguish from sibling tools like stock_zh_a_gdhs, though the 'detail' in the name and description offers some differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention sibling tools, exclusions, or specific use cases. The description simply states the data source and parameters, leaving the agent without context for selecting this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_ah_dailyBRead-onlyIdempotent
腾讯财经-港股-AH-股票历史行情 https://gu.qq.com/hk01033/gp :param symbol: 股票代码 :type symbol: str :param start_year: 开始年份;e.g., “2000” :type start_year: str :param end_year: 结束年份;e.g., “2019” :type end_year: str :param adjust: 'qfq': 前复权,'hfq': 后复权 :type adjust: str :return: 指定股票在指定年份的日频率历史行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| symbol | No | 02318 | |
| end_year | No | 2019 | |
| start_year | No | 2000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds useful context beyond that: the data source (Tencent), the daily frequency, and that output is a pandas.DataFrame of historical quotes. It does not disclose rate limits, symbol-format quirks, or behavior for missing/empty ranges.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The Sphinx-style docstring is functional but boilerplate-heavy, with :type/:rtype lines that repeat what the prose already says. Content is front-loaded with the source/resource line, but the structure is generic autogenerated documentation rather than a tuned tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 0% schema coverage, the description does state the return type and granularity, which is the minimum needed. However, gaps remain around symbol formatting, default/empty year behavior, and failure modes, which matter for a parameterized historical-data fetch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden, and it documents all four parameters. Notably it adds enum-like semantics for adjust ('qfq'=前复权, 'hfq'=后复权) that the schema does not encode, plus year semantics for start_year/end_year. It falls short of specifying symbol format (e.g., '02318' vs '01033').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: fetch daily-frequency historical quotes for HK AH stocks from Tencent Finance, with an example URL. It is clear what the tool does, but it never names or contrasts with closely related siblings such as stock_hk_daily or stock_zh_ah_spot, so differentiation rests entirely on the 'AH' cue in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, no prerequisites, and no exclusions. The example URL and the year-based framing imply a historical/quasi-time-series use case, but the agent is left to infer this entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_histBRead-onlyIdempotent
东方财富网-行情首页-沪深京 A 股-每日行情 https://quote.eastmoney.com/concept/sh603777.html?from=classic :param symbol: 股票代码 :type symbol: str :param period: choice of {'daily', 'weekly', 'monthly'} :type period: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :param adjust: choice of {"qfq": "前复权", "hfq": "后复权", "": "不复权"} :type adjust: str :param timeout: choice of None or a positive float number :type timeout: float :return: 每日行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| period | No | daily | |
| symbol | No | 000001 | |
| timeout | No | ||
| end_date | No | 20500101 | |
| start_date | No | 19700101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is clear. The description adds the data source (East Money) and return type (pandas.DataFrame), but does not disclose any additional behavioral details such as rate limits, pagination, or how adjust values affect data. It does not contradict annotations, so it scores at a baseline level for a read-only historical data tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description includes a URL that is not essential for an AI agent and the structure mixes a Chinese title, URL, and parameter docs in a single block. While the parameter docs are useful and clear, the overall presentation is not as concise or well-structured as it could be, with extraneous URL and redundant title information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 6 parameters and no output schema, so the description should explain the return format. It only states the return is '每日行情' (daily quotes) of type pandas.DataFrame, without detailing columns or data granularity. This is minimally sufficient but lacks the richness needed to fully understand the output and edge cases, especially given the large sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden for parameter documentation. It provides detailed docs for all six parameters, including choices for period and adjust, date semantics for start_date/end_date, and timeout as None or positive float. This fully compensates for the missing schema descriptions and gives an agent everything needed to invoke the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource (East Money A-share daily quotes) and includes the URL source. The parameter list for period and adjust indicates it's a historical data retrieval tool. However, it lacks an explicit verb like 'fetch' or 'retrieve', and it does not differentiate itself from siblings like stock_zh_a_daily or stock_zh_a_hist_tx.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description simply lists parameters and return type, with no mention of scenarios, prerequisites, or exclusions. The sibling tools offer similar functions (e.g., stock_zh_a_hist_min_em, stock_zh_a_daily), and this description does not help an agent choose among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_hist_min_emBRead-onlyIdempotent
东方财富网-行情首页-沪深京 A 股-每日分时行情 https://quote.eastmoney.com/concept/sh603777.html?from=classic :param symbol: 股票代码 :type symbol: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :param period: choice of {'1', '5', '15', '30', '60'} :type period: str :param adjust: choice of {'', 'qfq', 'hfq'} :type adjust: str :return: 每日分时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| period | No | 5 | |
| symbol | No | 000001 | |
| end_date | No | 2222-01-01 09:32:00 | |
| start_date | No | 1979-09-01 09:32:00 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, which convey safety. The description adds the data source (Eastmoney) and return type (pandas.DataFrame) but does not disclose additional behaviors like pagination, rate limits, or data granularity beyond the period parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with a URL, parameters, and return type. It is reasonably concise, but the URL and repetitive type annotations add some clutter. It is front-loaded with the main purpose, which helps readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description only states '每日分时行情' and 'rtype: pandas.DataFrame' without describing the DataFrame's columns or indexing. It also lacks context on limitations, such as data frequency or potential web scraping issues, leaving important information for a tool with no structured output definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates by detailing each parameter, including period choices ('1','5','15','30','60') and adjust choices ('', 'qfq', 'hfq'). It also states parameter types (str), adding meaningful semantic information beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves daily intraday quotes (每日分时行情) for A-shares from Eastmoney, with a specific verb and resource. It distinguishes itself from daily historical tools like stock_zh_a_hist by its focus on minute-level data, though it does not explicitly mention alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description lacks any mention of use cases, exclusions, or comparisons to related tools such as stock_zh_a_hist or stock_zh_a_minute, leaving the user to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_hist_pre_min_emBRead-onlyIdempotent
东方财富网-行情首页-沪深京 A 股-每日分时行情包含盘前数据 https://quote.eastmoney.com/concept/sh603777.html?from=classic :param symbol: 股票代码 :type symbol: str :param start_time: 开始时间 :type start_time: str :param end_time: 结束时间 :type end_time: str :return: 每日分时行情包含盘前数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000001 | |
| end_time | No | 15:50:00 | |
| start_time | No | 09:00:00 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds the return type (pandas.DataFrame), data source URL, and the pre-market inclusion, which are useful but do not disclose deeper behaviors such as date handling, rate limits, or data granularity specifics. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the source and data type, and uses a structured docstring format for parameters. The URL is potentially distracting but not excessive. No significant redundancy beyond the title repeating in both description and annotation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description omits critical context such as how the date is determined (no date parameter), what the output DataFrame columns are, and how pre-market data is defined. This is especially problematic because the tool name says 'hist' yet there is no date parameter, making it unclear whether this returns data for a single day or requires external date context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema_description_coverage at 0%, the description compensates minimally by providing parameter types and Chinese descriptions for symbol, start_time, and end_time. However, the descriptions are terse ('股票代码', '开始时间', '结束时间') and lack format examples or constraints beyond the defaults, leaving ambiguity about symbol format and time semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing pre-market and intraday minute data for Shanghai/Shenzhen/Beijing A-shares from East Money, which distinguishes it from regular A-share minute history tools like stock_zh_a_hist_min_em. The verb '获取' is implicit but the resource and data scope are explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The description only states what it returns, without mentioning scenarios or exclusions. The 'pre-market' distinction is implied by the name and title but never turned into actionable advice for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_hist_txBRead-onlyIdempotent
腾讯证券-日频-股票历史数据 https://gu.qq.com/sh000919/zs :param symbol: 带市场标识的股票或者指数代码 :type symbol: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :param adjust: choice of {"qfq": "前复权", "hfq": "后复权", "": "不复权"} :type adjust: str :param timeout: choice of None or a positive float number :type timeout: float :return: 历史行情数据,其中 volume 统一为股,amount 统一为元 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| symbol | No | sz000001 | |
| timeout | No | ||
| end_date | No | 20500101 | |
| start_date | No | 19000101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds useful return semantics (volume normalized to shares, amount to yuan), which goes beyond the schema, but says nothing about rate limits, auth, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The docstring-style layout is compact and front-loads the source and purpose with a reference URL. Every line maps to a parameter or return, with little filler, though the sphinx :type: lines are somewhat redundant against the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully declares the return type (pandas.DataFrame) and unit conventions. Combined with the parameter documentation and annotations, an agent has enough to call it, though source differentiation from sibling history tools remains missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It clarifies symbol as a market-qualified code, gives adjust enum values (qfq/hfq/none), and defines timeout, but start_date/end_date are only labeled 'start date'/'end date' with no format, so date syntax (defaults 19000101–20500101) must be guessed from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource+source: daily-frequency historical stock data from Tencent Securities. An agent can tell it retrieves daily OHLC history. However, it does not distinguish itself from the many sibling history tools such as stock_zh_a_hist (East Money version) or stock_zh_a_daily, leaving source-selection ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives. The description does not tell the agent when to prefer this Tencent-sourced tool over stock_zh_a_hist, stock_zh_a_daily, or stock_zh_a_hist_min_em, so routing must be inferred entirely from the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_ah_nameARead-onlyIdempotent
腾讯财经-港股-AH-股票名称 https://stockapp.finance.qq.com/mstats/#mod=list&id=hk_ah&module=HK&type=AH :return: 股票代码和股票名称的字典 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds return content but introduces an internal contradiction: :return: says '字典' (dict) while :rtype: states pandas.DataFrame, and it does not clarify the actual structure or columns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, containing a title, source URL, and return docs in a few lines. However, the return-type inconsistency and lack of clean organization prevent it from being exceptionally well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 conveys the essential purpose and return shape, but the dict/DataFrame conflict and absence of details about key/value structure leave ambiguity. No output schema exists, so the description must carry the full burden, which it only partially meets.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema already captures everything needed. With no parameters, the baseline of 4 applies, as the description is not required to explain parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns a dictionary of stock codes and names for Tencent Finance HK AH stocks, supported by a source URL. The title and return description distinctly identify it as a name lookup tool, differentiating it from siblings like stock_zh_ah_daily and stock_zh_ah_spot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when needing the AH stock name mapping via its :return: statement, but provides no explicit guidance on when to choose this tool over alternatives or any exclusions. No alternative tools are mentioned, leaving context implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_ah_spotBRead-onlyIdempotent
腾讯财经-港股-AH-实时行情 https://stockapp.finance.qq.com/mstats/#mod=list&id=hk_ah&module=HK&type=AH&sort=3&page=3&max=20 :return: 腾讯财经-港股-AH-实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds the return type (pandas DataFrame) but does not disclose additional behavioral traits such as data freshness, rate limits, or pagination behavior. It does not contradict annotations but contributes little beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but not optimally structured. It repeats the same Chinese phrase in the main text and in the return field, and includes a long URL that may not be essential. The key information is front-loaded but there is some redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and no output schema, the description should explain what the returned DataFrame contains. It only states the return type, not the columns or data structure. However, for a simple real-time quote tool, this may be sufficient for basic selection and invocation, but not for full interpretation of the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since there are zero parameters, the schema is trivially fully covered. The baseline for 0-parameter tools is 4, and the description adds no parameter-specific information because none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '腾讯财经-港股-AH-实时行情' which identifies the tool as providing real-time AH market quotes from Tencent Finance, and the function name 'spot' reinforces this. However, it does not distinguish this tool from sibling tool stock_zh_ah_spot_em, which likely offers similar data from a different source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to select this tool over alternatives. It only includes a URL and a return type; there is no mention of use cases, exclusions, or comparisons with related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_ah_spot_emBRead-onlyIdempotent
东方财富网-行情中心-沪深港通-AH股比价-实时行情 https://quote.eastmoney.com/center/gridlist.html#ah_comparison :return: 东方财富网-行情中心-沪深港通-AH股比价-实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and the return type (pandas.DataFrame), which is useful but minimal. It does not disclose additional behavioral traits like rate limits, data freshness, or scope of the returned data. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but contains redundancy: the first line and the ':return:' line are essentially identical. The URL and ':rtype:' add some structure, but the repeated phrase makes it less concise than it could be. It is a mix of a title, URL, and docstring-style return information without a clear front-loaded summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter real-time quote tool, the description provides the data source and return type, which is somewhat helpful. However, since there is no output schema, the description could explain more about the returned data, such as the list of AH stocks or columns. It does not mention whether this is a full snapshot or if any filtering applies, leaving some ambiguity for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers parameter semantics (vacuously at 100%). Per the rubric, a baseline of 4 is appropriate for 0 params, and the description does not need to add parameter details. The description provides no parameter information, which is fine since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning AH share price comparison real-time quotes from East Money (东方财富网). The included URL and the word '实时行情' (real-time quotes) specify the resource and type of data. It distinguishes from similar siblings like stock_zh_ah_daily (historical) and stock_zh_ah_spot (likely a different source) through the _em suffix and East Money URL, though it lacks an explicit verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as stock_zh_ah_spot, stock_zh_ah_daily, or stock_zh_ab_comparison_em. It does not state any context, prerequisites, or exclusions. The only clue is the East Money URL, which is not explicit usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_minuteBRead-onlyIdempotent
股票及股票指数历史行情数据-分钟数据 https://finance.sina.com.cn/realstock/company/sh600519/nc.shtml :param symbol: sh000300 :type symbol: str :param period: 1, 5, 15, 30, 60 分钟的数据 :type period: str :param adjust: 默认为空:返回不复权的数据;qfq: 返回前复权后的数据;hfq: 返回后复权后的数据; :type adjust: str :return: specific data :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| period | No | 1 | |
| symbol | No | sh600519 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive, so the safety profile is covered. The description adds the data source (Sina, via the URL) and the minute-level granularity, plus adjust semantics, which is useful. It says nothing about rate limits, coverage windows, or whether the tool may return empty for certain symbols/periods.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a Sphinx-style docstring pasted in, with a raw URL and a redundant ':return: specific data / :rtype: pandas.DataFrame'. The substantive content is front-loaded but there is non-earning cruft. Adequate but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only data-retrieval tool with full annotations and no output schema, the definition is largely sufficient: purpose, params and granularity are covered. It stops short of clarifying the schemas/columns returned or the relationship to the many sibling minute-data tools, which is the main remaining gap for correct selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden and largely meets it: it documents symbol format (sh000300/sh600519), the valid period values (1, 5, 15, 30, 60), and the adjust modes (empty=unadjusted, qfq=forward, hfq=backward). This meaningfully compensates for the empty schema. Minor gap: it does not state defaults, though those are visible in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description state a specific resource: minute-level historical quote data for stocks and stock indices, with a concrete example symbol. An agent can tell this is a minute-frequency historical data retrieval tool. However, it does nothing to distinguish itself from close siblings like stock_zh_a_hist_min_em or index_zh_a_hist_min_em (different data sources/formats).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when this tool should be chosen over the many other minute/historical quote tools in the sibling set. No prerequisites, no exclusions, no alternative named. The agent must infer usage purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_newBRead-onlyIdempotent
新浪财经-行情中心-沪深股市-次新股 https://vip.stock.finance.sina.com.cn/mkt/#new_stock :return: 次新股行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the data source URL and return type (pandas.DataFrame) but does not disclose details like data freshness, universe definition, or limitations. This adds some value beyond the annotations but leaves behavioral questions unanswered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise: a title, a URL, and return type annotations. It is front-loaded and contains no fluff. It follows a standard docstring structure. However, it is so short that it approaches under-specification, though it remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the zero-parameter, no-output-schema nature of the tool, the description covers the source and return type. However, it fails to explain what '次新股行情数据' actually contains, such as which stocks are included, column names, or whether the data is real-time or historical. In the context of many similar stock tools, more detail would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is trivially complete. Since no parameters exist, the description does not need to explain parameter meanings. The baseline of 4 applies because there is no parameter burden to compensate for, and the description correctly omits parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as providing new stock (次新股) market data from Sina Finance. It clearly distinguishes the tool from siblings by specifying the 'new stock' segment of the Shanghai/Shenzhen market. The lack of an explicit verb like 'fetch' or 'get' is a minor gap, but '行情数据' clearly implies data retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. There is no mention of when to use this tool compared to alternatives such as stock_zh_a_spot_em or stock_zh_a_new_em, nor any exclusions or prerequisites. The description gives no context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_new_emBRead-onlyIdempotent
东方财富网-行情中心-沪深个股-新股 https://quote.eastmoney.com/center/gridlist.html#newshares :return: 新股 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds the source URL and return type (pandas DataFrame), but no additional behavioral traits like rate limits, pagination, or network dependencies. Since annotations cover the safety profile, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with three useful lines: source/scope, URL, and return type. The URL might be extra but provides context. It is not padded or verbose, earning a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool without an output schema, the description conveys the basic purpose and return type. However, it does not detail what 'new stocks' means (e.g., listing time window), the columns in the DataFrame, or any other constraints. Given the many sibling stock tools, a bit more explanation of the exact data would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so no parameter information is needed. According to the rubric, 0 parameters gives a baseline of 4. The description correctly provides no unnecessary parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source (东方财富网/行情中心/沪深个股/新股) and the output (新股, pandas DataFrame). The verb is implicit rather than explicit, but the resource and scope are clear. The mention of Eastmoney and URL helps distinguish from siblings like 'stock_zh_a_new'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 similar siblings (e.g., 'stock_new_a_spot_em', 'stock_zh_a_spot_em'). There is no comparison, prerequisites, or alternative recommendations, making it purely a data-source docstring.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_spotARead-onlyIdempotent
新浪财经-所有 A 股的实时行情数据;重复运行本函数会被新浪暂时封 IP https://vip.stock.finance.sina.com.cn/mkt/#hs_a :return: 所有股票的实时行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint and destructiveHint=false. The description adds a genuinely useful operational note beyond that: repeated invocation gets the caller's IP temporarily blocked by Sina. This is exactly the kind of context annotations don't carry. It does not describe pagination or field coverage, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded, with the rate-limit caveat prominent. The docstring-style ':return:'/' :rtype:' lines repeat the first sentence's meaning, which is mild redundancy, but overall it is tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description states the return is all A-share real-time quotes as a pandas.DataFrame, and flags the rate-limit risk. For a zero-parameter data-fetch tool this is adequate, though it doesn't say what columns/fields come back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There is nothing for the description to clarify beyond the absent input surface.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: real-time spot quotes for all A-shares from Sina Finance. Clear enough for an agent to know what it returns. However, it does not distinguish this from the many sibling spot tools (stock_zh_a_spot_em, stock_zh_a_spot_tx, stock_sz_a_spot_em, etc.), so an agent cannot tell which source/scope to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 the parallel _em/_tx/sz_a spot variants. The only usage-adjacent statement is a rate-limit warning, which is a behavioral note, not when-to-use guidance. An agent has to infer selection criteria on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_spot_emARead-onlyIdempotent
东方财富网-沪深京 A 股-实时行情 https://quote.eastmoney.com/center/gridlist.html#hs_a_board :return: 实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds the source URL and confirms the return type as pandas.DataFrame, but does not disclose potential rate limits or data freshness, which is acceptable for a read-only spot quote tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with a title, source URL, and return type in three short lines. Every element adds information; the URL is useful for source verification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with strong annotations, the description provides the essential behavior: returns real-time quotes for all A-shares from Eastmoney as a DataFrame. No output schema exists, but the tool's simplicity and the description's clarity keep it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema description coverage is trivially 100%. The description correctly adds no parameter information, and the baseline for zero-param tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns real-time A-share quotes from Eastmoney, covering Shanghai, Shenzhen, and Beijing. The name 'stock_zh_a_spot_em' and the title '东方财富网-沪深京 A 股-实时行情' explicitly distinguish it from exchange-specific or alternate-source sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as stock_sh_a_spot_em or stock_zh_a_spot. The description only states what the tool does, without describing usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_spot_txARead-onlyIdempotent
腾讯证券-沪深京-实时行情数据 https://stockapp.finance.qq.com/mstats/#mod=list&id=hs_hsj&module=hs&type=hsj&sort=2&page=1&max=20 :return: 所有股票的实时行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering safety and mutability. The description adds the return type (pandas.DataFrame), the specific source (Tencent), and the scope (all stocks for SH/SZ/BJ), which provides some context beyond annotations. It does not contradict annotations and offers a modest behavioral addition, but no deeper details like rate limits or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: a clear title line, a source URL, and standard return/rtype annotations. It avoids bloat and front-loads the key information. The URL adds verifiable provenance but is not strictly necessary; still, the overall structure is efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter retrieval tool, the description covers the essential elements: data source, market coverage, data type (real-time), and return format. With annotations covering safety and no output schema present, this is sufficient for an agent to correctly invoke and interpret the result. Minor gaps like specific columns or update frequency remain, but they are not critical for selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is an empty object with zero parameters, so there are no parameter semantics to describe. The description correctly implies no inputs are required, matching the 100% schema coverage. Per rubric, 0 params yields a baseline of 4; no additional param details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states "腾讯证券-沪深京-实时行情数据" (Tencent Securities - SH/SZ/BJ - real-time quotes) and "所有股票的实时行情数据" (real-time data for all stocks), clearly identifying the source (Tencent), market coverage (Shanghai, Shenzhen, Beijing), and data type. This distinguishes it from sibling tools like stock_zh_a_spot_em (Eastmoney) and stock_zh_a_spot (other sources) via the explicit Tencent source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool over alternatives. The description only explains what it returns (all-stock real-time quotes) but does not mention scenarios, exclusions, or compare with other spot data tools. Unlike the high-scoring example, it names no alternative tools or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_st_emBRead-onlyIdempotent
东方财富网-行情中心-沪深个股-风险警示板 https://quote.eastmoney.com/center/gridlist.html#st_board :return: 风险警示板 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a safe, read-only, idempotent operation, so the bar for additional behavioral disclosure is lower. The description adds that it returns a pandas DataFrame and references the Eastmoney gridlist ST board URL, which provides provenance. However, it does not disclose any further behavioral traits such as column contents, data freshness, or that it is a real-time snapshot.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a title, a URL, and return type annotation. Every sentence earns its place, providing the data source, the exact board type, and the return format. There is no fluff or redundant information, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only tool with no output schema, the description is adequate but not complete. It states the source and return type but does not describe what the DataFrame contains (e.g., columns like code, name, change percentage) or whether the data is historical or real-time. Given the many sibling stock tools, a bit more detail about the board's content would help an agent invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline score is 4. The description does not need to explain parameter semantics, and no parameter information is missing. The empty schema is fully covered by the description's implicit 'no parameters needed' context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: Eastmoney's Shanghai/Shenzhen A-share risk warning board (ST stocks), including the specific URL and return type as a pandas DataFrame. It lacks an explicit verb ('get' or 'list'), but the title and name make the function's purpose clear. It is distinguishable from sibling stock tools by the 'st_board' reference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. For example, it does not mention that this is for ST/risk-warning stocks specifically, nor does it point to stock_zh_a_spot_em for regular A-share spot data. The description is purely informational with no usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_stop_emBRead-onlyIdempotent
东方财富网-行情中心-沪深个股-两网及退市 https://quote.eastmoney.com/center/gridlist.html#staq_net_board :return: 两网及退市 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds useful context about the source (East Money page) and return type, but does not discuss data freshness, column structure, or potential network behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, containing essential elements: source, content, and return type. It is appropriately sized for a no-parameter tool, though the first line simply mirrors the title, which is a slight redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list-fetch tool, the description identifies the exact data source and content, and the return type is clear. However, it omits usage guidance, differentiation from similar tools, and details about the DataFrame columns, which would be valuable given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so with 100% schema coverage, the description need not explain parameters. It does add value by stating the returned dataset (two networks and delisted stocks), providing meaning beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '两网及退市' (two networks and delisted stocks) from East Money and specifies the return type as a pandas DataFrame. However, it lacks a direct verb like 'get' or 'list' and does not differentiate from sibling tools such as stock_zh_a_st_em or stock_staq_net_stop.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only provides a source URL and return type, leaving the agent to infer its purpose among many similar stock list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_a_tick_tx_jsBRead-onlyIdempotent
腾讯财经-历史分笔数据 https://gu.qq.com/sz300494/gp/detail :param symbol: 股票代码 :type symbol: str :return: 历史分笔数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | sz000001 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds that the return is a pandas DataFrame and identifies the data source, but does not disclose any additional behavioral traits such as rate limits, symbol format requirements, or data coverage. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with clear param/return sections. It repeats the title in the return line but is not verbose. The URL example provides some context but could be removed for AI consumption without losing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description only specifies the return type as pandas.DataFrame and the general content as historical tick data, but does not describe columns, date range, or any limitations. Given the tool's simplicity and strong annotations, it is adequate but leaves gaps for an agent to know the exact structure of the returned data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description for the 'symbol' parameter (0% coverage). The description explains 'symbol' as '股票代码' (stock code) and provides an example URL with 'sz300494', which gives some context. However, it does not explicitly state the required exchange prefix format (e.g., 'sz' for Shenzhen, 'sh' for Shanghai), leaving potential ambiguity for an agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns '历史分笔数据' (historical tick data) from Tencent Finance, and the URL shows a specific example. This distinguishes it from sibling tools like stock_zh_a_hist_tx, which provide K-line data. However, the verb is implicit and '分笔' is not explained for agents unfamiliar with the term.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any conditions, exclusions, or when this might be preferred over other stock historical data tools, which is a significant gap given the large number of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_b_dailyARead-onlyIdempotent
新浪财经-B 股-个股的历史行情数据,大量抓取容易封 IP https://finance.sina.com.cn/realstock/company/sh900901/nc.shtml :param start_date: 20201103;开始日期 :type start_date: str :param end_date: 20201103;结束日期 :type end_date: str :param symbol: sh600000 :type symbol: str :param adjust: 默认为空:返回不复权的数据;qfq: 返回前复权后的数据;hfq: 返回后复权后的数据;hfq-factor: 返回后复权因子;qfq-factor: 返回前复权因子 :type adjust: str :return: specific data :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| symbol | No | sh900901 | |
| end_date | No | 21000118 | |
| start_date | No | 19900101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld and non-destructive, so the safety profile is covered. The description adds genuinely useful context beyond that: heavy scraping risks an IP ban, and the return is a pandas.DataFrame. It does not contradict any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and IP warning are front-loaded, but the remaining text is Sphinx docstring markup (:param:/:type:/:rtype:) that is information-dense yet verbose as prose, and the source URL adds little operational value for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 0% schema coverage and no output schema, the description compensates well by documenting every parameter, the adjust modes, and the DataFrame return type. The main missing piece is explicit routing guidance against the many sibling stock-history tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden, and it does: it documents all four parameters with concrete examples (20201103, sh600000) and enumerates the adjust values (none/qfq/hfq/qfq-factor/hfq-factor) that are absent from the schema. Only minor gaps remain, such as not restating defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: historical daily quote data for B-shares from Sina Finance, and the tool name plus 'B股' distinguishes it from siblings like stock_zh_a_daily or stock_zh_b_minute. It does not explicitly name an alternative tool, but the resource scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus stock_zh_a_daily, stock_zh_b_minute, or stock_zh_b_spot. The only contextual hint is the IP-ban warning, which is a constraint rather than selection guidance, so an agent is left to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_b_minuteBRead-onlyIdempotent
股票及股票指数历史行情数据-分钟数据 https://finance.sina.com.cn/realstock/company/sh900901/nc.shtml :param symbol: sh900901 :type symbol: str :param period: 1, 5, 15, 30, 60 分钟的数据 :type period: str :param adjust: 默认为空:返回不复权的数据;qfq: 返回前复权后的数据;hfq: 返回后复权后的数据; :type adjust: str :return: specific data :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| period | No | 1 | |
| symbol | No | sh900901 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context via the adjust semantics (empty=unadjusted, qfq=forward-adjusted, hfq=backward-adjusted), but says nothing about rate limits, data source quirks, or return shape, so it adds modest value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose line is front-loaded, but the docstring format has waste: a bare URL, repeated defaults (':param symbol: sh900901' merely echoes the schema default), and a vague ':return: specific data'. It is serviceable but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the return-value burden, yet ':return: specific data / :rtype: pandas.DataFrame' is nearly content-free and does not describe columns or coverage. Parameters are well covered, but the return contract is under-specified for a data-retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden, and it substantially does: it documents symbol with a concrete example (sh900901), the accepted period values (1, 5, 15, 30, 60 minutes), and the adjust modes (empty/qfq/hfq). This maps nearly all parameters to meaningful semantics, with only minor gaps (default values not restated).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource: retrieving minute-level historical quote data for stocks/indices, with an example symbol (sh900901) confirming the B-share scope. It is clear but does not explicitly position itself against siblings like stock_zh_b_daily (daily) or stock_zh_a_minute (A-share minute), leaving the reader to infer the 'B-share, minute-frequency' niche from the tool name and example.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, and no named alternatives are provided. An agent is told what data comes back but not when to prefer this tool over its many daily/spot/A-share minute siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_b_spotARead-onlyIdempotent
新浪财经-所有 B 股的实时行情数据;重复运行本函数会被新浪暂时封 IP https://vip.stock.finance.sina.com.cn/mkt/#hs_b :return: 所有股票的实时行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive). The description adds a material behavior not present in the schema or annotations: a throttling/IP-ban risk on repeated calls. This is valuable added context beyond what structured fields convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with source and scope, followed by the IP-ban warning and a source URL, then the return/rtype. The URL and ':rtype:' line add mild redundancy but the text is short and each part is usable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema spot tool, the description covers source, scope, the throttling caveat, and the return type (pandas.DataFrame). It is complete enough for an agent to call it correctly, with only sibling routing left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there is no parameter syntax the description needs to compensate for. No parameter meaning is invented or contradicted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: real-time quotes ('实时行情数据') for all B-shares ('所有 B 股') sourced from Sina Finance. This clearly separates it from history/minutes siblings such as stock_zh_b_daily or stock_zh_b_minute, though it does not name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit operational warning that repeated invocation will temporarily get the IP banned by Sina, which is genuine when-to-call guidance. It stops short of naming sibling tools as alternatives for B-share data, so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_b_spot_emARead-onlyIdempotent
东方财富网- B 股-实时行情 https://quote.eastmoney.com/center/gridlist.html#hs_a_board :return: 实时行情 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, so the safety profile is fully covered. The description adds the return type (pandas.DataFrame) and source URL, but does not disclose rate limits, columns, or other behavioral details. It provides minimal extra value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with only three short lines: purpose, source URL, and return type. It is front-loaded with the essential purpose and contains no filler, making it easy to scan and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool, the description is sufficiently complete: it names the data provider, asset class, and return type. It does not list DataFrame columns, but that is a minor gap given the simplicity of the tool. The URL accidentally points to the A-share board (hs_a_board), which could cause slight confusion but does not invalidate the stated purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the schema has 100% coverage (nothing to document). The description does not need to add parameter semantics; the baseline of 4 applies because no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves real-time B-share quotes from Eastmoney (东方财富网). The name suffix '_em' further distinguishes it from the sibling tool 'stock_zh_b_spot', which is not Eastmoney-specific. The purpose is explicit and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context of the data source and asset class (B-shares), implying when to use it. However, it does not explicitly state exclusions or alternative tools, such as the difference from stock_zh_b_spot, but the '_em' suffix and clear context are sufficient for a zero-parameter simple tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_dupont_comparison_emCRead-onlyIdempotent
东方财富-行情中心-同行比较-杜邦分析比较 https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html?type=web&code=000895&color=b#/thbj/dbfxbj :param symbol: 股票代码 :type symbol: str :return: 杜邦分析比较 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SZ000895 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive, so the description's burden is low. It adds only that the return type is a pandas DataFrame, with no detail on output structure, data scope, or any potential quirks. No new behavioral context is disclosed beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with a clear title, a reference URL, and structured docstring-style param/return info. The URL is somewhat extraneous but not distracting, and each line earns its place without excessive verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool, the description provides core input and output information, but it fails to explain what the returned DataFrame actually contains (e.g., columns, rows, time period). Since there is no output schema, more detail is needed to fully inform an agent about the tool's expected result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description identifies the only parameter, 'symbol', as a stock code (股票代码) and specifies its type as str. This adds basic meaning since the schema has no description. However, it does not explain the required format (e.g., exchange prefix), although the default 'SZ000895' serves as a partial hint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as Eastmoney's DuPont analysis peer comparison, distinguishing it from sibling comparison tools like growth or valuation comparisons via the specific '杜邦分析' term. It lacks an explicit verb like 'get' or 'retrieve', but the tool name and context make the action clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative comparison tools. It does not mention any alternatives, exclusions, or specific scenarios, leaving the agent to infer usage solely from the tool name and title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_growth_comparison_emBRead-onlyIdempotent
东方财富-行情中心-同行比较-成长性比较 https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html?type=web&code=000895&color=b#/thbj/czxbj :param symbol: 股票代码 :type symbol: str :return: 成长性比较 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SZ000895 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds that the result is a pandas DataFrame, but provides no detail on the columns, data source behavior, or potential limitations, leaving room for more transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, leading with a clear title, then a reference URL, and a minimal docstring for the parameter and return value. It is front-loaded and every line adds some value, though the URL could be seen as clutter for tool selection purposes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single parameter, no output schema, and simple read-only annotations, the description is adequate for basic usage. However, it does not specify what columns or metrics the growth comparison returns, and the URL's example code is not explained, leaving some ambiguity for an AI agent deciding if this is the right tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only lists 'symbol' with a default but no description (0% coverage). The description compensates with ':param symbol: 股票代码' (stock code), and the URL shows an example 'SZ000895', which clarifies the expected format reasonably. However, it does not explain exchange prefixes or error cases, making the guidance minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as Eastmoney's growth comparison (成长性比较) for peer stocks, with a direct URL and a stated return type. It distinguishes itself from sibling tools like scale or valuation comparisons, though it lacks an explicit verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus the many similar stock comparison tools (e.g., scale, valuation, or Hong Kong growth comparisons). Context is implied only through the name and URL, with no explicit exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_index_dailyBRead-onlyIdempotent
新浪财经-指数-历史行情数据,大量抓取容易封 IP https://finance.sina.com.cn/realstock/company/sh000909/nc.shtml :param symbol: sz399998,指定指数代码 :type symbol: str :return: 历史行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | sh000922 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful behavioral trait beyond that: heavy scraping risks an IP ban, which tells the agent to throttle. It still does not say how much history is returned or whether there is pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact docstring form with the source, rate-limit caveat, and doc link front-loaded. Some waste in the redundant :return/:rtype pair, which restates what the type line already conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter fetch tool with annotations covering the safety profile and no output schema, the description covers source, param format, and a caveat. It is still missing the coverage window (does it return the full history? any date filtering?) and whether the returned DataFrame has a fixed column layout, which an agent would need to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter has no description, so the description must compensate. It does explain that symbol is an index code and gives a concrete example format (sz399998), which is more than the schema provides, but it omits the sh/sz prefix convention and never mentions the schema's default of sh000922, so behavior when the parameter is omitted is undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source (新浪财经), the resource (指数 历史行情数据), and the return type, so an agent knows it fetches historical daily index quotes. It implicitly differentiates from the sibling em/tx variants by naming Sina as the source, though it never explicitly contrasts with stock_zh_index_daily_em or stock_zh_index_daily_tx.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the rate-limit warning about IP bans; there is no statement of when to choose this Sina-backed tool over the EM or TX siblings, nor any prerequisites. The sphinx-style param hints do not constitute usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_index_daily_emBRead-onlyIdempotent
东方财富网-股票指数数据 https://quote.eastmoney.com/center/hszs.html :param symbol: 带市场标识的指数代码;sz: 深交所,sh: 上交所,csi: 中信指数 + id(000905) :type symbol: str :param start_date: 开始时间 :type start_date: str :param end_date: 结束时间 :type end_date: str :return: 指数数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | csi931151 | |
| end_date | No | 20500101 | |
| start_date | No | 19900101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the agent knows this is a safe, idempotent read from an external source. The description adds the data source URL and return type (pandas.DataFrame), which is useful context beyond annotations, but does not disclose rate limits, pagination, or output column structure. With annotations covering safety, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the source and resource, but includes boilerplate type declarations (:type, :rtype) that duplicate the schema and add little value. It is adequately sized, though not optimally structured for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter data retrieval tool with no output schema, the description covers the source, parameters, and return type sufficiently but omits key details like date format (implied by defaults but not stated) and output columns. The annotations already cover the safety profile, so remaining gaps are moderate rather than critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It does well for symbol by explaining market prefixes (sz, sh, csi) and an example ID, but start_date and end_date are only labeled '开始时间' and '结束时间' without date format or range restrictions. The result is partial compensation for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the source (东方财富网) and resource (股票指数数据), and the parameter example clarifies it retrieves index data for a given symbol. However, it does not explicitly say 'daily historical' data nor differentiate from sibling tools like stock_zh_index_daily or stock_zh_index_daily_tx. An agent can identify the general resource but lacks a specific verb and sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusion criteria. The description only documents parameters, leaving the agent to infer context from the tool name and provider.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_index_daily_txARead-onlyIdempotent
腾讯证券-日频-股票或者指数历史数据(支持自定义时间范围) 作为 ak.stock_zh_index_daily() 的补充,因为在新浪中有部分指数数据缺失 注意都是:前复权,不同网站复权方式不同,不可混用数据 https://gu.qq.com/sh000919/zs :param symbol: 带市场标识的股票或者指数代码 :type symbol: str :param start_date: 开始日期,格式 "YYYYMMDD",为空则从最早日期开始 :type start_date: str :param end_date: 结束日期,格式 "YYYYMMDD",为空则到当前日期 :type end_date: str :return: 前复权的股票和指数数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | sz980017 | |
| end_date | No | ||
| start_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, so the bar is lower, and the description adds genuinely useful behavioral context: all data is forward-adjusted (前复权) and adjustment conventions differ across providers and must not be mixed. It does not cover rate limits or response shape beyond the DataFrame return, but the key data-integrity caveat is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and source note are front-loaded, followed by param docs. The reST-style param/type lines add information rather than pure duplication, though the structure is a docstring dump rather than tightly optimized prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All three parameters are documented with format and default semantics, the return type is given as pandas.DataFrame, and the data-adjustment caveat is present. Given annotations and the simple 3-param shape, this is essentially complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the load and does so well: it explains symbol requires a market-prefixed code, and that empty start_date means earliest available while empty end_date means today, plus the YYYYMMDD format. This compensates for the undocumented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource+source: daily-frequency historical data for stocks or indices from Tencent Securities, with custom date ranges. It also explicitly frames itself relative to the sibling stock_zh_index_daily (Sina), noting it fills gaps where Sina data is missing, so the agent can tell the two apart without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states when to reach for this tool (as a complement when Sina index data is incomplete) and adds a usage caveat about not mixing adjustment methods across sites. It lacks an explicit 'when not to use' rule, but the routing context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_index_hist_csindexARead-onlyIdempotent
中证指数-具体指数-历史行情数据 P.S. 只有收盘价,正常情况下不应使用该接口,除非指数只有中证网站有 https://www.csindex.com.cn/zh-CN/indices/index-detail/H30374#/indices/family/detail?indexCode=H30374 :param symbol: 指数代码;e.g., H30374 :type symbol: str :param start_date: 开始日期 :type start_date: str :param end_date: 结束日期 :type end_date: str :return: 包含日期和收盘价的指数数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000928 | |
| end_date | No | 20240604 | |
| start_date | No | 20180526 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds real behavioral value beyond them: it discloses the return is closing price only (只有收盘价), that data comes from the CSIndex website, and that the return type is a pandas.DataFrame with date and close columns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose line is front-loaded and useful, but the body is a docstring dump (:param/:type/:return/:rtype) plus a trailing URL, which is bulkier than needed and partly redundant with the schema. It is functional rather than tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only historical-data query with no output schema, the description covers inputs, return shape, data source, and a usage caveat. The main omission is the date-format convention, which an agent calling with the wrong format could get wrong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden, and it does: symbol (指数代码, e.g. H30374), start_date and end_date are all documented with types. It stops short of specifying the expected date format (e.g. YYYYMMDD), which the defaults imply but the text never states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: fetching historical quote data for a specific CSI/CSCI index (中证指数-具体指数-历史行情数据). It is distinguishable from siblings like index_zh_a_hist or index_hist_cni by naming the CSIndex source, though it never explicitly contrasts with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly warns '正常情况下不应使用该接口,除非指数只有中证网站有' (normally do not use this interface unless the index is only available on the CSIndex website), a genuine when-not condition. It does not, however, name the alternative tool to use instead, so routing remains partially inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_index_spot_emARead-onlyIdempotent
东方财富网-行情中心-沪深京指数 https://quote.eastmoney.com/center/gridlist.html#index_sz :param symbol: "上证系列指数"; choice of {"沪深重要指数", "上证系列指数", "深证系列指数", "指数成份", "中证系列指数"} :type symbol: str :return: 指数的实时行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 上证系列指数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description is consistent with these—no contradiction. The description adds useful context by specifying the return type (pandas.DataFrame) and the 'real-time' nature of the data, while omitting details like rate limits, refresh behavior, or column-structure caveats. With strong annotations covering the safety profile, the marginal behavioral disclosure is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact four-part docstring (title, source URL, param doc, return doc) with no wasted words. The URL provides provenance, and the param/return sections are essential. The structure is standard and well-understood, though it could theoretically drop the URL without losing core semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one optional parameter, no output schema), and the description covers the key aspects: data source, market scope, all parameter choices, and return type as a DataFrame. It omits DataFrame column details and data-freshness specifics, but for a snapshot-style quote tool backed by strong safety annotations, the coverage is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It compensates excellently by enumerating all five allowed values for 'symbol' ('沪深重要指数', '上证系列指数', '深证系列指数', '指数成份', '中证系列指数'), specifying the default ('上证系列指数'), and documenting the type (str). This adds substantial meaning beyond the bare schema, which only shows a string type and default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool fetches real-time spot quotes for Shanghai/Shenzhen/Beijing indices from East Money ('东方财富网-行情中心-沪深京指数' and ':return: 指数的实时行情数据'). The URL and '沪深京' scope help distinguish it from HK/global index siblings (e.g., stock_hk_index_spot_em, index_global_spot_em), and the '_em' suffix plus URL identify the East Money source. However, the differentiation is implicit rather than explicitly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. Among siblings like stock_zh_index_spot_sina, stock_hk_index_spot_em, and index_global_spot_em, there is no selection criteria or exclusionary note. The only hints are the source URL and market scope, which are implicit and not actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_index_spot_sinaARead-onlyIdempotent
新浪财经-行情中心首页-A股-分类-所有指数 大量采集会被目标网站服务器封禁 IP,如果被封禁 IP,请 10 分钟后再试 https://vip.stock.finance.sina.com.cn/mkt/#hs_s :return: 所有指数的实时行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/destructive=false, so the safety profile is covered. The description adds a genuinely useful behavioral trait beyond the annotations: heavy scraping triggers IP banning and requires a 10-minute wait. It also names the return type (pandas.DataFrame), which is helpful given no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose leads, which is good, but the body mixes a source URL, a rate-limit warning, and Sphinx-style ':return:'/':rtype:' artifacts for a trivial no-arg call. It is not bloated, but the structure is loose and some lines (URL) do not earn their place for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter spot-quote tool with no output schema, the description supplies the key facts: what it returns and the throttling risk. A brief note on scope (which indices/coverage) would make it fully complete, but nothing essential for a correct call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing parametric for the description to clarify or compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource (新浪财经 所有指数) and the return ('所有指数的实时行情数据'), so it is clear this fetches real-time spot quotes for all A-share indices. It does not, however, differentiate itself from near-identical siblings such as stock_zh_index_spot_em or stock_hk_index_spot_sina, so an agent must infer the data-source difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, nor any prerequisite or exclusion. The only operational note is a retry-after-10-minutes warning if IP-banned, which is a rate-limit caveat rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_index_value_csindexBRead-onlyIdempotent
中证指数-指数估值数据 https://www.csindex.com.cn/zh-CN/indices/index-detail/H30374#/indices/family/detail?indexCode=H30374 :param symbol: 指数代码;e.g., H30374 :type symbol: str :return: 指数估值数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | H30374 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds source URL and return type pandas.DataFrame, but it does not describe permissions, rate limits, failure behavior, or returned valuation fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the source and data type. The Sphinx-style type/return tags and the long URL are somewhat boilerplate, but they do not significantly hurt readability or size.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only data-fetch tool with existing annotations, the description is mostly adequate, but with no output schema it should say more about the returned valuation data, such as columns or period coverage, instead of only saying pandas.DataFrame.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It does explain that symbol is an index code and gives an example, H30374, which is sufficient for a single-parameter fetch, though it does not mention the default or other valid index code formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific source and data type: CSIndex (中证指数) index valuation data (指数估值数据). It is clear enough for an agent to recognize the resource, but it does not use an explicit retrieval verb and does not distinguish itself from other index/valuation siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no conditions that would route an agent between this tool and other index or valuation tools. The description assumes the agent already knows why to call this specific CSIndex valuation endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_kcb_dailyARead-onlyIdempotent
新浪财经-科创板股票的历史行情数据,大量抓取容易封IP https://finance.sina.com.cn/realstock/company/sh688005/nc.shtml :param symbol: 股票代码;带市场标识的股票代码 :type symbol: str :param adjust: 默认不复权的数据;qfq: 返回前复权后的数据;hfq: 返回后复权后的数据;hfq-factor: 返回后复权因子;qfq-factor: 返回前复权因子 :type adjust: str :return: 科创板股票的历史行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| adjust | No | ||
| symbol | No | sh688399 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds real behavioral context beyond them: the upstream source URL and the rate-limit-style warning that bulk calls can get the caller IP-banned. It stops short of describing payload size or column layout.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the source and dataset, then the throttling caveat, then parameters. Sphinx-style :param/:return blocks are slightly redundant formatting, but no sentence is wasted and the critical warning sits early.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description only says the return is a pandas.DataFrame of historical quotes – no mention of columns, date span, or pagination. Combined with the absence of any date-range parameters, an agent cannot predict the shape or coverage of the response, which is a meaningful gap for a data-retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning – and it does: symbol is explained as a market-prefixed code (e.g. sh688005), and adjust enumerates all five modes (default no adjust, qfq, hfq, hfq-factor, qfq-factor) with their semantics. That is exactly the enum information the JSON schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: Sina Finance historical daily quotes for STAR Market (科创板) stocks, with the concrete source page. It clearly reads as a historical-daily tool distinct from stock_zh_kcb_spot and stock_zh_a_daily, but it never explicitly names those alternatives, so differentiation is by name inference alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a genuinely useful operational condition ('大量抓取容易封IP' – heavy scraping risks an IP ban) that tells an agent to throttle. However, there is no explicit when-to-use guidance against the many sibling daily-history tools (stock_zh_a_daily, stock_hk_daily, index history tools), so the routing signal is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_kcb_report_emBRead-onlyIdempotent
科创板报告内容 https://data.eastmoney.com/notices/kcb.html :param from_page: 开始获取的页码 :type from_page: int :param to_page: 结束获取的页码 :type to_page: int :return: 科创板报告内容 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| to_page | No | ||
| from_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that the function returns a pandas DataFrame and accepts page-range parameters, which gives some behavioral context. However, it does not disclose potential rate limits, the nature of the 'report content' beyond a vague label, or whether the data is scraped in real-time. With annotations handling safety, this seems 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, structured as a docstring with distinct sections for description, URL, parameters, and return. There is slight redundancy (repeating '科创板报告内容' as the description and return), but the text is short and easy to parse. Every element except the title repetition serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 parameters, no output schema), and the description states the return type (DataFrame) and the resource. However, it does not elaborate on what the DataFrame contains (columns, report types) or any caveats about the data source. For a paginated report retrieval tool, this is a modest gap but not severe.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It does so by explicitly documenting both parameters: from_page (start page) and to_page (end page). This adds meaningful semantics beyond the schema's type/default information. However, it lacks details on page size, ranges, or value constraints, but the basic meaning of each parameter is clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool retrieves STAR Market (科创板) report content, with a source URL (data.eastmoney.com/notices/kcb.html) that grounds it in a specific data source. Although the verb is implicit rather than explicit (e.g., 'fetch'), the combination of the title, name, and parameters makes the purpose reasonably clear. It does not explicitly differentiate from sibling tools like stock_research_report_em or stock_zh_kcb_daily, but the specific reference to report content and the URL narrows the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, context for typical use, or exclusions. It simply states the resource and parameters, leaving the agent to infer when this tool is appropriate from the name and URL alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_kcb_spotARead-onlyIdempotent
新浪财经-科创板实时行情数据,大量抓取容易封IP https://vip.stock.finance.sina.com.cn/mkt/#kcb :return: 科创板实时行情数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/non-destructive, so safety is covered. The description adds genuinely useful context beyond them: a rate-limit/IP-ban warning for bulk scraping and the return type (pandas.DataFrame), which matters since there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and brief, with the source, warning, and return type all packed into a few lines. The raw docstring fragments (:return:, :rtype:) and trailing URL are slightly untidy but cost little space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter snapshot tool with no output schema, the description covers source, scope, the rate-limit risk, and the return type — enough to invoke it correctly. It stops short of saying which columns/fields the DataFrame contains, and gives no basis for picking it over the equivalent Eastmoney sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no arguments (0 parameters), so there is nothing for the description to compensate for. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource precisely — real-time STAR Market (科创板) quotes from Sina Finance — which combined with the name makes the retrieval action unambiguous. It does not, however, distinguish itself from the very similar sibling stock_kc_a_spot_em (same board, different source), so an agent has no stated basis for choosing between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternative named, despite at least one near-identical sibling (stock_kc_a_spot_em) and a historical counterpart (stock_zh_kcb_daily). The only stated condition is a caveat about heavy scraping, which is a warning rather than usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_scale_comparison_emCRead-onlyIdempotent
东方财富-行情中心-同行比较-公司规模 https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html?type=web&code=000895&color=b#/thbj/gsgm :type symbol: str :return: 公司规模 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SZ000895 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only that the return type is pandas.DataFrame and the return content is '公司规模', which is a minimal addition. It does not disclose any behavioral traits such as network dependency, performance characteristics, or handling of invalid symbols. No contradiction with annotations, but little extra value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, which is concise, but it is not well-structured. It consists of a title, a URL, and type annotations mixed across lines. There is no complete sentence, and the structure is fragmented. It is under-specified rather than elegantly concise, so it does not earn a higher score for structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no output schema), the description is still incomplete. It lacks critical context such as the expected format of the symbol, the specific data fields returned, and how this tool fits into the broader set of comparison tools. The URL provides a source reference but does not explain the data. The description leaves the agent with substantial ambiguity about how to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description was expected to explain the symbol parameter. It merely states ':type symbol: str', which repeats the schema's type declaration. The default value 'SZ000895' in the schema hints at the format, but the description itself provides no semantic meaning, no format explanation, and no example of valid values. This fails to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title '东方财富-行情中心-同行比较-公司规模' clearly indicates this tool provides company scale (公司规模) comparison from Eastmoney's market center. It distinguishes from sibling tools like stock_zh_growth_comparison_em and stock_zh_valuation_comparison_em by focusing on scale. However, it lacks an explicit verb like 'get' or 'fetch', making it a noun phrase rather than a full functional description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit usage guidance is provided. The description does not state when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions. The bare title and URL offer no contextual hints about selection criteria, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_valuation_baiduARead-onlyIdempotent
百度股市通-A股-财务报表-估值数据 https://gushitong.baidu.com/stock/ab-002044 :param symbol: 股票代码 :type symbol: str :param indicator: choice of {"总市值", "市盈率(TTM)", "市盈率(静)", "市净率", "市现率"} :type indicator: str :param period: choice of {"近一年", "近三年", "近五年", "近十年", "全部"} :type period: str :return: 估值数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 近一年 | |
| symbol | No | 002044 | |
| indicator | No | 总市值 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the data source (Baidu), the data category (financial statements/valuation), and the return type (pandas.DataFrame). It does not disclose additional behavioral traits such as rate limits or permissions, but none are implied. The description is consistent with annotations, so no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a title line, an example URL, and a param list. Each element serves a purpose—the title states the domain, the URL shows the source, and the param docs explain inputs. It is slightly redundant with the tool name but remains efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should cover return structure. It states the return type as pandas.DataFrame and labels it '估值数据' (valuation data), but does not describe expected columns, index, or the effect of period choices. For a simple query tool, this is adequate but not comprehensive, leaving room for ambiguity about the returned data format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage and no enums, but the description fully documents all three parameters: symbol (股票代码), indicator (choice of five metrics), and period (choice of five ranges). It also provides defaults in the schema, and the description adds meaning by enumerating the exact allowed choices. It does not explain the meaning of each indicator or period, but the choices are self-explanatory for the domain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as '百度股市通-A股-财务报表-估值数据' (Baidu Stock Connect A-share financial statement valuation data), with an example URL. It distinguishes from siblings like stock_hk_valuation_baidu and stock_us_valuation_baidu by specifying 'A股' (A-shares). However, it lacks an explicit verb such as 'retrieve' or 'get', relying on the noun phrase to imply the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context (Baidu source, A-share market, valuation metrics) that implies when this tool is appropriate. It does not explicitly state when to prefer this over alternatives like stock_zh_valuation_comparison_em or stock_value_em, nor does it give when-not guidance. Usage is implied rather than direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_valuation_comparison_emBRead-onlyIdempotent
东方财富-行情中心-同行比较-估值比较 https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html?type=web&code=000895&color=b#/thbj/gzbj :param symbol: 股票代码 :type symbol: str :return: 估值比较 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SZ000895 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which covers the safety profile. The description adds minimal behavioral context, only mentioning that the return is a pandas.DataFrame. It does not disclose any data freshness, pagination, or potential quirks beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the title, but includes a long URL that adds little value for an AI agent. It is not bloated, and the docstring-style parameter/return lines are structured clearly, though they could be more informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter and no output schema, the description should clarify the symbol format, supported markets (e.g., A-shares vs HK), and what the returned DataFrame contains. It only says '估值比较' without explaining the output columns or any limitations. The 'zh' in the tool name suggests A-shares, but the description does not confirm this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'symbol' with no description, and schema description coverage is 0%. The description only says 'param symbol: 股票代码' (stock code), which is tautological with the parameter name. The default value 'SZ000895' hints at an exchange prefix format, but this is not explicitly explained, leaving ambiguity about the expected symbol format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the full path '东方财富-行情中心-同行比较-估值比较' (Eastmoney - Market Center - Peer Comparison - Valuation Comparison), which clearly identifies the data source and resource. It distinguishes from sibling tools like stock_zh_scale_comparison_em by specifying '估值比较' (valuation comparison), but lacks an explicit verb such as 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used for obtaining valuation comparison data for a stock, but it does not explicitly state when to use it versus alternatives like stock_hk_valuation_comparison_em or stock_zh_valuation_baidu. No exclusions or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zh_vote_baiduBRead-onlyIdempotent
百度股市通- A 股或指数-股评-投票 https://gushitong.baidu.com/index/ab-000001 :param symbol: 股票代码 :type symbol: str :param indicator: choice of {"指数", "股票"} :type indicator: str :return: 投票数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000001 | |
| indicator | No | 指数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, non-destructive, and idempotent behavior. The description adds source (Baidu) and data type (stock review votes) but does not disclose potential quirks like data freshness, column contents, or response details. It partially supplements the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but loosely structured, mixing a title, URL, and docstring-style parameter definitions. Every line carries information, but it lacks a coherent narrative and the URL may be unnecessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read-only tool, the description plus annotations are sufficient to understand basic usage. However, without an output schema, it only says '投票数据' without explaining the DataFrame's structure or any caveats, so completeness is limited.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides Chinese labels for both parameters: symbol as 股票代码 and indicator with allowed values {'指数', '股票'}, which the input schema lacks. The example URL also hints at how the symbol is used, adding meaningful context beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool retrieves A-share or index stock review voting data from Baidu (百度股市通). This is specific enough to distinguish it from sibling tools that focus on prices, valuations, or other financial metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only gives a title and parameter documentation, with no context for selection criteria or exclusion of other stock data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zt_pool_dtgc_emBRead-onlyIdempotent
东方财富网-行情中心-涨停板行情-跌停股池 https://quote.eastmoney.com/ztb/detail#type=dtgc :param date: 交易日 :type date: str :return: 跌停股池 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20241011 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool's safety profile is clear. The description adds the source URL and the date parameter meaning, but it does not disclose behavior such as handling of invalid dates, empty results, or data update frequency. Given the strong annotation coverage, the additional context is minimal but not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and structured as a docstring with source, URL, parameter, and return sections. It repeats the title from annotations in the first line, but the overall length is reasonable and information is easy to scan. No unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with one parameter and no output schema. The description explains the input and return type (DataFrame), but it does not describe the columns or content of the returned DataFrame, nor does it provide an example call. Since the output schema is absent, the description should compensate more fully for what the data covers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage, so the description must carry the parameter meaning. It states ':param date: 交易日' (trading day) and ':type date: str', which clarifies that the input is a trading date string. However, it does not specify the format beyond the default value '20241011', nor does it mention optionality or consequences of omitting it. For a single parameter, this is adequate but not comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '跌停股池' (limit-down stock pool) from East Money's limit-up board section, and the docstring explicitly states the return is a pandas DataFrame of that pool. It distinguishes from sibling tools by name (dtgc) and the '跌停股池' term. However, it lacks an explicit action verb like 'fetch' or 'get', relying on the docstring's :return: clause.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many related stock_zt_pool_* siblings. It does not state that this is for limit-down pools specifically or mention any exclusions. The 'dtgc' suffix and '跌停股池' term imply it, but no explicit usage direction is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zt_pool_emBRead-onlyIdempotent
东方财富网-行情中心-涨停板行情-涨停股池 https://quote.eastmoney.com/ztb/detail#type=ztgc :param date: 交易日 :type date: str :return: 涨停股池 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20241008 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description's job is lighter. It adds the return type (pandas.DataFrame) and source URL, which provides some behavioral context, but does not disclose any caveats like handling of non-trading days or data limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured, using a standard docstring format with source URL, param, and return sections. Every sentence adds value and there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool, the description is adequate but not complete. It covers the source, parameter, and return type, but lacks output column details, behavior when the market is closed, or any distinction from closely related limit-up pool tools. Given no output schema, more context would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter with no description (0% coverage), so the description must compensate. It states 'date' is a trading day and shows a default value '20241008' indicating the YYYYMMDD format. However, it does not explain whether the parameter is required, how to handle invalid dates, or what happens if omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the '涨停股池' (limit-up stock pool) from East Money's market center, with a source URL and parameter/return info. It is specific about the resource and verb, though it does not explicitly differentiate from sibling limit-up pool tools like stock_zt_pool_dtgc_em.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no exclusions, and no context about suitable scenarios. It only mentions the parameter and return type, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zt_pool_previous_emBRead-onlyIdempotent
东方财富网-行情中心-涨停板行情-昨日涨停股池 https://quote.eastmoney.com/ztb/detail#type=zrzt :param date: 交易日 :type date: str :return: 昨日涨停股池 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20240415 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the source URL and return type but no additional behavioral context (e.g., data freshness, empty results, or format assumptions). It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the title, includes the source URL, and uses a clear docstring-style format. It avoids unnecessary verbosity, though the title and return line are somewhat redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description only repeats the tool name for the return value ('昨日涨停股池') without describing the DataFrame's columns or content. The ambiguity between the 'date' parameter and the word 'previous' is unresolved, leaving the agent uncertain about what data to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description for 'date', so the description's ':param date: 交易日' and ':type date: str' provide basic meaning. However, it lacks specifics on the expected format (though the default suggests YYYYMMDD) and the relationship between the given date and the 'previous' day, which is a key semantic gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves '昨日涨停股池' (yesterday's limit-up stock pool) from East Money, which is a specific resource. However, it does not explicitly differentiate itself from the many sibling stock_zt_pool_* tools, though the name 'previous' hints at the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the numerous sibling limit-up pool tools (e.g., stock_zt_pool_em, stock_zt_pool_strong_em). The description only mentions a date parameter but does not explain the intended context or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zt_pool_strong_emCRead-onlyIdempotent
东方财富网-行情中心-涨停板行情-强势股池 https://quote.eastmoney.com/ztb/detail#type=qsgc :param date: 交易日 :type date: str :return: 强势股池 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20241231 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the source URL and the fact that the return is a pandas DataFrame, but does not disclose any additional behavioral aspects such as data limitations, update frequency, or error handling. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and direct, providing the source, parameter, and return type in a compact docstring format. The URL is arguably unnecessary for an AI agent but not overly verbose. It is well-structured but lacks narrative context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple, the description does not explain what qualifies as a 'strong stock' within the limit-up pool, nor does it differentiate from other zt_pool tools like stock_zt_pool_em, stock_zt_pool_zbgc_em, or stock_zt_pool_sub_new_em. An agent could not confidently select this tool without additional context. The rich annotations partially compensate, but the description leaves selection criteria unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description documents that the 'date' parameter is a trading day (交易日) and the return is a DataFrame, adding some meaning beyond the schema's type/default. However, it does not specify the expected date format (e.g., YYYYMMDD) or allowed range, leaving ambiguity for an agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as East Money's 'strong stock pool' under limit-up quotes, with a URL and return type. It clearly states the data source and what is returned, but lacks an explicit verb (e.g., 'fetches') and does not distinguish this pool from other limit-up pool tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool over alternatives. The description only provides a URL and docstring, with no mention of use cases, exclusions, or comparison to sibling tools like stock_zt_pool_em or stock_zt_pool_zbgc_em.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zt_pool_sub_new_emARead-onlyIdempotent
东方财富网-行情中心-涨停板行情-次新股池 https://quote.eastmoney.com/ztb/detail#type=cxgc :param date: 交易日 :type date: str :return: 次新股池 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20241231 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds context about the data source (Eastmoney), the specific quote page URL, and that the date parameter is a trading day, returning a pandas DataFrame. It does not disclose details like required date format, data columns, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the source and pool type, followed by a URL and a clear Python-style docstring for the parameter and return value. Every line adds needed information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter and no output schema, the description provides sufficient context for basic invocation: the source, the pool category, the date parameter's role, and the return type. It lacks only a clear explanation of the expected date format and a definition of '次新股', though the default value and tool name offer partial clues.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines a 'date' string with a default value but no description. The description compensates by documenting ':param date: 交易日' (trading day) and ':type date: str', which clarifies the intended parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as '东方财富网-行情中心-涨停板行情-次新股池' (Eastmoney Market Center Limit-up Board Sub-New Stock Pool) and specifies the return as '次新股池', clearly indicating it retrieves the sub-new stock pool. It distinguishes from sibling pool tools by naming the specific pool type, though it lacks an explicit verb like 'get' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling pool tools (e.g., stock_zt_pool_em, stock_zt_pool_previous_em). It only states the source and return type, leaving the selection decision to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zt_pool_zbgc_emBRead-onlyIdempotent
东方财富网-行情中心-涨停板行情-炸板股池 https://quote.eastmoney.com/ztb/detail#type=zbgc :param date: 交易日 :type date: str :return: 炸板股池 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 20241011 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds the exact source URL and the return type (pandas DataFrame), but does not disclose potential limitations such as valid date formats or that non-trading days may produce empty results. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and follows a docstring structure with purpose, URL, parameter, and return type. It is concise with no filler, though the Chinese docstring style may not be optimally front-loaded for an English-speaking agent, and it starts with a resource name rather than an imperative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only tool with no output schema, the description provides the essential data source, parameter, and return type. However, it lacks detail on the DataFrame structure and date format, and does not clarify how this tool relates to sibling limit-up pool tools, making it minimally adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has a single date parameter with type string and default, but no schema description. The description repeats '交易日' (trading day) and type str, adding only the concept of a trading day without specifying the date format (e.g., YYYYMMDD) or any constraints, leaving the agent to infer from the default value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the exact data source (Eastmoney limit-up board center) and the specific pool ('炸板股池' broken board pool) with a URL, and states it returns a pandas DataFrame. However, it lacks an explicit verb like 'get' or 'fetch' and does not differentiate from sibling tools such as stock_zt_pool_em, so it is clear but not fully distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a date parameter indicating that it queries data for a specific trading day, but offers no guidance on when to use this tool versus sibling limit-up pool tools like stock_zt_pool_em or stock_zt_pool_strong_em. 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.
stock_zygc_emARead-onlyIdempotent
东方财富网-个股-主营构成 https://emweb.securities.eastmoney.com/PC_HSF10/BusinessAnalysis/Index?type=web&code=SH688041# :param symbol: 带市场标识的股票代码 :type symbol: str :return: 主营构成 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SH688041 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds that it returns a pandas DataFrame and specifies the data source URL, but does not disclose any additional behavioral traits such as rate limits, data freshness, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, including a purpose statement, source URL, parameter definition, and return type in a few lines. It is not overly verbose, though the docstring format is slightly unstructured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter read-only nature and no output schema, the description provides enough to invoke the tool and understand its return type. However, it lacks specifics about the DataFrame columns or content beyond the generic '主营构成', which would help an agent know what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only the parameter name and default, with no description. The description compensates by explaining that 'symbol' is a stock code with market identifier, and the URL example (SH688041) further illustrates the format. This adds meaningful semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves main business composition data from Eastmoney for a given stock, providing a specific resource and return type. While it doesn't explicitly differentiate from sibling stock tools, the purpose is clear enough from the Chinese title and docstring.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing main business composition for a stock, but gives no explicit guidance on when to prefer this tool over alternatives or any exclusion criteria. There is no mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_zyjs_thsBRead-onlyIdempotent
同花顺-主营介绍 https://basic.10jqka.com.cn/new/000066/operate.html :param symbol: 股票代码 :type symbol: str :return: 主营介绍 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 000066 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds the source URL and return type but does not disclose any behavioral nuances such as rate limits, network dependency, or error handling. With annotations covering safety, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and follows a structured docstring format with title, URL, param, and return fields. It is front-loaded with the title and source. The first line is redundant with the annotations title, which slightly detracts, but overall it is efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with no output schema, so the description must clarify the return value. It vaguely states '主营介绍' (main business introduction) and returns a DataFrame, but does not describe columns, data granularity, or example content. The hardcoded URL for stock 000066 could mislead an agent into thinking the tool only works for that stock. No usage guidance is provided despite many similar sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only lists 'symbol' as a string with a default. The description adds that symbol is a 股票代码 (stock code) and provides an example URL using '000066', giving meaningful context beyond the bare schema. However, it does not specify whether the code needs zero-padding, exchange prefix, or other formatting details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool provides '同花顺-主营介绍' (THS main business introduction), with a URL indicating the source and a return type of pandas.DataFrame. It clearly identifies the resource and operation, though it could be more explicit about the specific fields or content of the returned data. It is distinguishable from siblings by the 'ths' suffix and Chinese name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 other stock-related tools such as stock_zygc_em or stock_financial_abstract. The description lacks any context about data source preference, use cases, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sunrise_dailyARead-onlyIdempotent
每日日出日落数据 https://www.timeanddate.com/astronomy/china/shaoxing :param date: 需要查询的日期,e.g., “20200428” :type date: str :param city: 需要查询的城市;注意输入的格式,e.g., "北京", "上海" :type city: str :return: 返回指定日期指定地区的日出日落数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | beijing | |
| date | No | 20240428 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnly, idempotent, openWorld, and non-destructive behavior. The description adds the source domain (timeanddate.com), return type (pandas.DataFrame), and input format examples, but omits rate limits or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is stated first, followed by a source URL and structured docstring-style parameter notes. It is efficient with little redundancy, though the URL is somewhat extraneous and the parameter type lines (:type date: str) repeat obvious information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read-only tool with no output schema, the description provides purpose, parameter examples, and return type. It omits default values and exact date format details, but those are recoverable from the schema defaults, making it mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden. It documents both parameters with examples for date ('20200428') and city ('北京', '上海'), but does not mention the schema defaults ('beijing', '20240428') or clarify date format nuances (example differs from default by two digits).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States 'daily sunrise/sunset data' (每日日出日落数据), a specific resource with temporal scope ('daily') and a concrete external source. It does not explicitly differentiate from the sibling sunrise_monthly, but the word '每日' implies daily granularity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use guidance or alternatives are offered. Usage is implied by the name and parameter examples (querying sunrise/sunset for a specific date and city), which is minimally viable but lacks exclusions or sibling routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sunrise_monthlyARead-onlyIdempotent
每个指定 date 所在月份的每日日出日落数据,如果当前月份未到月底,则以预测值填充 https://www.timeanddate.com/astronomy/china/shaoxing :param date: 需要查询的日期,这里用来指定 date 所在的月份;e.g., “20200428” :type date: str :param city: 需要查询的城市;注意输入的格式,e.g., "北京", "上海" :type city: str :return: 指定 date 所在月份的每日日出日落数据 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | beijing | |
| date | No | 20240428 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely useful behavior not in the annotations: partial current months are backfilled with predicted values, and the return type is a pandas.DataFrame (relevant since no output schema exists).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first sentence, which is good, but the docstring styling adds redundant :type/:rtype lines duplicating what the schema already declares, plus a bare timeanddate.com URL with no stated relevance. Some trimming would sharpen it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, read-only tool with no output schema, the description covers purpose, both parameter formats, the predicted-value fallback, and the DataFrame return type. An agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load and largely does: it explains that date selects the month (with the '20200428' format example) and that city expects Chinese names like '北京'/'上海'. It does not reconcile the city default 'beijing' with the Chinese-name format hint, a minor omission.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: 'the daily sunrise/sunset data for the month containing the specified date.' This is clear and distinct in scope (whole month) from a daily tool, but it never names the directly competing sibling sunrise_daily, so the agent must infer why to pick this one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no mention of the obvious alternative sunrise_daily. The only contextual note is that incomplete months are filled with predicted values, which is behavioral rather than usage-routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_index_first_infoBRead-onlyIdempotent
乐咕乐股-申万一级-分类 https://legulegu.com/stockdata/sw-industry-overview#level1 :return: 分类 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the source URL and return type (pandas.DataFrame) but no additional behavioral traits such as rate limits, data scope, or network dependencies. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with only a title, URL, and return type. It is front-loaded and has no fluff. However, it reads more like a docstring fragment than a coherent description, but it earns its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, no-parameter tool with good annotations, the description is adequate but lacks detail about the returned data structure. It only states '分类' (classification) and pandas.DataFrame, leaving the agent unaware of specific columns or content. This is a minimal but acceptable description for a simple classification listing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so the schema fully covers parameter semantics. Per the rubric, a 0-parameter tool gets a baseline of 4, and the description does not need to add any parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as '乐咕乐股-申万一级-分类' (LeGuLeGu Shenwan Level 1 Classification) and provides the exact URL. The tool name also reinforces the purpose. However, it lacks an explicit verb like 'retrieves' and does not directly distinguish itself from sibling tools within the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It only states the source and return type, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_index_second_infoCRead-onlyIdempotent
乐咕乐股-申万二级-分类 https://legulegu.com/stockdata/sw-industry-overview#level1 :return: 分类 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, covering the safety profile. The description adds only the source URL and return type, but no behavioral caveats, data scope, or performance characteristics. Minimal extra value over annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short—a name, a URL, and return type—with no verbose filler. It is appropriately sized but borders on under-specification, lacking a structured explanation of what the classification entails.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only info tool, the description is sparse. It doesn't explain what fields or codes are included in the returned classification, nor how it differs from other Shenwan levels. Annotations cover safety, but the description misses important context about the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and schema coverage is 100%. The baseline for no parameters is 4, and the description correctly notes the return type (pandas DataFrame). No additional parameter explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as providing Shenwan Level 2 industry classification, with a source URL and return type. This distinguishes it from siblings like sw_index_first_info and sw_index_third_info. However, it lacks an explicit verb, reading more as a label than a full description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only states what it returns, with no mention of prerequisites, exclusions, or comparison with related Shenwan classification tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_index_third_consARead-onlyIdempotent
乐咕乐股-申万三级-行业成份 https://legulegu.com/stockdata/index-composition?industryCode=801120.SI :param symbol: 三级行业的行业代码 :type symbol: str :return: 行业成份 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 801120.SI |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior, so the bar is lower. The description adds that the data comes from legulegu.com and returns a pandas DataFrame, but it does not disclose potential errors, pagination, data freshness, or whether the output includes historical or current constituents. This is adequate but not rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively compact: a title line, a URL, and parameter documentation. It front-loads the primary name and provides essential details without verbose explanation. The structure is a mix of natural language and code-comment style, which is slightly less readable but still economical and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool, the description covers the source, the input meaning, and the return type (DataFrame). However, it does not describe the structure of the returned DataFrame (e.g., columns like stock code, name, weight) or any edge cases (e.g., invalid industry code, timing of data refresh). This is a minor gap for a tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameter description (0% coverage), but the tool description compensates by documenting ':param symbol: 三级行业的行业代码' and ':type symbol: str', clarifying that the symbol is the Level 3 industry code. The default value '801120.SI' and the URL also provide an example. This adds meaning beyond the schema, though it does not enumerate possible code formats or whether the parameter is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates this tool provides Shenwan Level 3 industry constituents, with the name and URL pointing to an index-composition page. It specifies the resource (industry constituents) and scope (Level 3 industry), though it lacks an explicit action verb like 'get' or 'list' and does not directly contrast with sibling tools such as index_component_sw.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: when you need constituents of a Shenwan Level 3 industry, provide the industry code. However, there is no explicit guidance on when to use this over alternatives, nor any exclusions or prerequisites. The description does not mention alternative tools for other Shenwan levels or different data sources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_index_third_infoBRead-onlyIdempotent
乐咕乐股-申万三级-分类 https://legulegu.com/stockdata/sw-industry-overview#level1 :return: 分类 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the source URL and return type (pandas.DataFrame), but provides limited additional behavioral detail, such as data freshness or exact contents. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but feels like a raw docstring extraction with a Chinese title, a URL, and return tags. The URL is not directly actionable for an agent, and the structure is fragmented, though it is front-loaded with the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read-only tool, the description is adequate for basic invocation, but it does not describe what the returned DataFrame contains (e.g., columns, codes, names). The absence of an output schema increases the need for such detail, which is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the input schema already covers all needed information. The description adds no parameter semantics, but none are required; the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description labels the tool as '乐咕乐股-申万三级-分类' (Legulegu Shenwan Level 3 Classification) and notes it returns a pandas DataFrame. This identifies the resource and function, and the 'third' in the name distinguishes it from siblings like sw_index_first_info and sw_index_second_info, though it lacks an explicit action verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage context is provided. The description does not state when to use this tool, what it is useful for, or when to prefer alternatives such as sw_index_first_info or sw_index_second_info. The agent receives no guidance beyond the label.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tool_trade_date_hist_sinaBRead-onlyIdempotent
新浪财经-交易日历-历史数据 https://finance.sina.com.cn/realstock/company/klc_td_sh.txt :return: 交易日历 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, covering the safety profile. The description adds the source URL and DataFrame return type but no additional behavioral details such as update frequency, data scope, or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief, consisting of a title, URL, and return specifications. It avoids unnecessary text, but the lack of a full descriptive sentence slightly reduces clarity and structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should at least explain what the trading calendar DataFrame contains. It states 'trading calendar' and rtype pandas.DataFrame, but does not describe columns, date range, or update behavior, making it minimally complete for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description needs no parameter explanations. The baseline for zero-parameter tools is 4, as the schema fully covers the parameter space.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as Sina Finance's historical trading calendar data, including a source URL and return type. It is distinguishable from sibling tools by its specific focus on trade dates from Sina, though it lacks an explicit verb phrase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No information is provided about when to use this tool versus alternatives. The description gives no usage scenarios, prerequisites, or exclusions, leaving the agent without selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_tvBRead-onlyIdempotent
艺恩-视频放映-电视剧集 https://www.endata.com.cn/Video/index.html :return: 电视剧集 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds only a source URL and return type, which does not disclose any additional behavioral traits (e.g., data freshness, pagination, rate limits). No contradiction with annotations, but minimal added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (three lines), but it largely repeats the title and provides only a URL plus return type. It is not overly verbose, but the information is somewhat sparse and the URL may be of limited use to an agent. It is front-loaded with the title, yet the lack of any substantive explanation makes it under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no parameters and no output schema, the description provides the essential facts: source (Endata), resource type (TV series), and return format (pandas.DataFrame). For a simple data retrieval tool, this is largely sufficient. However, it does not specify what fields or granularity the data contains, which could be useful but is not critical for invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is trivially complete. According to the rubric, a baseline of 4 is appropriate for 0-parameter tools. The description's return type adds slight clarity but is not required for parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning 电视剧集 (TV series) data from the 艺恩 (Endata) platform, with a URL and return type. While the description is essentially a title plus return annotation, it is specific enough to distinguish it from video_variety_show (variety shows) and other media tools. However, it lacks a directive verb like 'fetch' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions. The context of 'video_tv' versus 'video_variety_show' implies usage, but the description itself does not state that this is for TV series data retrieval or when to prefer it over other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_variety_showBRead-onlyIdempotent
艺恩-视频放映-综艺节目 https://www.endata.com.cn/Video/index.html :return: 综艺节目 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the return type (DataFrame) and source URL, but does not disclose other behavioral traits such as pagination, data freshness, or any limitations. It is consistent with annotations, hence not contradictory, but adds limited behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a title, URL, and return type in three lines. It is front-loaded with the main identifier and contains no fluff. However, it is a bit terse and could be slightly more informative without being wasteful, earning a 4 rather than 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should compensate by detailing what data is returned. It states '综艺节目' (variety shows) and 'pandas.DataFrame', but does not specify columns, time range, or content granularity. For a simple no-parameter read-only tool, this is acceptable but leaves room for improvement. A more complete description would mention typical fields like program name, rating, or release date.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description does not need to compensate for parameter documentation since there are none. It correctly omits parameter explanation, and the schema coverage is 100% by default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving variety show (综艺节目) data from the Endata video platform, with a specific URL and return type. The verb is implied but not explicit; the naming and context distinguish it from siblings like video_tv. It lacks an explicit action word like 'get' or 'list', but the resource and scope are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of exclusions, prerequisites, or comparison with sibling tools. For a simple no-parameter tool, the context is clear that it returns variety show data, but no when-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
volatility_yz_rvBRead-onlyIdempotent
波动率-已实现波动率-Yang-Zhang 已实现波动率(Yang-Zhang Realized Volatility) https://github.com/hugogobato/Yang-Zhang-s-Realized-Volatility-Automated-Estimation-in-Python 论文地址:https://www.jstor.org/stable/10.1086/209650 基于以下公式计算: RV^2 = Vo + k*Vc + (1-k)*Vrs 其中:
Vo: 隔夜波动率,Vo = 1/(n-1)*sum(Oi-Obar)^2 Oi为标准化开盘价,Obar为标准化开盘价均值
Vc: 收盘波动率,Vc = 1/(n-1)*sum(ci-Cbar)^2 ci为标准化收盘价,Cbar为标准化收盘价均值
k: 权重系数,k = 0.34/(1.34+(n+1)/(n-1)) n为样本数量
Vrs: Rogers-Satchell波动率代理,Vrs = ui(ui-ci)+di(di-ci) ui = ln(Hi/Oi), ci = ln(Ci/Oi), di = ln(Li/Oi), oi = ln(Oi/Ci-1) Hi/Li/Ci/Oi分别为最高价/最低价/收盘价/开盘价
:param data: 包含 OHLC(开高低收) 价格的 pandas.DataFrame :type data: pandas.DataFrame :return: 包含 Yang-Zhang 实现波动率的 pandas.DataFrame :rtype: pandas.DataFrame
要求输入数据包含以下列:
Open: 开盘价
High: 最高价
Low: 最低价
Close: 收盘价
yang_zhang_rv formula is give as:
RV^2 = Vo + k*Vc + (1-k)*Vrs
where Vo = 1/(n-1)*sum(Oi-Obar)^2
with oi = normalized opening price at time t and Obar = mean of normalized opening prices
Vc = = 1/(n-1)*sum(ci-Cbar)^2
with ci = normalized close price at time t and Cbar = mean of normalized close prices
k = 0.34/(1.34+(n+1)/(n-1))
with n = total number of days or time periods considered
Vrs (Rogers & Satchell RV proxy) = ui(ui-ci)+di(di-ci)
with ui = ln(Hi/Oi), ci = ln(Ci/Oi), di=(Li/Oi), oi = ln(Oi/Ci-1)
where Hi = high price at time t and Li = low price at time t
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the concrete input contract (must contain Open/High/Low/Close columns) and the return type, which is useful. It omits behavior around window length (n), NaNs, or whether output is a series or a single scalar.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is bloated: the entire formula is stated once in the prose and then again verbatim in the trailing code comment, plus two links and a variable glossary. It leads with derivation rather than the operation, and roughly half the text is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must carry the return contract; it states the return is a DataFrame of Yang-Zhang RV but not its columns, shape, or whether it is rolling. Given the function's complexity, this is adequate but leaves real gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the schema only says 'data' is an array of objects. The description compensates meaningfully by enumerating the required columns (Open, High, Low, Close) and calling it a pandas.DataFrame. It still doesn't specify the expected index/time column, but the core input semantics are conveyed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: it computes Yang-Zhang Realized Volatility from OHLC data, backed by the formula and paper citation. It is clearly distinguishable from generic quote/listing siblings, but it does not name or distinguish itself from related RV tools (article_oman_rv, rv_from_futures_zh_minute_sina).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of the many alternative realized-volatility tools in the sibling set. The agent is given the math but not the condition under which this estimator should be chosen over the others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xincaifu_rankBRead-onlyIdempotent
新财富 500 人富豪榜 http://www.xcf.cn/zhuanti/ztzz/hdzt1/500frb/index.html :param year: 具体排名年份,数据从 2003-至今 :type year: str :return: 排行榜 :rtype: pandas.DataFrame
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | 2022 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and non-destructive behavior, so the safety profile is covered. The description adds the useful temporal scope (data from 2003 to present) and the return type (pandas.DataFrame), which is genuine extra context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The name and source URL are front-loaded, which is good, but the Sphinx-style :type/:rtype lines restate what the schema and return convention already imply, adding boilerplate. It is not bloated, but not every line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with no output schema, the description covers purpose, source, valid year range, and return type. What it lacks is routing guidance against the many sibling ranking tools, which is the main missing piece.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter. It does explain that 'year' is the specific ranking year and that valid data spans 2003 to the present, which meaningfully constrains acceptable input even though the string format is only implied by the schema default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (新财富500人富豪榜) but largely restates the tool title without an explicit verb, so it reads as a label rather than a described action. It does add identifying context (the source URL and the 2003-present data window), but it never distinguishes itself from close siblings like forbes_rank, hurun_rank, or index_bloomberg_billionaires.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. With several near-identical rich-list tools in the sibling set (forbes_rank, hurun_rank, index_bloomberg_billionaires), the absence of any disambiguation is a real gap.
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.
4 tool updates
v0.1.4- Changed
futures_shfe_warehouse_receipt1 field changed- changed
Input schema / properties / date / defaultPrevious value: -"20200702"New value: +"20260924"
- Added
interface_info - Added
list_categories - Added
search
1093 tool updates
v0.1.2- First observed
air_city_table - First observed
air_quality_hebei - First observed
air_quality_hist - First observed
air_quality_rank - First observed
air_quality_watch_point - First observed
amac_aoin_info - First observed
amac_fund_abs - First observed
amac_fund_account_info - First observed
amac_fund_info - First observed
amac_fund_sub_info - First observed
amac_futures_info - First observed
amac_manager_cancelled_info - First observed
amac_manager_classify_info - First observed
amac_manager_info - First observed
amac_member_info - First observed
amac_member_sub_info - First observed
amac_person_bond_org_list - First observed
amac_person_fund_org_list - First observed
amac_securities_info - First observed
article_epu_index - First observed
article_ff_crr - First observed
article_oman_rv - First observed
article_oman_rv_short - First observed
article_rlab_rv - First observed
bank_fjcf_table_detail - First observed
bond_available_index_cbond - First observed
bond_buy_back_hist_em - First observed
bond_cash_summary_sse - First observed
bond_cb_adj_logs_jsl - First observed
bond_cb_index_jsl - First observed
bond_cb_jsl - First observed
bond_cb_profile_sina - First observed
bond_cb_redeem_jsl - First observed
bond_cb_summary_sina - First observed
bond_china_close_return - First observed
bond_china_close_return_map - First observed
bond_china_yield - First observed
bond_composite_index_cbond - First observed
bond_corporate_issue_cninfo - First observed
bond_cov_comparison - First observed
bond_cov_issue_cninfo - First observed
bond_cov_stock_issue_cninfo - First observed
bond_deal_summary_sse - First observed
bond_debt_nafmii - First observed
bond_gb_us_sina - First observed
bond_gb_zh_sina - First observed
bond_index_general_cbond - First observed
bond_info_cm - First observed
bond_info_cm_query - First observed
bond_info_detail_cm - First observed
bond_local_government_issue_cninfo - First observed
bond_new_composite_index_cbond - First observed
bond_sh_buy_back_em - First observed
bond_spot_deal - First observed
bond_spot_quote - First observed
bond_sz_buy_back_em - First observed
bond_treasure_issue_cninfo - First observed
bond_treasury_index_cbond - First observed
bond_zh_cov - First observed
bond_zh_cov_info - First observed
bond_zh_cov_info_ths - First observed
bond_zh_cov_value_analysis - First observed
bond_zh_hs_cov_daily - First observed
bond_zh_hs_cov_min - First observed
bond_zh_hs_cov_pre_min - First observed
bond_zh_hs_cov_spot - First observed
bond_zh_hs_daily - First observed
bond_zh_hs_spot - First observed
bond_zh_us_rate - First observed
business_value_artist - First observed
car_market_cate_cpca - First observed
car_market_country_cpca - First observed
car_market_fuel_cpca - First observed
car_market_man_rank_cpca - First observed
car_market_segment_cpca - First observed
car_market_total_cpca - First observed
car_sale_rank_gasgoo - First observed
crypto_bitcoin_cme - First observed
crypto_bitcoin_hold_report - First observed
crypto_js_spot - First observed
currency_boc_safe - First observed
currency_boc_sina - First observed
currency_convert - First observed
currency_currencies - First observed
currency_history - First observed
currency_latest - First observed
currency_pair_map - First observed
currency_time_series - First observed
drewry_wci_index - First observed
energy_carbon_bj - First observed
energy_carbon_domestic - First observed
energy_carbon_eu - First observed
energy_carbon_gz - First observed
energy_carbon_hb - First observed
energy_carbon_sz - First observed
energy_oil_detail - First observed
energy_oil_hist - First observed
forbes_rank - First observed
forex_hist_em - First observed
forex_spot_em - First observed
fred_md - First observed
fred_qd - First observed
fund_announcement_dividend_em - First observed
fund_announcement_personnel_em - First observed
fund_announcement_report_em - First observed
fund_aum_em - First observed
fund_aum_hist_em - First observed
fund_aum_trend_em - First observed
fund_balance_position_lg - First observed
fund_cf_em - First observed
fund_etf_category_sina - First observed
fund_etf_category_ths - First observed
fund_etf_dividend_sina - First observed
fund_etf_fund_daily_em - First observed
fund_etf_fund_info_em - First observed
fund_etf_hist_em - First observed
fund_etf_hist_min_em - First observed
fund_etf_hist_sina - First observed
fund_etf_scale_sse - First observed
fund_etf_scale_szse - First observed
fund_etf_spot_em - First observed
fund_etf_spot_ths - First observed
fund_exchange_rank_em - First observed
fund_fee_em - First observed
fund_fh_em - First observed
fund_fh_rank_em - First observed
fund_financial_fund_daily_em - First observed
fund_financial_fund_info_em - First observed
fund_graded_fund_daily_em - First observed
fund_graded_fund_info_em - First observed
fund_hk_fund_hist_em - First observed
fund_hk_rank_em - First observed
fund_hold_structure_em - First observed
fund_individual_achievement_xq - First observed
fund_individual_analysis_xq - First observed
fund_individual_basic_info_xq - First observed
fund_individual_detail_hold_xq - First observed
fund_individual_detail_info_xq - First observed
fund_individual_profit_probability_xq - First observed
fund_info_index_em - First observed
fund_info_ths - First observed
fund_lcx_rank_em - First observed
fund_linghuo_position_lg - First observed
fund_lof_hist_em - First observed
fund_lof_hist_min_em - First observed
fund_lof_spot_em - First observed
fund_manager_em - First observed
fund_money_fund_daily_em - First observed
fund_money_fund_info_em - First observed
fund_money_rank_em - First observed
fund_name_em - First observed
fund_new_found_em - First observed
fund_new_found_ths - First observed
fund_open_fund_daily_em - First observed
fund_open_fund_info_em - First observed
fund_open_fund_rank_em - First observed
fund_overview_em - First observed
fund_portfolio_bond_hold_em - First observed
fund_portfolio_change_em - First observed
fund_portfolio_hold_em - First observed
fund_portfolio_industry_allocation_em - First observed
fund_purchase_em - First observed
fund_rating_all - First observed
fund_rating_ja - First observed
fund_rating_sh - First observed
fund_rating_zs - First observed
fund_report_asset_allocation_cninfo - First observed
fund_report_industry_allocation_cninfo - First observed
fund_report_stock_cninfo - First observed
fund_scale_change_em - First observed
fund_scale_close_sina - First observed
fund_scale_daily_szse - First observed
fund_scale_open_sina - First observed
fund_scale_structured_sina - First observed
fund_stock_position_lg - First observed
fund_value_estimation_em - First observed
futures_comex_inventory - First observed
futures_comm_info - First observed
futures_comm_js - First observed
futures_contract_detail - First observed
futures_contract_detail_em - First observed
futures_contract_info_cffex - First observed
futures_contract_info_czce - First observed
futures_contract_info_dce - First observed
futures_contract_info_gfex - First observed
futures_contract_info_ine - First observed
futures_contract_info_shfe - First observed
futures_dce_position_rank - First observed
futures_dce_position_rank_other - First observed
futures_delivery_czce - First observed
futures_delivery_dce - First observed
futures_delivery_match_czce - First observed
futures_delivery_match_dce - First observed
futures_delivery_shfe - First observed
futures_display_main_sina - First observed
futures_fees_info - First observed
futures_foreign_commodity_realtime - First observed
futures_foreign_commodity_subscribe_exchange_symbol - First observed
futures_foreign_detail - First observed
futures_foreign_hist - First observed
futures_gfex_position_rank - First observed
futures_gfex_warehouse_receipt - First observed
futures_global_hist_em - First observed
futures_global_spot_em - First observed
futures_hist_daily_cffex - First observed
futures_hist_em - First observed
futures_hist_table_em - First observed
futures_hog_core - First observed
futures_hog_cost - First observed
futures_hog_supply - First observed
futures_hold_pos_sina - First observed
futures_hq_subscribe_exchange_symbol - First observed
futures_index_ccidx - First observed
futures_inventory_99 - First observed
futures_inventory_em - First observed
futures_main_sina - First observed
futures_news_shmet - First observed
futures_rule - First observed
futures_settle - First observed
futures_settle_cffex - First observed
futures_settle_czce - First observed
futures_settle_gfex - First observed
futures_settle_ine - First observed
futures_settle_shfe - First observed
futures_settlement_price_sgx - First observed
futures_shfe_warehouse_receipt - First observed
futures_spot_price - First observed
futures_spot_price_daily - First observed
futures_spot_price_previous - First observed
futures_spot_stock - First observed
futures_spot_sys - First observed
futures_stock_shfe_js - First observed
futures_symbol_mark - First observed
futures_to_spot_czce - First observed
futures_to_spot_dce - First observed
futures_to_spot_shfe - First observed
futures_warehouse_receipt_czce - First observed
futures_warehouse_receipt_dce - First observed
futures_zh_daily_sina - First observed
futures_zh_minute_sina - First observed
futures_zh_realtime - First observed
futures_zh_spot - First observed
fx_c_swap_cm - First observed
fx_pair_quote - First observed
fx_quote_baidu - First observed
fx_spot_quote - First observed
fx_swap_quote - First observed
game_hot_rank_taptap - First observed
get_cffex_daily - First observed
get_cffex_rank_table - First observed
get_czce_daily - First observed
get_dce_daily - First observed
get_dce_rank_table - First observed
get_futures_daily - First observed
get_gfex_daily - First observed
get_ine_daily - First observed
get_qhkc_fund_bs - First observed
get_qhkc_fund_money_change - First observed
get_qhkc_fund_position - First observed
get_qhkc_index - First observed
get_qhkc_index_profit_loss - First observed
get_qhkc_index_trend - First observed
get_rank_sum - First observed
get_rank_sum_daily - First observed
get_rank_table_czce - First observed
get_receipt - First observed
get_roll_yield - First observed
get_roll_yield_bar - First observed
get_shfe_daily - First observed
get_shfe_rank_table - First observed
get_token - First observed
get_us_stock_name - First observed
hf_sp_500 - First observed
hurun_rank - First observed
index_ai_cx - First observed
index_all_cni - First observed
index_analysis_daily_sw - First observed
index_analysis_monthly_sw - First observed
index_analysis_week_month_sw - First observed
index_analysis_weekly_sw - First observed
index_awpr_cx - First observed
index_bei_cx - First observed
index_bi_cx - First observed
index_bloomberg_billionaires - First observed
index_bloomberg_billionaires_hist - First observed
index_cci_cx - First observed
index_ci_cx - First observed
index_code_id_map_em - First observed
index_component_sw - First observed
index_csindex_all - First observed
index_dei_cx - First observed
index_detail_cni - First observed
index_detail_hist_adjust_cni - First observed
index_detail_hist_cni - First observed
index_eri - First observed
index_fi_cx - First observed
index_global_hist_em - First observed
index_global_hist_sina - First observed
index_global_name_table - First observed
index_global_spot_em - First observed
index_hist_cni - First observed
index_hist_fund_sw - First observed
index_hist_sw - First observed
index_hog_spot_price - First observed
index_ii_cx - First observed
index_inner_quote_sugar_msweet - First observed
index_kq_fashion - First observed
index_kq_fz - First observed
index_li_cx - First observed
index_min_sw - First observed
index_neaw_cx - First observed
index_neei_cx - First observed
index_nei_cx - First observed
index_news_sentiment_scope - First observed
index_option_1000index_min_qvix - First observed
index_option_1000index_qvix - First observed
index_option_100etf_min_qvix - First observed
index_option_100etf_qvix - First observed
index_option_300etf_min_qvix - First observed
index_option_300etf_qvix - First observed
index_option_300index_min_qvix - First observed
index_option_300index_qvix - First observed
index_option_500etf_min_qvix - First observed
index_option_500etf_qvix - First observed
index_option_50etf_min_qvix - First observed
index_option_50etf_qvix - First observed
index_option_50index_min_qvix - First observed
index_option_50index_qvix - First observed
index_option_cyb_min_qvix - First observed
index_option_cyb_qvix - First observed
index_option_kcb_min_qvix - First observed
index_option_kcb_qvix - First observed
index_outer_quote_sugar_msweet - First observed
index_pmi_com_cx - First observed
index_pmi_man_cx - First observed
index_pmi_ser_cx - First observed
index_price_cflp - First observed
index_qli_cx - First observed
index_realtime_fund_sw - First observed
index_realtime_sw - First observed
index_si_cx - First observed
index_stock_cons - First observed
index_stock_cons_csindex - First observed
index_stock_cons_sina - First observed
index_stock_cons_weight_csindex - First observed
index_stock_info - First observed
index_sugar_msweet - First observed
index_ti_cx - First observed
index_us_stock_sina - First observed
index_volume_cflp - First observed
index_yw - First observed
index_zh_a_hist - First observed
index_zh_a_hist_min_em - First observed
macro_australia_bank_rate - First observed
macro_australia_cpi_quarterly - First observed
macro_australia_cpi_yearly - First observed
macro_australia_ppi_quarterly - First observed
macro_australia_retail_rate_monthly - First observed
macro_australia_trade - First observed
macro_australia_unemployment_rate - First observed
macro_bank_australia_interest_rate - First observed
macro_bank_brazil_interest_rate - First observed
macro_bank_china_interest_rate - First observed
macro_bank_english_interest_rate - First observed
macro_bank_euro_interest_rate - First observed
macro_bank_india_interest_rate - First observed
macro_bank_japan_interest_rate - First observed
macro_bank_newzealand_interest_rate - First observed
macro_bank_russia_interest_rate - First observed
macro_bank_switzerland_interest_rate - First observed
macro_bank_usa_interest_rate - First observed
macro_canada_bank_rate - First observed
macro_canada_core_cpi_monthly - First observed
macro_canada_core_cpi_yearly - First observed
macro_canada_cpi_monthly - First observed
macro_canada_cpi_yearly - First observed
macro_canada_gdp_monthly - First observed
macro_canada_new_house_rate - First observed
macro_canada_retail_rate_monthly - First observed
macro_canada_trade - First observed
macro_canada_unemployment_rate - First observed
macro_china_agricultural_index - First observed
macro_china_agricultural_product - First observed
macro_china_au_report - First observed
macro_china_bank_financing - First observed
macro_china_bdti_index - First observed
macro_china_bond_public - First observed
macro_china_bsi_index - First observed
macro_china_central_bank_balance - First observed
macro_china_commodity_price_index - First observed
macro_china_construction_index - First observed
macro_china_construction_price_index - First observed
macro_china_consumer_goods_retail - First observed
macro_china_cpi - First observed
macro_china_cpi_monthly - First observed
macro_china_cpi_yearly - First observed
macro_china_cx_pmi_yearly - First observed
macro_china_cx_services_pmi_yearly - First observed
macro_china_czsr - First observed
macro_china_daily_energy - First observed
macro_china_energy_index - First observed
macro_china_enterprise_boom_index - First observed
macro_china_exports_yoy - First observed
macro_china_fdi - First observed
macro_china_foreign_exchange_gold - First observed
macro_china_freight_index - First observed
macro_china_fx_gold - First observed
macro_china_fx_reserves_yearly - First observed
macro_china_gdp - First observed
macro_china_gdp_yearly - First observed
macro_china_gdzctz - First observed
macro_china_gyzjz - First observed
macro_china_hgjck - First observed
macro_china_hk_building_amount - First observed
macro_china_hk_building_volume - First observed
macro_china_hk_cpi - First observed
macro_china_hk_cpi_ratio - First observed
macro_china_hk_gbp - First observed
macro_china_hk_gbp_ratio - First observed
macro_china_hk_market_info - First observed
macro_china_hk_ppi - First observed
macro_china_hk_rate_of_unemployment - First observed
macro_china_hk_trade_diff_ratio - First observed
macro_china_imports_yoy - First observed
macro_china_industrial_production_yoy - First observed
macro_china_insurance - First observed
macro_china_insurance_income - First observed
macro_china_international_tourism_fx - First observed
macro_china_lpi_index - First observed
macro_china_lpr - First observed
macro_china_m2_yearly - First observed
macro_china_market_margin_sh - First observed
macro_china_market_margin_sz - First observed
macro_china_mobile_number - First observed
macro_china_money_supply - First observed
macro_china_national_tax_receipts - First observed
macro_china_nbs_nation - First observed
macro_china_nbs_region - First observed
macro_china_new_financial_credit - First observed
macro_china_new_house_price - First observed
macro_china_non_man_pmi - First observed
macro_china_passenger_load_factor - First observed
macro_china_pmi - First observed
macro_china_pmi_yearly - First observed
macro_china_postal_telecommunicational - First observed
macro_china_ppi - First observed
macro_china_ppi_yearly - First observed
macro_china_qyspjg - First observed
macro_china_real_estate - First observed
macro_china_reserve_requirement_ratio - First observed
macro_china_retail_price_index - First observed
macro_china_rmb - First observed
macro_china_shibor_all - First observed
macro_china_shrzgm - First observed
macro_china_society_electricity - First observed
macro_china_society_traffic_volume - First observed
macro_china_stock_market_cap - First observed
macro_china_supply_of_money - First observed
macro_china_swap_rate - First observed
macro_china_trade_balance - First observed
macro_china_urban_unemployment - First observed
macro_china_vegetable_basket - First observed
macro_china_wbck - First observed
macro_china_whxd - First observed
macro_china_xfzxx - First observed
macro_china_yw_electronic_index - First observed
macro_cnbs - First observed
macro_cons_gold - First observed
macro_cons_opec_month - First observed
macro_cons_silver - First observed
macro_euro_cpi_mom - First observed
macro_euro_cpi_yoy - First observed
macro_euro_current_account_mom - First observed
macro_euro_employment_change_qoq - First observed
macro_euro_gdp_yoy - First observed
macro_euro_industrial_production_mom - First observed
macro_euro_lme_holding - First observed
macro_euro_lme_stock - First observed
macro_euro_manufacturing_pmi - First observed
macro_euro_ppi_mom - First observed
macro_euro_retail_sales_mom - First observed
macro_euro_sentix_investor_confidence - First observed
macro_euro_services_pmi - First observed
macro_euro_trade_balance - First observed
macro_euro_unemployment_rate_mom - First observed
macro_euro_zew_economic_sentiment - First observed
macro_fx_sentiment - First observed
macro_germany_cpi_monthly - First observed
macro_germany_cpi_yearly - First observed
macro_germany_gdp - First observed
macro_germany_ifo - First observed
macro_germany_retail_sale_monthly - First observed
macro_germany_retail_sale_yearly - First observed
macro_germany_trade_adjusted - First observed
macro_germany_zew - First observed
macro_global_sox_index - First observed
macro_info_ws - First observed
macro_japan_bank_rate - First observed
macro_japan_core_cpi_yearly - First observed
macro_japan_cpi_yearly - First observed
macro_japan_head_indicator - First observed
macro_japan_unemployment_rate - First observed
macro_rmb_deposit - First observed
macro_rmb_loan - First observed
macro_shipping_bci - First observed
macro_shipping_bcti - First observed
macro_shipping_bdi - First observed
macro_shipping_bpi - First observed
macro_stock_finance - First observed
macro_swiss_cpi_yearly - First observed
macro_swiss_gbd_bank_rate - First observed
macro_swiss_gbd_yearly - First observed
macro_swiss_gdp_quarterly - First observed
macro_swiss_svme - First observed
macro_swiss_trade - First observed
macro_uk_bank_rate - First observed
macro_uk_core_cpi_monthly - First observed
macro_uk_core_cpi_yearly - First observed
macro_uk_cpi_monthly - First observed
macro_uk_cpi_yearly - First observed
macro_uk_gdp_quarterly - First observed
macro_uk_gdp_yearly - First observed
macro_uk_halifax_monthly - First observed
macro_uk_halifax_yearly - First observed
macro_uk_retail_monthly - First observed
macro_uk_retail_yearly - First observed
macro_uk_rightmove_monthly - First observed
macro_uk_rightmove_yearly - First observed
macro_uk_trade - First observed
macro_uk_unemployment_rate - First observed
macro_usa_adp_employment - First observed
macro_usa_api_crude_stock - First observed
macro_usa_building_permits - First observed
macro_usa_business_inventories - First observed
macro_usa_cb_consumer_confidence - First observed
macro_usa_cftc_c_holding - First observed
macro_usa_cftc_merchant_currency_holding - First observed
macro_usa_cftc_merchant_goods_holding - First observed
macro_usa_cftc_nc_holding - First observed
macro_usa_cme_merchant_goods_holding - First observed
macro_usa_core_cpi_monthly - First observed
macro_usa_core_pce_price - First observed
macro_usa_core_ppi - First observed
macro_usa_cpi_monthly - First observed
macro_usa_cpi_yoy - First observed
macro_usa_crude_inner - First observed
macro_usa_current_account - First observed
macro_usa_durable_goods_orders - First observed
macro_usa_eia_crude_rate - First observed
macro_usa_exist_home_sales - First observed
macro_usa_export_price - First observed
macro_usa_factory_orders - First observed
macro_usa_gdp_monthly - First observed
macro_usa_house_price_index - First observed
macro_usa_house_starts - First observed
macro_usa_import_price - First observed
macro_usa_industrial_production - First observed
macro_usa_initial_jobless - First observed
macro_usa_ism_non_pmi - First observed
macro_usa_ism_pmi - First observed
macro_usa_job_cuts - First observed
macro_usa_lmci - First observed
macro_usa_michigan_consumer_sentiment - First observed
macro_usa_nahb_house_market_index - First observed
macro_usa_new_home_sales - First observed
macro_usa_nfib_small_business - First observed
macro_usa_non_farm - First observed
macro_usa_pending_home_sales - First observed
macro_usa_personal_spending - First observed
macro_usa_phs - First observed
macro_usa_pmi - First observed
macro_usa_ppi - First observed
macro_usa_real_consumer_spending - First observed
macro_usa_retail_sales - First observed
macro_usa_rig_count - First observed
macro_usa_services_pmi - First observed
macro_usa_spcs20 - First observed
macro_usa_trade_balance - First observed
macro_usa_unemployment_rate - First observed
match_main_contract - First observed
migration_area_baidu - First observed
migration_scale_baidu - First observed
movie_boxoffice_cinema_daily - First observed
movie_boxoffice_cinema_weekly - First observed
movie_boxoffice_daily - First observed
movie_boxoffice_monthly - First observed
movie_boxoffice_realtime - First observed
movie_boxoffice_weekly - First observed
movie_boxoffice_yearly - First observed
movie_boxoffice_yearly_first_week - First observed
news_cctv - First observed
news_economic_baidu - First observed
news_report_time_baidu - First observed
news_trade_notify_dividend_baidu - First observed
news_trade_notify_suspend_baidu - First observed
nlp_answer - First observed
nlp_ownthink - First observed
online_value_artist - First observed
option_cffex_hs300_daily_sina - First observed
option_cffex_hs300_list_sina - First observed
option_cffex_hs300_spot_sina - First observed
option_cffex_sz50_daily_sina - First observed
option_cffex_sz50_list_sina - First observed
option_cffex_sz50_spot_sina - First observed
option_cffex_zz1000_daily_sina - First observed
option_cffex_zz1000_list_sina - First observed
option_cffex_zz1000_spot_sina - First observed
option_comm_info - First observed
option_comm_symbol - First observed
option_commodity_contract_sina - First observed
option_commodity_contract_table_sina - First observed
option_commodity_hist_sina - First observed
option_contract_info_ctp - First observed
option_current_day_sse - First observed
option_current_day_szse - First observed
option_current_em - First observed
option_daily_stats_sse - First observed
option_daily_stats_szse - First observed
option_finance_board - First observed
option_finance_minute_sina - First observed
option_finance_sse_underlying - First observed
option_hist_czce - First observed
option_hist_dce - First observed
option_hist_gfex - First observed
option_hist_shfe - First observed
option_hist_yearly_czce - First observed
option_lhb_em - First observed
option_margin - First observed
option_margin_symbol - First observed
option_minute_em - First observed
option_premium_analysis_em - First observed
option_risk_analysis_em - First observed
option_risk_indicator_sse - First observed
option_sse_codes_sina - First observed
option_sse_daily_sina - First observed
option_sse_expire_day_sina - First observed
option_sse_greeks_sina - First observed
option_sse_list_sina - First observed
option_sse_minute_sina - First observed
option_sse_spot_price_sina - First observed
option_sse_underlying_spot_price_sina - First observed
option_value_analysis_em - First observed
option_vol_gfex - First observed
option_vol_shfe - First observed
pro_api - First observed
qdii_a_index_jsl - First observed
qdii_e_comm_jsl - First observed
qdii_e_index_jsl - First observed
qhkc_tool_foreign - First observed
qhkc_tool_gdp - First observed
rate_interbank - First observed
reits_hist_em - First observed
reits_hist_min_em - First observed
reits_realtime_em - First observed
repo_rate_hist - First observed
repo_rate_query - First observed
rv_from_futures_zh_minute_sina - First observed
rv_from_stock_zh_a_hist_min_em - First observed
set_token - First observed
spot_corn_price_soozhu - First observed
spot_golden_benchmark_sge - First observed
spot_goods - First observed
spot_hist_sge - First observed
spot_hog_crossbred_soozhu - First observed
spot_hog_lean_price_soozhu - First observed
spot_hog_soozhu - First observed
spot_hog_three_way_soozhu - First observed
spot_hog_year_trend_soozhu - First observed
spot_mixed_feed_soozhu - First observed
spot_price_qh - First observed
spot_price_table_qh - First observed
spot_quotations_sge - First observed
spot_silver_benchmark_sge - First observed
spot_soybean_price_soozhu - First observed
spot_symbol_table_sge - First observed
stock_a_all_pb - First observed
stock_a_below_net_asset_statistics - First observed
stock_a_code_to_symbol - First observed
stock_a_congestion_lg - First observed
stock_a_gxl_lg - First observed
stock_a_high_low_statistics - First observed
stock_a_ttm_lyr - First observed
stock_account_statistics_em - First observed
stock_add_stock - First observed
stock_allotment_cninfo - First observed
stock_analyst_detail_em - First observed
stock_analyst_rank_em - First observed
stock_balance_sheet_by_report_delisted_em - First observed
stock_balance_sheet_by_report_em - First observed
stock_balance_sheet_by_yearly_em - First observed
stock_bid_ask_em - First observed
stock_bj_a_spot_em - First observed
stock_board_change_em - First observed
stock_board_concept_cons_em - First observed
stock_board_concept_hist_em - First observed
stock_board_concept_hist_min_em - First observed
stock_board_concept_index_ths - First observed
stock_board_concept_info_ths - First observed
stock_board_concept_name_em - First observed
stock_board_concept_name_ths - First observed
stock_board_concept_spot_em - First observed
stock_board_concept_summary_ths - First observed
stock_board_industry_cons_em - First observed
stock_board_industry_hist_em - First observed
stock_board_industry_hist_min_em - First observed
stock_board_industry_index_ths - First observed
stock_board_industry_info_ths - First observed
stock_board_industry_name_em - First observed
stock_board_industry_name_ths - First observed
stock_board_industry_spot_em - First observed
stock_board_industry_summary_ths - First observed
stock_buffett_index_lg - First observed
stock_cash_flow_sheet_by_quarterly_em - First observed
stock_cash_flow_sheet_by_report_delisted_em - First observed
stock_cash_flow_sheet_by_report_em - First observed
stock_cash_flow_sheet_by_yearly_em - First observed
stock_cg_equity_mortgage_cninfo - First observed
stock_cg_guarantee_cninfo - First observed
stock_cg_lawsuit_cninfo - First observed
stock_changes_em - First observed
stock_circulate_stock_holder - First observed
stock_classify_sina - First observed
stock_comment_detail_scrd_desire_em - First observed
stock_comment_detail_scrd_focus_em - First observed
stock_comment_detail_zhpj_lspf_em - First observed
stock_comment_detail_zlkp_jgcyd_em - First observed
stock_comment_em - First observed
stock_concept_cons_futu - First observed
stock_concept_fund_flow_hist - First observed
stock_cy_a_spot_em - First observed
stock_cyq_em - First observed
stock_dividend_cninfo - First observed
stock_dxsyl_em - First observed
stock_dzjy_hygtj - First observed
stock_dzjy_hyyybtj - First observed
stock_dzjy_mrmx - First observed
stock_dzjy_mrtj - First observed
stock_dzjy_sctj - First observed
stock_dzjy_yybph - First observed
stock_ebs_lg - First observed
stock_esg_hz_sina - First observed
stock_esg_msci_sina - First observed
stock_esg_rate_sina - First observed
stock_esg_rft_sina - First observed
stock_esg_zd_sina - First observed
stock_fhps_detail_em - First observed
stock_fhps_detail_ths - First observed
stock_fhps_em - First observed
stock_financial_abstract - First observed
stock_financial_abstract_new_ths - First observed
stock_financial_abstract_ths - First observed
stock_financial_analysis_indicator - First observed
stock_financial_analysis_indicator_em - First observed
stock_financial_benefit_new_ths - First observed
stock_financial_benefit_ths - First observed
stock_financial_cash_new_ths - First observed
stock_financial_cash_ths - First observed
stock_financial_debt_new_ths - First observed
stock_financial_debt_ths - First observed
stock_financial_hk_analysis_indicator_em - First observed
stock_financial_hk_report_em - First observed
stock_financial_report_sina - First observed
stock_financial_us_analysis_indicator_em - First observed
stock_financial_us_report_em - First observed
stock_fund_flow_big_deal - First observed
stock_fund_flow_concept - First observed
stock_fund_flow_individual - First observed
stock_fund_flow_industry - First observed
stock_fund_stock_holder - First observed
stock_gddh_em - First observed
stock_gdfx_free_holding_analyse_em - First observed
stock_gdfx_free_holding_change_em - First observed
stock_gdfx_free_holding_detail_em - First observed
stock_gdfx_free_holding_statistics_em - First observed
stock_gdfx_free_holding_teamwork_em - First observed
stock_gdfx_free_top_10_em - First observed
stock_gdfx_holding_analyse_em - First observed
stock_gdfx_holding_change_em - First observed
stock_gdfx_holding_detail_em - First observed
stock_gdfx_holding_statistics_em - First observed
stock_gdfx_holding_teamwork_em - First observed
stock_gdfx_top_10_em - First observed
stock_ggcg_em - First observed
stock_gpzy_distribute_statistics_bank_em - First observed
stock_gpzy_distribute_statistics_company_em - First observed
stock_gpzy_individual_pledge_ratio_detail_em - First observed
stock_gpzy_industry_data_em - First observed
stock_gpzy_pledge_ratio_detail_em - First observed
stock_gpzy_pledge_ratio_em - First observed
stock_gpzy_profile_em - First observed
stock_gsrl_gsdt_em - First observed
stock_history_dividend - First observed
stock_history_dividend_detail - First observed
stock_hk_company_profile_em - First observed
stock_hk_daily - First observed
stock_hk_dividend_payout_em - First observed
stock_hk_famous_spot_em - First observed
stock_hk_fhpx_detail_ths - First observed
stock_hk_financial_indicator_em - First observed
stock_hk_ggt_components_em - First observed
stock_hk_growth_comparison_em - First observed
stock_hk_gxl_lg - First observed
stock_hk_hist - First observed
stock_hk_hist_min_em - First observed
stock_hk_hot_rank_detail_em - First observed
stock_hk_hot_rank_detail_realtime_em - First observed
stock_hk_hot_rank_em - First observed
stock_hk_hot_rank_latest_em - First observed
stock_hk_index_daily_em - First observed
stock_hk_index_daily_sina - First observed
stock_hk_index_spot_em - First observed
stock_hk_index_spot_sina - First observed
stock_hk_indicator_eniu - First observed
stock_hk_main_board_spot_em - First observed
stock_hk_profit_forecast_et - First observed
stock_hk_scale_comparison_em - First observed
stock_hk_security_profile_em - First observed
stock_hk_spot - First observed
stock_hk_spot_em - First observed
stock_hk_valuation_baidu - First observed
stock_hk_valuation_comparison_em - First observed
stock_hold_change_cninfo - First observed
stock_hold_control_cninfo - First observed
stock_hold_management_detail_cninfo - First observed
stock_hold_management_detail_em - First observed
stock_hold_management_person_em - First observed
stock_hold_num_cninfo - First observed
stock_hot_deal_xq - First observed
stock_hot_follow_xq - First observed
stock_hot_keyword_em - First observed
stock_hot_rank_detail_em - First observed
stock_hot_rank_detail_realtime_em - First observed
stock_hot_rank_em - First observed
stock_hot_rank_latest_em - First observed
stock_hot_rank_relate_em - First observed
stock_hot_search_baidu - First observed
stock_hot_tweet_xq - First observed
stock_hot_up_em - First observed
stock_hsgt_board_rank_em - First observed
stock_hsgt_fund_flow_summary_em - First observed
stock_hsgt_fund_min_em - First observed
stock_hsgt_hist_em - First observed
stock_hsgt_hold_stock_em - First observed
stock_hsgt_individual_detail_em - First observed
stock_hsgt_individual_em - First observed
stock_hsgt_institution_statistics_em - First observed
stock_hsgt_sh_hk_spot_em - First observed
stock_hsgt_stock_statistics_em - First observed
stock_index_pb_lg - First observed
stock_index_pe_lg - First observed
stock_individual_basic_info_hk_xq - First observed
stock_individual_basic_info_us_xq - First observed
stock_individual_basic_info_xq - First observed
stock_individual_fund_flow - First observed
stock_individual_fund_flow_rank - First observed
stock_individual_info_em - First observed
stock_individual_notice_report - First observed
stock_individual_spot_xq - First observed
stock_industry_category_cninfo - First observed
stock_industry_change_cninfo - First observed
stock_industry_clf_hist_sw - First observed
stock_industry_pe_ratio_cninfo - First observed
stock_info_a_code_name - First observed
stock_info_bj_name_code - First observed
stock_info_change_name - First observed
stock_info_cjzc_em - First observed
stock_info_global_cls - First observed
stock_info_global_em - First observed
stock_info_global_futu - First observed
stock_info_global_sina - First observed
stock_info_global_ths - First observed
stock_info_sh_delist - First observed
stock_info_sh_name_code - First observed
stock_info_sz_change_name - First observed
stock_info_sz_delist - First observed
stock_info_sz_name_code - First observed
stock_inner_trade_xq - First observed
stock_institute_hold - First observed
stock_institute_hold_detail - First observed
stock_institute_recommend - First observed
stock_institute_recommend_detail - First observed
stock_intraday_em - First observed
stock_intraday_sina - First observed
stock_ipo_benefit_ths - First observed
stock_ipo_declare_em - First observed
stock_ipo_hk_ths - First observed
stock_ipo_info - First observed
stock_ipo_review_em - First observed
stock_ipo_summary_cninfo - First observed
stock_ipo_ths - First observed
stock_ipo_tutor_em - First observed
stock_irm_ans_cninfo - First observed
stock_irm_cninfo - First observed
stock_jgdy_detail_em - First observed
stock_jgdy_tj_em - First observed
stock_js_weibo_nlp_time - First observed
stock_js_weibo_report - First observed
stock_kc_a_spot_em - First observed
stock_lh_yyb_capital - First observed
stock_lh_yyb_control - First observed
stock_lh_yyb_most - First observed
stock_lhb_detail_daily_sina - First observed
stock_lhb_detail_em - First observed
stock_lhb_ggtj_sina - First observed
stock_lhb_hyyyb_em - First observed
stock_lhb_jgmmtj_em - First observed
stock_lhb_jgmx_sina - First observed
stock_lhb_jgstatistic_em - First observed
stock_lhb_jgzz_sina - First observed
stock_lhb_stock_detail_date_em - First observed
stock_lhb_stock_detail_em - First observed
stock_lhb_stock_statistic_em - First observed
stock_lhb_traderstatistic_em - First observed
stock_lhb_yyb_detail_em - First observed
stock_lhb_yybph_em - First observed
stock_lhb_yytj_sina - First observed
stock_lrb_em - First observed
stock_main_fund_flow - First observed
stock_main_stock_holder - First observed
stock_management_change_ths - First observed
stock_margin_account_info - First observed
stock_margin_bse - First observed
stock_margin_detail_bse - First observed
stock_margin_detail_sse - First observed
stock_margin_detail_szse - First observed
stock_margin_ratio_pa - First observed
stock_margin_sse - First observed
stock_margin_szse - First observed
stock_margin_underlying_info_bse - First observed
stock_margin_underlying_info_szse - First observed
stock_market_activity_legu - First observed
stock_market_fund_flow - First observed
stock_market_pb_lg - First observed
stock_market_pe_lg - First observed
stock_new_a_spot_em - First observed
stock_new_gh_cninfo - First observed
stock_new_ipo_cninfo - First observed
stock_news_em - First observed
stock_news_main_cx - First observed
stock_notice_report - First observed
stock_pg_em - First observed
stock_price_js - First observed
stock_profile_cninfo - First observed
stock_profit_forecast_em - First observed
stock_profit_forecast_ths - First observed
stock_profit_sheet_by_quarterly_em - First observed
stock_profit_sheet_by_report_delisted_em - First observed
stock_profit_sheet_by_report_em - First observed
stock_profit_sheet_by_yearly_em - First observed
stock_qbzf_em - First observed
stock_qsjy_em - First observed
stock_rank_cxd_ths - First observed
stock_rank_cxfl_ths - First observed
stock_rank_cxg_ths - First observed
stock_rank_cxsl_ths - First observed
stock_rank_forecast_cninfo - First observed
stock_rank_ljqd_ths - First observed
stock_rank_ljqs_ths - First observed
stock_rank_lxsz_ths - First observed
stock_rank_lxxd_ths - First observed
stock_rank_xstp_ths - First observed
stock_rank_xxtp_ths - First observed
stock_rank_xzjp_ths - First observed
stock_register_all_em - First observed
stock_register_bj - First observed
stock_register_cyb - First observed
stock_register_db - First observed
stock_register_kcb - First observed
stock_register_sh - First observed
stock_register_sz - First observed
stock_report_disclosure - First observed
stock_report_fund_hold - First observed
stock_report_fund_hold_detail - First observed
stock_repurchase_em - First observed
stock_research_report_em - First observed
stock_restricted_release_detail_em - First observed
stock_restricted_release_queue_em - First observed
stock_restricted_release_queue_sina - First observed
stock_restricted_release_stockholder_em - First observed
stock_restricted_release_summary_em - First observed
stock_sector_detail - First observed
stock_sector_fund_flow_hist - First observed
stock_sector_fund_flow_rank - First observed
stock_sector_fund_flow_summary - First observed
stock_sector_spot - First observed
stock_sgt_reference_exchange_rate_sse - First observed
stock_sgt_reference_exchange_rate_szse - First observed
stock_sgt_settlement_exchange_rate_sse - First observed
stock_sgt_settlement_exchange_rate_szse - First observed
stock_sh_a_spot_em - First observed
stock_share_change_cninfo - First observed
stock_share_hold_change_bse - First observed
stock_share_hold_change_sse - First observed
stock_share_hold_change_szse - First observed
stock_shareholder_change_ths - First observed
stock_sns_sseinfo - First observed
stock_sse_deal_daily - First observed
stock_sse_summary - First observed
stock_staq_net_stop - First observed
stock_sy_em - First observed
stock_sy_hy_em - First observed
stock_sy_jz_em - First observed
stock_sy_profile_em - First observed
stock_sy_yq_em - First observed
stock_sz_a_spot_em - First observed
stock_szse_area_summary - First observed
stock_szse_sector_summary - First observed
stock_szse_summary - First observed
stock_tfp_em - First observed
stock_us_daily - First observed
stock_us_famous_spot_em - First observed
stock_us_hist - First observed
stock_us_hist_min_em - First observed
stock_us_pink_spot_em - First observed
stock_us_spot - First observed
stock_us_spot_em - First observed
stock_us_valuation_baidu - First observed
stock_value_em - First observed
stock_xgsglb_em - First observed
stock_xgsr_ths - First observed
stock_xjll_em - First observed
stock_yjbb_em - First observed
stock_yjkb_em - First observed
stock_yjyg_em - First observed
stock_yysj_em - First observed
stock_yzxdr_em - First observed
stock_zcfz_bj_em - First observed
stock_zcfz_em - First observed
stock_zdhtmx_em - First observed
stock_zh_a_cdr_daily - First observed
stock_zh_a_daily - First observed
stock_zh_a_disclosure_relation_cninfo - First observed
stock_zh_a_disclosure_report_cninfo - First observed
stock_zh_a_gbjg_em - First observed
stock_zh_a_gdhs - First observed
stock_zh_a_gdhs_detail_em - First observed
stock_zh_a_hist - First observed
stock_zh_a_hist_min_em - First observed
stock_zh_a_hist_pre_min_em - First observed
stock_zh_a_hist_tx - First observed
stock_zh_a_minute - First observed
stock_zh_a_new - First observed
stock_zh_a_new_em - First observed
stock_zh_a_spot - First observed
stock_zh_a_spot_em - First observed
stock_zh_a_spot_tx - First observed
stock_zh_a_st_em - First observed
stock_zh_a_stop_em - First observed
stock_zh_a_tick_tx_js - First observed
stock_zh_ab_comparison_em - First observed
stock_zh_ah_daily - First observed
stock_zh_ah_name - First observed
stock_zh_ah_spot - First observed
stock_zh_ah_spot_em - First observed
stock_zh_b_daily - First observed
stock_zh_b_minute - First observed
stock_zh_b_spot - First observed
stock_zh_b_spot_em - First observed
stock_zh_dupont_comparison_em - First observed
stock_zh_growth_comparison_em - First observed
stock_zh_index_daily - First observed
stock_zh_index_daily_em - First observed
stock_zh_index_daily_tx - First observed
stock_zh_index_hist_csindex - First observed
stock_zh_index_spot_em - First observed
stock_zh_index_spot_sina - First observed
stock_zh_index_value_csindex - First observed
stock_zh_kcb_daily - First observed
stock_zh_kcb_report_em - First observed
stock_zh_kcb_spot - First observed
stock_zh_scale_comparison_em - First observed
stock_zh_valuation_baidu - First observed
stock_zh_valuation_comparison_em - First observed
stock_zh_vote_baidu - First observed
stock_zt_pool_dtgc_em - First observed
stock_zt_pool_em - First observed
stock_zt_pool_previous_em - First observed
stock_zt_pool_strong_em - First observed
stock_zt_pool_sub_new_em - First observed
stock_zt_pool_zbgc_em - First observed
stock_zygc_em - First observed
stock_zyjs_ths - First observed
sunrise_daily - First observed
sunrise_monthly - First observed
sw_index_first_info - First observed
sw_index_second_info - First observed
sw_index_third_cons - First observed
sw_index_third_info - First observed
tool_trade_date_hist_sina - First observed
video_tv - First observed
video_variety_show - First observed
volatility_yz_rv - First observed
xincaifu_rank
TDQS
Scored across 1096 tools
With 1096 endpoints each targeting a specific data source, most tools have a distinct purpose, but there are large clusters of near-identical tools (e.g., the many macro_usa_* series, stock_zt_pool_* variants, futures_settle_* per exchange, numerous fund_* and option_* tools) where a slight name difference determines the result. Descriptions are detailed but an agent can easily misselect among similar-looking endpoints.
The dominant pattern is snake_case source_topic_action (stock_zh_a_hist, macro_usa_cpi_monthly), but there is a significant minority of verb-first or unstructured names (get_cffex_daily, get_rank_sum, search, list_categories, interface_info, pro_api, set_token, match_main_contract). The mix of conventions makes the namespace feel less predictable than a single rule.
1096 tools is an extreme over-exposure for any single server, far beyond the 3-15 range that an agent can reason about effectively. While each underlying endpoint is real, exposing them all as individual tools creates an unnavigable surface.
The surface covers an enormous breadth of financial domains (A/HK/US stocks, funds, bonds, futures, options, forex, macro, ESG, filings), and only a handful of tools lack descriptions. Almost any data need appears addressable, with only minor gaps like some undocumented endpoints.
Maintenance
Related MCP Connectors
China A-share market data for research, backtesting and AI agents via MCP.
MCP server giving AI agents one-connection access to China A-share market intelligence: financials,
China A-share market data over MCP: 22 tools for quotes, K-line, financials, money flow, top-trader boards, sectors, macro, convertible bonds and factor screening. Five tools need no API key, so you can connect and try it immediately.
Financial data MCP server for Claude, ChatGPT, Cursor and Codex. Real-time stock quotes, financial statements, options flow, SEC filings, insider trades, 13F holdings, macro data and market news from gloom.sh, the open-source Bloomberg Terminal alternative.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides professional financial data access for LLMs via MCP, supporting providers like Tushare, Wind, and DataYes.1457Apache 2.0
- AlicenseBqualityDmaintenanceEnables AI assistants to access comprehensive Chinese financial market data including stocks, funds, futures, and economic indicators via AKShare.55MIT
- FlicenseNot gradedqualityDmaintenanceMCP server adapter that exposes A-share stock data tools, prompts, and resources via FastMCP, enabling querying of stocks, K-lines, financials, sectors, and market hot spots through natural language.-
- AlicenseBqualityDmaintenanceMCP server that wraps AKShare's 1000+ financial data functions, enabling LLMs to query Chinese stock, macro, futures, fund, bond, option, forex, and alternative data through standardized tools.143Apache 2.0