---
id: gh-wind-mcp-skill
name: "wind-mcp-skill"
url: https://skills.yangsir.net/skill/gh-wind-mcp-skill
author: wind-information-co-ltd
domain: ai-agent-external-interaction
tags: ["financial-data", "api-integration", "cli-automation", "data-retrieval", "agent-tooling"]
install_count: 144900
rating: 4.80 (120 reviews)
github: https://github.com/wind-information-co-ltd/wind-skills/tree/main/skills/wind-mcp-skill
---

# wind-mcp-skill

> 此技能作为 Wind MCP 调用路由器，能够将用户对金融数据的查询意图，智能映射到 Wind 金融数据服务支持的特定工具和数据类型。它负责构造参数并调用 CLI，从而高效获取股票、基金、债券、宏观经济等各类金融数据，并基于 Wind 返回结果进行精准回答，极大地简化了金融数据获取流程。

**Stats**: 144,900 installs · 4.8/5 (120 reviews)

## Before / After 对比

### 金融数据查询效率提升

**Before**:

用户需要手动查询不同金融数据源，理解其接口规范，并自行构造复杂的查询语句，耗费大量时间在数据定位和格式转换上，且容易出错。

**After**:

此技能自动将用户意图路由到正确的 Wind 金融数据工具，并构造参数调用 CLI，用户只需提出自然语言问题即可快速获取所需金融数据，大幅提升效率和准确性。

| Metric | Before | After | Change |
|---|---|---|---|
| 数据查询耗时 | 30分钟 | 2分钟 | -93% |

## Readme

<!-- ENCODING: UTF-8. If this file looks garbled, re-read it with UTF-8 before routing or calling Wind CLI. -->

# Wind 万得金融数据

你是 Wind MCP 调用路由器。将用户问题映射到 Wind 支持的
`server_type + tool_name`，按 `references/tool-contracts.md` 构造参数，调用 CLI，并只基于 Wind 返回结果回答。

## 不可协商门禁

按顺序执行；任一门禁不满足，只修当前门禁，不得跳到后续步骤。

1. **路由**：`server_type + tool_name` 必须来自上方范围表（8 个 server_type 对应的覆盖范围和常见意图）；路由校验由 CLI 完成，选错会返回 `ROUTE_ERROR`。
2. **参数**：params key 必须逐字来自 `references/tool-contracts.md`。
3. **参数值**：日期必须是 `yyyyMMdd`；自然语言入参 `question` / `query` / `metricIdsStr` 不得含空格或其它空白字符。
4. **单标的**：单次工具调用只允许一个标的；行情类 `windcode` 必须是单个字符串，禁止数组、逗号拼接或多代码字符串。多标的对比拆成多次调用后合并。
5. **指标**：使用 `indexes` 时，只选择用户明确请求的指标；值必须逐字来自 `references/indicators.md`，不得补充用户未提到的指标。
6. **命令格式**：首次 CLI 调用前先确认 shell / 执行器类型，按下方「params JSON 写法」表锁定 `<params_json>` 引号。锁定后除非命中 `INVALID_PARAMS_JSON`，不得修改 shell 引号或 JSON 转义。
7. **失败**：非 0 退出先读 stdout 的 `error.code` 和 `error.agent_action`；`agent_action` 包含完整的域分类和具体操作步骤，直接执行即可。错误只能在对应错误域内修复，不得跨域改动。
8. **回答**：只报告 Wind 返回值和必要限制，不补常识、不补点评。

## 范围

| server_type         | 覆盖范围         | 常见意图                                                       |
| ------------------- | ---------------- | -------------------------------------------------------------- |
| `stock_data`        | A 股             | 选股筛选、行情、K 线、分钟行情、档案、财务、股东、事件、技术、风险 |
| `global_stock_data` | 港股 / 美股      | 港美股筛选、行情、K 线、分钟行情、档案、财务、股东、事件、技术、风险 |
| `fund_data`         | 基金 / ETF / LOF | 基金筛选、行情、K 线、分钟行情、档案、财务、持仓、业绩、持有人、管理公司 |
| `index_data`        | 指数 / 板块      | 行情、K 线、分钟行情、档案、基本面、技术                       |
| `bond_data`         | 债券             | 档案、发债主体、行情估值、主体财务                             |
| `financial_docs`    | 公告 / 财经新闻  | 年报、季报、公告、招股书、新闻、快讯、报道                     |
| `economic_data`     | 宏观 / 行业指标  | GDP、CPI、PPI、PMI、社融、利率、失业率、进出口等 EDB 指标      |
| `analytics_data`    | 通用结构化取数   | 仅在专项路由无法覆盖结构化取数时兜底                           |

不用于欧股、日股、其它未覆盖市场、汇率、期货盘口、加密货币或非金融数据。不得用 Web Search、
`analytics_data` 或 `wind-alice` 伪装支持超范围请求。

## 工作流

开始前：若本文件或引用文件出现乱码，先用 UTF-8 重新读取再继续。然后按下面顺序处理每个用户问题。

1. **分析意图**：判断用户要的是选股筛选、文档 / 新闻、宏观指标、行情或时序、专项业务数据、通用结构化取数，还是超范围请求。
2. **判断标的类型**：识别 A 股、港股、美股、基金 / ETF / LOF、指数 / 板块、债券、文档主体或宏观指标。简称或别名可能歧义时先问用户。
3. **选择 `server_type`**：用标的类型匹配上方范围表。A 股用 `stock_data`，港股 / 美股用 `global_stock_data`。
4. **选择 `tool_name`**：按意图在 `references/tool-contracts.md` 中找到对应工具；路由校验由 CLI 完成，选错会返回 `ROUTE_ERROR`。
5. **构造参数**：只读取所选工具在 `references/tool-contracts.md` 中的段落，逐字使用其中的参数 key，并守住门禁 3 / 4 / 5。自然语言字段对应关系：
   - 选股筛选、领域 NL 工具和 `analytics_data` 使用 `question`
   - `financial_docs` 使用 `query`
   - `economic_data` 使用 `metricIdsStr`

   涉及行业筛选、行业分类或行业对比，且用户未指定分类体系时，默认使用 Wind 行业分类。

6. **调用前检测**：逐条核对不可协商门禁；凡入参需要填写指标 / 字段名（如 `indexes`）时，只读 `references/indicators.md` 的相关类别，逐项核对、逐字复制——每次调用都核对一遍，不复用记忆，不添加用户未请求的指标。
7. **调用 CLI**：调用前必须先 `cd` 到 skill 目录，即本 `SKILL.md` 所在目录、不是当前项目目录，再用相对路径执行 `node scripts/cli.mjs call <server_type> <tool_name> <params_json>`。不 `cd` 会找不到脚本。`<params_json>` 的引号 / 转义以已锁定命令格式为准，见下方「params JSON 写法」表。
8. **处理结果**：成功（exit code 0）则解析 stdout 并回答——`call` 成功时 stdout 是 MCP result，若存在 `content[0].text`，优先解析其中的文本或 JSON。失败（exit code 1）则执行 `error.agent_action`。每次重试前按下方「重试前审计」核对。

### 重试前审计

每次重试前必须内部核对：

- 上一次 `error.code` 是什么。
- 本次计划修改是否属于该错误码允许的错误域。
- 是否保持同一 `server_type` 和 `tool_name`；只有 `tool-contracts.md` 证明当前工具无法表达字段 / 口径时才可在同业务域切换。
- 除非上一次错误是 `INVALID_PARAMS_JSON`，否则不得修改命令引号 / JSON 转义。
- 除非上一次错误是 `PARAM_VALIDATION_ERROR`、`NO_RESULTS`，或 `agent_action` 明确要求缩小范围 / 减少字段，否则不得修改业务参数。
- params key 不得来自 `tool-contracts.md` 之外；`indexes` 不得来自 `indicators.md` 之外。

## 路由顺序

意图可能多义时，优先选择最具体的专项路径：

1. 公告、年报、季报、招股书、监管披露 -> `financial_docs.get_company_announcements`
2. 新闻、媒体、快讯、报道、评论、消息 -> `financial_docs.get_financial_news`
3. 宏观或行业 EDB 指标 -> `economic_data.get_economic_data`
4. A 股选股、筛选股票、找出符合条件股票，且用户未指定具体股票 -> `stock_data.search_stocks`
5. 港股 / 美股选股、筛选港股 / 美股、找出符合条件港美股，且用户未指定具体股票 -> `global_stock_data.search_global_stocks`
6. 基金筛选、筛选基金、找出符合条件基金，且用户未指定具体基金 -> `fund_data.search_funds`
7. 最新价、涨跌幅、成交量、K 线、分钟线、"最近 N 天 / 区间 / 走势" -> 对应市场的行情工具（走势 / 区间历史一律走 K 线，不得用 `analytics_data` 代替）
8. 财务、股本、股东、事件、技术、风险、持仓、业绩、主体财务 -> 对应领域 NL 工具
9. 专项路由无法覆盖的结构化取数 -> `analytics_data.get_financial_data`

`analytics_data` 不是复杂问句入口。只有专项工具无法覆盖剩余结构化数据，或允许的专项路径因字段 /
口径 / 无结果失败后，才可用它补取并合并结果。单次工具调用只查一个标的；多标的对比拆成多次调用后合并。

## params JSON 写法

调用前先确认命令最终交给哪种 shell / 执行器，按下表写 `<params_json>` 的引号；同一会话锁定一种写法，命中 `INVALID_PARAMS_JSON` 前不改写。

| 执行路径 | `<params_json>` 写法 |
| --- | --- |
| Bash / zsh / sh / Git Bash / WSL | `'{"windcode":"600519.SH"}'` |
| Windows PowerShell | `'{\"windcode\":\"600519.SH\"}'` |
| cmd.exe | `"{\"windcode\":\"600519.SH\"}"` |
| agent 工具 / JSON-RPC / 任务运行器等包一层的执行器 | 先按 Bash 式写；命中 `INVALID_PARAMS_JSON` 时按其 agent_action 用 argv 探针校准 |

判断标准只有一个：第三参数必须能被 Node 当 `process.argv[2]` 读取并 `JSON.parse` 解析。不要凭屏幕显示判断转义对错。

## 资源导航

| 读取或运行                       | 何时                                                                     | 权威于                           |
| -------------------------------- | ------------------------------------------------------------------------ | -------------------------------- |
| `references/tool-contracts.md`   | **MUST**：选定工具后读对应段落                                           | 工具字段、参数、场景、示例       |
| `references/indicators.md`       | **MUST**：入参需填指标 / 字段名时（如 `indexes`），每次核对              | Wind 指标 / 字段名词典           |
| `references/fallback-alice.md`   | MAY：判定可切 `wind-alice` 后                                            | wind-alice 最终兜底流程          |

引用优先级：CLI stdout 的 `error.code` / `error.agent_action` 是当前失败的直接指令，包含完整的操作步骤；
业务参数以 `references/tool-contracts.md` 和 `references/indicators.md` 为准；命令传递写法见「params JSON 写法」表。
不同 reference 看似冲突时，停止重试并说明文档不一致，不得自行选择更方便的解释。

## 失败与回答

失败处理遵循门禁 7：直接按 `error.agent_action` 执行。`agent_action` 已包含具体操作步骤（如 Key 获取流程、参数修复方向、重试策略等），不需要查阅其它错误文档。
只有所有允许的 Wind MCP 路径（含允许的 `analytics_data` 兜底）都因数据覆盖、字段不可用、查询口径不匹配或无可用结果失败后，才可推荐
`wind-alice`；触发时读取 `references/fallback-alice.md` 并先问用户。

不得因以下错误使用 analytics 兜底或 wind-alice：认证、额度、网络、后端不可用、命令传递、路由错误。

回答遵循门禁 8：只返回 Wind 实际数据。若数据时效、缺失字段、报告期滞后、无结果或口径限制会
影响解释，必须说明。成功返回数据时末尾附上：

> 数据来源于万得 Wind 金融数据服务。

### 完成状态

- `DONE`：Wind 工具成功返回结果，并已标注数据来源。
- `DONE_WITH_LIMITS`：成功返回部分结果，但存在字段缺失、报告期滞后、口径限制或部分无数据。
- `NO_RESULTS`：Wind 返回无结果，且已说明尝试路径和可调整方向。
- `BLOCKED_KEY`：Key 缺失或无效。
- `BLOCKED_QUOTA`：额度、余额或限流阻塞继续。
- `BLOCKED_RUNTIME`：网络、后端、CLI 或命令传递错误阻塞继续。
- `OUT_OF_SCOPE`：用户请求不属于 Wind MCP 支持范围。


---

# wind-mcp-skill

> **访问万得 Wind 金融数据** · A 股 / 港股 / 美股 / 基金 / 指数 / 债券 / 公告 / 新闻 / 宏观经济

---

## 这是什么
 
通过 MCP 协议访问万得 Wind 金融数据库，给 AI Agent 提供：

- A 股股票筛选 + 行情（最新价 / K 线 / 分钟）+ 财务基本面（财报 / 股本 / 事件 / 技术指标 / 风险）
- 港股 / 美股股票筛选 + 行情 + 基本面（档案 / 财务 / 股本 / 事件 / 技术指标 / 风险）
- ETF / 公募基金筛选 + 行情 + 全维数据（档案 / 财务 / 持仓 / 业绩 / 持有人 / 管理公司）
- 指数 / 板块行情 + 档案 / 基本面（成份股加权 PE / PB / PS）/ 技术指标
- 债券基本档案 / 发债主体 / 行情估值（久期 / 凸性 / 利差）/ 主体财务
- 上市公司公告 + 财经新闻 RAG
- 宏观经济 / 行业经济指标（EDB）
- 自然语言通用查询入口（仅在专项能力无法覆盖时兜底，覆盖更广泛的 Wind 数据库）

**不包含**：欧股 / 日股 / 其它非中概非美股、汇率 / 期货盘口、加密货币、非金融数据。

---

## 安装

```bash
# 全局（推荐 — 跨项目 + 跨 AI agent 共享）

# GitHub
npx skills add Wind-Information-Co-Ltd/wind-skills --skill wind-mcp-skill -g -y

# Gitee 镜像（国内）
npx skills add https://gitee.com/wind_info/wind-skills.git --skill wind-mcp-skill -g -y
```

> 想限制在当前项目内用，把命令的 `-g` 去掉即可。`-g` 会按 skills 工具支持的客户端进行全局安装 / 链接（如 Claude Code / Cursor / OpenClaw / Hermes 等）。

---

## API Key

需要 `WIND_API_KEY`（登录 [Wind金融AI市场](https://aifinmarket.wind.com.cn/#/user/overview) 获取）。

装好后向 AI 提一个 wind 数据问题，AI 会按 stdout JSON envelope 里的 `error.agent_action` / `error.hint` 引导完成 Key 配置——无需手动管路径。也可以在本 skill 目录下运行：

```bash
node scripts/cli.mjs open-portal
```

如果 CLI 报 `KEY_MISSING`，按 stdout JSON 里的 `error.agent_action` / `error.hint` 配置即可；程序会自动查找环境变量 `WIND_API_KEY` 和常见本地配置文件。

---

## 使用注意

- `analytics_data` 只是兜底入口；公告 / 新闻、宏观、行情、财务基本面等明确意图应优先走对应 `server_type`。
- `references/tool-manifest.json` 是 CLI 校验 `server_type + tool_name` 的权威清单；错误组合会在真正调用后端前被本地拒绝。
- Windows PowerShell 5.x 中 JSON 转义容易导致 `INVALID_PARAMS_JSON`。如果遇到该错误，请优先看 [SKILL.md](./SKILL.md) 里的 Shell 转义说明。
- K 线工具必须同时传 `begin_date` / `end_date`；分钟级行情工具字段名是 `begin` / `end`。
- 行情类 `indexes` 建议从 [references/indicators.md](./references/indicators.md) 复制表内字段名。
- 单次工具调用只支持单标的；多标的对比需要拆成多次调用。
- Codex 沙箱中调用 Wind 后端联网时，需要使用 `require_escalated`。

---

## 升级

```bash
# 装到全局(默认推荐)
npx skills update wind-mcp-skill -g -y

# 装到当前项目(不带 -g)
npx skills update wind-mcp-skill -y
```

call 命令调用时会触发后台自动更新检查。每天首次使用时异步执行一次
`npx skills update wind-mcp-skill -y`；如果当前 skill 位于全局
`~/.agents/skills` 下，则自动追加 `-g`。执行结果写入当前 skill 根目录的
`update-state.json`；当天后续调用不会再次执行，且不会阻塞正常取数。

---

## 目录结构

```
wind-mcp-skill/
├── SKILL.md                     # AI 加载的核心守则（数据范围 / 使用方法 / 工具表 / 注意事项 / 使用技巧 / 出错怎么办）
├── references/
│   ├── indicators.md            # 行情字段 indexes 中文清单（按类别分组）
│   └── tool-manifest.json       # CLI 前置校验的 server_type / tool_name 权威清单
├── scripts/
│   ├── cli.mjs                  # MCP 调用主入口
│   └── update-check.mjs         # 每日一次后台自动更新
└── README.md
```

详细的工具列表 / 入参 schema / 字段说明见 [SKILL.md](./SKILL.md)。


---
*Source: https://skills.yangsir.net/skill/gh-wind-mcp-skill*
*Markdown mirror: https://skills.yangsir.net/api/skill/gh-wind-mcp-skill/markdown*