关于 wind-mcp-skill
wind-mcp-skill 是调用 Wind 万得金融数据(个人版)的 Skill,供需要查询和核验金融数据的 Agent 使用。它通过 CLI 按业务域路由工具,并强调依据返回数据与来源材料区分事实、观点和推导。
主要功能
- 01按金融业务域选择服务
- 02按需读取工具契约与参考资料
- 03通过 CLI 调用 Wind MCP
- 04核验结果、单位与统计口径
- 05处理批量查询及错误恢复
适用场景
- 01查询证券、基金、指数或债券数据
- 02获取宏观指标、公告或财经新闻
- 03按契约筛选、计算和汇总金融数据
MCP 相关
Skill 自带 CLI 调用 Wind MCP;CLI 负责 endpoint、认证和传输细节。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ bobibobuyu/ wind-skills-test --skill wind-mcp-skill安装后在 Claude Code 中输入/wind-mcp-skill确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/analytics_data/analytics.mdreferences/bond_data/bond.mdreferences/economic_data/economic.mdreferences/financial_docs/financial-docs.mdreferences/fund_data/fund-indicators.mdfund.mdreferences/global_securities/tools.mdtrend.mdreferences/index_data/index-indicators.mdindex.mdreferences/stock_data/stock-indicators.mdstock.mdscripts/cli.mjsmcp.mjsupdate-check.mjs详细介绍
来自项目 READMEWind 万得金融数据(个人版)
通过本 Skill 自带 CLI 调用 Wind MCP。金融事实以工具返回的数据与来源材料为依据;区分原始数据、来源观点和基于数据的推导,不把模型记忆、Web Search 或常识补全伪装成已核验数据。
按需渐进加载:明确需求 → 定位业务域 → 读取相关 reference 并确认工具覆盖 → 按需组织调用 → 核验结果。endpoint、请求头、认证和传输由 CLI 负责;模型不构造这些实现细节。
1. 定路由
根据金融对象和业务意图定位 server_type,再按契约确认工具是否支持所需数据、时间范围、粒度、口径及标的数量。已有信息足够时直接查询;缺少影响结果的必要信息且契约无适用默认值时,再向用户澄清。
server_type | 主要覆盖范围(非互斥) | 按需加载 |
|---|---|---|
global_securities | 证券快照、常规历史走势、股票财务概览、基础资料与身份检索 | references/global_securities/tools.md |
stock_data | 股票筛选、行情、档案、财务、股东、事件、技术与风险指标 | references/stock_data/stock.md |
fund_data | 基金、ETF、LOF 的筛选、档案、财务、持仓、业绩与持有人;场内基金行情 | references/fund_data/fund.md |
index_data | 市场指数与板块的行情、档案、基本面与技术指标 | references/index_data/index.md |
bond_data | 债券档案、发行主体、行情估值与主体财务 | references/bond_data/bond.md |
financial_docs | 公司公告与财经新闻 | references/financial_docs/financial-docs.md |
economic_data | 宏观、行业和汇率 EDB 指标 | references/economic_data/economic.md |
analytics_data | 金融数据计算与聚合 | references/analytics_data/analytics.md |
路由规则
证券快照、常规历史走势、股票财务概览和基础资料符合 global_securities 契约时优先使用。股票筛选、指定财务科目、股东、事件、技术与风险指标用 stock_data;基金筛选、持仓与业绩用 fund_data;指数基本面与板块用 index_data;债券档案、发行人和估值用 bond_data;宏观、行业和汇率 EDB 指标用 economic_data;公告与财经新闻用 financial_docs。
global_securities 的 securities_get_price 使用 windCodes 字符串数组,一次查询 1–50 个不重复标的,单标的也使用数组;满足字段需求的单标的和批量快照均优先使用。财务、走势与资料工具仍使用单个字符串 windCode。快照与走势覆盖服务支持的股票、基金、指数、可转债、期货及外汇。自选 indexes 或需要其他专项行情字段时,使用 stock_data、fund_data、index_data 对应价格指标工具;需要分钟、周期或复权时使用对应 K 线、分钟行情工具。普通债券行情与估值用 get_bond_market_data;场外基金业绩及未被证券工具覆盖的净值需求用 get_fund_performance,净值与场内成交价分别解释。
数据计算优先使用对应资产专项工具;已有指标取数或筛选能力时直接使用对应工具。仅当预定义工具不能直接返回所需结构化结果时,再按契约使用 analytics_data 的 get_financial_data 完成金融数据计算、提取与聚合,不因任务涉及计算或采用自然语言就转入 analytics_data。多标的快照符合 securities_get_price 的字段范围时使用其批量能力,需要专项指标时使用对应价格指标工具,不因标的较多而转入 analytics_data。
公告与监管披露使用 get_company_announcements,财经新闻使用 get_financial_news。仅需宏观指标元信息或确认代码时使用 search_economic_indicator;需具体数值序列时使用 query_economic_indicator_data;宏观序列的数量级、频率或币种转换优先使用该工具的 targetMagnitude、targetFrequency、targetCurrency,不为这些已支持的转换单独切换到 analytics_data。已指定具体标的时直接用对应查询工具,未指定标的且需按条件筛选时使用 search_stocks 或 search_funds。
单个工具能满足完整需求时直接调用;只有需要不同数据来源、不同工具能力,或超过单次查询限制时才拆分调用。有依赖关系的任务,应先取得前置结果并复用。
reference 中未找到适用能力时,按需用 list-servers 和 list-tools 核对实际工具。确认无适用能力后说明缺少的数据或功能。
文件导航
只读取与当前需求相关的文件;代码格式、工具范围、参数、默认值、枚举与返回说明见路由表中的各服务契约。全球证券完整历史分页见 references/global_securities/trend.md。
指定价格指标工具的 indexes 字段时,再读取对应指标集:
- 股票:
references/stock_data/stock-indicators.md。 - 场内基金:
references/fund_data/fund-indicators.md。 - 指数:
references/index_data/index-indicators.md。
未指定 indexes 时沿用工具默认字段,不为查看默认行情加载全部指标集。
2. 读契约
reference 用于选择工具和构造参数,MCP Server 负责最终校验。参数拒绝时按具体错误修正;工具缺失、定义有疑问或 reference 与实际结果不一致时,用 node scripts/cli.mjs list-tools <server_type> 获取线上定义。同一任务内复用已取得的定义。
使用实际存在的 server、工具名及参数名,类型、默认值和枚举以当前契约为准。windcode、windCode、windCodes 及字符串/数组按各工具定义填写;CLI 处理已实现的参数兼容。
标的明确且工具支持名称时可直接查询;需要搜索或识别时用相应工具。多个候选不能确定目标时再请用户确认,不固定在取数前增加识别调用。
用户未指定行业分类等口径时,保留工具契约的适用默认值,不统一强制填入 Wind 行业分类;多结果比较时核对分类、日期与统计口径是否一致。
3. 发命令
先切换到本 SKILL.md 所在目录,再执行:
node scripts/cli.mjs call <server_type> <tool_name> '<params_json>'
CLI 默认自动识别调用 Agent;需要显式指定时,可使用 --user-agent 或 WIND_USER_AGENT,标识通过 HTTP User-Agent 发送,不放入业务参数。
示例:
node scripts/cli.mjs call global_securities securities_get_price '{"windCodes":["600519.SH","000300.SH","USDCNY.IB"]}'
node scripts/cli.mjs call fund_data get_fund_info '{"question":"查询易方达蓝筹精选(005827.OF)的基金档案"}'
node scripts/cli.mjs call economic_data search_economic_indicator '{"question":"中国GDP相关指标"}'
PowerShell 等环境可将 UTF-8 JSON 从 stdin 传入,最后一个业务参数写为 -:
[Console]::InputEncoding = [Console]::OutputEncoding = [System.Text.UTF8Encoding]::new($false)
$OutputEncoding = [System.Text.UTF8Encoding]::new($false)
$requestJson='{"windcode":"600519.SH","indexes":"\u6700\u65b0\u6210\u4ea4\u4ef7,\u4ea4\u6613\u65f6\u95f4"}'
$requestJson | node scripts/cli.mjs call stock_data get_stock_price_indicators -
已有 UTF-8 JSON 文件也可用 @<文件路径> 传入;遇到中文编码问题时可使用 \uXXXX 转义。
认证由 CLI 处理。仅在实际调用明确返回认证失败或凭证缺失时报告认证问题,不预先猜测;不得在输出、日志或交付文件中写入 Key。
批量与并发
优先使用工具已支持的批量参数。securities_get_price 的 windCodes 使用字符串数组,每批 1–50 个不重复标的,超过 50 个时拆分;传给 MCP 的仍是数组,由服务端适配层转换成逗号分隔字符串。get_stock_price_indicators、get_fund_price_indicators 和 get_index_price_indicators 的 windcode 使用英文逗号分隔字符串,其当前契约未声明数量上限。其他工具按各自契约调用。
相互独立的查询可以并发,有前置依赖的步骤按顺序执行;并发度按客户端能力与实际服务限流调整。
4. 验回执
正常返回时 stdout 为 MCP 结果对象,正文通常位于 content[0].text,CLI 另附 cli_meta。检查相关 content 项与存在的结构化结果:可解析为 JSON 时按结构读取,否则按原始文本或表格读取;存在 cli_meta.warnings 时同时检查。表格 JSON 的 columns 与 rows 按位置对应,先核对每行长度;unit 或 indicator_units 按字段读取。价格、成交量等可能是字符串,计算时只转换明确的数值字段,证券代码和日期保留字符串,缺失标记不得转换成 0。退出码为 0 或 isError: false 不代表业务成功,正文中的参数拒绝、认证或执行失败信息仍须处理。
核验代码、名称及实体类型与用户目标一致,例如基金管理公司不能作为基金产品作答。检查实际日期、频率、单位、量级、币种及统计口径;元数据缺失、互相矛盾或不适用于某个资产时,保留原值并说明限制,不猜测或强行换算。需要计算或单位转换时,必须有明确输入口径和可说明的计算依据。
核对请求的标的、字段和区间覆盖范围。部分有效时返回有效部分,并直接说明缺失、失败或不适用项;无有效数据时说明空结果或执行错误。
错误与恢复
按错误所在层读取,失败退出码为非零:
- 本地参数、路由等错误通常返回
{ "ok": false, "code": "...", "message": "..." };典型 fetch 网络连接失败或读取中断返回NETWORK_ERROR,属于传输问题。 - HTTP 非 2xx 返回
{ "ok": false, "code": "HTTP_ERROR", "http_status": 403, "body": "服务端原始正文" };状态码取实际值,body保留为原始字符串。该格式表示 HTTP 层失败,不能据此确定故障发生在网关内部。 - JSON-RPC
error报文原样输出;工具错误保留 MCP 结果中的structuredContent.code/message、isError等实际字段。认证失败也可能表现为工具结果中的structuredContent.code = 401,不能统一当作HTTP_ERROR。
参数问题按错误和契约修正,保留用户的目标、日期与口径。标的身份不符时确认正确目标后查询。认证、额度或限流按实际原因处理;限流不等于额度耗尽。
脚本已对 tools/call 超时自动重试一次。后续是否重试、调整参数或改用其他工具,依据错误、已尝试结果和可用能力决定;替代工具须满足目标数据、时间和口径,说明相关差异及仍未取得的部分。复用仍适用的有效结果,避免无变化地重复失败请求。
自动更新
成功调用后,CLI 在后台检查个人版更新,不阻塞数据返回。更新器沿用安装锁文件记录的 GitHub/Gitee 来源,先下载并核验候选版本,再更新当前 Skill 目录;Git 下载失败时仅从同一来源用 npx skills add 在隔离目录获取候选包。无锁文件时使用官方 GitHub 来源。更新前阻止降级,更新后核验实际目录;失败会退避重试。项目安装与全局安装均保留原目录和配置。用 node scripts/cli.mjs diagnose 查看更新来源、状态和安装范围。
成功返回数据时,在答复末尾附与用户语言一致的来源声明:
数据来源于 Wind Alice 万得金融数据服务。
Data sourced from Wind Alice Financial Data Service.