XTQuantAI
The XTQuantAI server integrates the xtquant量化交易平台 (quantitative trading platform) with AI capabilities, enabling direct access and manipulation of trading data and functions. With this server, you can:
Data Queries: Get trading dates for specified markets, stock lists for specific sectors, and detailed information on instruments
Market Data: Retrieve historical, latest, and full market data for specified stocks
Visualization: Create chart panels with technical indicators and custom layouts with specific parameters for selected stocks
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@XTQuantAIget the latest market data for 000001.SZ"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
xtquantai — 迅投 QMT 量化 AI 技能集
面向迅投 QMT / 投研终端的 Agent Skills 仓库:把量化策略开发的领域知识(因子回测、信号生成、实盘模板等)封装为标准 SKILL.md 技能,安装后可在 Claude Code、Cursor、Codex、Gemini CLI、Kimi Code 等 70+ AI 编程工具中直接使用。
本仓库曾是 xtquant 的 MCP 服务器实现,现已全面转型为 skill 仓库。旧 MCP 代码保留在
legacy-mcp分支(tagv0.1.0-mcp),不再维护。
技能列表
技能 | 状态 | 说明 |
✅ 可用 | 根据策略描述 / 研报 PDF / 截图解读因子逻辑,基于母版脚本生成 QMT 内置日频截面因子回测策略( | |
| 🚧 规划中 | 期货开平仓策略 |
| 🚧 规划中 | 目标持仓型实盘策略模板 |
| 🚧 规划中 | 信号生成 + 飞书推送 |
Related MCP server: okx-trade-mcp
参与社区
这个项目靠社区需求驱动——你在 QMT 量化中遇到的重复劳动,都可能值得做成一个技能:
💡 想要新技能 → 提交技能需求,一句话的想法也欢迎
🐛 技能出问题 → 反馈 Bug
💬 使用咨询 / 量化思路交流 → Discussions
🔧 自己动手 → 阅读 贡献指南 后提 PR
所有技能在 CI 中自动按 Agent Skills 标准 校验。维护流程公开在 维护手册。
安装
方式一:npx skills(推荐,覆盖 70+ 工具)
# 交互式选择要安装到的工具
npx skills add dfkai/xtquantai
# 只装某个技能
npx skills add dfkai/xtquantai --skill qmt-inner-backtest
# 装到全局目录(所有项目可用)
npx skills add dfkai/xtquantai -g方式二:Claude Code 原生插件
/plugin marketplace add dfkai/xtquantai
/plugin install qmt-skills@xtquantai方式三:Kimi Code CLI
/plugins install https://github.com/dfkai/xtquantai方式四:让你的 Agent 自己装
对任意 AI 编程工具说:
读取 https://raw.githubusercontent.com/dfkai/xtquantai/master/INSTALL.md 并按其中说明安装技能。
方式五:手动复制
把 skills/<技能名>/ 整个文件夹复制到你所用工具的技能目录:
工具 | 项目级目录 | 用户级目录 |
Claude Code |
|
|
Cursor (≥2.4) |
|
|
OpenAI Codex CLI |
|
|
GitHub Copilot |
| — |
Gemini CLI |
| — |
Kimi Code CLI |
| — |
Windsurf |
| — |
OpenCode |
| — |
Cline (≥3.48) |
| — |
字节 Trae | 仅 | — |
Qwen Code | 仅 | — |
iFlow CLI | 仅 | — |
跨工具通用目录是
.agents/skills/;只用 Claude 系工具可以放.claude/skills/。
使用示例
安装 qmt-inner-backtest 后,在你的 AI 工具中直接说:
这份研报(附 PDF/截图)的上下影线因子,帮我生成一个中证1000、Top 10 持仓、5 日调仓的 QMT 回测脚本。
Agent 会先输出策略规格表供你确认,再基于母版生成完整的 QMT 策略编辑器回测脚本,并提示你需要在 QMT 面板中手动核对的配置项。
⚠️ QMT / 投研终端仅支持 Windows,生成的策略脚本需在 Windows 上的 QMT 策略编辑器中运行;skill 本身(生成脚本的过程)不限平台。
仓库结构
xtquantai/
├── skills/ # 技能目录(每个子目录一个 skill)
│ └── qmt-inner-backtest/
│ ├── SKILL.md # 技能定义(agentskills.io 标准格式)
│ └── scripts/
│ └── daily-factors-backtest.py # 回测母版脚本
├── .claude-plugin/
│ └── marketplace.json # Claude Code 插件市场清单
├── .github/ # issue/PR 模板与 CI 校验
├── kimi.plugin.json # Kimi Code 插件清单
├── INSTALL.md # 给 agent 读的安装指令
├── CONTRIBUTING.md # 贡献指南
└── docs/ # 调研文档与维护手册许可证
MIT — 详见 LICENSE。
致谢
Agent Skills 开放技能标准
Available Tools
8 toolscreate_chart_panelC
创建图表面板,显示指定股票的技术指标
| Name | Required | Description | Default |
|---|---|---|---|
| codes | Yes | 股票代码列表,用逗号分隔,例如 000001.SZ,600519.SH | |
| indicators | No | 指标名称,例如 ma, macd, kdj 等 | ma |
| params | No | 指标参数,用逗号分隔,例如 5,10,20 | 5,10,20 |
| period | No | 周期,例如 1d, 1m, 5m 等 | 1d |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool creates a chart panel but doesn't describe what 'create' means operationally (e.g., does it return a chart object, save to a dashboard, generate an image?), what permissions might be needed, whether it's idempotent, or any rate limits. For a creation tool with zero annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that directly states the tool's purpose without unnecessary words. It's appropriately sized for a tool with clear parameters documented elsewhere, and every element ('创建图表面板', '显示', '指定股票', '技术指标') contributes essential information about the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool creates something (implied mutation) with 4 parameters and no annotations or output schema, the description is insufficient. It doesn't explain what 'create' results in (e.g., a chart ID, image data, dashboard update), doesn't cover error conditions or dependencies, and provides minimal behavioral context. For a creation tool with moderate complexity, this leaves the agent with significant unknowns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions '指定股票' (specified stocks) and '技术指标' (technical indicators), which aligns with the 'codes' and 'indicators' parameters. However, with 100% schema description coverage, all parameters are already documented in the schema with examples and defaults. The description adds minimal semantic context beyond what the schema provides, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('创建图表面板' - create chart panel) and the target resource ('显示指定股票的技术指标' - display technical indicators for specified stocks). It specifies the type of visualization (chart panel) and the data domain (stock technical indicators). However, it doesn't explicitly differentiate from sibling tools like 'create_custom_layout' or 'get_history_market_data' which might also involve data visualization or stock data retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, when this tool is appropriate versus other visualization or data retrieval tools in the sibling list, or any exclusions. The agent must infer usage from the purpose alone without explicit contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_custom_layoutC
创建自定义布局,可以指定指标名称、参数名和参数值
| Name | Required | Description | Default |
|---|---|---|---|
| codes | Yes | 股票代码列表,用逗号分隔,例如 000001.SZ,600519.SH | |
| indicator_name | No | 指标名称,例如 ma, macd, kdj 等 | ma |
| param_names | No | 参数名称,用逗号分隔,例如 n1,n2,n3 或 short,long,mid | n1,n2,n3 |
| param_values | No | 参数值,用逗号分隔,例如 5,10,20 | 5,10,20 |
| period | No | 周期,例如 1d, 1m, 5m 等 | 1d |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While '创建' (create) implies a write operation, the description doesn't specify whether this creates a persistent layout, whether it requires specific permissions, what happens if the layout already exists, or what the expected output format is. For a creation tool with zero annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient Chinese sentence that directly states the tool's purpose without unnecessary elaboration. Every word contributes to understanding what the tool does. It's appropriately sized for a tool with comprehensive parameter documentation in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with 5 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what a 'custom layout' actually is in this context, what format it creates, whether it's persistent, or what happens after creation. The agent must rely entirely on the parameter schema without understanding the broader behavioral context of layout creation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so all parameters are well-documented in the schema itself. The description mentions '可以指定指标名称、参数名和参数值' (can specify indicator name, parameter names, and parameter values), which maps to three of the five parameters but doesn't add meaningful semantic context beyond what the schema already provides. The baseline of 3 is appropriate given the comprehensive schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('创建自定义布局' - create custom layout) and the resources involved (specifying indicator names, parameter names, and parameter values). It distinguishes from siblings like 'create_chart_panel' by focusing on layout creation rather than chart panel creation. However, it doesn't explicitly differentiate from other potential layout tools that might exist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, when this tool is appropriate versus other tools like 'create_chart_panel', or any context about what constitutes a 'custom layout' in this system. The agent must infer usage from the parameter descriptions alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_full_market_dataC
获取历史+最新行情数据
| Name | Required | Description | Default |
|---|---|---|---|
| codes | Yes | 股票代码列表,用逗号分隔,例如 "000001.SZ,600519.SH" | |
| end_date | No | 结束日期,格式为 "YYYYMMDD",为空表示当前日期 | |
| fields | No | 字段列表,用逗号分隔,为空表示所有字段 | |
| period | No | 周期,例如 "1d", "1m", "5m" 等 | 1d |
| start_date | No | 开始日期,格式为 "YYYYMMDD" |
TDQS
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 what data is retrieved without mentioning permissions, rate limits, data freshness, error handling, or output format. For a data-fetching tool with zero annotation coverage, this is a significant gap in behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient phrase ('获取历史+最新行情数据') with zero waste. It is appropriately sized and front-loaded, though its brevity contributes to gaps in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no output schema, no annotations), the description is incomplete. It lacks details on output format, error conditions, and behavioral traits, making it inadequate for an agent to fully understand how to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description adds no parameter-specific information beyond what's in the schema, such as explaining interactions between 'start_date' and 'end_date' or clarifying 'period' options. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as '获取历史+最新行情数据' (get historical + latest market data), which is a specific verb+resource combination. It distinguishes from siblings like 'get_history_market_data' (historical only) and 'get_latest_market_data' (latest only) by combining both, though it doesn't explicitly name these alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_history_market_data' or 'get_latest_market_data'. It lacks context about use cases, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_history_market_dataC
获取历史行情数据
| Name | Required | Description | Default |
|---|---|---|---|
| codes | Yes | 股票代码列表,用逗号分隔,例如 "000001.SZ,600519.SH" | |
| end_date | No | 结束日期,格式为 "YYYYMMDD",为空表示当前日期 | |
| fields | No | 字段列表,用逗号分隔,为空表示所有字段 | |
| period | No | 周期,例如 "1d", "1m", "5m" 等 | 1d |
| start_date | No | 开始日期,格式为 "YYYYMMDD" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('获取' - get) but doesn't reveal any behavioral traits like whether this is a read-only operation, potential rate limits, authentication needs, or what the output format might be. This is a significant gap for a tool with 5 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single phrase ('获取历史行情数据'), which is highly concise and front-loaded with the core purpose. There is no wasted text, making it efficient, though it could benefit from slightly more detail to enhance clarity without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a 5-parameter tool with no annotations and no output schema, the description is incomplete. It doesn't address key contextual aspects like the return format, error handling, or how it integrates with sibling tools. This leaves gaps that could hinder an AI agent's ability to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with all parameters well-documented in the input schema (e.g., 'codes' as stock codes, 'period' as time intervals). The description adds no additional meaning beyond what the schema provides, such as explaining parameter interactions or default behaviors. Given the high schema coverage, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '获取历史行情数据' (Get historical market data) states a clear verb ('获取' - get) and resource ('历史行情数据' - historical market data), establishing the basic purpose. However, it lacks specificity about what type of market data (e.g., stocks, indices) and doesn't differentiate from sibling tools like 'get_full_market_data' or 'get_latest_market_data', making it somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are no explicit instructions, implied contexts, or exclusions mentioned, such as how it differs from 'get_latest_market_data' for real-time data or 'get_full_market_data' for broader data. This leaves the agent without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_instrument_detailC
获取指定股票的详细信息
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | 股票代码,例如 000001.SZ | |
| iscomplete | No | 是否获取全部字段,默认为False |
TDQS
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. The description only states what the tool does ('获取指定股票的详细信息'), but doesn't disclose any behavioral traits such as whether it's a read-only operation, potential rate limits, authentication requirements, error handling, or what '详细信息' (detailed information) specifically includes. For a tool with no annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise ('获取指定股票的详细信息') - a single sentence that directly states the tool's purpose without any fluff. It's front-loaded and every word earns its place, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what '详细信息' (detailed information) includes, how the data is returned, or any behavioral aspects. For a tool that presumably returns complex stock data, the description should provide more context about the nature and scope of the information retrieved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter semantics beyond what the input schema provides. The schema has 100% description coverage, with clear documentation for both parameters ('code' and 'iscomplete'), including examples and defaults. Since schema coverage is high (>80%), the baseline score is 3, as the description doesn't need to compensate but also adds no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '获取指定股票的详细信息' (Get detailed information for a specified stock). It uses a specific verb ('获取' - get) and resource ('股票详细信息' - stock detailed information). However, it doesn't differentiate from sibling tools like get_history_market_data or get_latest_market_data, which also retrieve stock-related data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like get_history_market_data or get_latest_market_data, nor does it explain what makes this tool unique (e.g., comprehensive vs. historical vs. real-time data). The only implied usage is when detailed stock information is needed, but this is too vague for effective tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_market_dataC
获取最新行情数据
| Name | Required | Description | Default |
|---|---|---|---|
| codes | Yes | 股票代码列表,用逗号分隔,例如 "000001.SZ,600519.SH" | |
| period | No | 周期,例如 "1d", "1m", "5m" 等 | 1d |
TDQS
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 the action ('get latest market data') without detailing traits like data freshness, rate limits, authentication needs, error handling, or response format. For a tool that likely involves external data fetching, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient phrase in Chinese ('获取最新行情数据') that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with zero waste, making it highly concise and well-structured for its minimal content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (fetching market data with parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects, output format, or usage context, leaving gaps that could hinder an AI agent's ability to invoke it correctly without additional assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter semantics beyond what the input schema provides. Schema description coverage is 100%, with clear documentation for 'codes' and 'period', including examples. The description doesn't explain how parameters interact (e.g., how 'period' affects 'latest') or provide additional context, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '获取最新行情数据' (Get latest market data) states the basic purpose but is vague about scope and differentiation. It doesn't specify what 'latest' means (real-time, end-of-day, etc.) or how it differs from sibling tools like 'get_history_market_data' or 'get_full_market_data'. The verb+resource is present but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, timing considerations (e.g., real-time vs. delayed data), or comparisons to siblings like 'get_history_market_data' for historical data or 'get_full_market_data' for comprehensive datasets. Usage is implied but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stock_listC
获取指定板块的股票列表
| Name | Required | Description | Default |
|---|---|---|---|
| sector | No | 板块名称,例如 沪深A股 | 沪深A股 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It doesn't describe whether this is a read-only operation, what permissions might be required, whether there are rate limits, pagination behavior, or what format the returned list takes. The description only states what the tool does, not how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single Chinese sentence that directly states the tool's function. There's zero wasted language, no redundancy, and it's front-loaded with the core purpose. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what the returned stock list contains (just symbols? full details?), how results are formatted, whether there are limitations on sector values, or error conditions. Given the lack of structured metadata, the description should provide more operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter semantics beyond what's already in the schema, which has 100% coverage. The schema fully documents the single 'sector' parameter with description, type, and default value. The description doesn't provide additional context about sector options, validation rules, or examples beyond the schema's '例如 沪深A股' example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as '获取指定板块的股票列表' (get stock list for specified sector), which is a specific verb+resource combination. It distinguishes itself from siblings like get_history_market_data or get_latest_market_data by focusing on sector-based listing rather than time-based or detailed market data. However, it doesn't explicitly differentiate from get_full_market_data, which might also return lists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, when-not-to-use scenarios, or compare with sibling tools like get_full_market_data (which might return broader market data) or get_instrument_detail (which provides detailed information on individual instruments). The user must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trading_datesC
获取指定市场的交易日期列表
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | 市场代码,例如 SH 表示上海市场 | SH |
TDQS
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 states what the tool does but lacks details on behavioral traits: it doesn't specify if this is a read-only operation, potential rate limits, authentication needs, error handling, or the format of the returned date list. For a tool with no annotation coverage, this leaves significant gaps in understanding how the tool behaves beyond its basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that directly states the tool's purpose without any unnecessary words or fluff. It is appropriately sized and front-loaded, making it easy to parse quickly. Every part of the sentence contributes to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description is minimal but adequate for basic understanding. However, it lacks completeness for effective use: it doesn't explain the return format (e.g., list structure, date format), potential errors, or how it differs from sibling tools. With no annotations or output schema, the description should provide more context to compensate, but it falls short.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description implies a parameter for specifying the market ('指定市场的' - for the specified market), which aligns with the single parameter 'market' in the input schema. Schema description coverage is 100%, with the schema providing details like the default value 'SH' and an example. The description adds minimal semantic value beyond what the schema already documents, meeting the baseline score for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '获取指定市场的交易日期列表' translates to 'Get the trading date list for the specified market.' It uses a specific verb ('获取' - get) and resource ('交易日期列表' - trading date list). However, it doesn't explicitly differentiate from sibling tools like 'get_history_market_data' or 'get_latest_market_data', which might also involve date-related data but focus on market data rather than date lists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, exclusions, or comparisons to sibling tools such as 'get_history_market_data' or 'get_full_market_data', which could potentially overlap in date-related contexts. The agent must infer usage based solely on the tool name and description without explicit direction.
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. Dates show when Glama detected each change.
8 tool updates
v1.0.0- First observed
create_chart_panel - First observed
create_custom_layout - First observed
get_full_market_data - First observed
get_history_market_data - First observed
get_instrument_detail - First observed
get_latest_market_data - First observed
get_stock_list - First observed
get_trading_dates
TDQS
Most tools have distinct purposes, but there is notable overlap between get_full_market_data, get_history_market_data, and get_latest_market_data, which could cause confusion about which to use for specific data needs. The other tools target different resources like layouts, stock details, lists, and dates, making them clearer.
All tool names follow a consistent verb_noun pattern using snake_case, such as create_chart_panel, get_full_market_data, and get_instrument_detail. This predictability makes the tool set easy to navigate and understand.
With 8 tools, the count is well-scoped for a financial/quantitative AI server focused on market data, stock analysis, and visualization. Each tool appears to serve a specific function without being excessive or too sparse.
The tool set covers data retrieval, stock analysis, and visualization well, but there are gaps in operations like updating or deleting created layouts/panels, and no tools for executing trades or managing portfolios, which might be expected in a quantitative AI context. This could limit agent workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server giving AI agents one-connection access to China A-share market intelligence: financials,
Research-only MCP server: turn your AI into a quant research desk — backtests, no trades.
MCP server for Mudrex futures trading enabling AI agents to securely access data and risk tools.
Trade 16 crypto exchanges + MetaTrader 5 from your AI assistant via one MCP connection.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server for the Microsoft Qlib quantitative research platform that enables AI agents to perform financial data queries, factor analysis, and strategy backtesting. It supports A-share and US stock markets through Qlib expressions and built-in analytical tools.3MIT

okx-trade-mcpofficial
AlicenseNot gradedqualityBmaintenanceMCP server connecting AI assistants to OKX exchange, enabling trading, market data, account management, and more via 150+ tools across 11 modules.420MIT
webull-openapi-mcpofficial
AlicenseNot gradedqualityFmaintenanceAn MCP server that enables AI assistants to securely access Webull trading and market data, supporting multi-region (US/HK), various asset classes, order types, and risk controls.7Apache 2.0- AlicenseAqualityCmaintenanceAn MCP server that gives AI assistants direct, structured access to China A-share market data.3Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dfkai/xtquantai'
If you have feedback or need assistance with the MCP directory API, please join our Discord server