tzzb-mcp
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-NutzungCookie-Persistenz (
~/.tzzb_cookies.json), nach einmaligem Login ca. 7 Tage ohne erneuten LoginAutomatische 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 |
| Beim Investment-Ledger anmelden, Cookie extrahieren und persistieren (beim ersten Mal Pflicht) |
| Aktuellen Login-Status prüfen |
| Alle Konten abrufen (inkl. |
| Kontoübersicht (automatischer Fallback, wenn die Schnittstelle nicht verfügbar ist) |
| Portfolio-Übersicht (wie account_summary, inkl. Fallback) |
| Positionsdetails abrufen (Aktien + Fonds) ⭐ |
| Vermögens-/Ertragstrenddaten abrufen |
| Tagesverlauf der Erträge abrufen |
| Tages-Transaktionshistorie abrufen |
| Echtzeitkurse für Aktien abrufen |
| Wechselkurs Hongkong-Dollar zu Renminbi abrufen |
| Informationen zum letzten Handelstag abrufen |
| 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_idvontzzb_positionsstammen austzzb_account_list; ohne Parameter werden aggregierte Daten aller Konten zurückgegeben (kann leer sein).Kursformat
Markt:Code: Shanghai verwendet33(z. B.33:600519), Shenzhen verwendet47(z. B.47:000001). Das Feldmarketin den Positionsdaten entspricht"2"für Shanghai (33) und"1"für Shenzhen (47).Fonds-Positionsschnittstelle nicht verfügbar: Das Feld
fundvontzzb_positionsist immer{"error": "基金持仓接口不可用"}(die zugrunde liegende Schnittstelle gibt HTTP 400 zurück, ein Schutz ist eingebaut). Bitte das Feldfundignorieren und nur die Daten ausstockverwenden.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 Felddateder Vermögensentwicklung hat das FormatYYYYMMDD(z. B.20260827), bei der Anzeige inYYYY-MM-DDumwandeln.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_loginzur 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:
9222Separates Chrome-Profil:
~/.tzzb_chrome_profileCookie-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 |
|
CDP-Anfrage fehlgeschlagen | Chrome läuft nicht oder Verbindung getrennt | Automatische Wiederverbindung im Hintergrund, einmal erneut versuchen; bei weiterem Fehlschlag |
Fonds-Positionen leer / Fehler |
| Schutz eingebaut, Feld |
|
| Fallback auf |
Chrome startet nicht automatisch | — | Manuell starten: |
Lizenz
This server cannot be installed
Maintenance
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
Access real-time and historical market data for China A-shares and Hong Kong stocks, along with ne…
Read-only China A-share data for AI agents: market, limit-up, capital flow and disclosures.
Provide access to Chinese stock market data including historical prices, real-time data, news, and…
Ask your AI about bank accounts, spending, debts, holdings, and investment activity.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables 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.133ISC
- AlicenseBqualityDmaintenanceProvides 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.1220ISC
- FlicenseNot gradedqualityDmaintenanceProvides 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.
- AlicenseAqualityCmaintenanceEnables 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.57MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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