Longbridge

officiel

Marchés US/HK — 110 outils : cotations en temps réel, options, ordres, fondamentaux, alertes, DCA et portefeuille

Que pouvez-vous faire avec Longbridge MCP ?

  • Cours en temps réel — Demandez des cours en direct et historiques, des chandeliers, la profondeur du marché et des données sur les options pour les marchés américain et hongkongais.
  • Portefeuille et trading — Consultez vos positions, votre solde et vos exécutions, ou soumettez, annulez et remplacez des ordres, y compris des combinaisons d’options à plusieurs jambes.
  • Données fondamentales et recherche — Récupérez les états financiers, les dividendes, les avis des analystes, les valorisations et les dirigeants d’une entreprise pour une action.
  • Sélection et calendriers — Lancez des recherches avec le filtreur d’actions ou consultez le calendrier financier pour les résultats, les dividendes, les introductions en bourse et les données macroéconomiques.
  • Alertes et plans récurrents — Créez des alertes de prix, gérez des plans d’investissement périodique et configurez des stratégies de trading sur grille.
  • Réponses filtrées — Transmettez une expression _jq à n’importe quel outil pour réduire les réponses volumineuses aux seuls champs dont vous avez besoin.

Serveur MCP hébergé

npx add-mcp 'https://mcp.longbridge.com'

S’installe dans Claude Code, Codex, Cursor et plus

Documentation

Longbridge

Serveur MCP Longbridge

ChatGPT App Claude Connector Official MCP Registry LobeHub longbridge-mcp MCP server License Longbridge

Serveur MCP officiel pour le courtier Longbridge. 164 outils couvrant les cotations en temps réel, les options, le routage des ordres, les données fondamentales, les évaluations des analystes, les calendriers, les introductions en bourse, les alertes de prix, les plans d’investissement programmé, le trading sur grille, l’analyse de portefeuille et les listes de partage communautaires — pour les marchés américain et hongkongais. Développé en Rust avec rmcp et axum.


Désormais disponible dans ChatGPT et Claude

Longbridge figure officiellement dans l’annuaire des applications ChatGPT et l’annuaire des connecteurs Claude.
Échangez avec les marchés en langage courant — cotations, options, données fondamentales et votre propre portefeuille —
sans fichiers de configuration à modifier ni jetons à coller.

Ajoutez-le à un seul endroitPuis posez simplement votre question
ChatGPTParamètres → Applications et connecteurs → ajouter Longbridge« Comment évolue NVDA aujourd’hui ? » · « Affiche mes positions HK »
ClaudeParamètres → Connecteurs → ajouter Longbridge (web · ordinateur · mobile)« Compare les valorisations d’AAPL et de MSFT » · « Y a-t-il des introductions en bourse cette semaine ? »

Connectez-vous une fois avec votre compte Longbridge. Chaque requête passe par le même point de terminaison hébergé et sécurisé par OAuth 2.1, documenté ci-dessous — données de marché en lecture seule, ainsi que tous les outils de compte, de portefeuille et de trading, protégés par vos propres identifiants.


Points forts

  • 164 outils, un seul point de terminaison — cotations, options, routage des ordres, données fondamentales, recherche d’analystes, filtres, introductions en bourse, alertes, investissements programmés, trading sur grille et analyse de portefeuille pour les marchés américain et hongkongais.
  • Conçu sans état — chaque requête transmet directement son jeton Bearer au SDK Longbridge. Aucune session, aucune base de données, aucune donnée stockée côté serveur.
  • OAuth 2.1, découverte automatique — métadonnées de ressource protégée RFC 9728 et de serveur d’autorisation RFC 8414 ; les clients effectuent le flux sans avoir à coller de jeton.
  • Réponses structurées et typées — champs en snake_case, horodatages RFC 3339, symboles lisibles et schémas de réponse typés disponibles en tant que ressources MCP.

Développé en Rust avec rmcp et axum.

Filtrer les réponses des outils avec jq

Chaque outil accepte une chaîne _jq facultative dans ses arguments. L’expression est appliquée à l’intégralité du JSON renvoyé, après la sérialisation normale de la réponse. Le nom _jq est réservé au filtrage des réponses afin d’éviter les conflits avec les paramètres métier. Les instructions d’utilisation sont envoyées une seule fois dans le champ instructions de la réponse MCP initialize ; chaque schéma d’outil déclare uniquement le nom et le type du paramètre facultatif. Par exemple :

{
  "name": "quote",
  "arguments": {
    "symbols": ["AAPL.US", "MSFT.US"],
    "_jq": "map({symbol, last_done})"
  }
}

Utilisez .data[:5] pour prendre les cinq premières entrées d’un tableau data, .data | map(select(.price > 10)) pour sélectionner des lignes, ou {total: .total} pour projeter des champs. Les expressions utilisent la syntaxe compatible avec jq du moteur jaq intégré ; aucun exécutable jq distinct n’est nécessaire.

  • Omettez _jq (ou transmettez null) pour conserver la réponse d’origine.
  • Une valeur de sortie est renvoyée directement, plusieurs valeurs sous forme de tableau, et aucune valeur sous forme de []. Les scalaires et les tableaux sont du texte JSON ; les objets apparaissent également dans structuredContent, qui ne contient que les champs filtrés.
  • Les réponses en texte brut sont disponibles sous forme de chaînes JSON. Plusieurs blocs de contenu sans contenu structuré sont disponibles sous forme de tableau.
  • Les erreurs d’outil et les explications relatives aux autorisations ou à l’absence de données ne sont pas filtrées.
  • Les expressions vides, non valides ou qui ne sont pas des chaînes sont rejetées avant l’exécution de l’outil. En cas d’échec du filtrage à l’exécution, la réponse indique explicitement que l’outil a déjà été exécuté. Ne relancez pas automatiquement les opérations d’écriture, comme le placement d’un ordre.
  • L’accès à l’environnement, les importations depuis le système de fichiers et les filtres de journalisation ne sont pas disponibles. La sortie est limitée à 10 000 valeurs et 8 Mio ; le dépassement d’une limite renvoie une erreur plutôt qu’un résultat partiel.

Comme les filtres peuvent modifier la forme de la réponse, les outils n’annoncent pas de outputSchema fixe. Les schémas typés d’origine restent disponibles via resources/list et resources/read à lb://tools/{tool-name}/output-schema pour les outils disposant de schémas.

Connecter votre propre client

Longbridge héberge un point de terminaison à https://mcp.longbridge.com — configurez n’importe quel client MCP pour l’utiliser et effectuez l’authentification OAuth lorsque vous y êtes invité. L’autorisation est découverte automatiquement via RFC 9728 ; aucun jeton n’est à coller.

Claude Code

claude mcp add --transport http longbridge https://mcp.longbridge.com

Claude Desktop — ajoutez-le à claude_desktop_config.json, puis redémarrez :

{ "mcpServers": { "longbridge": { "url": "https://mcp.longbridge.com" } } }

Codex — ajoutez le serveur, puis effectuez l’authentification OAuth dans le navigateur :

codex mcp add longbridge --url https://mcp.longbridge.com
codex mcp login longbridge

Cursor · Cline · Windsurf · Zed · autres clients — configurez-les pour utiliser https://mcp.longbridge.com avec le transport streamable-http.

Autres commandes Claude Code
# 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

Lors de la première utilisation, le client lit le défi WWW-Authenticate, récupère /.well-known/oauth-protected-resource (RFC 9728) et ouvre votre navigateur pour le flux OAuth Longbridge. Les jetons sont mis en cache par session et actualisés automatiquement.

Les 164 outils

Vingt catégories couvrant les données de marché, le trading, la recherche et la gestion de compte.

CatégorieNombreCouverture
Quote32Cotations en temps réel et historiques, chandeliers, profondeur de marché, courtiers, options, warrants, listes de suivi, flux de capitaux, température du marché, positions courtes, volume des options
Fundamental33États et rapports financiers, segments d’activité, avis des institutions, pairs et valorisation sectoriels, dividendes, prévisions de BPA, valorisations et comparaison des valorisations, informations sur les entreprises et leurs dirigeants, actionnaires, opérations sur titres, indicateurs opérationnels
Trade15Soumission, annulation et remplacement d’ordres, ordres combinés d’options à plusieurs jambes, positions, solde, exécutions, flux de trésorerie, marge
Market15État du marché, classement des secteurs et des plus fortes variations, positions des courtiers, prime A/H, statistiques de trading, anomalies, transactions et marge sur positions courtes, composants d’indices
DCA9Création, mise à jour, mise en pause, reprise et arrêt de plans d’investissement programmé, historique d’exécution, statistiques, vérification de la prise en charge
Grid11Soumission, remplacement, annulation, suspension et redémarrage d’ordres de trading sur grille, consultation des listes, détails et historique des déclenchements, informations de configuration par symbole, consentement ponctuel à la stratégie
Sharelist8Opérations CRUD sur les listes de partage communautaires, ajout, suppression et tri des membres, listes populaires
IPO7Souscriptions aux introductions en bourse, calendrier, actions cotées, détails des ordres, analyse des profits et pertes
Content7Liste et détails des actualités, opérations CRUD sur les sujets de discussion et leurs réponses
Alert5Opérations CRUD sur les alertes de prix (ajout, suppression, activation, désactivation, liste)
Screener5Recherche dans le filtre d’actions, indicateurs, recommandation et gestion de stratégies
Portfolio4Taux de change, analyse des profits et pertes (résumé, détails, réalisés)
ATM3Cartes bancaires, historiques de retraits, historiques de dépôts
Macrodata2Liste et détails des indicateurs macroéconomiques
Search2Recherche d’actualités, recherche de sujets communautaires
Statement2Liste et exportation des relevés de compte
Calendar1Calendrier financier (résultats, dividendes, introductions en bourse, données macroéconomiques, fermetures)
Quant1Exécution d’un script d’indicateur quantitatif sur des données historiques en K-line
Authenticate1Échange de code OAuth pour les clients qui ne peuvent pas effectuer une redirection vers le navigateur
Utility1Heure UTC actuelle

Hébergement autonome

Vous préférez votre propre instance ? Exécutez l’image publiée :

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

Définissez --base-url sur votre URL accessible de l’extérieur pour tout déploiement public — elle est publiée dans les métadonnées OAuth que les clients utilisent pour découvrir le serveur d’autorisation. La valeur par défaut est http://localhost:{port}, inutilisable par les clients distants.

Ou compilez à partir des sources : cargo build --release && ./target/release/longbridge-mcp.

Configuration et variables d’environnement

La configuration se trouve dans ~/.longbridge/mcp/config.json (remplacez le répertoire avec LONGBRIDGE_MCP_CONFIG_DIR). Les options de ligne de commande sont prioritaires. Lorsque tls_cert et tls_key sont tous deux définis, le serveur utilise HTTPS ; sinon, il utilise HTTP. base_url prend par défaut la valeur https://localhost:{port} avec TLS ou http://localhost:{port} sans TLS.

OptionClé de configurationOption CLIValeur par défautDescription
Adresse d’écoutebind--bind127.0.0.1:8000Adresse d’écoute du serveur HTTP
URL de basebase_url--base-urlautoURL de base publique pour les métadonnées de ressource
Répertoire des journauxlog_dir--log-dir(stderr)Répertoire des fichiers journaux rotatifs
Certificat TLStls_cert--tls-cert(aucun)Fichier de certificat PEM pour HTTPS
Clé privée TLStls_key--tls-key(aucune)Fichier de clé privée PEM
Serveur amont Canarycanary--canaryfalseSe connecter à l’environnement Canary de Longbridge (*.longbridge.xyz). --canary=false force l’utilisation de la production même si le fichier de configuration l’active

L’environnement de Chine continentale (*.longbridge.cn) n’est pas une option : il est sélectionné automatiquement lorsque LONGBRIDGE_REGION=cn est défini (la même variable que celle utilisée par le SDK). Un cluster de Chine continentale ne nécessite donc aucun paramètre dédié.

Les points de terminaison amont sont déterminés par l’environnement sélectionné :

Production (par défaut)Canary (--canary)Chine continentale (LONGBRIDGE_REGION=cn)
OpenAPIhttps://openapi.longbridge.comhttps://openapi-global.longbridge.xyzhttps://openapi.longbridge.cn
WebSocket de cotationwss://openapi-quote.longbridge.com/v2wss://openapi-global-quote.longbridge.xyz/v2wss://openapi-quote.longbridge.cn/v2
WebSocket de tradingwss://openapi-trade.longbridge.com/v2wss://openapi-global-trade.longbridge.xyz/v2wss://openapi-trade.longbridge.cn/v2
OAuth / page de connexionopenapi.longbridge.com / open.longbridge.comopenapi-global.longbridge.xyz / open.longbridge.xyzopenapi.longbridge.cn / open.longbridge.cn

Canary utilise la passerelle -global, et non openapi.longbridge.xyz : seule la première est placée derrière CloudFront et effectue le routage des centres de données x-dc-region, dont ce serveur dépend pour prendre en charge les identifiants préfixés par us_ et ap_ depuis un seul processus.

Canary et la Chine continentale épinglent toutes les URL ci-dessus au démarrage ; en production, la résolution est déléguée au SDK, sauf si un identifiant us_ sans remplacement amont est épinglé à la passerelle globale .com. Consultez src/endpoints.rs pour connaître les règles exactes de sélection.

Variables d’environnement avancées — la plupart des déploiements n’y touchent jamais ; elles servent au débogage du SDK et aux déploiements en périphérie ou avec entrée globale.

VariableValeur par défautDescription
LONGBRIDGE_MCP_CONFIG_DIR~/.longbridge/mcpRépertoire du fichier de configuration
LONGBRIDGE_PUBLIC_HOSTS(aucune)Noms d’hôte séparés par des virgules, acceptés depuis l’en-tête X-Host injecté en périphérie ; les requêtes correspondantes renvoient cet hôte dans le défi 401 / les métadonnées RFC 9728. Non défini = X-Host ignoré
LONGBRIDGE_GLOBAL_OAUTH_URL(aucune)URL du serveur d’autorisation annoncée aux requêtes arrivant via un X-Host autorisé (entrée globale à domaine unique). Non définie = utilisation de l’URL de base OpenAPI du mode
LONGBRIDGE_MCP_QUOTE_WS_IDLE_TTL_SECS600Nombre de secondes d’inactivité avant l’éviction d’un contexte WebSocket de cotation mis en cache
LONGBRIDGE_MCP_QUOTE_WS_MAX_CONTEXTS1024Nombre maximal de contextes WebSocket de cotation mis en cache par processus serveur
LONGBRIDGE_MCP_LOG_PAYLOADS(non défini)1 supprime les limites de journalisation des charges utiles (voir ci-dessous). Ne jamais définir en production
LONGBRIDGE_LOG_PATH(aucune)Chemin du journal interne du SDK. Laissez cette variable non définie en production — le SDK y écrit les corps des requêtes et des réponses sans filtrage
Journalisation et données client Les requêtes et les réponses MCP transportent des données client — soldes de trésorerie, positions, historique des ordres — et les trames du SDK en amont transportent des jetons d’accès. Rien de tout cela ne doit se retrouver dans un fichier journal ; le serveur limite donc les cibles de journalisation susceptibles de les afficher, indépendamment de `RUST_LOG` :
CibleLimiteCe qui serait autrement affiché
longbridge_httpcliwarnRequêtes OpenAPI et corps complets des réponses (INFO)
longbridge_wscliwarnChaque trame WebSocket, jeton d’authentification inclus (INFO)
longbridge::tradewarnÉvénements de notification des ordres (INFO)
rmcpinfoRequêtes MCP décodées et résultats complets des outils (DEBUG), trames JSON-RPC brutes (TRACE)

Vous pouvez donc augmenter le niveau de verbosité sans risque : RUST_LOG=debug (ou trace) affiche les journaux propres au serveur sans divulguer de données client. Deux options désactivées par défaut permettent de contourner cette protection : LONGBRIDGE_MCP_LOG_PAYLOADS=1 (supprime les limites ; à utiliser uniquement en local avec un compte de test) et LONGBRIDGE_LOG_PATH (demande au SDK d’écrire les corps non filtrés dans ce répertoire ; le serveur émet un avertissement au démarrage si cette option est définie).

Points de terminaison HTTP, authentification et métriques

Le serveur attend un jeton d’accès OAuth Longbridge dans Authorization: Bearer <token>. En l’absence d’authentification ou si celle-ci est invalide, il renvoie 401 avec un en-tête WWW-Authenticate pointant vers les métadonnées de la ressource protégée, qui orientent les clients vers le serveur d’autorisation OAuth Longbridge.

Envoyez x-papertrading: true (ou 1) dans une requête pour l’exécuter dans l’environnement de trading simulé. Le serveur en amont rejette une requête de trading simulé effectuée avec un jeton d’argent réel ; cet en-tête est donc une mesure de sécurité, et non un commutateur de routage : il ne peut que restreindre les opérations autorisées par un jeton. LONGBRIDGE_PAPERTRADING=true l’active pour l’ensemble du déploiement.

MéthodeCheminDescription
GET/.well-known/oauth-protected-resourceMétadonnées de la ressource protégée (RFC 9728)
GET/.well-known/oauth-authorization-serverMétadonnées du serveur d’autorisation (RFC 8414) ; annonce les points de terminaison directs Longbridge authorize/register et les points de terminaison token/revoke via proxy
POST/oauth2/tokenProxy de jeton OAuth ; déduit x-dc-region du code/jeton d’actualisation, avec AP comme valeur par défaut
POST/oauth2/revokeProxy de révocation OAuth ; déduit x-dc-region du jeton, avec AP comme valeur par défaut
GET/metricsMétriques Prometheus
POST/GET/DELETE/mcpPoint de terminaison MCP Streamable HTTP (jeton Bearer requis)

Métriques Prometheus : mcp_tool_calls_total (compteur), mcp_tool_call_duration_seconds (histogramme) et mcp_tool_call_errors_total (compteur) — chacune étiquetée par tool_name.

Développement

cargo +nightly fmt      # format
cargo clippy            # lint
cargo test              # test

Licence

Publié sous la licence MIT.