mcpField
W
wind-mcp-skill

wind-mcp-skill

github.com/bobibobuyuデータ・データベース6105 回インストール2 日前に更新
リポジトリ

wind-mcp-skill について

wind-mcp-skillは、同梱CLIでWindの金融データを照会するスキルです。金融調査やデータ確認を行うエージェント向けに、業務領域ごとにツールを振り分け、返却データと出典に基づく検証を重視します。

主な機能

  1. 01金融領域ごとの問い合わせ振り分け
  2. 02関連するツール契約と資料の読み込み
  3. 03CLI経由でWind MCPを呼び出し
  4. 04結果・単位・データ基準の確認
  5. 05一括照会とエラーへの対応

活用シーン

  1. 01証券・ファンド・指数・債券の照会
  2. 02経済指標・公告・金融ニュースの取得
  3. 03金融データの抽出・計算・集計

MCP 対応

同梱CLIがWind MCPを呼び出し、エンドポイント、認証、通信を処理します。

インストール

コマンドをコピーしてターミナルで実行します。

$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

詳細

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 であっても、業務上の成功を意味するとは限りません。本文に含まれるパラメーターの拒否、認証、実行失敗に関する情報も処理する必要があります。

コード、名称、エンティティの種類がユーザーの目的と一致していることを確認します。たとえば、ファンド運用会社をファンド商品として回答してはいけません。実際の日付、頻度、単位、桁、通貨、統計上の定義を確認します。メタデータが欠落している、互いに矛盾している、または特定の資産に適用できない場合は、元の値を保持して制約を説明し、推測や無理な換算はしません。計算や単位変換が必要な場合は、明確な入力の定義と説明可能な計算根拠が必要です。

要求された銘柄、フィールド、期間の網羅範囲を確認します。一部のみ有効な場合は有効な部分を返し、欠落、失敗、または該当しない項目を明示します。有効なデータがない場合は、結果が空であること、または実行エラーであることを説明します。

エラーと復旧

エラーが発生した層に応じて読み取ります。失敗時の終了コードは 0 以外です。

  • ローカルのパラメーターやルーティングなどのエラーは通常 { "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 がタイムアウトした場合、自動的に 1 回再試行します。その後に再試行するか、パラメーターを調整するか、別のツールを使用するかは、エラー、試行済みの結果、利用可能な機能に基づいて判断します。代替ツールは、対象データ、時間、定義の要件を満たす必要があります。関連する差異と、取得できなかった部分を説明します。引き続き有効な結果は再利用し、変化のない失敗リクエストの繰り返しは避けます。

自動更新

呼び出しが成功すると、CLI はデータの返却を妨げることなく、バックグラウンドで個人版の更新を確認します。アップデーターはインストールロックファイルに記録された GitHub/Gitee の取得元を引き継ぎ、まず候補バージョンをダウンロードして検証してから、現在の Skill ディレクトリを更新します。Git のダウンロードに失敗した場合は、同じ取得元から npx skills add を使い、隔離ディレクトリに候補パッケージを取得します。ロックファイルがない場合は、公式の GitHub 取得元を使用します。更新前にダウングレードを防止し、更新後に実際のディレクトリを検証します。失敗した場合は、待機時間を設けて再試行します。プロジェクトへのインストールとグローバルインストールのどちらでも、元のディレクトリと設定を保持します。更新元、状態、インストール範囲を確認するには、node scripts/cli.mjs diagnose を実行してください。

データを正常に返した場合は、回答の末尾にユーザーの言語に合わせた出典表記を付けます。

データの出典は、Wind Alice 万得金融データサービスです。

データの出典は、Wind Alice 金融データサービスです。

コメント