Skip to main content
Glama
trading-a

ths-stock-trading-mcp

by trading-a

同花顺 Web 模擬取引 MCP サービス

同花顺の取引システムを汎用 MCP サービス(stdio)にカプセル化し、あらゆる AI Agent から呼び出せるようにします。

実践例:2 つの MCP を組み合わせた全自動の株売買

  • 本プロジェクトの MCP サービスは「口座ポジション」「注文・取引」を担当します。

  • 同花顺 iFinD AI 金融数据服务 は「データ検索・銘柄選定」「相場情報・市場指標の照会」を担当します(同花顺には無料の試用枠があります)。

2 つのサービスを同じ AI Agent(hermes、codex、claude desktop、workbuddy、trae work、deepseek harness など)に接続すると、 AI に「XX 戦略で自動売買」と伝えるだけで、AI が iFinD で相場を調べて銘柄を選び、取引サービスで自動的に 注文・取消・約定照会まで行います。手動で口座を操作する必要は一切ありません。

重要な注意

  • 先にブラウザを起動してログインした状態の同花顺取引システム(「使用前提」参照)が必要です。これを満たして初めて取引サービスが注文できます。

  • 注文は成行のみ対応で、数量は 100 の整数倍でなければなりません。買い注文の前には AI が資金を、売り注文の前には保有銘柄を確認します。

  • AI による売買の損益は自己責任です! 本ツールの乱用はしないでください。さらに商用利用はできません。

  • 本プロジェクトは模擬取引のみです。検証済みの取引戦略を実口座で運用したい場合は、作者にご連絡ください。解決方法をご用意します。

Related MCP server: QMT MCP Server

使用前提

  1. 手動でブラウザを起動します(启动浏览器.bat を参照):Chrome で 9222 番のデバッグポートを開き、専用ユーザーディレクトリ chrome_profile を使用します。

  2. 手動で同花顺の取引システムにログインし、取引ページまで進みます。

  3. 以上の条件を満たして初めて MCP サービスは正常に動作します。満たしていない場合、各ツールは明確な中国語のエラーメッセージを返します。

環境

  • 推奨 Python バージョン:3.11mcp の依存関係は >=3.10 が必要です。3.10–3.12 はすべて正常に動作します)

  • Python 環境:プロジェクト直下の .venv(仮想環境。作成方法は次節を参照)

  • 依存関係:.venv/Scripts/python.exe -m pip install -r requirements.txt

  • 補足:Playwright は CDP 経由で起動済みのブラウザに接続するため、ブラウザエンジンのダウンロードは不要です。また、アカウントの認証情報はいっさい保存せず、手動でログイン済みのセッションに完全に依存します。

Python 仮想環境の作成

初回使用時は、プロジェクトのルートディレクトリに .venv を作成します(以下のどちらかの方法):

# 方式一:标准库 venv(需本机已安装 Python 3.11,可用 py -3.11 指定版本)
py -3.11 -m venv .venv

# 方式二:uv(更快,未装对应版本时自动下载,推荐)
uv venv --python 3.11 .venv

作成後、依存関係をインストールします:

.venv/Scripts/python.exe -m pip install -r requirements.txt

Windows ではインタープリタのパスは .venv/Scripts/python.exe(Linux/macOS では .venv/bin/python)です。 以降のすべてのコマンドは .venv/Scripts/python.exe を使用します。

MCP 設定ガイド

本サービスは stdio トランスポート で動作し、MCP をサポートするすべてのクライアントから接続できます。中心となる設定はわずか 1 行です。 プロジェクトの .venv にある Python インタープリタで server.py を起動します。

汎用設定(各 Ai Agent 共通)

{
  "mcpServers": {
    "ths-stock-trading-mcp": {
      "command": "D:/workspace_github/ai_ths_moni_trading_mcp/.venv/Scripts/python.exe",
      "args": ["D:/workspace_github/ai_ths_moni_trading_mcp/server.py"]
    }
  }
}

Windows のパスはスラッシュ D:/... で記述できます。.venv の実際のパスが異なる場合は、command を必要に応じて変更してください。

接続確認

接続後、query_account_and_positions / query_deals / query_orders / place_order / cancel_order の 5 つのツールが表示されます。query_account_and_positions で接続確認できます(ブラウザがログイン済みである必要があります)。

ツール

ツール

説明

query_account_and_positions

口座の資金と保有銘柄情報を確認(利用可能残高、資金残高、総資産、証券時価値、保有明細など)

query_deals

当日の約定を確認

query_orders

当日の委託(注文)を確認

place_order

成行注文での買い/売り(direction / stock_code / quantity。数量は 100 の整数倍、成行注文のみ)

cancel_order

未約定の注文を取り消す(order_id は注文番号)

テスト

.venv/Scripts/python.exe -m pytest -v            # 单元测试
PYTHONPATH=. .venv/Scripts/python.exe scripts/e2e.py        # 真实浏览器端到端(需已登录浏览器)
PYTHONPATH=. .venv/Scripts/python.exe scripts/mcp_smoke.py  # MCP stdio 协议冒烟

サービス設定

プロジェクト直下の config.yaml

  • cdp_endpoint:Chrome のリモートデバッグアドレス。デフォルトは http://127.0.0.1:9222启动浏览器.bat 内のデバッグポートを変更した場合は、この項目も同期して変更してください。

  • slow_ms:スロー観察モードの遅延(次節を参照)。

  • refresh_before_tool:MCP ツール実行のたびに、取引ページを更新してログイン切れを検出するかどうか。 true(デフォルト)= 呼び出しごとに取引ページをリロードしてセッションを検出し、タイムアウト時は無効な tab を閉じて取引エリアに入り直します。 false = 従来の高速パスを使用します(右上の口座番号が異常な場合にのみ更新して検出)。 8/18 の注文失敗類の問題(更新後に相場が読み込まれない)が再発した場合は、false に設定するとワンタッチで元に戻せます。

  • delays:注文・取消の各ステップの遅延(ミリ秒)。ネットワーク/プラットフォームの状況に合わせて調整すると成功率を高められます。 このうち quote_timeout がタイムアウトすると、注文ボタンをクリックせずに「下单失败:行情数据未加载…未提交委托」というメッセージを直接返します。 js_settle は取引ページを更新した後、ページ JS の初期化完了を待つ遅延です(デフォルト 3000)。 未設定のキーは自動的にデフォルト値(メニュー 300 / パネル 800 / 相場とポップアップのタイムアウト 8000 / 取消の反映 1000 / JS 初期化完了 3000)が使われます。

スロー観察モード

MCP ツールのブラウザ操作はデフォルトでは高速(1〜2 秒で完了)で、人間がステップごとに確認するのには向きません。プロジェクト直下の config.yamlslow_ms でスロー観察モードを有効にできます。ブラウザ操作のたびにそのミリ秒だけ待機し、サービスの stderr ログに中国語のステップ(例:「填写证券代码 600000 并按回车加载行情」「点击买入下单提交」)を出力します。

config.yamlslow_ms1200(操作ごとに 1.2 秒待機)に変更し、MCP サービスセッションを再起動すると有効になります:

# config.yaml
slow_ms: 1200

0 に設定すると元の速度です。環境変数ではなくファイルで設定するのは、環境変数を注入しないさまざまな AI Agent クライアントにも対応するためです。

既知の制限

  • 注文はプラットフォームのバックエンド相場サービスに依存しています。まれに「暂时不提供[柜台查询证券行情(B)]/后台查询证券代码(B) 功能的服务」というメッセージが返ることがあります。これは取引プラットフォーム側の一時的な障害のため、再試行するか、しばらく待ってから試してください。

  • 取消は委託が「未約定」のときのみ実行できます。約定済み・取消済みの注文は取消可能リストに表示されないため、cancel_order は明確なメッセージを返します。

ディレクトリ構成

  • server.py — MCP サービスのエントリポイント(FastMCP, stdio)

  • config.yaml — サービス設定(スロー観察モードなど)

  • .mcp.json — Claude Code の MCP 接続設定

  • ths/ — ビジネスロジック(ブラウザ操作、セレクタ、パーサー、ページ操作、エラー)

  • scripts/ — 調査用 / エンドツーエンド / プロトコルスモークテスト用スクリプト

  • tests/ — ユニットテストと実ページの fixture

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides AI clients access to TdxQuant/通达信 financial data and trading capabilities through MCP. Enables retrieval of market data, financial reports, sector information, and trading operations via stdio or HTTP/SSE connections.
    25
  • F
    license
    Not graded
    quality
    B
    maintenance
    Wraps the miniQMT interface to enable AI assistants to query A-share market data, account information, and place/cancel orders.
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to access real-time and historical stock market data for A-shares, Hong Kong, US, and global markets, including quotes, K-lines, fund flows, fundamentals, and board data, via a Python SDK and MCP protocol.
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Read-only China A-share data for AI agents: market, limit-up, capital flow and disclosures.

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • Provide access to Chinese stock market data including historical prices, real-time data, news, and…

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/trading-a/ai_ths_moni_trading_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server