Skip to main content
Glama
Mrkelo

tzzb-mcp

by Mrkelo

tzzb-mcp

Tonghuashun Investment Ledger MCP-Server

Über MCP (Model Context Protocol) können persönliche Positionsdetails, Vermögensentwicklung, Transaktionshistorie, Echtzeitkurse und Watchlists mehrerer Konten abgefragt werden. Nach der Anbindung an KI-Assistenten (z. B. WorkBuddy) können diese deine Investment-Ledger-Daten direkt in natürlicher Sprache abfragen.

Funktionen

  • 13 MCP-Tools für Login-Authentifizierung, Konten, Positionen, Trends, Transaktionen, Kurse, Wechselkurse, Handelstage und Watchlist-Abfragen

  • Multi-Konto-Unterstützung: Broker-Konten, manuelle Konten, Margin-Konten (unterschieden nach fund_key / manual_id / rzrq_fund_key)

  • CDP-Browser-Proxy: Alle API-Anfragen werden über das Chrome DevTools Protocol im Browser ausgeführt und nutzen den nativen Netzwerk-Stack des Browsers, wodurch die 401-Anti-Scraping-Sperre bei direkter Python-Verbindung umgangen wird

  • Separates Chrome-Profil (~/.tzzb_chrome_profile), ohne Auswirkungen auf die tägliche Browser-Nutzung

  • Cookie-Persistenz (~/.tzzb_cookies.json), nach einmaligem Login ca. 7 Tage ohne erneuten Login

  • Automatische Wiederverbindung bei Verbindungsabbruch: Bei getrennter CDP-Verbindung wird automatisch einmal neu verbunden

Related MCP server: Stock MCP Server

Systemanforderungen

  • Python ≥ 3.10

  • Chrome-Browser installiert

Installation

cd tzzb-mcp
pip install .

Abhängigkeiten: mcp>=1.0.0, websocket-client>=1.8.0, pydantic>=2.0.0.

Nach der Installation kann der Dienst über den Befehl tzzb-mcp gestartet werden (Einstiegspunkt definiert in [project.scripts] der pyproject.toml).

MCP-Konfiguration

Im MCP-Client (z. B. in der mcp.json von WorkBuddy) über stdio anbinden:

{
  "mcpServers": {
    "tzzb-mcp": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/tzzb-mcp"
    }
  }
}

cwd muss auf das Projektverzeichnis zeigen (das Verzeichnis, das src/ enthält).

Schnellstart

Beim ersten Mal muss zuerst tzzb_login aufgerufen werden: Dieses Tool startet eine Chrome-Debug-Instanz. Du musst dich im Browser beim Investment-Ledger (tzzb.10jqka.com.cn) anmelden. Nach erfolgreichem Login wird das Cookie automatisch extrahiert und persistiert.

1. tzzb_login          → 弹出 Chrome,手动登录投资账本
2. tzzb_account_list   → 获取所有账户的 fund_key / manual_id
3. tzzb_positions      → 查看持仓明细

Tägliche Abfragen:

1. tzzb_account_list   → 获取账户列表
2. tzzb_positions      → 查看具体持仓
3. tzzb_asset_trend    → 查看收益走势(可选)

Tool-Liste

Toolname

Zweck

tzzb_login

Beim Investment-Ledger anmelden, Cookie extrahieren und persistieren (beim ersten Mal Pflicht)

tzzb_login_status

Aktuellen Login-Status prüfen

tzzb_account_list

Alle Konten abrufen (inkl. fund_key, manual_id) ⭐

tzzb_account_summary

Kontoübersicht (automatischer Fallback, wenn die Schnittstelle nicht verfügbar ist)

tzzb_portfolio

Portfolio-Übersicht (wie account_summary, inkl. Fallback)

tzzb_positions

Positionsdetails abrufen (Aktien + Fonds) ⭐

tzzb_asset_trend

Vermögens-/Ertragstrenddaten abrufen

tzzb_time_share

Tagesverlauf der Erträge abrufen

tzzb_trade_records

Tages-Transaktionshistorie abrufen

tzzb_stock_quotes

Echtzeitkurse für Aktien abrufen

tzzb_exchange_rate

Wechselkurs Hongkong-Dollar zu Renminbi abrufen

tzzb_trade_day

Informationen zum letzten Handelstag abrufen

tzzb_watchlist

Watchlist für Aktien und Fonds abrufen

⭐ markiert die am häufigsten verwendeten Tools.

Nutzungsregeln und Hinweise

  • Keine parallelen Aufrufe: Alle Tools teilen sich dieselbe Chrome-CDP-Verbindung (darunter liegt eine globale Sperre). Es kann immer nur ein Tool gleichzeitig aufgerufen werden – bitte seriell aufrufen.

  • Vor Positionsabfrage zuerst die Kontoliste abrufen: Die Parameter fund_key / manual_id von tzzb_positions stammen aus tzzb_account_list; ohne Parameter werden aggregierte Daten aller Konten zurückgegeben (kann leer sein).

  • Kursformat Markt:Code: Shanghai verwendet 33 (z. B. 33:600519), Shenzhen verwendet 47 (z. B. 47:000001). Das Feld market in den Positionsdaten entspricht "2" für Shanghai (33) und "1" für Shenzhen (47).

  • Fonds-Positionsschnittstelle nicht verfügbar: Das Feld fund von tzzb_positions ist immer {"error": "基金持仓接口不可用"} (die zugrunde liegende Schnittstelle gibt HTTP 400 zurück, ein Schutz ist eingebaut). Bitte das Feld fund ignorieren und nur die Daten aus stock verwenden.

  • Feldnamen sind Pinyin-Abkürzungen: Die Kursdaten liefern xianjia (aktueller Preis), zuoshou (gestriger Schlusskurs), zqdm (Code), scdm (Markt); bei der Anzeige müssen diese in Chinesisch gemappt werden.

  • Numerische Felder können Strings sein: Die numerischen Werte in Positionen/Kursen (z. B. "300", "18.09") sind vom Typ String – bei der Verwendung auf die Konvertierung achten.

  • Datumsformat YYYYMMDD: Das Feld date der Vermögensentwicklung hat das Format YYYYMMDD (z. B. 20260827), bei der Anzeige in YYYY-MM-DD umwandeln.

  • Automatischer Wiederholungsversuch bei Verbindungsabbruch: Wenn ein Tool-Aufruf fehlschlägt (CDP-Verbindung getrennt), einfach einmal erneut versuchen – die Verbindung wird automatisch wiederhergestellt. Bei zwei aufeinanderfolgenden Fehlschlägen muss tzzb_login zur erneuten Authentifizierung aufgerufen werden.

Technische Architektur

AI 助手(MCP Client)
      │  stdio
      ▼
tzzb-mcp(MCP Server, Python)
      │  Chrome DevTools Protocol :9222
      ▼
Chrome 浏览器(独立 Profile)
      │  浏览器原生 fetch(携带 Cookie)
      ▼
同花顺投资账本 API(tzzb.10jqka.com.cn)
  • CDP-Debug-Port: 9222

  • Separates Chrome-Profil: ~/.tzzb_chrome_profile

  • Cookie-Persistenz: ~/.tzzb_cookies.json (Gültigkeit ca. 7 Tage)

  • Globale Sperre für serielle Aufrufe, automatische Wiederverbindung bei CDP-Abbruch

Verzeichnisstruktur

tzzb-mcp/
├── pyproject.toml        # 项目配置与依赖
├── src/
│   ├── server.py         # MCP 服务入口(工具注册)
│   ├── auth.py           # 登录、Cookie 提取与持久化
│   ├── client.py         # Chrome CDP 连接与请求代理
│   ├── models.py         # 数据模型
│   └── api/              # 各业务接口封装
│       ├── account.py    # 账户列表 / 总览
│       ├── position.py   # 持仓明细
│       ├── market.py     # 行情 / 汇率 / 交易日
│       ├── trade.py      # 交易记录 / 分时收益 / 资产趋势
│       └── watchlist.py  # 自选列表
└── SKILL.md              # AI 助手使用技能文档(工具详细说明)

Fehlerbehebung

Symptom

Ursache

Lösung

Fehler „Nicht angemeldet"

Cookie fehlt oder abgelaufen

tzzb_login aufrufen, um sich erneut anzumelden

CDP-Anfrage fehlgeschlagen

Chrome läuft nicht oder Verbindung getrennt

Automatische Wiederverbindung im Hintergrund, einmal erneut versuchen; bei weiterem Fehlschlag tzzb_login aufrufen

Fonds-Positionen leer / Fehler

merge_fund-Schnittstelle nicht mehr verfügbar (HTTP 400)

Schutz eingebaut, Feld fund einfach ignorieren

tzzb_portfolio liefert leere Daten

get_account_init-Schnittstelle nicht verfügbar

Fallback auf get_account_list eingebaut, Nutzung nicht beeinträchtigt

Chrome startet nicht automatisch

Manuell starten: chrome --remote-debugging-port=9222 --remote-allow-origins=*

Lizenz

Apache License 2.0

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables querying financial data including stocks, indices, funds, and futures from Chinese, Hong Kong, and US markets. Provides real-time market information, financial indicators, news, and trading suggestions through Eastmoney and Sina data sources.
    13
    3
    ISC
  • A
    license
    B
    quality
    D
    maintenance
    Provides real-time market data for A-shares, Hong Kong, and US stocks using the Tencent Finance API. It enables users to manage stock positions and watchlists through an AI assistant.
    12
    20
    ISC
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time quotes, fund flows, and corporate announcements for Chinese A-share stocks. It enables users to search for stocks, analyze financial indicators, and summarize quarterly reports through natural language.
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to query real-time A-share stock data, including quotes, fund flows, sector flows, and K-line history, without needing an API key.
    5
    7
    MIT

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/Mrkelo/tzzb-mcp'

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