Skip to main content
Glama
leewhite97

xueqiu-mcp

by leewhite97

xueqiu-mcp

An MCP server for Xueqiu (Snowball) that exposes community posts, stock quotes, watchlists, portfolios, and market news to AI assistants through standard Model Context Protocol tools.

It is designed for Claude Desktop, Cursor, Codex, QoderWork, and other MCP-compatible clients that can launch stdio servers.

This project relies on publicly reachable Xueqiu endpoints and an optional user cookie token. API availability, permissions, and response shapes may change without notice.

Highlights

Area

Tools

Capabilities

Community and KOL tracking

11

User search, profiles, following list, timelines, original articles, post details, comments, hot posts, stock KOLs, news feeds, and 7x24 live news

Stock market data

8

Single-stock quotes, batch quotes, hot stocks, stock screener, company profiles, dividend history, industry/concept tags, and industry performance

Watchlist viewing (read-only)

4

Read personal or public user watchlists and inspect watchlist stocks and funds

Watchlist editing (write)

6

Add or remove stocks, funds, and cubes in the logged-in user's watchlists

Portfolio tracking

3

Read public Xueqiu portfolios, current holdings, and rebalancing history

Related MCP server: Xueqiu MCP

Use Cases

  • Track recent posts, long-form articles, and discussions from Xueqiu users or market KOLs.

  • Query real-time quotes and valuation metrics for A-shares, Hong Kong stocks, and US stocks.

  • Inspect your own watchlists or public watchlists from other Xueqiu users.

  • Pull Xueqiu hot discussions, news feeds, and 7x24 live updates into AI workflows.

  • Combine stock screening, industry data, and company profiles for research workflows.

Installation

Requirements

  • Node.js 20 or later

  • npm

  • An MCP client that supports stdio servers

Build Locally

git clone <repo-url>
cd xueqiu-mcp
npm install
npm run build

The compiled server entrypoint is dist/index.js.

Authentication

Login state is resolved in this order:

  1. XUEQIU_TOKEN environment variable (a bare xq_a_token value or a full cookie string)

  2. A local cookie file written by npm run login

  3. An in-memory anonymous token (public endpoints only)

npm run login opens your installed Google Chrome. Sign in once with the QR code or SMS code, and the login cookie is saved locally. The server picks it up automatically on startup — no environment variable needed and no browser download.

npm run login

It reuses your installed Chrome, so nothing extra is downloaded. If Chrome is missing, either install it or fall back to Playwright's bundled Chromium (a ~150 MB one-time download):

npx playwright install chromium

The cookie is stored at ~/.config/xueqiu-mcp/cookies.json (%USERPROFILE%\.config\xueqiu-mcp\cookies.json on Windows). When it expires, run npm run login again.

Manual token

You can still copy the cookie by hand:

  1. Log in to Xueqiu.

  2. Open Developer Tools → Application / StorageCookies for https://xueqiu.com.

  3. Copy xq_a_token. Login-only endpoints usually also need u, so copying xq_a_token=...; u=... together is safest.

Claude Desktop / Cursor / QoderWork

Add the server to your MCP client configuration:

{
  "mcpServers": {
    "xueqiu-mcp": {
      "command": "node",
      "args": ["/path/to/xueqiu-mcp/dist/index.js"]
    }
  }
}

If you already ran npm run login, no env block is needed. To override the saved cookie, add "env": { "XUEQIU_TOKEN": "your value" }.

Codex CLI

Add the server to ~/.codex/config.toml:

[mcp_servers.xueqiu-mcp]
command = "node"
args = ["/path/to/xueqiu-mcp/dist/index.js"]

If you already ran npm run login, no env block is needed. To override the saved cookie, add env = { XUEQIU_TOKEN = "your value" }.

Restart your MCP client after saving the configuration.

Tools

Community and KOL Tracking

Tool

Description

Parameters

get_current_user

Get the current logged-in user profile

None

get_my_following

Get the current user's following list with automatic pagination

None

search_users

Search Xueqiu users by keyword

query, page?, count?

get_user_profile

Get a user's detailed profile

user_id

get_user_posts

Get a user's timeline, including original and reposted content

user_id, page?, count?

get_user_articles

Get a user's original long-form articles

user_id, page?, count?

get_post_detail

Get full content for a post or article

post_id

get_post_comments

Get comments for a post

post_id, page?, count?, sort?

get_hot_posts

Get hot posts by day, week, or month

scope?, count?, page?

get_stock_kol

Get active users for a stock symbol

symbol, count?, start?

get_news_feed

Get Xueqiu news feeds or 7x24 live news

category?, count?

get_hot_posts.scope supports day, week, and month. get_news_feed.category supports headline, a_stock, us_stock, hk_stock, fund, and live.

Stock Market Data

Tool

Description

Parameters

get_stock_quote

Get detailed quote and valuation metrics for one stock

symbol

get_batch_quotes

Get quotes for multiple symbols

symbols

get_hot_stocks

Get hot stock rankings

market?, count?

screen_stocks

Sort and screen stocks by percent change, market cap, PE, PB, turnover, amount, or volume

market?, order_by?, order?, page?, size?

get_company_profile

Get A-share company profile data

symbol

get_stock_dividend

Get A-share dividend and allotment history

symbol

get_stock_industry

Get industry and concept tags for a stock

symbol

get_industry_list

Get industry sectors and performance data

level?

Symbol examples: SH600519, SZ000001, 00700, AAPL.

Watchlist Viewing (read-only)

Tool

Description

Parameters

get_watchlists

Get the current user's watchlist folders

None

get_user_watchlists

Get public watchlist folders for any user

user_id

get_watchlist_stocks

Get stocks in a watchlist folder, optionally for a public user

pid, category?, user_id?

get_watchlist_funds

Get funds in a watchlist folder, optionally for a public user

pid?, user_id?

Common system folder IDs include -1 for all stocks, -5 for A-shares, -6 for US stocks, and -7 for Hong Kong stocks; -110 for all funds, -17 for funds, and -16 for private funds. Prefer IDs returned by get_watchlists or get_user_watchlists.

Watchlist Editing (write)

Tool

Description

Parameters

add_watchlist_stock

Add a stock to the current user's default watchlist

symbol

add_watchlist_fund

Add a fund to the current user's default fund watchlist

symbol

add_watchlist_cube

Follow a Xueqiu cube and add it to the current user's watchlist

cube_symbol

remove_watchlist_stock

Remove a stock from the current user's watchlist

symbol

remove_watchlist_fund

Remove a fund from the current user's fund watchlist

symbol

remove_watchlist_cube

Unfollow a Xueqiu cube and remove it from the current user's watchlist

cube_symbol

These write tools require a valid login (npm run login or XUEQIU_TOKEN). Items are added to or removed from the default folder of each kind; the server routes by symbol prefix (SH/SZ stocks, F/P funds, ZH cubes).

Portfolio Tracking

Tool

Description

Parameters

get_user_cubes

Get public portfolios created by a Xueqiu user

user_id, page?, count?

get_cube_holdings

Get current holdings for a portfolio

cube_symbol

get_cube_rebalancing

Get historical rebalancing records for a portfolio

cube_symbol, page?, count?

Examples

Show me the latest posts from this Xueqiu user.
Search for Xueqiu users who discuss new energy stocks.
What is in user 2292705444's public watchlist?
Get the current quote, PE, PB, and dividend yield for SH600519.
Compare quotes for SH600519, SZ300750, and AAPL.
What are the hottest A-share stocks today?
Show current holdings for portfolio ZH2001629.
Show the latest Xueqiu 7x24 live news.

Development

npm run dev      # Start from TypeScript source with tsx
npm run build    # Compile TypeScript to dist/
npm start        # Start the compiled MCP server

Architecture

xueqiu-mcp/
├── src/
│   ├── index.ts          # MCP server entrypoint, tool registration, and response formatting
│   ├── xueqiu-api.ts     # Xueqiu API client, token handling, and HTTP helpers
│   ├── login.ts          # One-time browser login helper
│   ├── login-cookie.ts   # Login-state validation and Cookie serialization
│   └── cookie-store.ts   # Local Cookie persistence
├── test/                 # Login and API regression tests
├── dist/                 # Compiled output
├── package.json          # Package metadata and scripts
├── tsconfig.json         # TypeScript configuration
└── README.md

The implementation intentionally keeps the runtime small:

  • Node.js / ESM / ES2022

  • TypeScript

  • @modelcontextprotocol/sdk

  • Playwright (login helper)

  • zod

Data, Permissions, and Safety

  • XUEQIU_TOKEN is read from the environment and should not be committed to source control.

  • Anonymous tokens are fetched only when needed and are kept in memory.

  • Login-required tools fail fast when neither a valid local Cookie nor XUEQIU_TOKEN is available.

  • Visibility of other users' watchlists, portfolios, and profiles depends on their privacy settings and Xueqiu's API permissions.

  • Xueqiu may change endpoints, fields, rate limits, or access policies at any time.

  • Requests are throttled (default ~1–1.5 s between requests, jittered) and retried with exponential backoff for transient 429/5xx/network errors only. 401/403/400 are never auto-retried. After 5 consecutive transient failures the client opens a 5-minute circuit breaker. Set XUEQIU_MIN_INTERVAL_MS to override the throttle interval (0 disables it).

  • Use reasonable request rates and respect Xueqiu's terms of service.

Disclaimer

This project is for personal learning, research, and automation assistance only. It is not investment advice, trading advice, or a recommendation to buy or sell securities. This project is not affiliated with, endorsed by, or officially authorized by Xueqiu or Beijing Xueqiu Information Technology Co., Ltd. Users are responsible for complying with Xueqiu's terms, platform rules, and applicable laws. All consequences arising from use of this project are the user's responsibility.

License

MIT

Available Tools

32 tools
add_watchlist_cube添加自选组合A
Idempotent

关注一个雪球组合(cube),将其加入当前用户的「关注」默认分组。需要有效登录态。

ParametersJSON Schema
NameRequiredDescriptionDefault
cube_symbolYes组合代码,如 ZH2001629,可从 get_user_cubes 获取

Output Schema

ParametersJSON Schema
NameRequiredDescription
successYes

TDQS

A4.3/5.0
Behavior4/5

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

The description adds value beyond the annotations by disclosing that a valid login state is required and that the cube is added to the 'default' group rather than a custom one. Annotations already cover idempotency and non-destructiveness, so the auth requirement and default-group behavior are meaningful additions.

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

Conciseness5/5

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

The description is two concise sentences with no redundant wording. The primary action is front-loaded, and the login requirement is a short, separate sentence that conveys essential context.

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

Completeness5/5

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

For a single-parameter mutation tool with a high-coverage schema, annotations, and an output schema, the description is complete. It covers the prerequisite (login), the target group (default), and the resource type (cube). No critical missing information remains for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, with cube_symbol already described as a portfolio code obtainable from get_user_cubes. The tool description does not add additional parameter-level semantics, so the baseline score of 3 applies.

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

Purpose5/5

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

The description states a specific verb ('关注'), a specific resource ('雪球组合/cube'), and the action's target ('加入当前用户的「关注」默认分组'). It is clearly distinguishable from sibling tools like add_watchlist_stock and add_watchlist_fund because it explicitly names the cube resource.

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

Usage Guidelines4/5

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

The description provides clear context for when to use the tool: to follow a cube and place it in the default watchlist group. It does not explicitly list alternative tools or when-not-to-use conditions, but the context is unambiguous enough that an agent can infer the appropriate use case.

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

add_watchlist_fund添加自选基金A
Idempotent

将一只基金加入当前用户的自选基金默认分组。需要有效登录态。公募基金代码以 F 开头,私募基金代码以 P 开头。

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes基金代码,如 F161039(公募)、P000700(私募)

Output Schema

ParametersJSON Schema
NameRequiredDescription
successYes

TDQS

A4.1/5.0
Behavior4/5

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

注解已声明非只读、非破坏性且幂等,描述额外补充了'需要有效登录态'和公募/私募代码前缀规则,这些是注解未覆盖且对调用成功至关重要的行为前提。虽未提及重复添加的具体表现,但幂等性已由注解覆盖,整体透明。

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

Conciseness5/5

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

两句话完成核心操作声明、前置条件和代码规则说明,无冗余内容,信息密度高且重点前置。

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

Completeness5/5

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

工具为单参数简单操作,且存在输出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已100%覆盖symbol的含义并给出了示例,描述中的代码前缀规则与schema示例一致,未提供超越schema的新信息。依据高覆盖率基线,评分为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?

描述以动词'加入'明确说明操作对象是基金和自选基金默认分组,与兄弟工具add_watchlist_stock、add_watchlist_cube形成清晰区分。同时补充了登录态和代码前缀规则,无歧义。

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?

描述隐含了添加基金时应使用此工具,且通过'需要有效登录态'给出使用前提,但未明确说明与add_watchlist_stock等替代工具的选用条件或排除场景。仍属隐含用法,缺少显式指引。

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

add_watchlist_stock添加自选股票A
Idempotent

将一只股票加入当前用户的自选股默认分组。需要有效登录态。symbol 支持 A股、港股、美股等雪球代码。

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码,如 SH600519、SZ000001、00700、AAPL

Output Schema

ParametersJSON Schema
NameRequiredDescription
successYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already provide idempotentHint and destructiveHint, so the description is not required to repeat them. It adds a useful behavioral note about requiring a valid login state ('需要有效登录态'), which gives extra context beyond the annotations.

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

Conciseness5/5

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

The description is two concise sentences with no redundant information. It efficiently communicates the action, the target, the requirement, and the input format without any fluff.

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

Completeness4/5

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

Given the tool's simplicity (one parameter and a clear action), the description covers the essential context: what it adds, to which watchlist, and the auth requirement. It does not specify the response format, but since no output schema is provided in the given data, this is not a major gap. Could be slightly more explicit about potential duplicate handling, but that is covered by idempotentHint in annotations.

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

Parameters5/5

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

The single parameter 'symbol' is fully described in the schema with type, length constraints, and a description that includes concrete examples (SH600519, SZ000001, 00700, AAPL). The description adds clarity about accepted formats, making the parameter semantics excellent.

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

Purpose5/5

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

The description clearly states the action: adding a stock to the current user's default watchlist. It also specifies the resource (stocks) and distinguishes it from funds and cubes via sibling tool names, making the purpose unmistakable.

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

Usage Guidelines3/5

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

The description explains what it does but lacks explicit guidance on when to use this tool versus alternatives like add_watchlist_fund or add_watchlist_cube. The mention of 'default group' hints at a limitation but does not explicitly contrast with other watchlist-related tools.

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

get_batch_quotes批量获取行情A
Read-onlyIdempotent

批量获取多只股票的实时行情。一次可查询多只,适合对比和监控。

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsYes股票代码列表,逗号分隔,如 SH600519,SZ000001,AAPL

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
quotesYes

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the '实时行情' (real-time quotes) aspect and batch capability, which are useful but not deeply detailed (no error handling, partial results, or rate limits). This adds some value beyond annotations but not rich context, matching the calibration baseline.

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

Conciseness5/5

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

The description is two short clauses with zero filler. The core action and resource are front-loaded, and the use case is appended efficiently. Every word earns its place.

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

Completeness4/5

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

For a simple read-only batch quote tool with one parameter fully documented in the schema and an output schema present, the description covers purpose, use case, and the batch nature. It does not mention edge cases like invalid symbols, but that is minor given the tool's simplicity and annotation coverage.

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

Parameters3/5

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

Schema description coverage is 100%: the 'symbols' parameter already has a clear description with format and examples. The tool description adds no extra parameter meaning beyond restating '多只' (multiple). With full schema coverage, the baseline of 3 applies.

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

Purpose5/5

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

The description clearly states the verb '获取' (get) and the resource '多只股票的实时行情' (real-time quotes for multiple stocks), distinguishing it from single-stock tools like get_stock_quote. It also adds a use case ('适合对比和监控' - suitable for comparison and monitoring), making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description implies when to use this tool ('一次可查询多只' - can query multiple at once, '适合对比和监控' - for comparison/monitoring) but does not explicitly contrast with get_stock_quote or state exclusions. It gives clear context without naming alternatives, so a 4 is appropriate.

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

get_company_profile获取公司概况A
Read-onlyIdempotent

获取A股上市公司的基本信息,包括公司名称、法人、注册资本、主营业务、经营范围等。

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesA股股票代码,如 SH600519、SZ000001

Output Schema

ParametersJSON Schema
NameRequiredDescription
companyYes

TDQS

A4.3/5.0
Behavior4/5

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

注解已声明 readOnlyHint=true、idempotentHint=true、destructiveHint=false,覆盖了安全行为;描述额外补充了返回内容的具体字段,如公司名称、法人、注册资本、主营业务等,这些信息不在参数schema中,增加了行为透明度。

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

Conciseness5/5

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

用一句话完整说明工具用途和返回内容,信息前置,无冗余措辞,结构紧凑有效。

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

Completeness5/5

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

工具只有一个参数且schema完整,输出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 描述覆盖率为100%,symbol 参数已给出含义和示例(SH600519、SZ000001),描述本身没有额外参数语义。按高覆盖率基线评为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?

描述明确说明该工具用于获取A股上市公司的基本信息,并列举了具体字段(公司名称、法人、注册资本、主营业务、经营范围等),动词+资源清晰。与兄弟工具如 get_stock_quote、get_user_profile 的资源类型明显区分,不存在混淆。

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

Usage Guidelines4/5

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

描述提供了明确的使用情境:当需要A股上市公司的基础资料时使用。虽然没有显式写出“何时不用”或备选工具,但上下文足够清晰,且没有与任何兄弟工具产生功能重叠。

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

get_cube_holdings获取组合持仓A
Read-onlyIdempotent

获取某个雪球组合的当前持仓详情,包括每只股票的名称、代码、仓位占比等。

ParametersJSON Schema
NameRequiredDescriptionDefault
cube_symbolYes组合代码,如 ZH2001629,可从 get_user_cubes 获取

Output Schema

ParametersJSON Schema
NameRequiredDescription
cashNo
holdingsYes
last_rebalancing_timeNo

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare read-only, idempotent, non-destructive behavior. The description adds the point-in-time nature of the data ('当前持仓详情'), but does not reveal further behavioral details such as pagination or error handling. This is acceptable given the strong annotation coverage.

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

Conciseness5/5

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

The description is a single efficient sentence that front-loads the main action and then lists the useful returned fields. Every word earns its place; there is no redundancy or padding.

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

Completeness5/5

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

The tool is simple: one param, one resource, and an output schema exists to describe return values. The description plus schema fully cover what an agent needs to invoke it correctly. No meaningful 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?

There is only one parameter and schema description coverage is 100%, so the schema already fully documents cube_symbol including the example format and source (get_user_cubes). Description adds no extra parameter semantics, but none is needed.

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

Purpose5/5

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

The description states a specific verb and resource: getting the current holdings of a Xueqiu cube, including stock name, code, and weight. The word '当前' clearly distinguishes it from get_cube_rebalancing, which covers historical rebalancing events.

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

Usage Guidelines4/5

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

The intended use is clear: call this when you need the current holdings snapshot of a specific cube. It does not explicitly rule out alternatives or mention get_cube_rebalancing, but '当前持仓' provides enough contextual direction for an agent to select this tool.

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

get_cube_rebalancing获取组合调仓记录B
Read-onlyIdempotent

获取某个雪球组合的历史调仓记录,包括每次调仓的持仓变化、目标仓位、成交价格等。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo页码,默认1
countNo每页数量,默认10,最大50
cube_symbolYes组合代码,如 ZH2001629,可从 get_user_cubes 获取

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
totalNo
recordsYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, fully covering the safety profile. The description adds mild context about what data the call returns (position changes, target allocations, execution prices), which goes slightly beyond the annotations. No contradiction with annotations.

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

Conciseness4/5

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

A single, efficient sentence that front-loads the core purpose before the data-field enumeration. There is no filler, redundancy, or wasted words. It is appropriately sized for a straightforward read operation.

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

Completeness4/5

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

For a read-only, paginated list tool with a rich output schema, fully documented parameters, and comprehensive safety annotations, the description adequately covers what the tool returns. The only real gap is the missing explicit contrast with get_cube_holdings, which is more of a purpose-clarity/usage concern than a completeness gap.

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

Parameters3/5

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

Schema description coverage is 100% — page, count, and cube_symbol all have descriptions, and cube_symbol's schema description even notes it can be fetched via get_user_cubes. The tool description adds no additional parameter-level semantics, so the baseline of 3 for fully-documented schemas applies.

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

Purpose4/5

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

The description clearly states the verb (获取/get), the resource (雪球组合的历史调仓记录), and the scope (某个 — a specific portfolio), and enumerates the returned data fields (持仓变化, 目标仓位, 成交价格). However, it does not explicitly differentiate itself from the similar sibling get_cube_holdings (current holdings), relying on the word '历史' to imply the distinction.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives. It does not mention that get_cube_holdings covers current positions or that cube_symbol can be obtained from get_user_cubes (that fact appears only in the input schema, not the description). The intended usage context remains purely implicit.

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

get_current_user获取当前用户A
Read-onlyIdempotent

获取当前登录用户的信息,包括昵称、ID、粉丝数等。需要有效登录态。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
userYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds an important behavioral constraint beyond annotations: requiring a valid login state. This is useful operational context for the agent.

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

Conciseness5/5

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

A single, well-structured sentence conveys the purpose, key fields, and authentication requirement without any filler. The most important differentiator 'current logged-in user' is front-loaded.

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

Completeness5/5

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

Given zero parameters, an output schema, and strong annotations, the description leaves nothing essential unsaid. The only non-obvious external dependency, a valid login, is explicitly stated. No further behavioral or return-value details are required.

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

Parameters4/5

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

The tool has zero parameters, so schema coverage is 100% by vacuity and the baseline score is 4. The description provides no parameter-level detail, but none is needed for an empty input schema.

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

Purpose5/5

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

The description clearly identifies the operation as retrieving the current logged-in user's information, listing concrete fields like nickname, ID, and follower count. This distinguishes it from sibling tools such as get_user_profile (which targets other users) and get_my_following (which covers following relationships).

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

Usage Guidelines4/5

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

The description states the key precondition — a valid login session — which makes the intended usage context clear. It does not explicitly enumerate alternatives or say when not to use it, but the 'current logged-in user' framing makes the appropriate use case obvious relative to sibling tools.

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

get_hot_posts获取热门帖子A
Read-onlyIdempotent

获取雪球热门帖子列表。可按日、周、月筛选热度排行。适合发现当前市场热点话题。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo页码,默认1
countNo数量,默认10,最大50
scopeNo时间范围:day(今日)、week(本周)、month(本月)day

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
postsYes

TDQS

A4.1/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds little behavioral detail beyond the fact that it returns a filtered hot-post list; it does not contradict the annotations, but it also does not meaningfully extend them.

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

Conciseness5/5

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

The description is three short, purposeful sentences: the action, the filtering capability, and the intended use case. It is front-loaded and contains no filler, making it easy for an agent to parse quickly.

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

Completeness5/5

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

For a simple read-only list tool with zero required parameters, a rich output schema, and complete parameter documentation, the description provides sufficient context. It explains what the tool returns and when to use it, and the annotations cover behavioral safety, so nothing essential is missing.

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

Parameters3/5

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

Schema description coverage is 100%, with all three parameters (page, count, scope) documented including defaults, bounds, and enum values. The description mentions the time-range filter, which mirrors the scope parameter, but adds no additional semantic value beyond what the schema already provides.

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

Purpose5/5

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

The description states the exact action ('获取雪球热门帖子列表') and resource (hot posts), and adds the filtering dimension (day/week/month). It clearly distinguishes from sibling tools like get_hot_stocks or get_post_detail by naming posts and the list nature.

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

Usage Guidelines4/5

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

The description gives clear usage context: it is suitable for discovering current market hot topics and can be filtered by time range. It does not explicitly name alternatives or say when not to use it, but the intended use case is clear enough for an agent to select it over closely related tools.

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

get_hot_stocks获取热门股票A
Read-onlyIdempotent

获取雪球热门股票排行榜。可按市场筛选:A股、港股、美股。

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo数量,默认10,最大50
marketNo市场:A(A股)、HK(港股)、US(美股)A

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
stocksYes

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnly and idempotent behaviors. The description adds no extra behavioral details (e.g., caching, rate limits, side effects), but also does not contradict the annotations.

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

Conciseness5/5

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

The description is a single, concise sentence that directly states the purpose and the key filter. No redundant words or unnecessary detail.

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

Completeness4/5

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

For a simple read-only tool, the description provides sufficient context to understand its function and the main parameter. It does not specify the output format, but that is not strictly necessary for this kind of ranking endpoint.

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 both parameters (count and market) with descriptions and enums. The description adds no additional meaning beyond the schema, but the schema coverage is 100%, 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 purpose: retrieving hot stock rankings from Xueqiu, with an explicit filter by market. 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 Guidelines3/5

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

The description provides a usage hint about filtering by market, but does not explicitly explain when to use this tool over sibling tools like get_hot_posts or screen_stocks. No alternatives are mentioned.

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

get_industry_list获取行业板块列表B
Read-onlyIdempotent

获取行业板块列表及涨跌数据,可查看各行业的实时涨跌幅。

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNo行业级别,1=一级行业,2=二级行业,默认1

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
industriesYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the 'real-time涨跌幅' context but does not disclose additional behavioral details such as data freshness, pagination, or rate limits; this is acceptable given the strong annotation coverage.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It efficiently conveys the purpose and the real-time nature of the data.

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

Completeness4/5

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

For a simple, read-only list endpoint with one optional fully-documented parameter, an output schema, and safety annotations, the description is sufficiently complete. The only notable absence is explicit guidance on when to choose this over related sibling tools, but that is a minor gap here.

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

Parameters3/5

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

Schema description coverage is 100%: the 'level' parameter is fully documented with type, range, default, and meaning. The description does not need to add parameter details, and it does not exceed the schema's documentation.

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 the tool retrieves an industry sector list with real-time gain/loss data, using a specific verb and resource. It is clear enough to distinguish from stock-specific tools like get_stock_industry, though it does not explicitly name or contrast sibling tools.

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

Usage 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 like get_stock_industry, get_stock_quote, or get_batch_quotes. The description simply states what the tool returns without giving selection criteria or exclusions.

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

get_my_following获取我的关注列表A
Read-onlyIdempotent

获取当前登录用户关注的人的列表(分页)。需要有效登录态。返回 has_more 和 next_page 用于继续翻页。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo页码,从 1 开始
countNo每页数量,默认 20,最大 100

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
totalNo
usersYes
has_moreYes
next_pageNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds meaningful behavioral context: authentication is required, and pagination uses has_more and next_page. It does not contradict any annotations.

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

Conciseness5/5

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

The description is concise and well-structured: it states the core action first, then the auth requirement, then the pagination behavior. Every sentence adds value with no redundant information.

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

Completeness5/5

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

For a simple paginated read tool with fully documented parameters, rich annotations, and an output schema, the description covers all necessary operational context: it names the resource, auth requirement, and how to continue pagination. Nothing essential is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents page and count with defaults, minimums, and maximums. The description adds no additional parameter semantics beyond what the schema provides, which is acceptable given the complete schema 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 explicitly states the tool retrieves the list of people followed by the current logged-in user, with pagination. This clearly distinguishes it from sibling tools like get_user_profile or get_current_user by specifying the resource ('关注的人') and the ownership ('当前登录用户').

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 gives important usage context: it requires a valid login session and is scoped to the current user. However, it does not explicitly mention when to prefer this tool over alternatives such as get_user_profile or search_users, leaving some routing to inference.

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

get_news_feed获取资讯流A
Read-onlyIdempotent

获取雪球资讯Feed流。可按分类筛选:头条、A股、美股、港股、基金,或 7x24 快讯。

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo数量,默认10,最大50
categoryNo分类:headline(头条)、a_stock(A股)、us_stock(美股)、hk_stock(港股)、fund(基金)、live(7x24快讯)headline

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
countYes
itemsNo
postsNo

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is fully covered. The description adds the feed semantics and filtering behavior but does not disclose extra traits such as ordering, pagination, or data freshness; this is acceptable given the annotations and output schema.

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

Conciseness5/5

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

The entire description is one compact sentence that front-loads the action and resource, then lists all relevant category options. Every word contributes value and there is no redundant or filler content.

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

Completeness5/5

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

For a simple read-only feed tool with two optional parameters, a full output schema, and comprehensive annotations, the description covers what the tool does and how filtering works. No critical information is missing.

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

Parameters3/5

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

The input schema provides 100% parameter coverage, with descriptions for both count and category. The description restates the category options in prose but adds no new meaning beyond the schema, so the 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 verb ('获取') and resource ('雪球资讯Feed流'), and specifies the filterable categories. It is distinct from sibling tools like get_hot_posts because it explicitly focuses on the news feed rather than posts or user-generated content.

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

Usage Guidelines4/5

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

The description makes the tool's purpose obvious: use it when a news feed is needed, with supported category filters. It does not name alternative tools or exclusion cases, but the context is clear enough for correct selection among siblings, most of which are about posts, users, quotes, or watchlists rather than news.

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

get_post_comments获取帖子评论A
Read-onlyIdempotent

获取某篇雪球帖子下的评论。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo页码,默认1
sortNo排序:newest 或 oldestnewest
countNo每页数量,默认20,最大50
post_idYes帖子ID(纯数字)

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
commentsYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false. The description adds no extra behavioral context beyond the resource scope, but it does not contradict the annotations either.

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 filler or repetition. It is appropriately front-loaded, though it could provide slightly more context without becoming bloated.

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

Completeness4/5

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

For a simple read-only tool with fully documented parameters, an output schema, and safety-related annotations, the description is sufficient for an agent to understand what the tool does. It lacks explicit usage guidance but does not leave critical gaps for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema itself fully documents post_id, page, sort, and count. The description does not add any parameter-level detail, which is acceptable given the high coverage.

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

Purpose4/5

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

The description states a specific verb ('获取') and resource ('某篇雪球帖子下的评论'), clearly indicating the tool returns comments for a given Xueqiu post. It is distinguishable from siblings like get_post_detail, though it does not explicitly call out that difference.

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

Usage Guidelines3/5

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

Usage is implied: this tool is for retrieving comments under a post. However, the description does not provide explicit when-to-use guidance, exclusion criteria, or mention of alternatives such as get_post_detail.

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

get_post_detail获取帖子详情A
Read-onlyIdempotent

获取某篇雪球帖子/文章的完整内容,包括正文、互动数据等。

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYes帖子ID(纯数字),可从帖子URL中获取

Output Schema

ParametersJSON Schema
NameRequiredDescription
postYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that the result includes full content and interaction data, but does not disclose error behavior, auth needs, or rate limits. This is acceptable given the strong annotations but not especially rich.

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

Conciseness5/5

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

The description is a single focused sentence that front-loads the core purpose and includes the key returned content categories without unnecessary words.

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

Completeness5/5

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

This is a simple single-parameter read-only lookup tool with a complete input schema, an output schema present, and strong annotations. The description and structured fields together provide enough context for an agent to select and invoke the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%; the only parameter post_id is clearly documented in the schema as a pure numeric ID retrievable from the post URL. The description itself adds no parameter-level detail beyond the schema, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the verb (获取), resource (某篇雪球帖子/文章), and scope (完整内容,包括正文、互动数据). It conveys the tool's purpose well, though it does not explicitly contrast itself with siblings like get_post_comments or get_hot_posts.

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

Usage Guidelines3/5

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

The intended use is implied: call this when you need the full content of a specific post/article by post_id. However, there is no explicit guidance on when to prefer this over alternatives 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_stock_dividend获取分红历史A
Read-onlyIdempotent

获取A股上市公司的历史分红送转记录。

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesA股股票代码,如 SH600519

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
dividendsYes

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds contextual scope—A-share companies and historical records—but does not elaborate on output shape or pagination; that is acceptable given the annotations and the simple nature of the operation.

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

Conciseness5/5

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

The description is a single, front-loaded Chinese sentence with the key action and resource. There is no filler, redundancy, or irrelevant sibling references.

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

Completeness5/5

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

The tool has one required parameter, full schema coverage, rich annotations, and a declared output schema. The short description is sufficient for an agent to select and invoke the tool correctly; it covers the only necessary scoping (A-share, historical dividends and send-transfers).

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, including a description of the symbol property with an example ('SH600519'). The tool description itself does not add parameter detail, but the schema fully carries that burden, so the 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 specifies the verb 获取 (get), the resource (historical dividend and stock-transfer records), and the target universe (A-share listed companies). It clearly differentiates this tool from sibling stock tools like get_stock_quote and get_company_profile by naming a unique resource.

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

Usage Guidelines3/5

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

No explicit when-to-use or alternative/exclusion guidance is provided. However, the narrow scope makes the intended use (requesting dividend history for an A-share code) implied by the description. There is no sibling tool covering dividends, so no competing alternative needs to be routed away from.

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

get_stock_industry获取个股行业标签A
Read-onlyIdempotent

获取某只A股股票所属的行业和概念板块标签。

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesA股股票代码,如 SH600519

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
industriesYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, open-world behavior, so the description only needs to add context. It adds the meaningful constraint that the tool is A-share-specific and returns two categories of tags, without contradicting the annotations.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no filler. It states the scope, the input, and the output in exactly the needed amount of text.

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

Completeness5/5

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

This is a simple one-parameter, read-only lookup with a full schema and an output schema available. The description covers the input domain and expected result sufficiently; no missing information would prevent an agent from calling it correctly.

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

Parameters3/5

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

Schema description coverage is 100%: the parameter already specifies A-share stock codes with an example format. The description merely repeats 'A股股票' and adds no new semantic detail beyond the schema.

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

Purpose5/5

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

The description names a specific verb ('获取'), a specific resource ('某只A股股票'), and the exact data returned ('行业和概念板块标签'). This clearly distinguishes it from sibling tools like get_stock_quote or get_industry_list, which target different data.

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

Usage Guidelines4/5

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

The description conveys clear context: use this when you need the industry and concept labels for a single A-share stock. It does not explicitly name alternatives or when-not-to-use conditions, so it falls short of a 5.

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

get_stock_kol获取个股活跃大VA
Read-onlyIdempotent

获取某个股票下的活跃大V/KOL列表。适合发现关注特定标的的意见领袖。

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo数量,默认10,最大50
startNo起始偏移量,默认0
symbolYes股票代码,如 SH600519、AAPL、00700

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
usersYes

TDQS

A4/5.0
Behavior3/5

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

注解已经声明readOnlyHint、idempotentHint和destructiveHint=false,覆盖了安全性和副作用信息。描述本身只复述“获取列表”,没有额外补充鉴权、速率限制或分页等行为信息,但不与注解矛盾。

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

Conciseness5/5

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

描述只有两句话,第一句直接点明核心功能,第二句补充使用场景,信息密度高且无冗余。结构紧凑、有效。

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

Completeness4/5

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

对于简单的只读列表工具,注解和schema已经覆盖安全性、参数边界和默认行为,且存在输出schema。描述虽未解释分页或具体排序,但“活跃”一词和start/count参数已能支撑正确调用,整体足够完整。

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对所有3个参数都有完整描述,包括symbol的格式示例、count的默认值与范围、start的偏移含义,schema覆盖率为100%。描述未额外增加参数语义,按基线评为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?

描述以“获取”明确点出动作,并直接给出资源“某个股票下的活跃大V/KOL列表”,功能清晰。该资源与sibling工具(如get_user_profile、search_users、get_hot_posts)有明显区分,不存在歧义。

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

Usage Guidelines4/5

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

描述提供了明确的应用场景“适合发现关注特定标的的意见领袖”,让智能体知道何时使用该工具。但未提及不适用场景或与search_users等搜索类工具的替代关系,尚未达到最高标准。

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

get_stock_quote获取单只股票行情A
Read-onlyIdempotent

获取单只股票的详细实时行情,包括现价、涨跌幅、PE/PB、市值、股息率、换手率等。

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码,A股如 SH600519、SZ000001;港股如 00700;美股如 AAPL

Output Schema

ParametersJSON Schema
NameRequiredDescription
quoteYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false. The description adds context beyond those by spelling out the data returned (price, change%, PE/PB, market cap, dividend yield, turnover rate) and the real-time nature, giving the agent a clear behavioral expectation without contradicting annotations.

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

Conciseness5/5

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

One concise, front-loaded sentence. It states the core purpose first and then efficiently lists the important returned fields. There is no repetition, fluff, or ambiguity.

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

Completeness5/5

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

For a single-parameter, read-only tool with an existing output schema, the description combined with the schema is complete. It identifies the input format, the single-stock scope, the real-time nature, and representative output fields, so an agent has everything needed to invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100%: the single required parameter symbol is fully documented with format examples (A-shares SH/SZ, HK 00700, US AAPL). The description adds no additional parameter semantics beyond what the schema already provides, so the baseline of 3 applies.

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

Purpose5/5

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

The description states a specific verb ('获取'), a specific resource ('单只股票'), and enumerates the key returned metrics (现价、涨跌幅、PE/PB、市值、股息率、换手率). The '单只' qualifier distinguishes this tool from sibling get_batch_quotes, so its purpose is clear and differentiable.

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

Usage Guidelines4/5

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

The description makes the use case clear: retrieve a real-time quote for a single stock. It does not explicitly point to alternatives like get_batch_quotes or say when not to use it, but the singular scope ('单只') provides enough contextual guidance for an agent to select it appropriately.

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

get_user_articles获取用户原创文章A
Read-onlyIdempotent

获取指定雪球用户的原创文章(不含转发)。适合追踪大V的深度分析和长文。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo页码,默认1
countNo每页数量,默认10,最大20
user_idYes雪球用户ID(纯数字)

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
postsYes
totalNo
has_moreYes
next_pageNo

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is fully covered. The description adds the filtering behavior '不含转发', which is useful context beyond annotations and schema, but discloses nothing else (return format and pagination limits are covered by output schema/schema). This mirrors the get_calls calibration where a scoping constraint on top of safety annotations warranted a 3.

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

Conciseness5/5

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

Two sentences with zero waste: the core function and scope exclusion are front-loaded, and the second sentence earns its place by giving a concrete usage context. No redundant restatement of schema or annotations.

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 read-only paginated list tool, the description covers purpose, scope, and use case, while annotations carry the safety profile and the schema/output schema carry parameter and return details. The only notable gap is that sibling disambiguation (when to choose get_user_posts over this tool) is implicit rather than explicit, so the guidance is slightly 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% — page, count, and user_id each carry type, constraints, defaults, and descriptions in the schema itself. The description adds no parameter-level detail beyond what the schema already provides, so the baseline 3 applies.

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

Purpose5/5

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

Description states a specific verb and resource: '获取指定雪球用户的原创文章', and adds a scope exclusion '不含转发' that distinguishes it from the sibling get_user_posts, which presumably returns all posts including reposts. An agent can tell this tool apart from its nearest sibling without opening the schema.

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

Usage Guidelines4/5

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

The second sentence '适合追踪大V的深度分析和长文' gives a clear use case (tracking deep analysis and long-form articles of influential users), which implies when this tool is valuable. However, it does not explicitly name the alternative (e.g., get_user_posts) or state when NOT to use this tool, leaving the sibling distinction implicit rather than explicit.

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

get_user_cubes获取用户组合列表A
Read-onlyIdempotent

获取某个雪球用户创建的投资组合列表。可看到组合名称、代码、收益率、关注人数等。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo页码,默认1
countNo每页数量,默认20,最大50
user_idYes雪球用户ID(纯数字),可从用户主页URL获取

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
cubesYes
totalNo
has_moreYes
next_pageNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already mark the operation as read-only, idempotent, and non-destructive. The description adds behavioral value by clarifying the returned information scope (portfolio name, code, yield, follower count) and by explicitly scoping the resource to user-created cubes.

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 both the purpose and the main returned fields. There is no filler or repetition of schema or annotation details.

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

Completeness4/5

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

For a low-complexity, read-only list tool with rich annotations and a provided output schema, the description is nearly complete. It could be improved by explicitly distinguishing itself from cube holdings or rebalancing tools, but nothing essential is missing.

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

Parameters3/5

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

The schema already documents all three parameters — user_id, page, and count — with defaults, constraints, and descriptions. The tool description adds no parameter-specific semantics, but with 100% schema coverage, the 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 states a specific action — retrieving the list of investment portfolios created by a given Xueqiu user — and names observable fields (portfolio name, code, yield, followers). This is distinct from sibling tools like get_cube_holdings or get_cube_rebalancing.

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 use case is implied: use this to get a user's created portfolios. However, it does not explicitly contrast this tool with alternatives such as get_cube_holdings, get_user_watchlists, or watchlist-related tools, so the agent has to infer when 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_user_posts获取用户动态A
Read-onlyIdempotent

获取指定雪球用户的最新动态(包含原创和转发)。适合追踪大V的所有发言。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo页码,默认1
countNo每页数量,默认10,最大20
user_idYes雪球用户ID(纯数字)

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
postsYes

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that results include original and reposted content and represent the latest activity, which is useful context but not deep behavioral detail.

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

Conciseness5/5

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

The description is one compact, front-loaded sentence that states the action, resource, content scope, and intended use case without any filler. Every part earns its place.

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

Completeness5/5

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

For a simple paginated read tool with an output schema and rich annotations, the description covers content scope and purpose adequately. Nothing critical is missing for an agent to select and invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, with all parameters (user_id, page, count) already documented including defaults and limits. The description does not add parameter-level detail, but the schema is sufficient, so baseline 3 is appropriate.

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

Purpose5/5

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

Description uses a specific verb ('获取') and resource ('指定雪球用户的最新动态'), and explicitly notes it includes both original and forwarded posts. This distinguishes it from sibling tools like get_user_articles, which likely cover only original articles.

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

Usage Guidelines4/5

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

The description gives a concrete use case: '适合追踪大V的所有发言', which tells the agent when this tool is appropriate. It does not explicitly name alternatives or exclusion conditions, but the context is clear enough for basic routing.

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

get_user_profile获取用户资料B
Read-onlyIdempotent

获取雪球用户的详细资料,包括昵称、简介、粉丝数、认证信息等。

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes雪球用户ID(纯数字),可从用户主页URL获取

Output Schema

ParametersJSON Schema
NameRequiredDescription
userYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds some context about the returned data fields, but does not disclose additional behavioral traits such as error behavior or whether the user must exist. This is acceptable for a simple read operation, but not exceptional.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the action and resource, then lists useful example fields. Every part contributes meaning, and there is no redundancy or filler.

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

Completeness4/5

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

For a simple one-parameter read-only tool with an output schema and rich annotations, the description is largely sufficient. The only notable gap is the lack of explicit routing between get_user_profile and get_current_user, which would make the contextual picture fully complete.

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

Parameters3/5

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

Schema description coverage is 100%, with the user_id parameter already described as a pure numeric Xueqiu user ID obtainable from the user homepage URL. The description adds no additional parameter-level information, so the 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 specific verb '获取' and the resource '用户详细资料', and enumerates representative fields like nickname, bio, follower count, and verification info. It is clear about what the tool does, though it does not explicitly differentiate itself from siblings such as get_current_user or search_users.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives. For example, there is no mention that get_current_user is for the authenticated user's own profile or that search_users should be used for finding users by name. The intended usage must be inferred entirely 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_user_watchlists获取用户自选分组A
Read-onlyIdempotent

获取任意雪球用户的自选股分组列表(文件夹结构和数量统计)。配合 get_watchlist_stocks 可查看该用户的自选股详情。

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes雪球用户ID(纯数字),可从用户主页URL获取

Output Schema

ParametersJSON Schema
NameRequiredDescription
cubesYes
fundsYes
stocksYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare the tool as read-only and idempotent, lowering the burden. The description adds useful behavioral context beyond annotations: it returns a folder structure with count statistics and points to a companion tool for details, giving a clearer picture of what the call produces.

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

Conciseness5/5

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

The description is two short sentences with no filler. The main action and scope are front-loaded, and the second sentence is a useful companion-tool note that earns its place.

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

Completeness5/5

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

The tool is simple with one parameter, a complete schema, rich annotations, and an output schema. The description covers the resource scope, the nature of the results, and the next step for viewing details, so nothing essential is missing.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter user_id, with a description explaining it is a pure numeric ID from the user's profile URL. The tool description does not add any parameter-specific meaning, so the baseline score of 3 applies.

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

Purpose5/5

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

The description uses a specific verb and resource: '获取任意雪球用户的自选股分组列表' (get any Snowball user's watchlist group list). It also specifies the output as folder structure and count statistics, which distinguishes it from get_watchlist_stocks and the user-specific get_watchlists.

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

Usage Guidelines4/5

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

The description clearly states the tool is for any user's watchlist groups and explicitly says to combine it with get_watchlist_stocks to view details. However, it does not explicitly contrast with get_watchlists or state when not to use this tool, so it stops short of full exclusion guidance.

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

get_watchlist_funds获取自选基金A
Read-onlyIdempotent

获取某个自选基金分组下的基金列表,返回基金代码、名称、目标仓位。支持查看他人自选基金(传入 user_id)。建议先用 get_watchlists / get_user_watchlists 获取基金分组 pid。

ParametersJSON Schema
NameRequiredDescriptionDefault
pidNo基金分组ID。默认 -110=全部基金。常用:-17=基金、-16=私募、-160=公募。可从 get_watchlists / get_user_watchlists 获取
user_idNo可选,指定查看哪个用户的自选基金(用户ID,纯数字)。不传则查看自己的

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
fundsYes

TDQS

A4.4/5.0
Behavior3/5

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

注解已标明 readOnlyHint=true、idempotentHint=true、destructiveHint=false,描述与之一致,无矛盾。描述补充了默认分组和查看他人等调用行为,但未超出注解已覆盖的安全特性。

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?

描述三句话,直接说明功能、返回值、支持他人查看,并给出获取 pid 的建议。结构紧凑,无冗余信息。

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

Completeness5/5

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

在已有输出模式和注解的情况下,描述涵盖了调用所需的前置步骤、默认参数行为和可选参数含义。对于该工具的简单查询场景,信息足够完整。

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

Parameters5/5

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

输入模式中 pid 和 user_id 均有详细描述,包括默认值、常用取值、获取途径和可选性。工具描述进一步建议使用 get_watchlists 获取 pid,参数含义完整清晰。

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?

明确说明获取自选基金分组下的基金列表,并返回代码、名称、目标仓位。与获取股票列表的 get_watchlist_stocks 区分,且支持他人视角,目的清晰。

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

Usage Guidelines4/5

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

给出使用前置条件:建议先用 get_watchlists 或 get_user_watchlists 获取 pid,并说明默认 -110 和常用分组。虽未明确排除其他替代工具,但提供了足够的调用时机和参数准备指引。

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

get_watchlists获取我的自选分组A
Read-onlyIdempotent

获取当前登录用户的自选股分组列表,包含股票、关注(组合)、基金等所有分类。需要有效登录态。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
watchlistsYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive behavior, so the description only needs to add context. It adds a meaningful auth requirement (valid login state) and clarifies the data scope. No behavioral claims contradict the annotations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that states the resource, the scope, the contained categories, and the auth requirement. Every clause earns its place; there is no filler or repetition.

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

Completeness5/5

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

With zero parameters, a rich annotation set (readOnly, idempotent, non-destructive, openWorld), and an output schema available, the description is complete for an agent. It supplies the only critical missing operation-facing context: that a valid login is required and that this is the user's own full grouping list.

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

Parameters4/5

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

The tool has zero parameters and the schema is fully covered, so there is nothing for the description to explain. Baseline for zero parameters is 4, and the description adequately addresses the operation without needing to describe parameter details.

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

Purpose5/5

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

The description states a specific action (get the watchlist groups) and a specific scope (currently logged-in user). It also clarifies that the result spans all categories—stocks, follow portfolios, funds—which visually distinguishes it from category-specific tools like get_watchlist_stocks and get_watchlist_funds.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool: when the target is the current user's complete set of watchlist groups. It also states the login requirement as a prerequisite. It does not explicitly name alternatives, but the scope is specific enough to infer usage.

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

get_watchlist_stocks获取自选股列表A
Read-onlyIdempotent

获取某个自选股分组下的所有股票列表,返回股票代码和名称。支持查看他人自选股(传入 user_id)。建议先用 get_user_watchlists 获取分组 pid。

ParametersJSON Schema
NameRequiredDescriptionDefault
pidYes分组ID。常用:-1=全部,-5=沪深,-7=港股,-6=美股。可从 get_watchlists / get_user_watchlists 获取
user_idNo可选,指定查看哪个用户的自选股(用户ID,纯数字)。不传则查看自己的
categoryNo分类:0=全部,1=组合,2=股票。默认0即可

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
stocksYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare read-only and idempotent behavior, and the description adds useful non-obvious context: it supports viewing other users' lists via user_id, returns code/name, and expects a pid obtained from get_user_watchlists. It does not discuss pagination or rate limits, but these are not critical for this simple read endpoint.

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

Conciseness5/5

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

Two sentences; the main operation and return values are front-loaded, followed by the optional user_id behavior and a single piece of prerequisite advice. Every sentence earns its place.

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

Completeness5/5

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

For a read-only list endpoint with an output schema present and only one required parameter, the description covers purpose, return content, optional user scoping, and how to source the key pid. No critical gap remains for an agent to invoke it correctly.

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

Parameters4/5

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

The schema covers all three parameters at 100%, so the baseline is 3. The description adds a meaningful workflow hint (obtain pid via get_user_watchlists) and clarifies user_id's role for viewing other users, which goes beyond the schema text in guiding correct invocation.

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

Purpose5/5

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

The description states the exact operation: retrieving all stocks in a watchlist group, and specifies the return payload (stock codes and names). It clearly differentiates this from the funds/cube siblings by scoping to '自选股' (stocks).

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

Usage Guidelines4/5

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

It gives a concrete usage workflow: call get_user_watchlists first to obtain pid, and explains when to pass user_id (to view another user's watchlist). It does not explicitly exclude alternatives such as get_watchlist_funds, but the stock scoping provides clear context.

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

remove_watchlist_cube删除自选组合A
DestructiveIdempotent

取消关注一个雪球组合(cube),从当前用户的「关注」分组中删除。需要有效登录态。

ParametersJSON Schema
NameRequiredDescriptionDefault
cube_symbolYes组合代码,如 ZH2001629

Output Schema

ParametersJSON Schema
NameRequiredDescription
successYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already signal destructive and non-read-only behavior. The description adds useful context by specifying that the action affects the current user's follow group and explicitly requires an authenticated session. This goes beyond the annotations without contradicting them.

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

Conciseness5/5

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

Two short sentences contain all essential information: the action, the target resource, the scope, and the auth requirement. No filler or repetition; the most important information is front-loaded.

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

Completeness5/5

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

For a simple one-parameter destructive tool with an output schema, annotations, and a clear description, nothing necessary is missing. The description sufficiently explains what is deleted and under what conditions, so an agent can select and invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100%; cube_symbol is fully described with type, constraints, and an example. The tool description itself adds no additional parameter semantics, which matches the baseline of 3 when the schema carries the full burden.

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

Purpose5/5

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

The description uses a specific verb ('取消关注' / remove from follow group) and names the resource ('雪球组合(cube)') and scope ('当前用户的关注分组'). This clearly distinguishes it from sibling tools like remove_watchlist_stock and remove_watchlist_fund, and the action is unambiguous.

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

Usage Guidelines4/5

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

The description makes the use case clear: removing a cube from the current user's follow list. It states a prerequisite (valid login) but does not explicitly mention alternatives or when not to use this tool. However, the sibling names make the distinctions obvious, so no significant confusion is likely.

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

remove_watchlist_fund删除自选基金A
DestructiveIdempotent

从当前用户的自选基金分组中删除一只基金。需要有效登录态。

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes基金代码,如 F161039(公募)、P000700(私募)

Output Schema

ParametersJSON Schema
NameRequiredDescription
successYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=true. The description adds the authentication requirement ('需要有效登录态') and clarifies that the operation targets the current user's own watchlist fund group, which is valuable context beyond the annotations. It does not contradict any annotation.

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

Conciseness5/5

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

Two short sentences convey the action, scope, and auth requirement with no filler. The key action is front-loaded and every clause adds necessary information.

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

Completeness4/5

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

Given a single parameter, existing output schema, and annotations covering destructiveness and idempotency, the description provides the essential auth context and current-user scope. It could additionally mention behavior when the fund is absent or explicitly route to sibling tools, but those are minor gaps for a simple removal operation.

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

Parameters3/5

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

The schema already provides 100% coverage for the single parameter 'symbol' with type, length constraints, and example fund codes. The description adds no additional parameter-level meaning, so the 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 states a specific verb ('删除'/remove), a precise resource ('自选基金分组中的一只基金'/a fund in the current user's watchlist fund group), and scope ('当前用户'/current user). This clearly distinguishes it from sibling tools like remove_watchlist_stock and remove_watchlist_cube.

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

Usage Guidelines3/5

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

The intended usage is implied: use this when a fund should be removed from the current user's watchlist. However, it does not explicitly state when to prefer this over remove_watchlist_stock or remove_watchlist_cube, nor does it mention any exclusions. The login requirement is a useful precondition but not full usage guidance.

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

remove_watchlist_stock删除自选股票A
DestructiveIdempotent

从当前用户的自选股分组中删除一只股票。需要有效登录态。

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码,如 SH600519、SZ000001、00700、AAPL

Output Schema

ParametersJSON Schema
NameRequiredDescription
successYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already flag this as destructive and idempotent; the description adds that the deletion applies to the current user's data and that authentication is required. It confirms the destructive nature with 删除, which is consistent with destructiveHint. No contradiction with annotations is present.

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

Conciseness5/5

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

Two short sentences, with the action and resource front-loaded and the login requirement stated separately. There is no filler or redundant restatement.

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

Completeness4/5

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

For a one-parameter mutation with output schema and safety annotations, this is close to complete: it identifies scope, target, and auth requirement. A minor gap is that it doesn't specify behavior when the symbol isn't in any watchlist or how multiple watchlist groups are handled, but idempotentHint and the simple schema reduce that risk.

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

Parameters3/5

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

Schema coverage is 100%, so the schema fully documents the symbol parameter and provides examples. The description adds no parameter-specific detail beyond identifying the affected item as a stock, so the schema carries the semantic burden as expected.

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

Purpose5/5

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

The description names a specific action (删除/delete) and a precise resource (a stock from the current user's watchlist group), which distinguishes it from siblings like add_watchlist_stock, remove_watchlist_fund, and remove_watchlist_cube. It adds the 'current user' scoping rather than just restating the tool name.

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

Usage Guidelines3/5

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

The intended use is implied by the purpose statement, but there is no explicit guidance about when to choose this tool over alternatives such as remove_watchlist_fund or remove_watchlist_cube. The only stated condition is that a valid login is required, which is a prerequisite rather than a full usage policy.

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

screen_stocks股票筛选B
Read-onlyIdempotent

股票筛选器。可按涨跌幅、市值、PE、PB、换手率等条件排序筛选。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo页码,默认1
sizeNo每页数量,默认10,最大30
orderNo排序方向:desc(降序)、asc(升序)desc
marketNo市场:CN(A股)、US(美股)、HK(港股)CN
order_byNo排序字段percent

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
totalNo
stocksYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that the tool sorts/filters by several metrics, but it slightly overstates filtering capability: the schema only exposes order_by and market, not filter thresholds for PE/PB etc. This minor ambiguity prevents a higher score.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no filler. It communicates the core action and key dimensions immediately, which is ideal for an agent scanning tool definitions.

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?

With a 5-parameter tool, 100% schema coverage, an output schema, and safety annotations, the overall definition is mostly adequate. However, the description omits any when-to-use guidance and leaves the sort-vs-filter ambiguity unresolved, so it is not fully complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description's metric list roughly mirrors the order_by enum but does not add detail about page, size, order direction, or market values beyond what the schema already documents.

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

Purpose4/5

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

The description clearly identifies a stock screener ('股票筛选器') and names concrete metrics such as 涨跌幅, 市值, PE, PB, and 换手率 that it can sort/filter by. This is a specific verb+resource combination and distinguishes it from quote/detail tools, though it does not explicitly contrast with sibling stock-list tools like get_hot_stocks.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool instead of alternatives such as get_hot_stocks or get_stock_quote. No prerequisites, exclusions, or typical scenarios are mentioned, so an agent must infer usage from the schema and name alone.

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

search_users搜索用户A
Read-onlyIdempotent

搜索雪球用户。可按关键词搜索大V,获取用户ID、昵称、粉丝数等信息。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo页码,默认1
countNo每页数量,默认10,最大50
queryYes搜索关键词,如用户名或昵称

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
usersYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful behavioral context by stating what information is returned (user ID, nickname, fan count), which goes beyond the schema. It does not introduce any contradictions and appropriately supplements the annotations.

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

Conciseness5/5

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

The description is two concise sentences that front-load the purpose ('搜索雪球用户') and immediately follow with the key capability (keyword search, returned fields). There is no redundancy or unnecessary detail, making it efficient and easy to parse.

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

Completeness4/5

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

The description is adequate for a simple read-only search tool. It explains the core action and what data is returned. Pagination parameters are documented in the schema, and the output schema exists to define return structure. The absence of explicit usage guidelines is a minor gap but does not undermine completeness given the tool's simplicity.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters (query, page, count) are already documented with descriptions. The description adds minimal parameter semantics—only that the keyword is for searching, which is already in the schema. It does not elaborate on pagination behavior or formatting, but the schema handles that.

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 a specific verb and resource: '搜索雪球用户' (search Xueqiu users). It specifies that it searches by keyword for big V users and returns user ID, nickname, fan count, etc. This distinguishes it from sibling tools like get_user_profile (which retrieves a specific user's profile) or get_my_following (which lists followed users).

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

Usage Guidelines3/5

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

The description implies the tool is for searching users when the exact user is unknown, but it does not explicitly state when to use this tool versus alternatives like get_user_profile or get_current_user. There is no mention of exclusions or conditions, leaving the agent to infer usage from context.

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. 32 tool updatesv2.0.0
    • First observedadd_watchlist_cube
    • First observedadd_watchlist_fund
    • First observedadd_watchlist_stock
    • First observedget_batch_quotes
    • First observedget_company_profile
    • First observedget_cube_holdings
    • First observedget_cube_rebalancing
    • First observedget_current_user
    • First observedget_hot_posts
    • First observedget_hot_stocks
    • First observedget_industry_list
    • First observedget_my_following
    • First observedget_news_feed
    • First observedget_post_comments
    • First observedget_post_detail
    • First observedget_stock_dividend
    • First observedget_stock_industry
    • First observedget_stock_kol
    • First observedget_stock_quote
    • First observedget_user_articles
    • First observedget_user_cubes
    • First observedget_user_posts
    • First observedget_user_profile
    • First observedget_user_watchlists
    • First observedget_watchlist_funds
    • First observedget_watchlist_stocks
    • First observedget_watchlists
    • First observedremove_watchlist_cube
    • First observedremove_watchlist_fund
    • First observedremove_watchlist_stock
    • First observedscreen_stocks
    • First observedsearch_users

TDQS

A3.5/5.0

Scored across 32 tools

Disambiguation3/5

Most tools map to distinct resource/action pairs, but several are easy to confuse: get_watchlists vs get_user_watchlists overlap for the current user, and get_stock_quote vs get_batch_quotes are the same quote concept with different cardinality. Descriptions help, but the boundaries are not always obvious.

Naming Consistency4/5

The dominant verb_noun pattern is consistent, with get_, add_, and remove_ prefixes across resources. Minor deviations like get_my_following, screen_stocks, and get_stock_kol break the pattern slightly but do not create real confusion.

Tool Count2/5

32 tools is a heavy surface for an MCP server, even though Xueqiu covers multiple subdomains. Several tools could be consolidated, such as single vs batch quotes and the overlapping watchlist listing tools, making the count feel excessive for agent selection.

Completeness3/5

The set covers user/social, quotes, screening, watchlist add/remove, and cube data well. However, there are notable gaps: there is no get_watchlist_cubes to list followed cubes despite add/remove cube tools, and no fund quote/detail tools to support fund watchlist entries.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A server based on Model Context Protocol that enables AI assistants to query and search for stock information using the Tushare API.
    48
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    A MCP service based on the Xueqiu (Chinese stock market) API that enables users to query stock data directly through Claude or other AI assistants.
    45
    115
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol server that integrates Futu OpenAPI, enabling AI models to query real-time market data and execute trades across Hong Kong, US, and A-share markets.
    53 PyPI
    80
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that gives AI assistants direct, structured access to China A-share market data.
    3
    Apache 2.0