SuperAPI AI 工具集

wind-mcp-skill

数据与分析

查看项目

更新于 10-13 20:10

技能介绍

用途

本 Skill 面向需要查询、筛选、获取、比较或验证金融市场数据的场景。其定位是调用万得(Wind)权威、全面、结构化的全球金融市场数据,只基于 Wind 返回结果回答,不补常识、不补点评。它通过本地 CLI 调用 Wind 的 7 个 MCP 服务取数。

主要能力(按业务域)

数据按 server_type 分为七个领域,各领域需读取对应契约:

  • stock_data:股票筛选、行情、K 线、分钟行情、档案、财务、股东、事件、技术、风险(契约 references/stock.md)
  • fund_data:基金 / ETF / LOF 筛选、行情、K 线、分钟行情、档案、财务、持仓、业绩、持有人、公司(契约 references/fund.md)
  • index_data:指数 / 板块行情、K 线、分钟行情、档案、基本面、技术(契约 references/index.md)
  • bond_data:债券档案、发债主体、行情估值、主体财务(契约 references/bond.md)
  • financial_docs:公告、年报、季报、招股书、财经新闻(契约 references/financial-docs.md)
  • economic_data:宏观、行业和汇率 EDB 指标(契约 references/economic.md)
  • analytics_data:跨标的聚合、加权平均、排名、复合指标推导(契约 references/analytics.md)

意图多义时的仲裁顺序:公告、年报、季报、招股书、监管披露 → financial_docs.get_company_announcements;新闻、快讯、报道、评论 → financial_docs.get_financial_news;宏观、行业或汇率 EDB 指标(产销量、CPI、利率、汇率等)→ 只需指标元信息/确认代码走 economic_data.search_economic_indicator,要具体数值时间序列走 economic_data.query_economic_indicator_data;未指定具体标的的筛选请求 → 对应领域的 search_*;最新价、涨跌幅、成交量、K 线、分钟线、区间走势 → 对应领域行情工具(历史区间一律走 K 线);财务、股本、股东、事件、技术、风险、持仓、业绩 → 对应领域自然语言工具。涉及行业且用户未指定分类体系时,默认 Wind 行业分类。

使用方式

每个问题按四步处理:① 定路由 → ② 发命令 → ③ 读回执 → ④ 收口。②③ 之间可按回执里的错误信息修正参数后再调用,每次再调用前都要过一遍自检项。

命令形式:先 cd 到本 SKILL.md 所在目录(不是当前项目目录),再用相对路径执行:

node scripts/cli.mjs call <server_type> <tool_name> '<params_json>'

完整示例:

node scripts/cli.mjs call stock_data get_stock_price_indicators '{"windcode":"600519.SH"}'

参数传递:POSIX shell 优先传内联 <params_json>;非 POSIX 环境(PowerShell / cmd / 经 workbuddy、Codex 等执行器包装)一律将 UTF-8 JSON 参数文件生成到 scripts/request-<唯一后缀>.json,以 @scripts/request-<唯一后缀>.json 传入,调用后删除。不复用共享文件,不在 skill 根目录生成。

Key:不得只检查部分配置来源就声称没有 API Key。必须先实跑一次;只有返回 AUTH_ERROR 且明确为未配置,才能判定缺失,并按信封中的指引处理。

批量与并发:默认串行(并发 1)。需要对 2 个及以上标的逐项调用时,先只发第一个作为探针,探针成功返回数据、未出现错误信封,才继续其余;探针返回错误信封立即终止该批次。不同 server_type + tool_name 或不同参数结构分别分组,每组各发一次探针。用户明确要求并发时上限 10,一旦某次返回 RATE_LIMIT_ERROR 或 backend_error 就停止新请求并恢复串行。

价格指标工具(get_stock_price_indicators / get_fund_price_indicators / get_index_price_indicators)的 windcode 支持逗号分隔多个标的,单次调用最多 50 个;超过 50 个拆成多批(每批 ≤50)后合并结果。该上限约束“单次调用内的代码数”,与并发上限 10(约束“同时并发的调用数”)相互独立。请求较宽的指标集时相应减少单批代码数,因为响应体积随“代码数 × 字段数”增长。

读回执:每次调用 stdout 只有两种形态。成功时 stdout 是数据对象,后端结果在 content[0].text 里(多为 JSON 字符串),CLI 另附 cli_meta;若存在 content[0].text,优先解析其中的文本或 JSON。数值的单位和量级以返回体自带元数据为准:行情类在 data.unit,列定义中可能带 unit,EDB 在 meta.unit 与 meta.magnitude;元数据未给出时保留原值并说明单位未知,不得自行换算。失败时 stdout 是 { "ok": false, "code": "...", "message": "..." };本地/参数/网络类错误的 code 指明原因(AUTH_ERROR、PARAMS_FILE_ERROR、INVALID_PARAMS_JSON、PARAM_TYPE_ERROR、PARAM_VALIDATION_ERROR、ROUTE_ERROR、USAGE_ERROR、RATE_LIMIT_ERROR、NETWORK_ERROR、TOOL_RUNTIME_ERROR、SETUP_ERROR、UNKNOWN);接口层错误的 code 固定为 backend_error,message 为接口原文。据此向用户说明,或按自检修正后再调用。

修正后再调用前自检:明确上一次的 code 与 message;保持同一 server_type 和 tool_name(只有当前契约证明该工具无法表达所需字段或口径时,才可在同业务域切换);除非错误是 INVALID_PARAMS_JSON,不得修改命令引号或 JSON 转义;除非错误是 PARAM_VALIDATION_ERROR,不得改动业务参数,只按 message 指出的字段修正;参数名和字段值必须来自当前领域契约。

适用场景与限制

收口规则:标的未识别或 NER 失败时,询问用户准确全称或 Wind 标准代码,不得自行补交易所后缀或把名称猜成代码;参数错误时优先按 message 中给出的期望类型、格式、枚举或字段集修正,无法唯一确定时再询问用户;认证、额度、网络、后端不可用、命令传递、路由错误直接报告,不得切 analytics_data 或 wind-alice。

analytics_data 仅处理跨标的聚合、加权平均、排名和复合指标推导,不是复杂问句入口,也不是批量行情入口——行情、K 线、分钟行情和价格指标一律走对应领域的专项工具,标的多就拆成多次调用后合并(改用 analytics_data 既不减少调用次数,还更耗积分);上一次用它取到了数据,不构成下一次跳过专项工具的理由。专项工具因字段、口径或无结果而无法覆盖剩余结构化数据时,才可用它补取。

标的类型或意图不落在领域表任何一行时,直接回 OUT_OF_SCOPE 并说明,不得用 Web Search、analytics_data 或 wind-alice 伪装成支持。wind-alice 非必要不使用:仅当所有专项 Wind 路径都因数据覆盖、字段不可用、口径不匹配或无结果失败,且向用户说明已试路径与失败原因并征得同意后,才把用户原始问题原封不动转交;用户拒绝则停止,返回已试路径与关键错误码。客户端未安装 wind-alice 时,征得同意后由使用方直接执行安装命令:npx skills add Wind-Information-Co-Ltd/wind-skills --skill wind-alice -g -y;国内网络改用镜像 npx skills add https://gitee.com/wind_info/wind-skills.git --skill wind-alice -g -y;仅安装到当前项目时去掉 -g。

成功返回数据时末尾附上数据来源声明,语言与用户提问语言保持一致:

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

Data sourced from Wind Financial Data Service.

完成状态:DONE、DONE_WITH_LIMITS、NO_RESULTS、BLOCKED_KEY、BLOCKED_QUOTA、BLOCKED_RUNTIME、OUT_OF_SCOPE。

关于收费、价格、平台支持范围等具体信息,资料暂未提供。