Skip to main content
Glama
RedSamerai

a-stock-mcp

by RedSamerai

A股量化MCP Server

基于 FastMCP + akshare 的 A 股金融数据 MCP 服务器,提供选股筛选、北向资金追踪、龙虎榜分析和融资融券查询。

功能

工具

说明

a_stock_screener

A股多条件选股:行业/PE/涨跌幅/涨停跌停筛选

scan_limit_up_stocks

扫描今日涨停股列表

scan_limit_down_stocks

扫描今日跌停股列表

north_flow_tracker

北向资金净流入趋势 + 今日汇总

dragon_tiger_analyzer

龙虎榜上榜个股明细(按日期/原因/净买额)

margin_analysis

融资融券:市场汇总或单只个股两融余额

sector_analyzer

行业板块涨跌幅排序

sector_flow_tracker

板块历史走势追踪

technical_indicator

MACD/KDJ/RSI技术指标分析

ipo_analyzer

新股申购信息查询

limit_stats

涨跌停统计汇总

所有数据来自 akshare(东方财富/新浪财经公开接口),仅供参考,不构成投资建议。

Related MCP server: A-Share MCP Server

安装

pip install a-stock-mcp

使用

在 OpenCode 中使用

在 opencode.json 中配置:

{
  "mcpServers": {
    "a-stock-mcp": {
      "command": "python",
      "args": ["-m", "src.server"]
    }
  }
}

在 Hermes 中使用

在 config.yaml 中配置:

mcp_servers:
  a-stock-mcp:
    command: python
    args:
      - -m
      - src.server
    cwd: /path/to/a-stock-mcp
    enabled: true

开发

# 克隆仓库
git clone https://github.com/RedSamerai/a-stock-mcp.git
cd a-stock-mcp

# 安装依赖
pip install -e ".[dev]"

# 运行测试
pytest tests/ -v

项目结构

a-stock-mcp/
├── src/
│   ├── server.py          # MCP服务器入口
│   ├── data/
│   │   └── akshare_client.py  # 数据接口封装
│   └── tools/
│       ├── screener.py     # 选股工具
│       ├── north_flow.py   # 北向资金
│       ├── dragon_tiger.py # 龙虎榜
│       ├── margin.py       # 融资融券
│       ├── sector.py       # 板块分析
│       ├── technical.py    # 技术指标
│       ├── ipo.py          # 新股信息
│       └── stats.py        # 涨跌统计
├── tests/                  # 单元测试
└── pyproject.toml          # 项目配置

License

MIT License

Available Tools

11 tools
a_stock_screenerA Stock ScreenerB

A股选股筛选器,支持多条件组合筛选。

ParametersJSON Schema
NameRequiredDescriptionDefault
top_nNo返回结果条数上限,默认 50。
pe_maxNo最大市盈率(动态),过滤 PE > pe_max 的标的。
industryNo行业名称关键词(模糊匹配),如 "银行"、"医药"。
limit_upNo是否只返回涨停股(涨跌幅 >= 9.9%)。
limit_downNo是否只返回跌停股(涨跌幅 <= -9.9%)。
change_pct_maxNo涨跌幅上限(%)。
change_pct_minNo涨跌幅下限(%)。
market_cap_minNo最小流通市值(亿元),仅当行情数据含流通市值列时生效。
volume_ratio_minNo最小量比,过滤量比 < volume_ratio_min 的标的。

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that this is a screener with combined conditions but does not reveal whether filters are combined with AND/OR semantics, how results are ordered, whether data is real-time, or any other behavior that would help an agent anticipate side effects or output characteristics.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler or redundancy. It is concise and easy to parse, though it would benefit from a bit more substantive detail about filtering behavior.

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

Completeness3/5

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

Given the 9 optional parameters and the existence of specialized sibling tools, the description is minimally adequate but leaves important context unstated, such as how conditions combine and how this tool relates to scan_limit_up_stocks and scan_limit_down_stocks. The rich parameter schema and presence of an output schema reduce the burden, but the high-level usage context is still incomplete.

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

Parameters3/5

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

Schema description coverage is 100%, so each of the 9 optional parameters already has meaningful documentation including defaults, types, and filter semantics. The description itself adds no parameter-specific 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.

Purpose4/5

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

The description clearly identifies the tool as an A-share stock screener and mentions its core capability of multi-condition combination filtering. It is specific enough to distinguish it from single-purpose tools like limit-up or limit-down scanners, though it does not explicitly differentiate it from siblings.

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

Usage Guidelines3/5

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

The phrase 'supports multi-condition combined filtering' implies the tool should be used when multiple screening criteria are needed. However, it gives no explicit guidance about when not to use it or when to prefer specialized siblings such as scan_limit_up_stocks or scan_limit_down_stocks.

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

dragon_tiger_analyzerDragon Tiger AnalyzerC

龙虎榜分析:查询指定日期的上榜个股明细。

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo日期,格式 YYYYMMDD,如 "20260907"。不传则默认当天。
top_nNo返回条数上限,默认 30。按净买额降序排列。
reasonNo上榜原因关键词(模糊匹配),如 "跌停"、"涨幅偏离"。
min_net_buyNo最小净买额(元),负值表示允许净卖出。

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only indicates a read-style query and does not mention data source, trading-day availability, result limits, ordering, or any other behavior beyond the schema. There is no contradiction with annotations, but disclosure is minimal.

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

Conciseness4/5

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

The description is one compact sentence with no filler and the main query scope is front-loaded. It is concise and readable, though it could have included a brief usage note without becoming bloated.

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

Completeness3/5

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

For a read-only query tool with a fully documented parameter schema and an output schema, the description covers the core function. However, it omits domain context that would help an agent distinguish the Dragon-Tiger list from sibling limit-up/down scanners, and it does not mention data source or availability nuances.

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 does not add any meaning beyond the schema for date, top_n, reason, or min_net_buy; all parameter semantics are already present in the structured schema.

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

Purpose4/5

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

The description states a specific verb (查询/query) and resource (指定日期的上榜个股明细, details of stocks that made the Dragon-Tiger list on a date), making the core function clear. It does not explicitly contrast with sibling scanners like scan_limit_up_stocks or scan_limit_down_stocks, so it lacks the differentiation needed for a 5.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus the ten sibling analysis tools, nor any mention of prerequisites, exclusions, or alternative tools. The agent must infer appropriate usage entirely from the name and domain context.

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

ipo_analyzerIpo AnalyzerA

新股申购分析:当前可申购新股列表。

Returns

dict { "count": int, "list": [{"symbol", "name", "subscribe_code", "issue_price", "subscribe_date", "exchange", "board"}, ...], "error": str | None, }

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. It discloses the return structure including the error field, which is helpful, but it does not state whether the operation is read-only, whether any authentication is needed, or how current the 'current' list is. For a read-only list tool this is acceptable but not richly transparent.

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

Conciseness5/5

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

The description is compact and front-loaded with the core purpose, followed by a clear structured return format. Every line earns its place, and the format is scannable for an agent deciding whether to call the tool.

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

Completeness5/5

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

Given the tool's low complexity, zero parameters, and a provided output schema, the description is complete enough for correct invocation. It specifies the output shape, key fields, and error slot, which covers what an agent needs to interpret the result.

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

Parameters4/5

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

The tool has zero parameters and the input schema is already fully self-describing with no properties, so there is little parameter burden on the description. The description adds value by enumerating the return fields, which is the closest analog to parameter/documentation semantics here.

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

Purpose5/5

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

The description clearly states both the domain ('新股申购分析') and the concrete deliverable ('当前可申购新股列表'), making it evident that the tool returns currently subscribable IPO stocks. This distinguishes it from siblings like north_flow_tracker or scan_limit_up_stocks, which cover different market signals.

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 usage context: call when you need the current list of IPO subscriptions. However, it provides no explicit guidance about when not to use this tool or how it compares to alternatives among the sibling tools, so the routing is left somewhat to inference.

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

limit_statsLimit StatsA

涨跌停统计:当日涨停/跌停股数量及幅度范围。

Returns

dict { "limit_up_count": int, "limit_up_min_pct": float, "limit_up_max_pct": float, "limit_down_count": int, "limit_down_min_pct": float, "limit_down_max_pct": float, "total_traded": int, "error": str | None, }

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It implies a read-only statistical lookup and includes an error field in the return dictionary, which signals possible failure handling. However, it does not state data freshness, source assumptions, or whether any market data preprocessing is required.

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

Conciseness5/5

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

The summary line is short, front-loaded, and specifies exactly what the tool returns. The subsequent return schema is compact and directly useful, with no filler or redundant prose.

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

Completeness4/5

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

For a zero-parameter aggregate statistics tool, the description plus return schema covers what the agent will receive. It is slightly incomplete because it does not explicitly route users to sibling tools or clarify the data window beyond '当日', but overall the necessary information for calling this tool is present.

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

Parameters4/5

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

The tool has zero parameters and the input schema is empty, so there is nothing for the description to clarify about inputs. The baseline for zero-parameter tools applies, and the description appropriately focuses on the output.

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 resource: daily limit-up/limit-down stock counts and percentage ranges. It is clear that this is an aggregate statistics tool, and its scope is implicitly distinct from sibling scanning tools, but it never explicitly contrasts itself with them.

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

Usage Guidelines2/5

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

The description does not say when to use limit_stats versus scan_limit_up_stocks, scan_limit_down_stocks, or the other sibling tools. An agent can infer the intended use from the word '统计', but there is no explicit guidance about when this aggregate tool should be chosen instead of a detailed scanner.

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

margin_analysisMargin AnalysisA

融资融券分析:市场汇总或个股明细。

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNo股票代码(6位),如 "600519"。不传则返回全市场汇总。
periodNo时间粒度,"monthly"(月度)或 "daily"(每日)。 目前统一返回近30个交易日数据。monthly

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are present, so the description must carry the full behavioral burden. It only says 'analysis' and indicates the output scope; it does not state read-only behavior, data coverage, how period actually behaves, or any other operational constraints. The word '分析' weakly implies a non-mutating lookup, but that is not sufficient disclosure.

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

Conciseness5/5

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

A single, well-structured sentence front-loads the tool domain and then states the two output scopes. There is no redundant wording, and every part contributes to understanding the tool.

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

Completeness3/5

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

The tool is simple, has an output schema, and the schema covers parameter semantics, so a long description is not necessary. Yet without annotations and with only a one-line description, the definition lacks behavioral context and alternative-selection guidance, making it minimally complete rather than fully self-sufficient.

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

Parameters3/5

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

The input schema already documents both parameters with defaults, null handling, allowed values, and the 30-trading-day caveat, giving 100% schema description coverage. The description adds only the high-level market-vs-individual distinction that maps to the code parameter, so it provides no significant extra parameter meaning. Baseline 3 is appropriate.

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

Purpose5/5

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

The description names the exact domain (融资融券/margin trading) and the action (analysis), and explicitly scopes output to either market summary or individual stock detail. This clearly differentiates it from the sibling tools such as sector_analyzer or north_flow_tracker, which cover different resources.

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 two usage modes are clearly conveyed—market summary vs. individual stock detail—and the schema reinforces that omitting code returns the market-level result. However, there is no explicit guidance about when to select this tool over alternatives or when not to use it, so the choice is only implied by the domain.

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

north_flow_trackerNorth Flow TrackerB

北向资金追踪:近期净流入趋势 + 持股 Top N。

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo回溯天数,默认 5。用于拉取历史净流入数据。
top_nNo持股Top列表返回条数,默认 10。

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals the general outputs (inflow trend and top holdings) but omits data source, read-only behavior, freshness, pagination, authentication needs, or any side effects. There is no contradiction with annotations, but the behavior is only minimally described.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no filler: it names the domain and the two main output facets compactly. It is appropriately short but slightly too terse to carry routing or behavioral context.

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

Completeness3/5

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

For a simple read-only tool with two optional, self-documenting parameters and an output schema, the description covers the core output expectations. However, with no annotations and several sibling flow/analysis tools, it leaves tool-selection guidance and behavioral caveats unaddressed, making it merely adequate rather than 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% and both parameters already have clear defaults and Chinese descriptions, so the description adds little beyond the schema. It loosely maps days to the historical trend and top_n to the holdings list, but does not provide new parameter-level meaning.

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

Purpose4/5

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

The description states a clear action and resource: '北向资金追踪' (northbound capital tracking), and it lists two concrete outputs: recent net inflow trend and top N holdings. This is more specific than a tautology, though it does not explicitly differentiate itself from the similarly named sibling sector_flow_tracker.

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 phrase '北向资金追踪' implies the tool should be used when monitoring northbound capital flows, but the description gives no explicit when-to-use or when-not-to-use guidance and names no alternatives such as sector_flow_tracker or margin_analysis. The usage context is only implied, not stated.

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

scan_limit_down_stocksScan Limit Down StocksA

扫描今日跌停股列表(涨跌幅 <= -9.9%)。

Returns

dict {"count": int, "results": [...], "error": str | None}

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It states the operation is a read-only 'scan', defines the filtering rule, and explicitly gives the return shape as a dict with count, results, and error. It does not describe edge cases or pagination, but for a zero-parameter scanner this is reasonably transparent.

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

Conciseness5/5

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

The description is compact and front-loaded: the core action and threshold appear first, and the return structure is clearly listed. No redundant filler or unnecessary detail is present.

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 parameterless tool with a simple list-return contract, the description is complete. It tells the agent what will be scanned, the exact threshold, and what the response will look like. There is no additional setup, permission, or prerequisite information an agent would need before invoking it.

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

Parameters4/5

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

There are zero parameters, so the baseline is 4. The description correctly imposes no parameter expectations and the empty schema is self-explanatory; no additional parameter semantics are 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 uses a specific verb ('scan') tied to a precise resource ('today's limit-down stock list') and defines the threshold (price change <= -9.9%). This clearly distinguishes it from sibling tools like scan_limit_up_stocks, which scans in the opposite direction.

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: agents needing today's limit-down stocks should call this tool. However, the description does not explicitly mention when to prefer it over alternatives such as a_stock_screener or limit_stats, nor does it state when not to use it.

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

scan_limit_up_stocksScan Limit Up StocksA

扫描今日涨停股列表(涨跌幅 >= 9.9%)。

Returns

dict {"count": int, "results": [...], "error": str | None}

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

There are no annotations, so the description carries the behavioral disclosure burden. It usefully discloses the return envelope (count, results, error), but it does not mention data freshness, pagination, rate limits, or any other behavioral edge cases beyond an error field.

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

Conciseness5/5

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

The description is compact and well-structured: it front-loads the core purpose and threshold, then gives the return contract in a clear block. No words are wasted.

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

Completeness4/5

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

For a zero-parameter scanning tool, the description is nearly complete: it states what is scanned, the threshold, and the return shape. It could be slightly stronger by clarifying what 'today' means in trading-day terms or by pointing to the opposite sibling, but those are minor gaps.

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

Parameters4/5

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

The input schema has zero parameters, so the 0-parameter baseline of 4 applies. There is no parameter ambiguity; the threshold detail in the description describes the result filter rather than call arguments.

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 (scan), the resource (today's limit-up stock list), and the exact threshold (涨跌幅 >= 9.9%). This makes it easy to distinguish from siblings like scan_limit_down_stocks.

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

Usage Guidelines3/5

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

The description implies when to use it: when you need today's stocks with gains of at least 9.9%. However, it does not explicitly say when not to use it or name an alternative tool, so the routing guidance is left mostly to inference.

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

sector_analyzerSector AnalyzerB

行业板块涨跌幅排序。

ParametersJSON Schema
NameRequiredDescriptionDefault
top_nNo返回条数上限,默认 20。按涨跌幅降序排列。
min_change_pctNo最小涨跌幅(%)过滤,低于此值的板块不返回。

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states the sorting action and does not mention data source, market scope, whether negative changes are included, refresh frequency, or any operational constraints. The agent knows what the tool does but not how it behaves in practice.

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 with no wasted words. It front-loads the primary purpose (industry sector price-change ranking) and is appropriately sized for the tool's low complexity.

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

Completeness3/5

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

The tool is relatively simple, and the output schema (present) plus rich parameter schemas already cover return values and parameter usage. However, the description lacks usage context, such as when to select this over sector_flow_tracker, and does not clarify whether '涨跌幅' refers to daily, weekly, or another period. This leaves some ambiguity but is not critically 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%, and both parameters (top_n, min_change_pct) have clear descriptions covering default values and filtering behavior. The description itself adds no parameter information, but the schema already documents semantics adequately, so the baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool performs ranking of industry sectors by price change percentage ('行业板块涨跌幅排序'). This is a specific verb/resource combination that conveys the core function, though it does not explicitly differentiate itself from the similar sibling tool sector_flow_tracker (which tracks capital flows, not price performance).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. Sibling tools such as sector_flow_tracker or a_stock_screener could be confused with this one, but no usage context, exclusions, or recommended conditions are given. The agent must infer when to invoke this tool.

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

sector_flow_trackerSector Flow TrackerC

行业板块历史走势追踪。

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo回溯交易日数,默认 5。
sectorYes板块名称,如 "银行"、"半导体"、"新能源"、"医药"。

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior1/5

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

Annotations are absent, so the description must disclose behavioral traits, but it only restates the basic purpose. It does not mention whether the tool is read-only, what kind of output is produced, how historical data is sourced or limited, or any other operational behavior. This leaves the agent with no information beyond the tool's name.

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

Conciseness4/5

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

The description is a single short sentence with no filler or redundancy. It front-loads the core purpose without wasted words. It is concise rather than under-specified to the point of being a tautology, though it sacrifices depth for brevity.

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

Completeness3/5

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

The input schema covers both parameters and an output schema exists, so return-value documentation is not required. For a simple two-parameter tool, this is mostly adequate. However, the lack of usage guidance and behavioral disclosure means an agent cannot fully judge when to choose this tool over sector_analyzer or north_flow_tracker.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters already documented: 'sector' is explained with examples and 'days' has a default value. The description itself adds no parameter-level meaning beyond the schema, so the baseline score of 3 applies.

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

Purpose4/5

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

The description '行业板块历史走势追踪' clearly identifies the resource (industry sectors) and the operation (tracking historical trends). It clarifies that 'flow' here means price/trend movement rather than capital flow, which distinguishes it from tools like north_flow_tracker. However, it does not explicitly differentiate from sector_analyzer, so it stops short of full clarity.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as sector_analyzer or north_flow_tracker. The agent is left to infer use cases from the name alone. No exclusions, prerequisites, or sibling comparisons are given.

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

technical_indicatorTechnical IndicatorC

技术指标分析:MACD / KDJ / RSI。

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes股票代码,6位数字,如 "600519"。

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It only lists the supported indicators and does not explain whether the analysis is real-time, historical, or based on default periods, nor what the output represents.

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

Conciseness5/5

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

The description is a single compact sentence with no filler words. The indicator list is immediately front-loaded, making the tool's purpose easy to grasp at a glance.

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

Completeness2/5

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

With no annotations, no usage guidance, and only a one-line description, the tool is minimally adequate but incomplete. An agent still must infer when to select this tool among many analyzers and what kind of technical indicator output to expect.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema already documents the single 'symbol' parameter as a 6-digit stock code. The description adds no parameter-level detail, but the baseline of 3 applies because the schema handles parameter semantics fully.

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

Purpose4/5

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

The description clearly identifies the tool's scope by naming the specific indicators MACD, KDJ, and RSI, which help distinguish it from sibling tools like sector_analyzer or margin_analysis. It lacks an explicit action verb such as 'calculates' or 'returns', but the resource is unambiguous.

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

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 siblings like a_stock_screener or dragon_tiger_analyzer. The description implies technical-indicator use but gives no exclusions, alternatives, or selection criteria.

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. 11 tool updatesv0.1.1
    • First observeda_stock_screener
    • First observeddragon_tiger_analyzer
    • First observedipo_analyzer
    • First observedlimit_stats
    • First observedmargin_analysis
    • First observednorth_flow_tracker
    • First observedscan_limit_down_stocks
    • First observedscan_limit_up_stocks
    • First observedsector_analyzer
    • First observedsector_flow_tracker
    • First observedtechnical_indicator

TDQS

B3.4/5.0

Scored across 11 tools

Disambiguation4/5

Most tools target distinct areas: limit-up/down scanners list individual stocks while limit_stats provides aggregate counts, and sector_analyzer vs sector_flow_tracker differ in current ranking vs historical trends. The only mild ambiguity is between scan_limit_up_stocks and limit_stats, but their outputs are clearly different.

Naming Consistency3/5

The set mostly follows a noun_suffix pattern (technical_indicator, margin_analysis, sector_analyzer, ipo_analyzer), but scan_limit_up_stocks and scan_limit_down_stocks use a verb-first pattern and a_stock_screener is noun-only without a consistent suffix. This mix is readable but not fully consistent.

Tool Count5/5

With 11 tools, the server covers a broad range of A-share market analysis workflows without feeling bloated. Each tool contributes a distinct analytical capability, and the count is well within the ideal range for a domain-focused server.

Completeness4/5

The tool surface covers major A-share workflows: limit-up/down scanning, capital flows, sector analysis, technical indicators, margin data, dragon-tiger lists, IPO analysis, and a screener. Minor gaps exist such as no direct individual stock quote or historical K-line tool, but the set is reasonably complete for its apparent analytical focus.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables real-time stock market analysis through AKShare API integration. Supports retrieving live stock prices, historical data, technical indicators (MA, MACD, RSI), market sentiment analysis, stock search, and financial news.
    5
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides comprehensive A-share (Chinese stock market) data including stock information, historical prices, financial reports, macroeconomic indicators, technical analysis, and valuation metrics through the free Baostock data source.
    27
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time A-share (Chinese stock market) data through AKShare integration, enabling access to market overviews, company information, real-time quotes, and historical price data for Shanghai and Shenzhen stock exchanges.
    1
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time quotes, fund flows, and corporate announcements for Chinese A-share stocks. It enables users to search for stocks, analyze financial indicators, and summarize quarterly reports through natural language.
    -