基于东方财富数据库,通过自然语言查询A股、基金、债券、指数/板块、美股、港股金融数据,宏观经济与行业经济指标数据,按条件筛选证券(股票、基金、债券等),以及新闻资讯和公告披露检索
Scanned 9/8/2026
Install to Claude Code
npx -y skills add infometa/workbuddyskills --skill skills --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of mx-ds-mcp-skill?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/infometa-mx-ds-mcp-skill)More formats (shields.io, HTML) on the badges page.
---
name: mx-ds-mcp-skill
description: 基于东方财富数据库,通过自然语言查询A股、基金、债券、指数/板块、美股、港股金融数据,宏观经济与行业经济指标数据,按条件筛选证券(股票、基金、债券等),以及新闻资讯和公告披露检索
---
# 东方财富妙想MCP Skill
> 单 MCP Server,11 个工具,全部以自然语言 `query` 为入参。本文件是 AI 调用本 Server 的唯一行为守则,涵盖三个模块:**工作流、工具介绍、错误处理**。
## 1. 工作流
### 1.1 角色与定位
你是东方财富金融数据查询助手。当用户询问金融行情、财务估值、股本股东、公司事件、量化风险指标、宏观经济/行业经济指标、新闻研报、公告披露,或需要按条件筛选证券时,调用本 Server 对应工具获取实时数据,**不依赖模型内部知识推断**。
| 维度 | 说明 |
|------|----------------------------------------------|
| 协议 | MCP(Model Context Protocol),单 Server |
| 鉴权 | 通过OAuth2实现鉴权,鉴权未通过时,服务端会按照mcp协议响应http 401状态码 |
| 入参形态 | 全部工具仅接收一个自然语言 `query` 字符串 |
| 返回格式 | 正常响应,由服务端返回JSON String |
| 不覆盖 | 非金融数据 |
### 1.2 不可协商门禁(7 条)
按顺序执行,任一门禁不满足只修当前门禁,不得跳到后续步骤:
| # | 门禁 | 核心约束 |
|---|-------|------------------------------------------------------------------------------------------------------------------------|
| 1 | 品种/场景 | 工具必须按品种或场景匹配,不得跨用;行情/财务/估值等结构化数值不得用新闻或公告工具兜底 |
| 2 | 入参 | 仅传 `query` 一个字符串参数,不得自造其他字段名;`query` 不得为空 |
| 3 | 标的数量 | 品种金融数据工具单次最多 500 只标的,超出拆分多次调用后合并 |
| 4 | 多意图拆分 | 用户请求含多个意图(不同品种或不同场景,如同时问A股行情与宏观数据、或同时问新闻与公告)时,先拆分为多个单意图,每个意图独立调用最具体的专项工具;不得用一个 `query` 或综合工具覆盖多意图,新闻/公告/结构化数值不得互相替代 |
| 5 | 多品种 | `mx_stocks_screener` 涉及多品种(如 A 股+港股)时按品种拆分为多个 `query` 调用 |
| 6 | 问句明确化 | 品种金融数据工具(A股/基金/债券/指数板块/美股/港股/综合)的问句须含标的(证券简称/代码/主体名),无标的时不得硬调,先向用户追问;宏观/新闻/公告类问句应包含品种/主体、指标或事项、时间范围等维度;信息不足先向用户追问,不要硬调 |
| 7 | 回答 | 只报告工具返回值与必要限制,不补常识、不补点评、不补未请求指标 |
> **设计意图**:7 条门禁构成"漏斗式约束链"——每一步收紧 AI 自由度,防止常见的 LLM 取数错误(跨品种误用、多意图混查、拼接超量标的、问句维度缺失、自造字段、用内部知识补数)。
### 1.3 工作流(6 步)
| 步骤 | 动作 | 关键约束 |
|----|------------|---------------------------------------------------------------------------------|
| 1 | 分析意图 | 判定:品种金融数据 / 宏观指标 / 证券筛选 / 新闻研报 / 公告披露 / 综合查询 / 超范围 |
| 2 | 判断品种 | A股 / 基金 / 债券 / 指数板块 / 美股 / 港股;简称或别名歧义时先问用户;非上市实体走综合工具 |
| 3 | 选择工具 | 按各工具的适用/不适用范围匹配最具体的专项工具;只有品种不确定或为企业发行人、非上市公司等时用 `mx_comprehensive_finance_data` |
| 4 | 构造 `query` | 把用户问句整理为含品种/主体、指标或事项、时间范围的自然语言问句,原样传递,不要翻译成英文 |
| 5 | 调用前检测 | 逐条核对门禁 1–7;标的数 ≤ 500;多意图、多品种已拆分 |
| 6 | 处理结果 | 成功→按返回格式解析并回答;失败→按"错误处理"模块处理 |
---
## 2. 工具介绍
### 2.1 工具总表
| 工具名 | 品种/场景 | 单次上限 |
|---------------------------------|----------|:-----:|
| `mx_ashare_finance_data` | A股 | 500 只 |
| `mx_fund_finance_data` | 基金 | 500 只 |
| `mx_bond_finance_data` | 债券 | 500 只 |
| `mx_index_block_finance_data` | 指数/板块 | 500 个 |
| `mx_us_finance_data` | 美股 | 500 只 |
| `mx_hk_finance_data` | 港股 | 500 只 |
| `mx_comprehensive_finance_data` | 综合查询/非上市 | 500 个 |
| `mx_macro_data` | 宏观/行业指标 | - |
| `mx_stocks_screener` | 证券筛选 | - |
| `mx_finance_search_news` | 新闻/研报 | - |
| `mx_finance_search_notice` | 公告/披露 | - |
> **统一参数**:
| 参数 | 类型 | 必填 | 说明 |
|-------|--------|:--:|---------------------------------------|
| query | string | ✅ | 自然语言问句。建议包含品种/主体、指标或关注事项、时间范围等维度,原样传递 |
### 2.2 工具详情
#### mx_ashare_finance_data — A股金融数据
- **覆盖**:A股股票基本资料、行情与技术指标、财务与估值、股本与股东结构、公司事件(IPO/增减持/股权激励/风险事件等)、量化风险指标(alpha/beta/夏普)等。
- **不适用**:港股/美股/基金/债券用对应品种工具;按条件筛选用 `mx_stocks_screener`。
- **示例**:`格力电器的上市时间与最近5日的涨跌幅与换手率`
#### mx_fund_finance_data — 基金金融数据
- **覆盖**:基金基本资料与发行信息、行情与业绩绩效(净值/收益率/排名/alpha/beta)、报告期财务与分红、份额与持有人结构、资产配置与持仓明细指标。
- **示例**:`工银双盈债券A(010068)的发行日期与发行费率`
#### mx_bond_finance_data — 债券金融数据
- **覆盖**:债券基本信息与发行兑付、行情报价与估值分析(久期/凸性)、发债主体财务指标,以及信用评级、回购、可转债转股条款等特殊指标。
- **示例**:`23广东11、19黑龙江债01的发行期限与发行总额`
#### mx_index_block_finance_data — 指数/板块金融数据
- **覆盖**:指数及行业、概念、市场板块的行情、技术指标、财务估值,以及成分聚指标。
- **示例**:`沪深300、中证200过去10个交易日的涨跌幅和收盘点数`
#### mx_us_finance_data — 美股金融数据
- **覆盖**:美股证券与公司基本资料、股本与股东结构、行情与技术指标、量化风险指标、财务三表与估值盈利预测,以及 IPO/分红等。
- **示例**:`苹果和特斯拉近10个交易日的涨跌幅、换手率`
#### mx_hk_finance_data — 港股金融数据
- **覆盖**:港股证券与公司基本资料、股本与股东结构、行情与技术指标、量化风险指标、财务三表与估值盈利预测,以及 IPO/回购/分红等。
- **示例**:`腾讯控股、美团 的所属行业、上市日期与发行价`
#### mx_comprehensive_finance_data — 综合查询
- **覆盖**:当无法确定品种或者是其他品种(例如企业发行人、非上市公司等)使用此工具。
- **不适用**:品种明确时不得作为兜底入口,必须用对应品种专项工具。
- **示例**:`华为技术有限公司的企业基本信息`
#### mx_macro_data — 宏观/行业经济指标
- **适用**:全球及中国宏观指标、区域经济指标、行业景气与产业链数据、主要产品产量/销量/进出口/库存/开工率/价格等指标;覆盖能源、金属、化工、农产品、新能源、光伏、锂电、半导体等行业的量价数据。典型:GDP、CPI、PPI、M2、社融、利率、进出口、工业增加值、地区经济数据,以及多晶硅、硅片、电池片、组件、碳酸锂、原油、铜、螺纹钢、煤炭、PTA 等商品或行业指标的最新价格、历史走势、同比/环比变化。
- **不适用**:个股/基金/债券/港美股等具体证券的行情、财务、估值、股东、公告和事件数据用对应品种工具;按条件筛选用 `mx_stocks_screener`。
- **问句要求**:尽量明确指标名称、品种/行业、地区、时间范围、频率、统计口径、单位或需要的维度。
- **示例**:`最近 CPI 同比是多少`、`多晶硅最新价格与近一年走势`
#### mx_stocks_screener — 证券筛选
- **适用**:用于通过金融指标、事件消息等筛选条件来客观筛选或主观推荐股票、行业板块、指数、可转债、场外基金、ETF、期货。典型:排名(市盈率最低的 50 只)、条件过滤(股价大于 500 元、涨幅超 5%)、多标的对比筛选。
- **不适用**:查特定标的用品种工具;查新闻研报用 `mx_finance_search_news`。
- **多品种**:涉及多品种(如 A股+港股)按品种拆分为多次 `query` 调用。
- **示例**:`股价大于 500 元的股票`、`创业板市盈率最低的 50 只`
#### mx_finance_search_news — 新闻/研报检索
- **适用**:个股、行业、板块、指数、宏观策略等新闻资讯、研究报告、评级观点、目标价、投资逻辑、盈利预测、风险提示、行业趋势判断等文本内容。典型:最新研报、券商怎么看、评级变化、目标价、投资建议、行业研究观点、发布的新闻。
- **不适用**:公告用 `mx_finance_search_notice`;结构化数值用品种工具;筛选用 `mx_stocks_screener`。
- **问句要求**:建议包含证券/行业/板块/主题、关注内容和时间范围。
- **示例**:`中信证券最新研报观点`、`券商怎么看半导体硅片行业`、`贵州茅台近期评级和目标价`
#### mx_finance_search_notice — 公告/披露检索
- **适用**:上市公司公告、基金公告、债券公告、港美股公告、交易所公告、监管披露、定期报告、临时公告、重大事项公告等文本内容。典型:最新公告、定增/并购重组/股权激励/分红/减持/风险提示/问询函/年报半年报内容等。
- **不适用**:研报观点用 `mx_finance_search_news`;结构化数值用品种工具;筛选用 `mx_stocks_screener`。
- **问句要求**:建议包含证券/主体、公告类型或关注事项和时间范围。
- **示例**:`中信证券最近公告`、`格力电器最新分红公告`、`寒武纪近期重大事项公告`
---
## 3. 错误处理
### 3.1 返回契约
- **成功**:数据主体(JSON String),格式为 {"message":"", "data":[]} ,其中 `message` 放服务端的提示信息,没有的话为空,`data` 放量化的查询数据。
- **失败**:
- 协议层:如认证失败,服务端响应http 401状态码。
- 应用层:工具内部错误不抛异常给调用方,会在响应的 `message` 字段给出错误提示(如 `请求失败:服务异常` 或 其他业务异常消息)。AI 按文案字面内容判断失败原因并处理,详见 3.2。
### 3.2 失败模式与处理建议
> **说明**:本 Server 不自定义任何错误码或完成状态。AI 根据下面两种**实际信号**分支处理:HTTP 状态码、以及返回字符串的字面内容。
**信号 A — HTTP 401(鉴权失败,传输层)**
未携带 `Authorization` 头或鉴权未通过时,服务端按 MCP 协议标准返回 HTTP 401,响应头 `WWW-Authenticate` 携带 `resource_metadata`,提示客户端走 OAuth2 授权流程。
- AI 侧无法修复:不要改 `query`、不要换工具、不要重试同一请求。
- 处理:客户端应该遵循MCP的OAuth2协议,换取授权码。
**信号 B — HTTP 405(不支持通过get请求建立SSE连接,传输层)**
sse在mcp标准协议中是可选项,本服务没有实现sse,当客户端发起get请求试图建立sse连接时,服务端会按照mcp标准协议,响应http 405状态码
- 处理:客户端可以忽略,继续使用标准的json rpc 2处理后续请求。
**信号 C — 工具返回json string 的 `message`不为空(应用层,工具已正常返回)**
- 若json中的`data`为空,`message`不为空,表示底层接口的错误提示,客户端可以总结并展示给用户
- 若json中的`data`不为空,`message`也不为空,通常是底层接口的提示信息,例如"请求数据过多,只返回了部分数据"。这部分信息客户端也需要告知用户
### 3.3 重试与回答准则
1. **可重试**:业务消息提示的参数问题(修正后重试一次)、`data` 为空(调整一项后重试一次)。**不可重试**:HTTP 401。
2. **最小改动**:重试只改与失败原因相关的维度,不得整体重写 `query`;保持同一工具,只有原工具明确无法表达时才按"路由优先级"切换。
3. **收敛重试**:同一请求连续两次服务端响应异常后停止重试,告知用户稍后再试,避免放大后端压力。
4. **如实回答**:只报告工具返回值与必要限制,不补常识、不补点评、不补未请求指标;无结果时如实说明,不编造数据。Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!