Skip to main content
Glama
xinkuang

China Stock MCP

by xinkuang

china-stock-mcp

一款股票 MCP (Model Context Protocol) 服务器,为中国股市数据提供接口。提供了一系列工具,用于获取财务信息,包括历史股票数据、实时数据、新闻数据、财务报表等。

🚀 核心特性

  • 双模式运行: 支持 stdio 本地模式和 HTTP 网络模式

  • 丰富的财务数据: 涵盖 A/B/H 股数据的全方位获取

  • 实时数据: 支持实时股价、交易信息等

  • 财务报表: 资产负债表、利润表、现金流量表等

  • 技术指标: 30+ 种技术指标自动计算和添加

  • 新闻数据: 股票相关新闻和公告信息

  • 易用性: 简单配置即可集成到 AI 助手 (Claude、Cursor 等)

  • 数据缓存: 内置内存和磁盘缓存机制,提高数据获取效率和响应速度

  • 容器化: 支持 Docker 部署

Related MCP server: Stock Data MCP Server

🛠️ 架构概览

主要组件

  • server.py: MCP 服务器核心,定义所有工具和数据接口

  • __main__.py: 命令行入口,支持多种运行模式

  • FastMCP 框架: 处理 MCP 协议通信

  • akshare-one 库: 提供底层的中国股市数据获取能力

  • cache_utils.py: 缓存工具,提供内存和磁盘缓存功能

支持的数据源

  • **数据源故障切换**: 内置 `_fetch_data_with_fallback` 机制,支持按优先级自动切换数据源。当首选数据源失败或返回空数据时,系统将自动尝试备用数据源,从而提高数据获取的稳定性和可靠性。

  • 东方财富 (eastmoney, eastmoney_direct)

  • 新浪财经 (sina)

  • 雪球 (xueqiu)

📋 可用工具

1. 获取股票的历史行情数据,支持多种数据源和技术指标 (get_hist_data)

获取股票历史行情数据。

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • interval (Literal): 时间周期: minute, hour, day, week, month, year。默认:day

  • interval_multiplier (int): 时间周期乘数

  • start_date (string): 开始日期,格式为 YYYY-MM-DD

  • end_date (string): 结束日期,格式为 YYYY-MM-DD

  • adjust (Literal): 复权类型: none, qfq(前复权), hfq(后复权)。默认:none

  • `indicators_list` (string|list): 要添加的技术指标,可以是逗号分隔的字符串(例如: 'SMA,EMA')或字符串列表(例如: ['SMA', 'EMA'])。支持的指标包括: SMA, EMA, RSI, MACD, BOLL, STOCH, ATR, CCI, ADX, WILLR, AD, ADOSC, OBV, MOM, SAR, TSF, APO, AROON, AROONOSC, BOP, CMO, DX, MFI, MINUS_DI, MINUS_DM, PLUS_DI, PLUS_DM, PPO, ROC, ROCP, ROCR, ROCR100, TRIX, ULTOSC。常用指标:SMA, EMA, RSI, MACD, BOLL, STOCH, OBV, MFI,建议不超过10个。

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

2. 获取股票的实时行情数据,支持多种数据源 (get_realtime_data)

获取实时股票行情数据,支持的数据源包括:eastmoney, eastmoney_direct, xueqiu。

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

3. 获取股票相关的新闻数据 (get_news_data)

获取股票相关新闻数据.

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

4. 获取公司的资产负债表数据 (get_balance_sheet)

获取公司资产负债表数据.

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

5. 获取指定股票代码的公司的利润表数据 (get_income_statement)

获取公司利润表数据.

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

6. 获取指定股票代码的公司的现金流量表数据 (get_cash_flow)

获取公司现金流量表数据.

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

7. 获取股票的近 100 个交易日的资金流向数据 (get_fund_flow)

获取股票的近 100 个交易日的资金流向数据。

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

8. 获取公司的内部股东交易数据 (get_inner_trade_data)

获取公司内部股东交易数据.

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

9. 获取三大财务报表的关键财务指标 (get_financial_metrics)

获取三大财务报表的关键财务指标.

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

10. 获取当前时间(ISO格式、时间戳)和最近一个交易日 (get_time_info)

获取当前时间(ISO格式、时间戳)和最近一个交易日.

参数:

11. 获取指定股票的基本概要信息 (get_stock_basic_info)

获取股票基本概要信息,支持 A 股和港股

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

12. 获取单个宏观经济指标数据 (get_macro_data)

获取单个宏观经济指标数据

参数:

  • indicator (Literal): 要获取的宏观经济指标。支持的指标包括: money_supply, gdp, cpi, pmi, stock_summary。默认: 'gdp'

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

13. 分析散户和机构投资者的投资情绪 (get_investor_sentiment)

分析散户和机构投资者的投资情绪

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

14. 获取指定股票的股东情况 (get_shareholder_info)

获取股东情况

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

15. 获取指定股票公司的主要产品或业务构成 (get_product_info)

获取产品情况

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

16. 获取股票的业绩预测数据,包括预测年报净利润和每股收益 (get_profit_forecast)

获取股票的业绩预测数据。

参数:

  • symbol (string): 股票代码 (例如: '600519')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

17. 获取分红送股详情 (get_stock_fhps_detail)

获取指定股票的分红送股详情数据。

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

18. 获取筹码分布数据 (get_stock_cyq)

获取指定股票的筹码分布数据。

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • date (string): 查询日期,格式为 YYYY-MM-DD

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

19. 获取股票研究报告 (get_stock_research_report)

获取指定股票的研究报告数据。

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

20. 获取流通股东数据 (get_stock_circulate_stock_holder)

获取指定股票的流通股东数据。

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

21. 获取高管变动数据 (get_stock_management_change)

获取指定股票的高管变动数据。

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

22. 获取限售解禁数据 (get_stock_restricted_release_queue)

获取指定股票的限售解禁数据。

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

23. 获取 A 股代码和名称 (get_stock_a_code_name)

获取所有 A 股股票的代码和名称。

参数:

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

24. 获取股票估值数据 (get_stock_value)

获取指定股票的估值数据。

参数:

  • symbol (string): 股票代码 (例如: '000001')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

25. 计算指定个股的波动率指标 (get_stock_volatility)

通过分钟级历史行情计算指定个股的波动率指标。 参数:

  • symbol (string): 股票代码 (例如: '000001')

  • start_date(string): 开始日期

  • end_date(string): 结束日期

  • period (int): 时间周期,分钟级别 (例如: '1', '5', '15', '30', '60')")

  • adjust(string): 复权类型: none, qfq(前复权), hfq(后复权)。默认:none

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

26. 获取所有指数的代码和基本信息 (get_all_cni_indices)

获取所有指数的代码和基本信息,去除实时变动数据并支持缓存。

参数:

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

27. 获取指定指数的日频率历史行情数据 (get_cni_index_hist)

获取指定指数的日频率历史行情数据。

参数:

  • symbol (string): 指数代码 (例如: '399005')

  • start_date (string): 开始日期,格式为 YYYYMMDD (例如: '20230114')

  • end_date (string): 结束日期,格式为 YYYYMMDD (例如: '20240114')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

28. 获取指定指数的成分股样本详情 (get_cni_index_detail)

获取指定指数的成分股样本详情。

参数:

  • symbol (string): 指数代码 (例如: '399001')

  • date (string): 日期,格式为 YYYYMM (例如: '202404')

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

29. 获取技术选股指标数据,包括创新高、创新低、连续上涨、连续下跌、持续放量、持续缩量、向上突破、向下突破、量价齐升、量价齐跌、险资举牌。(get_stock_technical_rank)

参数:

  • indicator_name (string): 要获取的技术指标名称 (例如: 创新高-创月新高, 创新高-半年新高, 创新高-一年新高, 创新高-历史新高, 创新低-创月新低, 创新低-半年新低, 创新低-一年新低, 创新低-历史新低, 连续上涨, 连续下跌, 持续放量, 持续缩量, 向上突破-5日均线, 向上突破-10日均线, 向上突破-20日均线, 向上突破-30日均线, 向上突破-60日均线, 向上突破-90日均线, 向上突破-250日均线, 向上突破-500日均线, 向下突破-5日均线, 向下突破-10日均线, 向下突破-20日均线, 向下突破-30日均线, 向下突破-60日均线, 向下突破-90日均线, 向下突破-250日均线, 向下突破-500日均线, 量价齐升, 量价齐跌, 险资举牌)

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

30. 获取所有行业板块实时行情数据 (get_stock_board_industry_summary)

参数:

  • output_format (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

🚀 安装和运行

方法一: 使用 Smithery

通过 Smithery 自动安装到 Claude Desktop:

npx -y @smithery/cli install @xinkuang/china-stock-mcp

方法二: 使用 Docker

1. 拉取镜像

docker pull ghcr.io/xinkuang/china-stock-mcp:latest

2. 运行容器

docker run -p 8081:8081 ghcr.io/xinkuang/china-stock-mcp:latest

方法三: 本地源代码安装

1. 环境要求

  • Python 3.12+

  • Git

  • uv (推荐的 Python 包管理器)

2. 克隆仓库

git clone https://github.com/xinkuang/china-stock-mcp
cd china-stock-mcp

3. 安装依赖

# 推荐使用 uv 包管理器
uv sync

# 或者使用 pip
pip install -r requirements.txt

4. 运行服务器

stdio 模式 (默认,适用于本地 MCP 客户端):

uv run -m china_stock_mcp

HTTP 模式 (适用于远程访问):

uv run -m china_stock_mcp --streamable-http --host 0.0.0.0 --port 8081

服务器将在 http://localhost:8081/mcp 提供服务。

⚙️ MCP 配置示例

Claude Desktop 配置

编辑 claude_desktop_config.json

方式一: 本地源代码

{
  "mcpServers": {
    "china-stock-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/china_stock_mcp",
        "run",
        "china-stock-mcp"
      ]
    }
  }
}

方式二: 通过 uvx

{
    "mcpServers": {
        "china-stock-mcp": {
            "command": "uvx",
            "args": [
              "china-stock-mcp"
            ]
        }
    }
}

方式三: HTTP 模式

{
  "mcpServers": {
    "china-stock-mcp": {
      "command": "uvx",
      "args": ["china-stock-mcp", "--streamable-http", "--host", "0.0.0.0", "--port", "8081"],
      "env": {
        "MCP_BASE_URL": "http://localhost:8081/mcp"
      }
    }
  }
}

其他 AI 客户端配置

Cursor:

{
  "mcpServers": {
    "china-stock-mcp": {
      "command": "uvx",
      "args": [ "china-stock-mcp"]
    }
  }
}

Clion with MCP:

{
  "mcpServers": {
    "china-stock-mcp": {
      "command": "uvx",
    "args": [ "china-stock-mcp"]
    }
  }
}

🏃‍♂️ 命令行参数

  • --streamable-http: 启用 HTTP 可流式模式 (默认: stdio 模式)

  • --host: HTTP 模式下的绑定主机 (默认: 0.0.0.0)

  • --port: HTTP 模式下的监听端口 (默认: 8081)

📊 数据支持范围

股票市场

  • A股 (上证、深证)

  • B股

  • H股 (港股)

  • 中小板、创业板、新三板

数据类型

  • 历史行情数据 (分钟级、小时级、日级、周级、月级、年级)

  • 实时行情数据

  • 技术指标计算

  • 新闻资讯

  • 财务报表 (资产负债表、利润表、现金流量表)

  • 财务指标

  • 内部交易数据

🔧 开发和贡献

开发环境设置

  1. 克隆仓库

git clone https://github.com/xinkuang/china-stock-mcp
cd china-stock-mcp
  1. 安装开发依赖

uv sync --dev
  1. 进入开发模式

uv run -m china_stock_mcp

代码结构

src/china_stock_mcp/
├── __init__.py
├── __main__.py    # 命令行入口,处理启动参数
├── server.py      # MCP 服务器核心,定义所有工具
├── mcp.json       # MCP 配置规范 (可选)
└── py.typed       # 类型标注文件

添加新工具

server.py 中使用 @mcp.tool 装饰器添加新工具:

@mcp.tool(name="工具中文名称", description="工具的中文描述")
def your_tool_name(param1: Annotated[str, Field(description="参数描述")]) -> str:
    """工具详情描述"""
    # 实现逻辑
    pass

📝 许可证

MIT License - 详见 LICENSE 文件

🤝 贡献

欢迎提交 Issue 和 Pull Request!

🙋‍♂️ 常见问题

Q: 为什么无法获取数据? A: 请检查网络连接和数据源可用性。某些数据源可能有访问限制。

Q: HTTP 模式下无法连接? A: 确认端口 8081 未被其他服务占用,且防火墙允许相应端口的访问。

Q: 如何更新到最新版本? A: 使用 Smithery 安装的可以自动更新,手动安装的请重新拉取仓库代码。

🐞 调试

有关如何使用 @modelcontextprotocol/inspector 调试此服务器的详细信息,请参阅 DEBUG.md

Available Tools

30 tools
get_all_cni_indicesAInspect

获取所有指数的代码和基本信息

ParametersJSON Schema
NameRequiredDescriptionDefault
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, but the description adequately implies a read-only operation fetching a list. However, it does not disclose any potential constraints like limited rate or data source, which is acceptable for a simple 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.

Conciseness5/5

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

Single sentence clearly conveys the purpose. No wasted words; front-loaded with the action and object.

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

Completeness4/5

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

Given the output schema exists and the parameter is well-documented, the description sufficiently explains the tool's function. Could mention that it returns all indices, but implied by '所有'.

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

Parameters3/5

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

Schema coverage is 100%, and the description does not add meaning beyond what the schema provides for the only parameter (output_format). Baseline 3 applies.

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

Purpose5/5

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

The description clearly states it retrieves codes and basic information for all indices, matching the tool name. It distinguishes from sibling tools that deal with specific stocks or financial data.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus siblings like get_cni_index_detail. The context of obtaining a list before drilling down 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.

get_balance_sheetCInspect

获取公司的资产负债表

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided; description only states the operation. No disclosure of behaviors such as data freshness, rate limits, or required permissions. The tool is a read operation but this is implied rather than explicit.

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

Conciseness4/5

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

The description is a single concise phrase. It is front-loaded and efficient, but could benefit from slightly more detail without becoming verbose.

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

Completeness3/5

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

Given the parameter count (2) and full schema coverage, the description is minimally complete. Output schema exists but is not detailed in context; some behavioral context (e.g., data range) is missing, leaving gaps.

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

Parameters3/5

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

Schema covers 100% of parameters with descriptions (symbol and output_format). The description adds no extra meaning beyond the schema, so baseline of 3 is appropriate.

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

Purpose4/5

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

The description states '获取公司的资产负债表' (Get company's balance sheet), providing a clear verb and resource. It distinguishes from siblings like get_cash_flow and get_income_statement by resource name, but does not explicitly differentiate them.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., get_cash_flow, get_income_statement). The description lacks context for selection.

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

get_cash_flowBInspect

获取指定股票代码的公司的现金流量表

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, and description does not disclose behavioral traits beyond stating it retrieves data. No mention of read-only nature, permissions, or rate limits, which are important for agent decision-making.

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

Conciseness5/5

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

Single sentence, front-loaded, no wasted words. Efficiently communicates core purpose.

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

Completeness3/5

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

Given the presence of an output schema and the tool's low complexity (2 parameters), the description is minimally adequate but fails to provide usage guidelines or behavioral details, reducing completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds no extra meaning beyond what is already in the schema. Baseline score of 3 is appropriate.

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

Purpose4/5

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

Description clearly states retrieving cash flow statement for a company. It does not explicitly differentiate from siblings like get_balance_sheet or get_income_statement, but the name and description together imply the specific financial statement.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. With many sibling tools for different financial statements, explicit usage context is lacking.

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

get_cni_index_detailBInspect

获取指定指数的成分股样本详情

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes指数代码 (例如: '399001')
dateYes日期,格式为 YYYYMM (例如: '202404')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, and the description only states the basic read action. It does not disclose any behavioral traits such as side effects, authorization needs, or data freshness. The output schema exists, but the description should still mention that this is a read-only operation, which is only implied.

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

Conciseness4/5

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

The description is a single, front-loaded sentence that efficiently conveys the core purpose. It is appropriately concise for a simple retrieval tool, though a bit more detail could be added without becoming verbose.

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

Completeness3/5

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

Given low complexity, complete schema with 100% coverage, and an output schema, the description is minimally adequate. However, it lacks usage guidelines and behavioral transparency, which are needed for full context. It meets the minimum viable level.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond what the schema already provides for each parameter (symbol, date, output_format).

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

Purpose5/5

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

The description '获取指定指数的成分股样本详情' clearly states the action (get) and resource (constituent stock details of a specified index). It distinguishes from siblings like 'get_all_cni_indices' (list all indices) and 'get_cni_index_hist' (historical data).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, no context for exclusion, and no mention of prerequisites or typical use cases. Usage must be inferred 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.

get_cni_index_histBInspect

获取指定指数的日频率历史行情数据

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes指数代码 (例如: '399005')
start_dateYes开始日期,格式为 YYYYMMDD (例如: '20230114')
end_dateYes结束日期,格式为 YYYYMMDD (例如: '20240114')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It does not disclose any behavioral traits such as rate limits, data freshness, or potential limitations beyond the basic function.

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

Conciseness4/5

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

The description is a single concise sentence that gets straight to the point with no wasteful words. However, it lacks structure or elaboration.

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

Completeness3/5

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

Given the existence of an output schema and the straightforward nature of the tool, the description is minimally sufficient but missing usage context and behavioral details.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents each parameter. The description does not add additional meaning beyond what is in the schema, earning a baseline 3.

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

Purpose5/5

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

The description clearly states the verb '获取' (get) and the resource '指定指数的日频率历史行情数据' (daily frequency historical market data for specified index), distinguishing it from siblings like get_all_cni_indices (list indices) and get_cni_index_detail (index details).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. It only states what it does.

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

get_financial_metricsCInspect

获取公司关键财务指标

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior1/5

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

No annotations are provided, and the description does not disclose any behavioral traits such as authentication requirements, rate limits, or response format. The only clue is from the output schema existence, but the description itself is silent on behavior. This is insufficient for a tool that likely fetches external data.

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

Conciseness3/5

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

The description is a single short sentence, which is concise. However, it lacks structure and essential details. While there is no waste, the brevity comes at the cost of completeness. It is acceptable but not exemplary.

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

Completeness2/5

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

Given the tool's complexity (two parameters, output schema exists) and the presence of many sibling tools covering specific financial statements, the description is incomplete. It does not specify which metrics are included, nor does it guide the agent to choose between this and other financial tools. The output schema might fill gaps, but the description itself is insufficient for context.

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

Parameters2/5

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

The input schema has 100% coverage with parameter descriptions. However, the tool description does not add any context about the parameters beyond what is already in the schema. For example, it does not explain what 'symbol' represents (e.g., stock exchange) or how to use different output formats effectively. Baseline would be 3 due to coverage, but the description fails to add value.

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

Purpose4/5

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

The description clearly states '获取公司关键财务指标' which means 'get key financial metrics of a company'. The verb 'get' and resource 'financial metrics' are specific. While it doesn't explicitly differentiate from siblings like get_balance_sheet or get_cash_flow, the name itself indicates a summary tool, reducing confusion.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus other financial data tools. There is no mention of what 'key financial metrics' include or when one should prefer this over get_income_statement or get_realtime_data. The description lacks 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.

get_fund_flowAInspect

获取股票资金流向数据 (近100交易日)

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, and the description lacks details about behavioral traits like rate limits, data freshness, error handling, or side effects. For a read operation, minimal transparency is given.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the essential purpose without unnecessary words. No rephrasing or elaboration is needed.

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

Completeness4/5

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

For a tool with two parameters and an output schema, the description is largely complete. It names the resource and temporal scope. Slightly more context (e.g., data structure or units) could improve completeness, but the output schema covers return details.

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

Parameters3/5

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

Both parameters are fully described in the input schema (100% coverage). The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action (获取/get), resource (股票资金流向数据/stock fund flow data), and scope (近100交易日/last 100 trading days). It distinguishes itself from sibling tools by specifying a unique data type.

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

Usage Guidelines3/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives, such as get_hist_data or get_inner_trade_data. The usage context is implied but not differentiated.

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

get_hist_dataAInspect

获取指定的股票历史行情数据及技术指标

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
intervalNo时间周期: minute, hour, day, week, month, year。默认:dayday
interval_multiplierNo时间周期乘数
start_dateNo开始日期,格式为 YYYY-MM-DD1970-01-01
end_dateNo结束日期,格式为 YYYY-MM-DD2030-12-31
adjustNo复权类型: none, qfq(前复权), hfq(后复权)。默认:nonenone
indicators_listNo要添加的技术指标,可以是逗号分隔的字符串(例如: 'SMA,EMA')或字符串列表(例如: ['SMA', 'EMA'])。支持的指标包括: SMA, EMA, RSI, MACD, BOLL, STOCH, ATR, CCI, ADX, WILLR, AD, ADOSC, OBV, MOM, SAR, TSF, APO, AROON, AROONOSC, BOP, CMO, DX, MFI, MINUS_DI, MINUS_DM, PLUS_DI, PLUS_DM, PPO, ROC, ROCP, ROCR, ROCR100, TRIX, ULTOSC。常用指标:SMA, EMA, RSI, MACD, BOLL, STOCH, OBV, MFI,建议不超过10个。SMA, EMA, RSI, MACD, BOLL, STOCH, OBV, MFI
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so the description carries full burden. It describes a read operation but lacks behavioral details such as rate limits, data freshness, or limitations. The simple statement of getting data is adequate but not transparent about any traits 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.

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the tool's purpose.

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

Completeness4/5

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

Given the complexity (8 parameters, enums, output formats) and the existence of an output schema (per context signals), the description is brief but sufficient. It does not explain default indicators or date ranges, but the schema covers detailed parameter documentation. The description could be more complete but is not incomplete.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema; it only restates the overall purpose. The schema already thoroughly describes each parameter.

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

Purpose5/5

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

The description clearly states the tool retrieves specified historical stock data and technical indicators. It uses a specific verb ('get') and resource ('historical market data and technical indicators'), distinguishing it from siblings like get_realtime_data or get_stock_basic_info.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor any conditions for use. The description only states what it does, not context or exclusions.

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

get_income_statementBInspect

获取指定股票代码的公司的利润表

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose any behavioral traits such as data freshness, read-only safety, authentication needs, or return format behavior. The tool's safety profile is entirely unstated.

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

Conciseness4/5

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

A single concise sentence that conveys the essential purpose without waste. It could benefit from slight elaboration but remains efficient.

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

Completeness3/5

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

Given the presence of an output schema and rich parameter schema, the description adequately covers the basic purpose. However, it lacks contextual details like time period or data granularity, which siblings might differentiate.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are already documented. The description adds no extra meaning beyond the schema, meeting the baseline for high coverage.

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

Purpose5/5

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

The description clearly states the tool retrieves an income statement for a specified stock code, using a specific verb and resource. It distinguishes from sibling tools like get_balance_sheet and get_cash_flow.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives like get_balance_sheet. Usage context is implied by the resource name, but no when-not-to-use or prerequisites mentioned.

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

get_inner_trade_dataCInspect

获取公司内部股东交易数据

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention that the tool is read-only, what data it returns, or any limitations. The description adds minimal value beyond the name.

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

Conciseness4/5

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

The description is extremely concise, consisting of a single sentence. It is front-loaded and to the point. While it could be expanded for clarity, it avoids unnecessary verbosity.

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

Completeness3/5

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

Given that the tool has an output schema (though not shown), the description is not required to explain return values. However, the lack of any behavioral context (e.g., what insider trading data includes) and no annotations make the description minimally adequate but not complete for an informed selection.

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

Parameters3/5

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

The input schema has 100% coverage: both parameters have descriptions. The description does not add any extra meaning beyond the schema. Baseline 3 is appropriate as the schema already provides parameter semantics.

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

Purpose4/5

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

The description clearly states the tool's purpose: '获取公司内部股东交易数据' (Get company insider shareholder trading data). It uses a specific verb and resource, making the function understandable. However, it does not explicitly distinguish itself from sibling tools like get_shareholder_info, but the term 'inner_trade' suggests a focus on insider transactions, providing implicit differentiation.

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

Usage Guidelines2/5

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

No usage guidelines are provided. There is no information on when to use this tool versus alternatives, no prerequisites, and no exclusion criteria. The agent must 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.

get_investor_sentimentBInspect

分析投资者情绪数据,包括用户关注指数、日度市场参与意愿、股票评级记录和机构参与度。

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It describes the data content but does not disclose behavioral traits such as read-only nature, side effects, rate limits, or authorization needs.

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

Conciseness4/5

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

Single sentence efficiently conveys the tool's purpose and data categories. Could be improved by structuring for readability, but sufficiently concise.

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

Completeness3/5

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

Given the simple schema (2 params, output schema exists), the description is adequate but lacks details on output format flexibility and usage context. It does not cover behavioral aspects, leaving gaps.

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

Parameters4/5

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

Schema coverage is 100%, and the description adds meaning by listing the types of data included (user attention index, etc.), which helps the agent understand what the output will contain beyond the parameter descriptions.

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

Purpose5/5

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

The description clearly states the tool's purpose: analyzing investor sentiment data, listing specific components (user attention index, daily market participation willingness, etc.). It uses a specific verb and resource, distinguishing 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.

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives (e.g., get_fund_flow, get_hist_data). The description lacks context for usage conditions or exclusions.

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

get_macro_dataBInspect

获取宏观经济指标数据,支持多个指标

ParametersJSON Schema
NameRequiredDescriptionDefault
indicatorNo要获取的宏观经济指标,可以是逗号分隔的字符串(例如: 'gdp,cpi')或字符串列表(例如: ['gdp', 'cpi'])。支持的指标包括: money_supply, gdp, cpi, pmi, stock_summary。默认: 'gdp'gdp
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden for transparency. It only states that data is retrieved and multiple indicators are supported, but fails to disclose any behavioral traits such as rate limits, data freshness, error handling, or read-only nature.

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

Conciseness4/5

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

The description is a single, concise sentence with no wasted words. However, it could be slightly more informative without sacrificing conciseness, e.g., mentioning typical use cases.

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

Completeness2/5

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

Given the tool has a moderate number of parameters and an output schema (provided by context), the description is too brief. It does not explain return values, error cases, or any behavior beyond the schema. More context is needed for full understanding.

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

Parameters3/5

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

With 100% schema description coverage, both parameters are already well-documented in the schema. The description adds minimal extra meaning beyond repeating that multiple indicators are supported, so it meets the baseline for not degrading but not enhancing understanding.

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

Purpose5/5

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

The description clearly states the action (获取/get) and resource (宏观经济指标数据/macroeconomic indicator data), and it supports multiple indicators. This distinguishes it from sibling tools that focus on specific financial aspects like funds, historical data, or stock details.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives or any prerequisites. Without context signals like read-only hints or sibling comparisons, the agent has no direction for selection.

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

get_news_dataCInspect

获取股票相关的新闻数据

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

The description lacks behavioral details beyond the basic purpose. It does not mention data freshness, pagination, rate limits, or what the output contains (though an output schema exists). Since annotations are absent, the description carries full responsibility but fails to provide sufficient behavioral context.

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

Conciseness4/5

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

The description is a single concise sentence in Chinese. It efficiently states the tool's purpose without extra words. However, it could be slightly more descriptive (e.g., mention output format or example) without losing conciseness.

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

Completeness3/5

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

Given the existence of an output schema and 100% schema parameter coverage, the description is minimally adequate. However, with many sibling tools, additional context (e.g., news sources, date range) would help the agent select the right tool. The description lacks coverage of what the tool does not do or its limitations.

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

Parameters3/5

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

Input schema has 100% description coverage; both parameters (symbol and output_format) are documented with descriptions and enum values. The tool description adds no additional semantics beyond the schema. Baseline score of 3 is appropriate as the description does not enhance understanding of parameter usage.

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

Purpose4/5

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

The description clearly states it retrieves stock-related news data (获取股票相关的新闻数据). The verb '获取' (get) and resource 'news data' are specific. Combined with the required 'symbol' parameter in the schema, the purpose is unambiguous. However, it could be more descriptive by specifying 'for a given stock symbol'.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not indicate when to use this tool versus sibling tools (e.g., get_realtime_data, get_hist_data). There are no when-to-use or when-not-to-use instructions, leaving the agent to infer context from the name alone.

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

get_product_infoCInspect

获取公司主要产品/业务构成

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior1/5

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

No annotations provided, so the description carries full burden. It does not disclose any behavioral traits such as read-only nature, error handling, rate limits, or whether it returns cached or live data. The terse description offers no behavioral context.

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

Conciseness4/5

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

Single sentence, front-loaded with the purpose. While concise, it omits important details. However, no wasted words.

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

Completeness2/5

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

Despite having an output schema, the description does not explain what the return data contains (e.g., fields, structure). It is vague about 'main products/business composition'. Lacks completeness for a tool with two parameters and potential output variants.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters. The description does not add additional meaning beyond what the schema provides, meeting the baseline for high coverage.

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

Purpose5/5

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

Description clearly states it retrieves the company's main products and business composition with a specific verb (获取) and resource. It distinguishes itself from sibling tools like get_financial_metrics or get_income_statement, which focus on different financial data.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Lacks information about prerequisites, typical use cases, 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.

get_profit_forecastCInspect

获取股票的业绩预测数据,包括预测年报净利润和每股收益

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '600519')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states it 'gets' data, implying a read operation, but does not confirm safety, authorization needs, or data freshness. Significant gap for a tool with no annotations.

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

Conciseness4/5

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

Single sentence, concise and front-loaded. However, it is in Chinese, which may limit readability for English agents. No waste of words, but lacks structure like bullet points.

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

Completeness3/5

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

Given the output schema exists, return value explanation is not required. However, the tool has many siblings and minimal description, leaving the agent uncertain about the data source, time range, or forecast horizon. Slightly below adequate for completeness.

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

Parameters3/5

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

Schema coverage is 100% with clear parameter descriptions for symbol and output_format. The description adds no extra semantic meaning beyond stating the data includes profit and EPS, which is a general output hint rather than parameter-specific context. Baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states it retrieves stock profit forecast data, specifically annual net profit and EPS. It offers a specific verb and resource, distinguishing it from historical financial data tools like get_financial_metrics or get_income_statement. However, it does not explicitly contrast with siblings.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description only states what it does, with no mention of prerequisites, exclusions, or comparison to other tools.

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

get_realtime_dataBInspect

获取指定的股票实时行情数据

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It does not mention that the tool is read-only, whether there are rate limits, data freshness (e.g., real-time vs. delayed), or any side effects. The description is insufficient for a real-time 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.

Conciseness4/5

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

The description is a single sentence that conveys the core purpose without extraneous words. It is concise and front-loaded, though it could benefit from slight expansion for clarity.

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

Completeness3/5

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

Given the tool's simplicity and the presence of an output schema, the description is adequate but lacks crucial context such as whether data is delayed, the typical fields returned, or any limitations. It is minimally viable.

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

Parameters3/5

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

The input schema has 100% description coverage, so the parameters are fully documented in the schema. The description adds no additional meaning beyond what the schema provides, meeting the baseline for parameter semantics.

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

Purpose5/5

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

The description clearly states the tool retrieves real-time market data for a specified stock, using a specific verb and resource. It distinguishes itself from siblings like get_hist_data (historical) and get_stock_basic_info (basic info).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention any prerequisites, when not to use it, or contrast with siblings like get_hist_data for historical data or get_fund_flow for fund flow.

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

get_shareholder_infoCInspect

获取指定股票的股东情况

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description must fully disclose behavioral traits. It only states the purpose—read operation for shareholder data—without mentioning safety (e.g., read-only nature), rate limits, or data scoping. This is insufficient for an AI agent to understand impact.

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

Conciseness4/5

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

The description is a single sentence, making it very concise. However, it is minimal and lacks any structural elements like front-loading key information. It earns points for brevity but loses some for not being more informative.

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

Completeness3/5

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

Given the tool has only two parameters, an output schema exists (so return values are documented), and no annotations, the description is adequate but not complete. It lacks context on when to use this tool and what the output represents, which could lead to incorrect invocations.

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

Parameters3/5

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

The input schema covers 100% of parameters with descriptions and enums. The description adds no extra meaning beyond the schema, so it meets the baseline for high coverage. However, it does not clarify the expected format for 'symbol' beyond what the schema provides.

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

Purpose4/5

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

The description '获取指定股票的股东情况' clearly indicates the tool retrieves shareholder information for a specified stock. It distinguishes from sibling tools like get_stock_basic_info and get_financial_metrics, though it could be more explicit about the exact data included.

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

Usage Guidelines2/5

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

No usage guidelines are provided. The description does not mention when to use this tool versus alternatives, nor does it offer context on prerequisites or typical use cases. Given many sibling tools, this omission hinders correct tool selection.

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

get_stock_a_code_nameAInspect

获取沪深京 A 股股票代码和股票简称数据

ParametersJSON Schema
NameRequiredDescriptionDefault
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the purpose and does not describe read-only nature, side effects, or any other behavioral traits. For a simple read operation, this is insufficient.

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

Conciseness5/5

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

The description is a single concise sentence that efficiently conveys the tool's purpose, with no redundant information. It is front-loaded and every word contributes value.

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

Completeness4/5

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

Given the tool's low complexity and the presence of an output schema, the description is mostly complete. However, it does not clarify whether the return is a list or single record, which could be ambiguous.

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

Parameters3/5

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

Input schema coverage is 100% with a well-described output_format parameter. The description adds no additional parameter information beyond the schema, resulting in a baseline score of 3.

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

Purpose5/5

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

The description clearly states that the tool retrieves stock code and abbreviation data for A-shares from three exchanges (Shanghai, Shenzhen, Beijing). The verb '获取' (get) and resource '股票代码和股票简称数据' are specific and distinct from sibling tools like get_stock_basic_info.

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

Usage Guidelines3/5

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

The description implies use when needing stock codes and abbreviations, but provides no explicit guidance on when to use this tool versus alternatives like get_stock_basic_info. 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.

get_stock_basic_infoBInspect

获取指定股票的基本概要信息

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description must fully disclose behavior. It only says 'get basic summary info' without mentioning read-only nature, data freshness, rate limits, or what 'basic' excludes. Minimal transparency beyond the action.

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

Conciseness4/5

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

Single sentence, no wasted words. However, it is arguably too brief given the tool's purpose and sibling count. Could include more without losing conciseness.

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

Completeness2/5

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

While output schema exists and parameters are documented, the description lacks context to distinguish from many siblings. It does not specify what 'basic summary info' includes (e.g., price, volume, PE ratio). Incomplete for decision-making.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. Description adds no extra meaning beyond the schema, so baseline 3 applies. It does not explain the parameters' purpose in context.

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

Purpose5/5

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

The description clearly states the action (获取/get) and resource (指定股票的基本概要信息/basic summary info of specified stock). It is specific and distinguishes from sibling tools like get_balance_sheet or get_cash_flow which target more detailed financial data.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or compared to siblings like get_stock_value or get_realtime_data. Agent gets no decision-making context.

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

get_stock_board_industry_summaryAInspect

获取所有行业板块实时行情数据

ParametersJSON Schema
NameRequiredDescriptionDefault
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It states '实时行情数据' (real-time data) but does not mention potential caching, rate limits, or error behavior. As a read operation, it lacks details that could affect agent decision-making.

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

Conciseness4/5

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

The description is a single concise sentence that effectively communicates the tool's purpose. It is front-loaded and avoids unnecessary words, earning a high score for efficiency despite being brief.

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

Completeness4/5

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

Given the tool's simplicity (one optional parameter) and the presence of an output schema, the description is complete enough. It covers the essential functional scope without needing to elaborate on return values, as those are documented in the output schema.

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

Parameters3/5

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

Schema coverage is 100%, and the only parameter 'output_format' has a clear description and enum values. The description adds no additional meaning beyond what the schema already provides. Baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states '获取所有行业板块实时行情数据' which translates to 'Get real-time market data for all industry sectors'. It specifies the action (get), resource (real-time market data), and scope (all industry sectors), distinguishing it from sibling tools that focus on individual stocks or indices.

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

Usage Guidelines3/5

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

The description provides no explicit guidance on when to use this tool versus alternatives. While it's implied for obtaining industry-wide real-time data, there are no exclusions or references to sibling tools like 'get_realtime_data' or 'get_stock_basic_info'. 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.

get_stock_circulate_stock_holderCInspect

获取指定股票的流通股东情况

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavioral traits. It does not state that the tool is read-only, rate limits, or any side effects. The term '流通股东' suggests a query, but safety is not explicitly communicated.

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

Conciseness4/5

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

The description is a single short sentence in Chinese, very concise and front-loaded. It could benefit from a slight expansion (e.g., output summary) but is not overly verbose.

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

Completeness2/5

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

Despite having an output schema (not shown here), the description does not hint at the return structure. For a stock data tool, agents would benefit from knowing what fields are returned. Additionally, no annotations compensate for missing behavioral context.

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

Parameters3/5

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

Schema coverage is 100%, with both parameters described adequately in the schema. The description adds no extra meaning beyond what the schema provides (e.g., symbol format, output_format options). Baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool retrieves circulating shareholder data for a specified stock (流通股东情况). The verb '获取' (get) and resource '流通股东情况' make the purpose specific. However, it does not explicitly differentiate from siblings like 'get_shareholder_info' or 'get_stock_basic_info'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., when to use this vs get_shareholder_info). There is no mention of prerequisites or context for invocation.

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

get_stock_cyqBInspect

获取指定股票的筹码分布情况

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether the operation is read-only, potential side effects, authentication needs, or data freshness. The description only repeats the tool's purpose, adding no transparency beyond the name.

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

Conciseness4/5

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

The description is a single, concise sentence with no wasted words. However, it could benefit from a slightly more structured format (e.g., adding a note about typical use cases) without being verbose.

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

Completeness2/5

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

Despite having an output schema and two parameters, the description fails to explain what '筹码分布' (chip distribution) represents or what the output contains. Context from sibling tools suggests this is a specialized stock metric, but the description lacks completeness for agents unfamiliar with the domain.

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

Parameters3/5

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

The input schema has 100% coverage, with descriptions for both parameters (symbol and output_format). The description adds no extra meaning beyond the schema, so baseline score applies.

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

Purpose5/5

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

The description clearly states the tool's function: '获取指定股票的筹码分布情况' (get chip distribution of a specified stock). The verb '获取' (get) and the resource '筹码分布' (chip distribution) are specific and distinct from sibling tools, which cover other financial data.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like get_stock_value or get_fund_flow. It does not mention any 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.

get_stock_fhps_detailCInspect

获取指定股票的分红配送情况

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It only states the core function, omitting details like data source, update frequency, rate limits, or what happens on errors. This leaves the agent with minimal information about the tool's behavior beyond its basic purpose.

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

Conciseness3/5

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

The description is a single sentence, making it concise. However, it lacks front-loaded key information and is too brief to cover important aspects like usage or behavior. While not verbose, it sacrifices completeness for brevity, resulting in an average score.

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

Completeness2/5

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

Given the tool's moderate complexity (2 parameters, output schema present), the description is insufficiently complete. It does not explain typical use cases, output characteristics, or how the output schema relates to the data. The output schema exists but the description does not leverage it to provide context, leaving gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents both parameters adequately. The tool description adds no additional semantic value beyond what the schema provides. Baseline score of 3 is appropriate as the description neither enhances nor detracts from parameter understanding.

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

Purpose4/5

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

The description clearly states it retrieves dividend distribution data for a specified stock, using a specific verb ('get') and resource ('dividend distribution situation'). However, it does not explicitly distinguish itself from sibling tools like 'get_hist_data' or 'get_stock_basic_info', which might also relate to stock data, missing a chance for differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, context, or comparison with sibling tools. An agent would need to infer usage purely from the tool name and purpose, which is insufficient for optimal selection.

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

get_stock_management_changeBInspect

获取指定股票的高管持股变动情况

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It does not disclose whether the operation is read-only, if it requires authentication, or any side effects. The minimal description lacks 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.

Conciseness3/5

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

The description is one short sentence, which is concise but lacks necessary detail. It is not verbose but could be more informative in the same length.

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

Completeness2/5

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

Given the absence of annotations and the minimal description, the tool definition is incomplete. It provides the purpose but lacks usage guidance, behavioral traits, and context about return values (though an output schema exists).

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

Parameters3/5

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

Schema description coverage is 100% (both parameters have descriptions). The main description adds no extra parameter information beyond the schema, so baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the purpose: retrieving changes in executive holdings for a specified stock. The name and description together distinguish it from sibling tools like get_shareholder_info or get_stock_basic_info.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description does not mention 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.

get_stock_research_reportBInspect

获取指定股票的个股研报及盈利预测

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It fails to mention behavioral traits such as data freshness, output structure, or side effects. The one-line description is insufficient for a complete understanding.

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

Conciseness4/5

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

The description is highly concise, consisting of a single sentence. It is front-loaded and contains no extraneous information, though it lacks structure and could be organized more clearly.

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

Completeness3/5

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

Given the tool's simplicity (2 parameters, output schema exists), the description provides the core purpose but does not elaborate on return values or usage context. It is minimally adequate but not thorough.

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

Parameters3/5

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

Both parameters are fully described in the input schema (100% coverage). The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool retrieves stock research reports and earnings forecasts for a specified stock. It uses a specific verb '获取' and identifies the resource, distinguishing it from sibling tools like financial metrics or basic info.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor any conditions or exclusions. It merely states the function, leaving the agent without context for selection among siblings.

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

get_stock_restricted_release_queueCInspect

获取指定股票的个股限售解禁情况

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It does not mention that the tool is read-only, discusses data freshness, pagination, or any potential side effects. The agent cannot assess safety 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.

Conciseness4/5

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

The description is a single, short sentence that conveys the core purpose. It is front-loaded and efficient, though it could be slightly expanded for clarity.

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

Completeness3/5

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

The tool has an output schema (not shown but indicated), so return values are likely documented. However, the description is minimal and does not cover aspects like data coverage, update frequency, or error handling. It is complete enough for a simple retrieval tool but lacks depth.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters described adequately in the input schema. The tool description adds no additional meaning beyond the schema; it does not elaborate on parameter usage or constraints.

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

Purpose4/5

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

The description clearly states the tool retrieves restricted stock release data for a specified stock, using a specific verb ('获取' meaning 'get') and resource ('个股限售解禁情况'). However, it does not differentiate from sibling tools that also retrieve stock-related data, such as get_stock_basic_info or get_stock_value.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no example usage. The agent is left to infer 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.

get_stock_technical_rankBInspect

获取技术选股指标数据,包括创新高、创新低、连续上涨、连续下跌、持续放量、持续缩量、向上突破、向下突破、量价齐升、量价齐跌、险资举牌。

ParametersJSON Schema
NameRequiredDescriptionDefault
indicator_nameYes要获取的技术指标名称
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only lists indicator categories but omits behavioral details like data source, update frequency, or side effects. Minimal transparency.

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

Conciseness3/5

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

One sentence with a long list of indicators. Front-loaded with action, but the list could be abbreviated for conciseness without losing meaning.

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

Completeness3/5

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

Output schema exists, so return structure is covered. However, overall context is thin; lacks usage context and behavioral details. Adequate for a simple tool.

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

Parameters4/5

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

Schema covers 100% of parameters with descriptions. The main description adds value by listing many indicator examples, helping the agent understand the enum values beyond the schema.

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

Purpose4/5

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

The description clearly states the tool retrieves technical stock selection indicator data and lists many example indicators, distinguishing it from siblings like get_hist_data or get_realtime_data.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as get_realtime_data or get_stock_value. The description does not provide context or exclusions.

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

get_stock_valueBInspect

获取指定股票的个股估值分析数据

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Description only paraphrases purpose; no disclosure of side effects, auth requirements, or rate limits. Behavioral traits 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.

Conciseness5/5

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

Single sentence, efficient, no redundant information. Front-loaded with purpose.

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

Completeness3/5

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

Given low complexity (2 params, output schema exists), description is minimally adequate. However, missing behavioral context and usage guidance reduces completeness. Output schema covers return values.

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

Parameters3/5

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

Schema coverage is 100%, so parameters are fully described in schema. Description adds no extra meaning beyond 'specified stock', which aligns with symbol parameter. Baseline 3 is appropriate.

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

Purpose4/5

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

Description clearly states it gets stock valuation analysis data using verb '获取' and resource '个股估值分析数据'. It distinguishes from siblings like get_stock_basic_info and get_financial_metrics, but lacks specific details that would fully differentiate.

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

Usage Guidelines2/5

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

No explicit or implicit guidance on when to use this tool versus siblings. No mention of prerequisites or context.

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

get_stock_volatilityBInspect

通过分钟级历史行情计算指定个股的波动率指标

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码 (例如: '000001')
start_dateYes开始日期,格式为 YYYY-MM-DD HH:MM:SS (例如: '2021-10-20 09:30:00')
end_dateYes结束日期,格式为 YYYY-MM-DD HH:MM:SS (例如: '2024-11-01 15:00:00')
periodYes分钟级历史行情时间周期,分钟级别 (例如: '1', '5', '15', '30', '60')
adjustNo复权类型: none, qfq(前复权), hfq(后复权)。默认:nonenone
output_formatNo输出数据格式: json, csv, xml, excel, markdown, html。默认: markdownmarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states it uses minute-level history to calculate volatility. It does not disclose output structure, read-only nature, rate limits, or potential side effects.

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

Conciseness4/5

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

The description is a single, clear sentence with no wasted words. However, it could benefit from a slight expansion to include output details without becoming verbose.

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

Completeness3/5

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

Given that an output schema exists, the description does not need to explain return values, but it is incomplete regarding the specific volatility metrics computed. Adequate but lacks context on what the agent will receive.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The tool description adds no extra parameter meaning beyond the parameter descriptions themselves.

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

Purpose5/5

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

The description clearly states the verb (calculate) and resource (volatility indicators for specified stocks), distinguishing it from sibling tools that handle financial statements, indices, or news. It is specific and unambiguous.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or scenarios where other tools (e.g., get_hist_data) might be preferred.

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

get_time_infoAInspect

获取当前时间(ISO格式、时间戳)和最近一个交易日

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It mentions retrieving current time and the most recent trading day but does not disclose timezone handling, data source, or behavior on non-trading days (e.g., weekends). This omission leaves important behavioral traits unclear.

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

Conciseness5/5

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

The description is a single sentence that efficiently conveys the tool's purpose without extraneous words. Every part earns its place.

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

Completeness4/5

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

With zero parameters and an existing output schema (not shown), the description adequately covers the tool's functionality. However, it lacks mention of potential caveats like timezone or holiday handling, which would enhance completeness.

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

Parameters4/5

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

The input schema has no parameters, so schema description coverage is 100%. The description does not need to add parameter information. Per guidelines, a baseline of 4 is appropriate for zero-parameter tools.

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

Purpose5/5

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

The description clearly states the tool fetches current time in ISO and timestamp formats and the most recent trading day, which is a specific verb+resource. It distinguishes from sibling tools that focus on financial metrics and stock data.

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

Usage Guidelines3/5

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

The description provides clear context on what the tool does but offers no guidance on when to use it versus alternatives or when not to use it. Since the tool is straightforward, the lack of explicit exclusions is acceptable but not exemplary.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 30 tool updatesv1.0.0
    • First observedget_all_cni_indices
    • First observedget_balance_sheet
    • First observedget_cash_flow
    • First observedget_cni_index_detail
    • First observedget_cni_index_hist
    • First observedget_financial_metrics
    • First observedget_fund_flow
    • First observedget_hist_data
    • First observedget_income_statement
    • First observedget_inner_trade_data
    • First observedget_investor_sentiment
    • First observedget_macro_data
    • First observedget_news_data
    • First observedget_product_info
    • First observedget_profit_forecast
    • First observedget_realtime_data
    • First observedget_shareholder_info
    • First observedget_stock_a_code_name
    • First observedget_stock_basic_info
    • First observedget_stock_board_industry_summary
    • First observedget_stock_circulate_stock_holder
    • First observedget_stock_cyq
    • First observedget_stock_fhps_detail
    • First observedget_stock_management_change
    • First observedget_stock_research_report
    • First observedget_stock_restricted_release_queue
    • First observedget_stock_technical_rank
    • First observedget_stock_value
    • First observedget_stock_volatility
    • First observedget_time_info

TDQS

B3.3/5.0

Scored across 30 tools

Disambiguation5/5

Each tool targets a distinct data aspect (e.g., historical prices, news, financial statements, shareholder info, etc.), with no obvious overlaps that could cause misselection. Even similar-sounding tools like shareholder info and circulating shareholder data are clearly differentiated by their descriptions.

Naming Consistency5/5

All 31 tools follow the same 'get_' + noun pattern in snake_case, with clear, descriptive resource names (e.g., get_balance_sheet, get_realtime_data). This makes the API highly predictable and easy to navigate.

Tool Count3/5

At 31 tools, the set is on the heavier side, but each tool addresses a specific data need for comprehensive stock analysis. While the count exceeds the 25-tool threshold for 'too many', the breadth of the domain (market data, fundamentals, sentiment, indices, etc.) justifies the size, making it borderline acceptable rather than excessive.

Completeness5/5

The tool surface appears remarkably complete for A-share stock analysis, covering real-time and historical data, financial statements, key metrics, news, shareholder structures, technical indicators, macro data, indices, industry boards, sentiment, forecasts, dividends, and more. No significant gaps for common analytical workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides access to Chinese stock market data through the QMT platform, enabling users to query stock details, download historical market data, and analyze stock performance for A-share securities.
    21
    Apache 2.0
  • A
    license
    B
    quality
    C
    maintenance
    Provides comprehensive data for A-shares, Hong Kong, and US stocks alongside cryptocurrency markets, supporting technical indicators, news, and financial statements. It features automatic failover across multiple data sources to ensure reliable access to real-time and historical market information.
    47
    34
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables users to query Chinese A-share stock data, including stock basics, historical prices, financial reports, and macroeconomic indicators.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides free Chinese A-share stock data including real-time quotes, historical K-lines, market scanning, and multi-factor stock screening via BaoStock and Sina Finance APIs.
    MIT