mcpField
C
China Exchange Data

China Exchange Data

リモート
pipeworx.io金融データ04 日前に更新
リポジトリ公式サイト

China Exchange Data について

China Exchange Dataは、SZSEとSSEのデータで中国本土株を調べる利用者向けのMCPサーバーです。業種別売買代金ランキング、指数バー、SSEの最新市場スナップショット、企業公告を提供します。

主な機能

  1. 01業種別売買代金ランキング
  2. 02指数の日足・週足バー
  3. 03SSEの最新市場スナップショット
  4. 04コード指定によるSSE企業公告

活用シーン

  1. 01業種間の売買代金比較
  2. 02主要指数の値動き確認
  3. 03最新取引日のSSE銘柄スクリーニング
  4. 04SSE上場企業の公告取得

MCP 対応

SZSEとSSEの取引所データを扱う4つのツールをMCPクライアントに提供します。stdioでローカル実行するか、Pipeworxゲートウェイ経由で利用できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://gateway.pipeworx.io/china-exchange-data/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

@pipeworx/china-exchange-data

中国本土の2つの取引所、SZSE(深圳)とSSE(上海)からライブ市場データを直接取得します。両取引所は同一管轄区域にあるため、1つのパックにまとめています。@pipeworx/china-stocks がカバーしていない業種・セクター別売買代金ランキング、指数の日足・週足、スクリーニング用の全市場ボードスナップショット、コード別の企業公告を補完します。

Pipeworx の一部です。AI エージェントを1875以上のライブデータソースに接続するMCPゲートウェイです。これは独立した非公式の統合であり、上流プロバイダーとの提携、承認、公開はありません。

セクター別売買代金、主力資金の純流入、指数の日足、公告 — 深交所・上交所のA株市場データインターフェース

ツール

  • ashares_sector_flows({ date?, top? }) — SZSE公式の業種別売買代金ランキング:売買代金(億元)、出来高、企業数、時価総額、加重平均PERを取得します。これは売買代金であり、ベンダーが提供する「主力資金の純流入」(大口注文の純流入)指標ではありません。その理由については、以下の「データソース」をご覧ください。
  • ashares_index_bars({ index?, days?, weeks? }) — 主要指数の日足または週足のOHLC、出来高、売買代金を取得します。000001 上海総合指数、000016 上証50、000300 CSI 300、000688 科創50 STAR50(以上はSSE)、399001 深セン成分指数、399006 ChiNext(以上はSZSE)に対応します。
  • ashares_market_bars({ date?, limit?, sort? }) — SSEボード全体の直近セッションのスナップショット(約2,358銘柄):コード、名称、直近価格、変動率、出来高、売買代金を取得します。SSEのみです。以下の制限事項をご覧ください。
  • ashares_bulletins({ code, since?, type?, limit? }) — SSE上場企業の開示公告を6桁コードで取得します。タイトル、種類、日付、PDF URLを含みます。SSEのみです。

認証

キーは不要です。4つの上流エンドポイントはいずれも、認証なしで利用できる公開JSON/JSONPエンドポイントです。どのエンドポイントでも、同一サイトのRefererヘッダーが必要です。指定しない場合、リクエストは4xxエラーでブロックされます。

データソース

  • SZSE レポート API — https://www.szse.cn/api/report/ShowReport/data?SHOWTYPE=JSON&CATALOGID=<id>。Referer: https://www.szse.cn/market/trend/index.html を指定します。CATALOGID=1804_gptj_merge_after(股票行业统计)は業種別の売買高レポートで、txtQueryDate が必要です。カタログ ID は SZSE によって文書化されておらず、市場数据 → 股票数据 → 行业统计を閲覧中に、サイト自身のネットワーク呼び出しから読み取りました。このパックで使用するのは 1804_gptj_merge_after のみです。1110(A股列表、企業の静的メタデータ — コード/名称/上場日/業種。価格データなし)と 1815_stock_snapshot(コード単位の株価履歴。特定の証券コードが必要で、一括スナップショットではない)は調査しましたが、市場全体の一括レポートには役立たないことが分かりました。
  • SZSE 株価履歴 — https://www.szse.cn/api/market/ssjjhq/getHistoryData?cycleType=<32|33>&marketId=1&code=<code>。同じ Referer を指定します。cycleType=32 は日次、cycleType=33 は週次です(5/6/7/8/16/33/40/48 をテストして実証済み。7/8/16 は日中の分足、32/33 は日単位/週単位で間隔の空いた行が正常に返された唯一の値です)。marketId=1 は SZSE の株式(例:000001 平安银行)と SZSE の指数(例:399001 深证成指)の両方で機能します。SZSE は市場 ID では株式と指数を区別せず、コードだけで区別します。行の形式はSZSE によって文書化されておらず、データからリバースエンジニアリングしました:[date, open, close, low, high, change, change_pct, volume, amount](全行で low <= open,close <= high が成り立ち、close + (-change) ≈ 表示されている前日の終値となることを確認済みです)。
  • SSE 公開株価システム(yunhq) — http://yunhq.sse.com.cn:32041/v1/sh1/...。プレーン HTTP のみです。この環境では文書化された TLS ポートから応答がなく、HTTP は応答しました。/dayk/<code>?begin=-N&end=-1&period=day|week は、単一の sh1 名前空間を通じて、任意の SSE コードまたは SSE 指数の OHLCV バーを返します(000001 上证指数と 600519 贵州茅台はどちらも同じパスで取得できます。SSE も株式と指数の名前空間を分けていません)。行 = [date(YYYYMMDD), open, high, low, close, volume, amount]。/list/exchange/equity?select=...&begin=&end= は、1 回のページング呼び出しで SSE 株式ボード全体(約 2,358 行)を返します:[code, name, last, chg_rate_pct, volume, amount] — 行ごとの OHLC はなく、終値/変動率/売買高/売買代金のみです。また、これはライブの最新取引セッションのスナップショットであり、任意の過去の日付を指定して取得することはできません(テスト済み:日付パラメーターを指定しても結果は変わりません)。
  • SSE 公告 — https://query.sse.com.cn/security/stock/queryCompanyBulletinNew.do?productId=<code>(JSONP、Referer: https://www.sse.com.cn/disclosure/listedinfo/announcement/)。機能するパラメーターは productId です。securityCode/SECURITY_CODE(サイト自身の commonQuery.do?sqlId=COMMON_PL_SSGSXX_ZXGG_NUM_L 件数エンドポイントでは受け付けられるパラメーター)はこのエンドポイントでは黙って無視され、total: 0 が返されます。サーバー側の beginDate/endDate も、試したどの形式でも total: 0 を返します。このパックの since フィルターは、返された SSEDATE フィールドに対してクライアント側で適用され、十分な行が集まるか、ページの最も古い日付が since より前になるまで、pageHelp.pageNo を使ってページをさかのぼります。

実装されていない機能とその理由

  • 文字どおりの主力资金净流入(大口注文に分類した資金純流入)はありません。 SZSE も SSE も、この算出指標を公開していません。これはベンダー独自の数値です(East Money/同花顺式のトラッカーが、ティック単位の注文分類から算出しています)。push2.eastmoney.com は中国以外の IP からは空であることが確認されており(docs/china-vertical-plan.md と project_china_ashares_pack のメモを参照)、いずれにしても SZSE/SSE のデータをソースとするこのパックの対象外です。代わりに ashares_sector_flows は、SZSE が公式に公開する業種別の売買代金ランキングを報告します。これは実際にリアルタイムで取引所が公開している数値で、「今日、どのセクターが活況か」という同じ問いに答えるものです。資金流入ではなく売買代金として、正確にラベル付けしています。
  • 任意の過去日について、市場全体の完全なローソク足データはありません。 見つかった市場全体を一括取得できる唯一のエンドポイント(SSE yunhq の銘柄一覧)は、現在または最新セッションのスナップショットです。SZSE の銘柄別スナップショットレポート(1815_stock_snapshot)では、呼び出しごとに特定の証券コードが必要です。そのため、過去日の市場全体のデータセットを再構成するには、SZSE だけで約 2,900 回、さらに SSE 側の呼び出しも必要となり、単一のツール呼び出しでは実現できません。ashares_market_bars は、常に取得可能な最新の SSE セッションを返し、要求された日付と一致しない場合は date_note でその旨を明示します。行を黙って置き換えたり、捏造したりすることはありません。このツールは SZSE を対象としていません(調査にかけられる時間内に、同等の一括取得エンドポイントは見つかりませんでした)。これはツールの説明と、フリートタスクの完了メモに未解決のギャップとして記載しており、黙って除外してはいません。
  • ashares_market_bars と ashares_bulletins は SSE 専用です。 調査に使える時間内に、一括取得できる銘柄一覧または速報 API に相当する SZSE のエンドポイントは見つかりませんでした。SZSE の速報は別の開示システム(www.szse.cn/disclosure/)にあり、このパックではまだ調査していません。

次に作業する人向けの注意点

  • ここにある SZSE と SSE のすべてのエンドポイントは、上記の正確な Referer を指定しないと 403/400 を返します。
  • SSE の queryCompanyBulletinNew.do ではパラメーター名の不一致(securityCode ではなく productId)がメタデータからは分かりません。どのパラメーター名を送っても、レスポンスの JSON ではそれが securityCode の下にそのまま返されます。誤った名前でも同様で、その場合も total: 0 が返ります。実際にフィルターとして機能するのは productId だけです。
  • yunhq.sse.com.cn:32041 はこの環境では HTTP のみです。HTTPS で再試行するループに時間を費やさないでください。
  • SZSE の ssjjhq/getHistoryData のフィールド順は、公開情報としてどこにも文書化されていません。SZSE がペイロードの形式を変更した場合は、low <= min(open,close)/high >= max(open,close) の妥当性チェックで再確認してください。

クイックスタート

MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します。

{
  "mcpServers": {
    "china-exchange-data": {
      "url": "https://gateway.pipeworx.io/china-exchange-data/mcp"
    }
  }
}
このエンドポイントが実際に提供するもの

https://gateway.pipeworx.io/china-exchange-data/mcp の tools/list は、上記の表にあるツールに加えて、共有 Pipeworx メタツールも返します。これには ask_pipeworx、discover_tools、search_within、remember/recall など、ゲートウェイ全体で利用できるツールが含まれます。そのため、表示されるツール数はこの表の数より多くなります。現在、単一パックのエンドポイントには、そのパック独自のツールとともに共有ツールがおよそ 30 個表示されます。接続の initialize レスポンスには正確なスコープが記載されており、その日の状況を知るための正式な情報源です。

これは意図的なもので、偶然に多重化されているわけではありません。メタツールを使うことで、このパックの対象外の質問にも、カタログ全体を横断してルーティングする ask_pipeworx を通じて回答できます。そのため、MCP サーバーをもう 1 つ追加する必要はありません。現在、メタツールを含めずにパックのエンドポイントを接続する方法はありません。追加のスキーマによるコンテキスト消費がルーティングの利点を上回る場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度接続してください。

このパックのツールだけでなく、すべてのパックのツールを直接一覧表示するには、Pipeworx のフルゲートウェイに接続します。

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

どちらの URL も、同じゲートウェイと同じ 1875 以上のデータソースに接続します。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも、ask_pipeworx を使ってすべてのツールにアクセスできます。

MCP クライアントがない場合は、HTTP 経由で呼び出せます

curl -X POST https://gateway.pipeworx.io/v1/tools/ashares_sector_flows \
  -H 'Content-Type: application/json' \
  -d '{"top":10}'

最初の呼び出しにアカウントは必要ありません。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/ashares_sector_flows を使用します。ツールを検索するには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を使用します。

スタンドアロン(ゲートウェイアカウント不要)

このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイへの往復通信も不要です。

{
  "mcpServers": {
    "china-exchange-data": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-china-exchange-data"]
    }
  }
}

または、直接実行して起動を確認できます。

npx -y @pipeworx/mcp-china-exchange-data

stdin/stdout 経由で MCP を通信し、initialize/tools/list/tools/call に応答します。対象はこのパックのツールのみで、上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールで、ask_pipeworx によるルーティングはありません。

ask_pipeworx を使用する

ツールを直接呼び出す代わりに、自然な英語で質問できます。これは上記のパックエンドポイントとフルゲートウェイの両方で利用できます。

ask_pipeworx({ question: "your question about China Exchange Data data" })

ゲートウェイが適切なツールを選択し、引数を自動的に入力します。

詳細

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。