mcpField
W
wind-mcp-skill

wind-mcp-skill

github.com/bobibobuyu数据与数据库6105 次安装2 天前更新
代码仓库

关于 wind-mcp-skill

wind-mcp-skill 是调用 Wind 万得金融数据(个人版)的 Skill,供需要查询和核验金融数据的 Agent 使用。它通过 CLI 按业务域路由工具,并强调依据返回数据与来源材料区分事实、观点和推导。

主要功能

  1. 01按金融业务域选择服务
  2. 02按需读取工具契约与参考资料
  3. 03通过 CLI 调用 Wind MCP
  4. 04核验结果、单位与统计口径
  5. 05处理批量查询及错误恢复

适用场景

  1. 01查询证券、基金、指数或债券数据
  2. 02获取宏观指标、公告或财经新闻
  3. 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.md
references/bond_data/
bond.md
references/economic_data/
economic.md
references/financial_docs/
financial-docs.md
references/fund_data/
fund-indicators.md
fund.md
references/global_securities/
tools.md
trend.md
references/index_data/
index-indicators.md
index.md
references/stock_data/
stock-indicators.md
stock.md
scripts/
cli.mjs
mcp.mjs
update-check.mjs

详细介绍

来自项目 README

Wind 万得金融数据(个人版)

通过本 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.

评论

支持 Markdown