Longbridge
offiziellUS/HK Märkte — 110 Tools: Echtzeitkurse, Optionen, Orders, Fundamentaldaten, Alarme, DCA & Portfolio
Was kann man mit Longbridge MCP machen?
- Echtzeitkurse — Rufe Live- und historische Kurse, Candlesticks, Markttiefe und Optionsdaten für die Märkte in den USA und Hongkong ab.
- Portfolio und Handel — Prüfe Positionen, Kontostand und Ausführungen oder übermittle, storniere und ersetze Orders, einschließlich mehrteiliger Optionskombinationen.
- Fundamentaldaten und Research — Rufe Finanzberichte, Dividenden, Analysteneinschätzungen, Bewertungen und Unternehmensführungen für eine Aktie ab.
- Screening und Kalender — Führe Aktiensuchen mit dem Screener durch oder prüfe im Finanzkalender anstehende Gewinnmeldungen, Dividenden, Börsengänge und Makrodaten.
- Alarme und wiederkehrende Pläne — Erstelle Kursalarme, verwalte Pläne zum Durchschnittskosteneffekt und richte Grid-Trading-Strategien ein.
- Gefilterte Antworten — Übergib jedem Tool einen
_jq-Ausdruck, um umfangreiche Antworten auf die benötigten Felder zu beschränken.
Gehosteter MCP-Server
npx add-mcp 'https://mcp.longbridge.com'Installiert in Claude Code, Codex, Cursor und mehr
Dokumentation
Longbridge MCP Server
Offizieller MCP-Server für den Longbridge-Broker. 164 Tools für Echtzeitkurse, Optionen, Order-Routing, Fundamentaldaten, Analystenbewertungen, Kalender, IPOs, Kursalarme, DCA-Pläne, Grid-Trading, Portfolioanalysen und Community-Sharelists — für die US- und HK-Märkte. Entwickelt mit Rust unter Verwendung von rmcp und axum.
Jetzt in ChatGPT und Claude verfügbar
Longbridge ist offiziell im ChatGPT Apps-Verzeichnis und im Claude Connectors-Verzeichnis gelistet.
Kommuniziere in natürlicher Sprache mit den Märkten — zu Kursen, Optionen, Fundamentaldaten und deinem eigenen Portfolio —
ohne Konfigurationsdateien bearbeiten oder Tokens einfügen zu müssen.
| An einer Stelle hinzufügen | Dann einfach fragen | |
|---|---|---|
| ChatGPT | Einstellungen → Apps & Connectors → Longbridge hinzufügen | „Wie entwickelt sich NVDA heute?“ · „Zeig mir meine HK-Positionen“ |
| Claude | Einstellungen → Connectors → Longbridge hinzufügen (Web · Desktop · Mobil) | „Vergleiche die Bewertungen von AAPL und MSFT“ · „Gibt es diese Woche IPOs?“ |
Melde dich einmal mit deinem Longbridge-Konto an. Jede Anfrage läuft über denselben gehosteten, durch OAuth 2.1 gesicherten Endpunkt, der unten dokumentiert ist — schreibgeschützte Marktdaten sowie vollständige Konto-, Portfolio- und Trading-Tools, alles durch deine eigenen Zugangsdaten geschützt.
Highlights
- 164 Tools, ein Endpunkt — Kurse, Optionen, Order-Routing, Fundamentaldaten, Analystenrecherchen, Screener, IPOs, Alarme, DCA, Grid-Trading und Portfolioanalysen für die US- und HK-Märkte.
- Von Grund auf zustandslos — Jede Anfrage leitet ihr Bearer-Token direkt an das Longbridge SDK weiter. Keine Sitzungen, keine Datenbank, nichts wird serverseitig gespeichert.
- OAuth 2.1, automatische Erkennung — Metadaten für geschützte Ressourcen nach RFC 9728 und Autorisierungsserver nach RFC 8414; Clients schließen den Ablauf ab, ohne dass ein Token eingefügt werden muss.
- Saubere, typisierte Antworten — snake_case-Felder, RFC-3339-Zeitstempel, menschenlesbare Symbole und typisierte Antwortschemata als MCP-Ressourcen verfügbar.
Entwickelt mit Rust unter Verwendung von rmcp und axum.
Tool-Antworten mit jq filtern
Jedes Tool akzeptiert in seinen Argumenten eine optionale Zeichenfolge _jq. Der Ausdruck wird
auf das vollständige zurückgegebene JSON angewendet, nachdem die normale Antwortserialisierung erfolgt ist. Der Name _jq
ist für die Antwortfilterung reserviert, um Konflikte mit Geschäftsparametern zu vermeiden.
Hinweise zur Verwendung werden einmalig in initialize der MCP-Antwort instructions
übermittelt; jedes Tool-Schema deklariert nur den Namen und Typ des optionalen Parameters.
Zum Beispiel:
{
"name": "quote",
"arguments": {
"symbols": ["AAPL.US", "MSFT.US"],
"_jq": "map({symbol, last_done})"
}
}
Verwende .data[:5], um die ersten fünf Einträge eines data-Arrays zu übernehmen,
.data | map(select(.price > 10)), um Zeilen auszuwählen, oder {total: .total}, um
Felder zu projizieren. Die Ausdrücke verwenden die jq-kompatible Syntax der eingebetteten jaq-
Engine; ein separates ausführbares Programm jq ist nicht erforderlich.
- Lasse
_jqweg (oder übergibnull), um die ursprüngliche Antwort beizubehalten. - Ein einzelner Ausgabewert wird direkt zurückgegeben, mehrere Werte als Array und keine
Werte als
[]. Skalare und Arrays sind JSON-Text; Objekte erscheinen außerdem instructuredContentund enthalten nur die gefilterten Felder. - Klartextantworten sind als JSON-Zeichenfolgen verfügbar. Mehrere Inhaltsblöcke ohne strukturierte Inhalte sind als Array verfügbar.
- Tool-Fehler und Erklärungen zu fehlenden Berechtigungen oder Daten bleiben ungefiltert.
- Leere, ungültige oder nicht als Zeichenfolge vorliegende Ausdrücke werden abgelehnt, bevor das Tool ausgeführt wird. Schlägt die Filterung zur Laufzeit fehl, weist die Antwort ausdrücklich darauf hin, dass das Tool bereits ausgeführt wurde. Schreibvorgänge wie das Platzieren einer Order nicht automatisch wiederholen.
- Der Zugriff auf die Umgebung, Dateisystemimporte und Protokollierungsfilter sind nicht verfügbar. Die Ausgabe ist auf 10.000 Werte und 8 MiB begrenzt; bei Überschreitung eines Limits wird ein Fehler statt eines Teilergebnisses zurückgegeben.
Da Filter die Form der Antwort ändern können, geben Tools kein festes
outputSchema an. Die ursprünglichen typisierten Schemas sind für schemaunterstützte Tools weiterhin über
resources/list und resources/read unter lb://tools/{tool-name}/output-schema verfügbar.
Eigenen Client verbinden
Longbridge betreibt einen gehosteten Endpunkt unter https://mcp.longbridge.com — richte einen beliebigen MCP-Client darauf aus und schließe bei Aufforderung OAuth ab. Die Autorisierung wird automatisch über RFC 9728 erkannt; ein Token muss nicht eingefügt werden.
Claude Code
claude mcp add --transport http longbridge https://mcp.longbridge.com
Claude Desktop — zu claude_desktop_config.json hinzufügen und anschließend neu starten:
{ "mcpServers": { "longbridge": { "url": "https://mcp.longbridge.com" } } }
Codex — Server hinzufügen und anschließend OAuth im Browser abschließen:
codex mcp add longbridge --url https://mcp.longbridge.com
codex mcp login longbridge
Cursor · Cline · Windsurf · Zed · andere Clients — auf https://mcp.longbridge.com mit dem Transport streamable-http ausrichten.
Weitere Claude Code-Befehle
# Local self-hosted instance (see Self-hosting below)
claude mcp add --transport http longbridge-local http://localhost:8000/mcp
claude mcp list # registered servers
claude mcp get longbridge # config + auth status
claude mcp remove longbridge # unregister
claude mcp logout longbridge # re-trigger OAuth after revocation
Bei der ersten Verwendung liest der Client die WWW-Authenticate-Challenge, ruft /.well-known/oauth-protected-resource (RFC 9728) ab und öffnet deinen Browser für den Longbridge-OAuth-Ablauf. Tokens werden pro Sitzung zwischengespeichert und automatisch erneuert.
Die 164 Tools
Zwanzig Kategorien für Marktdaten, Trading, Recherche und Kontoverwaltung.
| Kategorie | Anzahl | Abdeckung |
|---|---|---|
| Quote | 32 | Echtzeit- und historische Kurse, Candlesticks, Markttiefe, Broker, Optionen, Optionsscheine, Watchlists, Kapitalflüsse, Marktstimmung, Short-Positionen, Optionsvolumen |
| Fundamental | 33 | Finanzberichte/-abschlüsse, Geschäftsbereiche, institutionelle Einschätzungen, Branchenvergleich/-bewertung, Dividenden, EPS-Prognosen, Bewertungen und Bewertungsvergleiche, Unternehmensinformationen/Führungskräfte, Aktionäre, Kapitalmaßnahmen, Betriebskennzahlen |
| Trade | 15 | Orderaufgabe/-stornierung/-änderung, kombinierte Multi-Leg-Optionsorders, Positionen, Kontostand, Ausführungen, Cashflow, Margin |
| Market | 15 | Marktstatus, Branchen-/Top-Performer-Ranglisten, Brokerbestände, A/H-Prämie, Handelsstatistiken, Anomalien, Leerverkäufe/Margin, Indexbestandteile |
| DCA | 9 | Dollar-Cost-Averaging-Pläne erstellen/aktualisieren/pausieren/fortsetzen/beenden, Ausführungshistorie, Statistiken, Verfügbarkeitsprüfung |
| Grid | 11 | Grid-Trading-Orders aufgeben/ändern/stornieren/aussetzen/neustarten, Listen-/Detail-/Trigger-Verlauf abrufen, Einrichtungsinformationen je Symbol, einmalige Strategiezustimmung |
| Sharelist | 8 | Community-Sharelists verwalten (CRUD), Mitglieder hinzufügen/entfernen/sortieren, beliebte Listen |
| IPO | 7 | IPO-Zeichnungen, Kalender, gelistete Aktien, Orderdetails, Gewinn-/Verlustanalyse |
| Content | 7 | Nachrichtenliste/-details, Diskussionsthemen verwalten (CRUD) und Antworten |
| Alert | 5 | Kursalarme verwalten (CRUD: hinzufügen, löschen, aktivieren, deaktivieren, auflisten) |
| Screener | 5 | Aktiensuche, Indikatoren, Strategieempfehlungen/-verwaltung |
| Portfolio | 4 | Wechselkurse, Gewinn-/Verlustanalyse (Übersicht, Details, realisiert) |
| ATM | 3 | Bankkarten, Auszahlungsbelege, Einzahlungsbelege |
| Macrodata | 2 | Liste und Details makroökonomischer Indikatoren |
| Search | 2 | Nachrichtensuche, Suche nach Community-Themen |
| Statement | 2 | Kontoauszüge auflisten und exportieren |
| Calendar | 1 | Finanzkalender (Ergebnisse, Dividenden, IPOs, Makrodaten, Börsenschließungen) |
| Quant | 1 | Quant-Indikatorskript auf historischen K-Liniendaten ausführen |
| Authenticate | 1 | OAuth-Codeaustausch für Clients, die keine Browser-Weiterleitung abschließen können |
| Utility | 1 | Aktuelle UTC-Zeit |
Selbst hosten
Du möchtest lieber eine eigene Instanz? Führe das veröffentlichte Image aus:
docker run -p 8443:8443 \
-v /path/to/certs:/certs:ro \
ghcr.io/longbridge/longbridge-mcp \
--bind 0.0.0.0:8443 \
--base-url https://mcp.example.com \
--tls-cert /certs/cert.pem \
--tls-key /certs/key.pem
Setze
--base-urlbei jeder öffentlichen Bereitstellung auf deine extern erreichbare URL — sie wird in den OAuth-Metadaten veröffentlicht, die Clients zur Erkennung des Autorisierungsservers verwenden. Standardmäßig isthttp://localhost:{port}eingestellt, das Remote-Clients nicht verwenden können.
Oder erstelle den Build aus dem Quellcode: cargo build --release && ./target/release/longbridge-mcp.
Konfiguration und Umgebungsvariablen
Die Konfiguration befindet sich unter ~/.longbridge/mcp/config.json (das Verzeichnis lässt sich mit LONGBRIDGE_MCP_CONFIG_DIR überschreiben). CLI-Flags haben Vorrang. Wenn tls_cert und tls_key beide gesetzt sind, läuft der Server über HTTPS, andernfalls über HTTP; base_url ist standardmäßig https://localhost:{port} mit TLS oder http://localhost:{port} ohne TLS.
| Option | Konfigurationsschlüssel | CLI-Flag | Standardwert | Beschreibung |
|---|---|---|---|---|
| Bind-Adresse | bind | --bind | 127.0.0.1:8000 | Adresse, an der der HTTP-Server auf Verbindungen wartet |
| Basis-URL | base_url | --base-url | automatisch | Öffentliche Basis-URL für Ressourcenmetadaten |
| Protokollverzeichnis | log_dir | --log-dir | (stderr) | Verzeichnis für rotierende Protokolldateien |
| TLS-Zertifikat | tls_cert | --tls-cert | (keines) | PEM-Zertifikatsdatei für HTTPS |
| Privater TLS-Schlüssel | tls_key | --tls-key | (keiner) | PEM-Datei mit privatem Schlüssel |
| Canary-Upstream | canary | --canary | false | Verbindung zur Longbridge-Canary-Umgebung herstellen (*.longbridge.xyz). --canary=false erzwingt die Produktionsumgebung, selbst wenn sie in der Konfigurationsdatei aktiviert ist |
Die Umgebung für Festlandchina (*.longbridge.cn) ist kein Flag: Sie wird automatisch ausgewählt, wenn LONGBRIDGE_REGION=cn gesetzt ist (dieselbe Variable, die das SDK verwendet). Daher benötigt ein Cluster auf dem Festland keine eigene Einstellung.
Upstream-Endpunkte werden durch die ausgewählte Umgebung festgelegt:
| Produktion (Standard) | Canary (--canary) | Festlandchina (LONGBRIDGE_REGION=cn) | |
|---|---|---|---|
| OpenAPI | https://openapi.longbridge.com | https://openapi-global.longbridge.xyz | https://openapi.longbridge.cn |
| Quote-WebSocket | wss://openapi-quote.longbridge.com/v2 | wss://openapi-global-quote.longbridge.xyz/v2 | wss://openapi-quote.longbridge.cn/v2 |
| Trade-WebSocket | wss://openapi-trade.longbridge.com/v2 | wss://openapi-global-trade.longbridge.xyz/v2 | wss://openapi-trade.longbridge.cn/v2 |
| OAuth-/Verbindungsseite | openapi.longbridge.com / open.longbridge.com | openapi-global.longbridge.xyz / open.longbridge.xyz | openapi.longbridge.cn / open.longbridge.cn |
Canary verwendet das Gateway -global, nicht openapi.longbridge.xyz: Nur Ersteres wird über CloudFront bereitgestellt und führt das x-dc-region-Data-Center-Routing durch. Der Server benötigt dies, um Zugangsdaten mit den Präfixen us_ und ap_ von einem einzigen Prozess aus zu bedienen.
Canary und Festlandchina fixieren alle oben genannten URLs beim Start. In der Produktion überlässt der Server die Auflösung dem SDK, außer wenn eine us_-Zugangsdaten ohne Upstream-Überschreibung an das globale Gateway .com gebunden wird. Die genauen Auswahlregeln findest du unter src/endpoints.rs.
Erweiterte Umgebungsvariablen — die meisten Bereitstellungen benötigen diese nicht; sie dienen der SDK-Fehlersuche sowie Edge-/Global-Entry-Bereitstellungen.
| Variable | Standardwert | Beschreibung |
|---|---|---|
LONGBRIDGE_MCP_CONFIG_DIR | ~/.longbridge/mcp | Verzeichnis der Konfigurationsdatei |
LONGBRIDGE_PUBLIC_HOSTS | (keiner) | Durch Kommas getrennte Hostnamen, die im vom Edge injizierten Header X-Host akzeptiert werden; passende Anfragen geben diesen Host in der 401-Challenge bzw. den RFC-9728-Metadaten zurück. Nicht gesetzt = X-Host wird ignoriert |
LONGBRIDGE_GLOBAL_OAUTH_URL | (keiner) | Autorisierungsserver-URL, die Anfragen über einen zugelassenen X-Host bekannt gegeben wird (globaler Einstieg über eine einzelne Domain). Nicht gesetzt = Rückgriff auf die OpenAPI-Basis-URL des Modus |
LONGBRIDGE_MCP_QUOTE_WS_IDLE_TTL_SECS | 600 | Leerlaufzeit in Sekunden, bevor ein zwischengespeicherter Quote-WebSocket-Kontext entfernt wird |
LONGBRIDGE_MCP_QUOTE_WS_MAX_CONTEXTS | 1024 | Maximale Anzahl zwischengespeicherter Quote-WebSocket-Kontexte pro Serverprozess |
LONGBRIDGE_MCP_LOG_PAYLOADS | (nicht gesetzt) | 1 hebt die Grenzen für Protokoll-Payloads auf (siehe unten). In der Produktion niemals setzen |
LONGBRIDGE_LOG_PATH | (keiner) | Interner SDK-Protokollpfad. In der Produktion nicht setzen — das SDK schreibt dort ungefilterte Anfrage-/Antwortinhalte hinein |
Protokollierung und Kundendaten
MCP-Anfragen und -Antworten enthalten Kundendaten — Bargeldbestände, Positionen, Orderhistorie — und Upstream-SDK-Frames enthalten Zugriffstoken. Nichts davon gehört in eine Protokolldatei. Deshalb begrenzt der Server die Log-Ziele, die diese Daten ausgeben würden, unabhängig von `RUST_LOG`:| Ziel | Begrenzung | Was andernfalls ausgegeben würde |
|---|---|---|
longbridge_httpcli | warn | OpenAPI-Anfrage- und vollständige Antwort-Bodies (INFO) |
longbridge_wscli | warn | Jeder WebSocket-Frame, einschließlich Auth-Token (INFO) |
longbridge::trade | warn | Order-Push-Ereignisse (INFO) |
rmcp | info | Dekodierte MCP-Anfragen und vollständige Tool-Ergebnisse (DEBUG), rohe JSON-RPC-Frames (TRACE) |
Eine höhere Ausführlichkeit ist also sicher: RUST_LOG=debug (oder trace) liefert die eigenen Logs des Servers, ohne Kundendaten preiszugeben. Zwei standardmäßig deaktivierte Schalter setzen dies außer Kraft — LONGBRIDGE_MCP_LOG_PAYLOADS=1 (entfernt die Begrenzungen; nur lokal mit einem Testkonto verwenden) und LONGBRIDGE_LOG_PATH (weist das SDK an, ungefilterte Bodies in dieses Verzeichnis zu schreiben; bei Aktivierung warnt der Server beim Start).
HTTP-Endpunkte, Authentifizierung und Metriken
Der Server erwartet ein Longbridge-OAuth-Zugriffstoken in Authorization: Bearer <token>. Bei fehlender oder ungültiger Authentifizierung gibt er 401 mit einem WWW-Authenticate-Header zurück, der auf die Metadaten der geschützten Ressource verweist. Diese leiten Clients zum Longbridge-OAuth-Autorisierungsserver.
Sende x-papertrading: true (oder 1) in einer Anfrage, um sie in der Paper-Trading-Umgebung auszuführen. Upstream lehnt eine Paper-Trading-Anfrage mit einem Echtgeld-Token ab. Der Header dient daher als Sicherheitsvorkehrung und nicht als Routing-Schalter: Er kann nur einschränken, was ein Token tun darf. LONGBRIDGE_PAPERTRADING=true aktiviert dies stattdessen für die gesamte Bereitstellung.
| Methode | Pfad | Beschreibung |
|---|---|---|
| GET | /.well-known/oauth-protected-resource | Metadaten geschützter Ressourcen (RFC 9728) |
| GET | /.well-known/oauth-authorization-server | Metadaten des Autorisierungsservers (RFC 8414); kündigt direkte Longbridge-Autorisierungs-/Registrierungsendpunkte sowie proxied Token-/Widerrufsendpunkte an |
| POST | /oauth2/token | OAuth-Token-Proxy; leitet x-dc-region aus dem Code/Refresh-Token ab, standardmäßig AP |
| POST | /oauth2/revoke | OAuth-Widerrufs-Proxy; leitet x-dc-region aus dem Token ab, standardmäßig AP |
| GET | /metrics | Prometheus-Metriken |
| POST/GET/DELETE | /mcp | MCP-Streamable-HTTP-Endpunkt (erfordert Bearer-Token) |
Prometheus-Metriken: mcp_tool_calls_total (Zähler), mcp_tool_call_duration_seconds (Histogramm) und mcp_tool_call_errors_total (Zähler) — jeweils mit dem Label tool_name.
Entwicklung
cargo +nightly fmt # format
cargo clippy # lint
cargo test # test
Lizenz
Veröffentlicht unter der MIT-Lizenz.