wind-mcp-skill
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese<!-- ENCODING: UTF-8. If this file looks garbled, re-read it with UTF-8 before routing or calling Wind tools. -->
<!-- ENCODING: UTF-8. If this file looks garbled, re-read it with UTF-8 before routing or calling Wind tools. -->
Wind 万得金融数据
Wind Financial Data
通过本地 CLI 调用 Wind 的 7 个 MCP 服务取数,只基于返回结果回答。只报告 Wind 返回值和必要限制,不补常识、不补点评。
每个问题按四步处理:① 定路由 → ② 发命令 → ③ 读回执 → ④ 收口。②③ 之间可以按回执里的错误信息修正参数后再调用,每次再调用前都要过一遍第 3 节的自检项。
Retrieve data by calling Wind's 7 MCP services via local CLI, and answer only based on the returned results. Only report Wind return values and necessary limitations, without supplementing common knowledge or commentary.
Each question is processed in four steps: ① Route determination → ② Send command → ③ Read receipt → ④ Wrap up. Between steps ② and ③, you can correct parameters according to the error information in the receipt and call again. Before each re-call, go through the self-check items in Section 3.
1. 定路由
1. Route Determination
先按标的类型选 ,只读该行的一份契约;参数一律以这份契约为准,不读其它领域的契约,不凭记忆填参数名或字段值。
server_type | 覆盖 | 必读契约 |
|---|---|---|
| 股票筛选、行情、K 线、分钟行情、档案、财务、股东、事件、技术、风险 | |
| 基金 / ETF / LOF 筛选、行情、K 线、分钟行情、档案、财务、持仓、业绩、持有人、公司 | |
| 指数 / 板块行情、K 线、分钟行情、档案、基本面、技术 | |
| 债券档案、发债主体、行情估值、主体财务 | |
| 公告、年报、季报、招股书、财经新闻 | |
| 宏观、行业和汇率 EDB 指标 | |
| 跨标的聚合、加权平均、排名、复合指标推导 | |
意图可能多义时按这个顺序仲裁:
- 公告、年报、季报、招股书、监管披露 →
financial_docs.get_company_announcements - 新闻、快讯、报道、评论 →
financial_docs.get_financial_news - 宏观、行业或汇率 EDB 指标(产销量、CPI、利率、汇率指标等,即使未出现“宏观”字样)→ 只需指标元信息/确认代码走 ,要具体数值时间序列走
economic_data.search_economic_indicatoreconomic_data.query_economic_indicator_data - 未指定具体标的的筛选请求 → 对应领域的 ;
search_*返回计算结果,不返回实体列表。analytics_data - 最新价、涨跌幅、成交量、K 线、分钟线、区间走势 → 对应领域行情工具;历史区间一律走 K 线。
- 财务、股本、股东、事件、技术、风险、持仓、业绩 → 对应领域自然语言工具。
标的类型或意图不落在上表任何一行时,直接回 并说明,不得用 Web Search、 或 伪装成支持。
OUT_OF_SCOPEanalytics_datawind-aliceanalytics_dataanalytics_data涉及行业且用户未指定分类体系时,默认 Wind 行业分类。
First select according to the underlying asset type, and only read the contract for that row; all parameters shall be based on this contract. Do not read contracts from other domains, and do not fill in parameter names or field values from memory.
server_type | Coverage | Required Contract |
|---|---|---|
| Stock screening, market quotes, K-line, minute-level quotes, profiles, financials, shareholders, events, technical indicators, risk | |
| Fund / ETF / LOF screening, market quotes, K-line, minute-level quotes, profiles, financials, holdings, performance, holders, companies | |
| Index / sector market quotes, K-line, minute-level quotes, profiles, fundamentals, technical indicators | |
| Bond profiles, bond issuers, market quotes and valuation, issuer financials | |
| Announcements, annual reports, quarterly reports, prospectuses, financial news | |
| Macro, industry and exchange rate EDB indicators | |
| Cross-asset aggregation, weighted average, ranking, composite indicator derivation | |
When the intent may be ambiguous, arbitrate in the following order:
- Announcements, annual reports, quarterly reports, prospectuses, regulatory disclosures →
financial_docs.get_company_announcements - News, flash updates, reports, commentary →
financial_docs.get_financial_news - Macro, industry or exchange rate EDB indicators (production and sales volume, CPI, interest rates, exchange rate indicators, etc., even if the word "macro" does not appear) → For indicator meta information / code confirmation only, use ; for specific numerical time series, use
economic_data.search_economic_indicatoreconomic_data.query_economic_indicator_data - Screening requests without specifying specific underlying assets → in the corresponding domain;
search_*returns calculation results, not entity lists.analytics_data - Latest price, price change percentage, trading volume, K-line, minute-level line, interval trend → Use market quote tools in the corresponding domain; historical intervals always use K-line.
- Finance, share capital, shareholders, events, technical indicators, risk, holdings, performance → Use natural language tools in the corresponding domain.
If the underlying asset type or intent does not fall into any row of the above table, directly return and explain. Do not disguise support with Web Search, or .
OUT_OF_SCOPEanalytics_datawind-aliceanalytics_dataanalytics_dataWhen industries are involved and the user does not specify a classification system, Wind industry classification is used by default.
2. 发命令
2. Send Command
先 到本 所在目录(不是当前项目目录),再用相对路径执行:
cdSKILL.mdbash
node scripts/cli.mjs call <server_type> <tool_name> '<params_json>'一个可直接运行的完整例子:
bash
node scripts/cli.mjs call stock_data get_stock_price_indicators '{"windcode":"600519.SH"}'参数取值一律回契约拿,不得从本例外推。
参数传递:POSIX shell 优先传内联 ;非 POSIX 环境(PowerShell / cmd / 经 workbuddy、Codex 等执行器包装)一律将 UTF-8 JSON 参数文件生成到 ,以 传入,调用后删除。不复用共享文件,不在 skill 根目录生成。
<params_json>scripts/request-<唯一后缀>.json@scripts/request-<唯一后缀>.jsonKey:不得只检查部分配置来源就声称没有 API Key。必须先实跑一次;只有返回 且明确为未配置,才能判定缺失,并按信封中的指引处理。
AUTH_ERROR批量与并发:默认串行(并发 1)。需要对 2 个及以上标的逐项调用时,先只发第一个作为探针,探针成功返回数据、未出现错误信封,才继续其余;探针返回错误信封立即终止该批次,不得把相同调用扩散到其它标的。不同 或不同参数结构分别分组,每组各发一次探针。用户明确要求并发时上限 10,一旦某次返回 或 就停止新请求并恢复串行。
server_type + tool_nameRATE_LIMIT_ERRORbackend_error价格指标工具( / / )的 支持逗号分隔多个标的,单次调用最多 50 个;超过 50 个拆成多批(每批 ≤50)后合并结果。该上限约束"单次调用内的代码数",与上面的并发上限 10(约束"同时并发的调用数")相互独立。请求较宽的指标集( 字段数较多)时相应减少单批代码数,因为响应体积随"代码数 × 字段数"增长。
get_stock_price_indicatorsget_fund_price_indicatorsget_index_price_indicatorswindcodeindexesFirst to the directory where this is located (not the current project directory), then execute with a relative path:
cdSKILL.mdbash
node scripts/cli.mjs call <server_type> <tool_name> '<params_json>'A complete example that can be run directly:
bash
node scripts/cli.mjs call stock_data get_stock_price_indicators '{"windcode":"600519.SH"}'Parameter values must always be obtained from the contract, and must not be extrapolated from this example.
Parameter passing: For POSIX shell, inline is preferred; for non-POSIX environments (PowerShell / cmd / wrapped by executors such as workbuddy, Codex, etc.), always generate a UTF-8 JSON parameter file to , pass it in as , and delete it after the call. Do not reuse shared files, and do not generate them in the skill root directory.
<params_json>scripts/request-<unique suffix>.json@scripts/request-<unique suffix>.jsonKey: Do not claim there is no API Key just by checking some configuration sources. You must run it once first; only when is returned and it is clearly unconfigured can you determine that it is missing, and handle it according to the instructions in the envelope.
AUTH_ERRORBatch and concurrency: Serial by default (concurrency 1). When you need to call item by item for 2 or more underlying assets, first send only the first one as a probe. Only when the probe successfully returns data and no error envelope appears, continue with the rest; if the probe returns an error envelope, immediately terminate this batch, and do not spread the same call to other underlying assets. Different or different parameter structures are grouped separately, and each group sends one probe. When the user explicitly requires concurrency, the upper limit is 10. Once a call returns or , stop new requests and resume serial execution.
server_type + tool_nameRATE_LIMIT_ERRORbackend_errorThe parameter of price indicator tools ( / / ) supports multiple underlying assets separated by commas, up to 50 per call; if there are more than 50, split into multiple batches (≤50 per batch) and merge the results. This upper limit constrains "the number of codes in a single call", which is independent of the above concurrency upper limit of 10 (which constrains "the number of concurrent calls at the same time"). When requesting a wider set of indicators (more fields in ), reduce the number of codes per batch accordingly, as the response size grows with "number of codes × number of fields".
windcodeget_stock_price_indicatorsget_fund_price_indicatorsget_index_price_indicatorsindexes3. 读回执
3. Read Receipt
每次调用的 stdout 只有两种形态:成功是数据对象,失败是带 的错误信封。
ok:false成功:stdout 是数据对象,后端结果在 里(多为 JSON 字符串),CLI 另附一个 。直接读;若存在 ,优先解析其中的文本或 JSON。
content[0].textcli_metacontent[0].text- 数值的单位和量级以返回体自带的元数据为准:行情类在 ,列定义中可能带
data.unit,EDB 在unit与meta.unit。元数据未给出时保留原值并说明单位未知,不得自行换算。meta.magnitude
失败:stdout 是 。本地/参数/网络类错误的 指明原因(、、、、、、、、、、、);接口层错误的 固定为 , 为接口原文。据此向用户说明,或按下面的自检修正后再调用。
{ "ok": false, "code": "...", "message": "..." }codeAUTH_ERRORPARAMS_FILE_ERRORINVALID_PARAMS_JSONPARAM_TYPE_ERRORPARAM_VALIDATION_ERRORROUTE_ERRORUSAGE_ERRORRATE_LIMIT_ERRORNETWORK_ERRORTOOL_RUNTIME_ERRORSETUP_ERRORUNKNOWNcodebackend_errormessage修正后再调用前自检(逐条核对):
- 明确上一次的 与
code。message - 保持同一 和
server_type;只有当前契约证明该工具无法表达所需字段或口径时,才可在同业务域切换。tool_name - 除非错误是 ,不得修改命令引号或 JSON 转义。
INVALID_PARAMS_JSON - 除非错误是 (含缺必填、类型、枚举、成对/互斥、日期顺序等参数问题),不得改动业务参数;只按
PARAM_VALIDATION_ERROR指出的字段修正。message - 参数名和字段值必须来自当前领域契约。
The stdout of each call has only two forms: a data object on success, and an error envelope with on failure.
ok:falseSuccess: stdout is a data object, the backend result is in (mostly JSON strings), and the CLI additionally attaches a . Read it directly; if exists, prioritize parsing the text or JSON in it.
content[0].textcli_metacontent[0].text- The unit and magnitude of numerical values shall be based on the metadata included in the response: for market quote types, it is in , column definitions may include
data.unit, and for EDB, it is inunitandmeta.unit. If the metadata is not provided, keep the original value and state that the unit is unknown. Do not convert it yourself.meta.magnitude
Failure: stdout is . The of local/parameter/network errors indicates the cause (, , , , , , , , , , , ); the of interface layer errors is fixed as , and is the original interface text. Explain to the user based on this, or correct and re-call according to the self-check below.
{ "ok": false, "code": "...", "message": "..." }codeAUTH_ERRORPARAMS_FILE_ERRORINVALID_PARAMS_JSONPARAM_TYPE_ERRORPARAM_VALIDATION_ERRORROUTE_ERRORUSAGE_ERRORRATE_LIMIT_ERRORNETWORK_ERRORTOOL_RUNTIME_ERRORSETUP_ERRORUNKNOWNcodebackend_errormessageSelf-check before re-calling after correction (check item by item):
- Clarify the and
codeof the last call.message - Keep the same and
server_type; you can only switch within the same business domain if the current contract proves that the tool cannot express the required fields or caliber.tool_name - Unless the error is , do not modify command quotes or JSON escaping.
INVALID_PARAMS_JSON - Unless the error is (including missing required parameters, type, enumeration, paired/mutually exclusive, date order and other parameter issues), do not modify business parameters; only correct the fields indicated in
PARAM_VALIDATION_ERROR.message - Parameter names and field values must come from the current domain contract.
4. 收口
4. Wrap Up
标的未识别或 NER 失败时,询问用户准确全称或 Wind 标准代码,不得自行补交易所后缀或把名称猜成代码。参数错误时优先按 中给出的期望类型、格式、枚举或字段集修正;无法唯一确定时再询问用户。
message认证、额度、网络、后端不可用、命令传递、路由错误:直接报告,不得切 或 。
analytics_datawind-alicewind-alicewind-alicenpx skills add Wind-Information-Co-Ltd/wind-skills --skill wind-alice -g -ynpx skills add https://gitee.com/wind_info/wind-skills.git --skill wind-alice -g -y-g成功返回数据时末尾附上数据来源声明,语言与用户提问语言保持一致(中文问句用中文,英文问句用英文):
数据来源于万得 Wind 金融数据服务。
Data sourced from Wind Financial Data Service.
完成状态:、、、、、、。
DONEDONE_WITH_LIMITSNO_RESULTSBLOCKED_KEYBLOCKED_QUOTABLOCKED_RUNTIMEOUT_OF_SCOPEWhen the underlying asset is not recognized or NER fails, ask the user for the accurate full name or Wind standard code. Do not add exchange suffixes yourself or guess names as codes. When there is a parameter error, prioritize correcting according to the expected type, format, enumeration or field set given in ; ask the user only when it cannot be uniquely determined.
messageAuthentication, quota, network, backend unavailability, command delivery, routing errors: report directly, do not switch to or .
analytics_datawind-alicewind-alicewind-alicenpx skills add Wind-Information-Co-Ltd/wind-skills --skill wind-alice -g -ynpx skills add https://gitee.com/wind_info/wind-skills.git --skill wind-alice -g -y-gWhen data is successfully returned, attach a data source statement at the end, with the language consistent with the user's question (Chinese for Chinese questions, English for English questions):
数据来源于万得 Wind 金融数据服务。 Data sourced from Wind Financial Data Service.
Completion status: , , , , , , .
DONEDONE_WITH_LIMITSNO_RESULTSBLOCKED_KEYBLOCKED_QUOTABLOCKED_RUNTIMEOUT_OF_SCOPE