Trade Agent MCP Server
officielExécutez des transactions boursières et de cryptomonnaies via Trade Agent
Documentation
Trade It MCP Server
👉 Documentation complète ici 👈
Désormais disponible via le Registre MCP Officiel
Table des matières
- Aperçu
- Pour commencer
- Connexion
- Outils
- Référence des statuts de transaction
- Identifiants de courtage (aides API)
- Avertissements
Aperçu
Le serveur Trade It MCP apporte la prise en charge du trading d'actions, de crypto et d'options aux agents. Il permet une interaction en langage naturel avec les courtiers en actions et crypto — exécutez des transactions, interrogez les performances du portefeuille et obtenez des informations sur le marché en envoyant des requêtes en langage clair via le protocole MCP.
Points de terminaison :
- HTTP streamable :
https://mcp.tradeit.app/mcp - SSE :
https://mcp.tradeit.app/sse
Prise en charge des courtiers :
Prise en charge des échanges crypto :
D'autres à venir prochainement !
Ce serveur est distant, vous n'avez donc rien à exécuter localement pour vous connecter. Pointez simplement votre plateforme d'agent compatible MCP vers l'URL ci-dessus.
Pour commencer
- Tout d'abord, créez un compte sur https://tradeit.app.
- Inscrivez-vous à l'essai gratuit du plan Pro.
- Connectez le courtier de votre choix.
Connexion
- Connectez votre client MCP à
https://mcp.tradeit.app/mcpouhttps://mcp.tradeit.app/sse. - Authentifiez-vous via le flux OAuth basé sur le navigateur.
- Vous êtes maintenant prêt à trader !
Outils
Les outils MCP connectent votre agent aux courtiers liés : recherchez des symboles, listez les comptes, créez des ordres brouillons, puis exécutez-les seulement après confirmation.
| Outil MCP | Ce qu'il fait |
|---|---|
search_assets | Recherche une action ou une crypto par ticker ou nom ; renvoie le prix et les métadonnées. |
get_accounts | Liste les comptes liés et les soldes ; également utilisé lors de la liaison d'un nouveau courtier. |
create_trade | Crée un brouillon d'achat ou de vente d'actions/crypto pour examen. |
create_options_trade | Crée un brouillon d'ordre d'options à une ou plusieurs branches pour examen. |
execute_trade | Soumet un brouillon précédemment créé au courtier après confirmation explicite de l'utilisateur. |
Modèle de sécurité (brouillon d'abord)
Les transactions commencent comme des ordres draft et ne sont pas envoyées au courtier tant que l'utilisateur n'a pas clairement confirmé.
Flux prévu :
- Appelez
create_tradeoucreate_options_trade→ vous obtenez un brouillon avec untrade_id. - Montrez à l'utilisateur tous les détails de l'ordre et comment procéder.
- Appelez
execute_tradeuniquement lorsque l'utilisateur demande explicitement d'exécuter, de confirmer ou de passer la transaction. - N'appelez pas
execute_tradeautomatiquement ou immédiatement après avoir créé un brouillon.
Après avoir créé un brouillon, assurez-vous que l'utilisateur sait qu'il peut passer l'ordre quand il est prêt (par exemple via le contrôle Exécuter de votre client, si disponible).
Étapes facultatives avant de créer un brouillon :
search_assets— confirmez le ticker et le contexte.get_accounts— choisissez le bonaccount_idlorsque l'utilisateur se soucie du compte à utiliser.
Flux d'exécution :
User requests trade
↓
[Optional] search_assets — confirm ticker, get current price
↓
[Optional] get_accounts — identify correct account_id
↓
create_trade / create_options_trade → draft with trade_id, status: "draft"
↓
Show draft details; user confirms
↓
execute_trade(trade_id)
↓
Status: "placed" or "failed" (with details)
Valeurs par défaut du compte / de l'ordre : Si l'utilisateur omet le montant, le compte ou le type d'ordre, Trade It applique son montant par défaut, son compte par défaut et des ordres au marché le cas échéant. Si l'exécution automatique est activée dans les paramètres de Trade It, le comportement peut ignorer l'étape d'exécution manuelle dans certaines configurations ; en cas de doute, traitez toujours l'exécution comme confirmée par l'utilisateur.
search_assets
Recherchez une action ou une crypto par ticker ou nom.
- Paramètre :
query(chaîne) — par exemple"TSLA","Tesla","bitcoin". - Renvoie : Prix, ticker, bourse, type d'actif et métadonnées associées.
Exemple :
{ "query": "TSLA" }
Exemples en langage naturel : "Comment se porte Apple ?" · "Quel est le prix de TSLA ?"
get_accounts
Listez tous les comptes de courtage liés (et utilisez ce flux lorsque l'utilisateur souhaite connecter un nouveau courtier).
- Paramètres : aucun.
- Renvoie : Comptes avec
id,name,brokerage,balance,available_cash. Utilisezaccount.idcommeaccount_iddans les appels de transaction lorsqu'un compte spécifique est requis.
Exemple en langage naturel : "Montre mes comptes."
create_trade
Créez un brouillon d'ordre d'actions ou de crypto.
Paramètres :
| Champ | Type | Requis | Description |
|---|---|---|---|
symbol | chaîne | Oui | Ticker, par exemple "TSLA". |
amount | nombre | Oui | Taille à trader. |
unit | "dollars" ou "shares" | Oui | Unité pour amount. |
buy_or_sell | "buy" ou "sell" | Oui | Direction. |
order_type | "market", "limit", "stop", "stop_limit" | Non | Par défaut "market". |
limit_price | nombre | Si limite / stop_limit | Prix max ou min par action selon le cas. |
stop_price | nombre | Si stop / stop_limit | Prix de déclenchement stop. |
time_in_force | "day", "gtc", "ioc", "fok" | Non | Omettre pour la valeur par défaut du courtier. |
account_id | nombre | Non | Omettre pour le compte par défaut. |
Types d'ordre :
| Type | À utiliser quand | Champs de prix |
|---|---|---|
market | Exécution au prix actuel du marché | Aucun |
limit | Uniquement à limit_price ou mieux | limit_price |
stop | L'ordre au marché se déclenche à stop_price | stop_price |
stop_limit | L'ordre limite se déclenche à stop_price | stop_price et limit_price |
Exemples JSON :
Acheter 500 $ d'Apple au marché :
{ "symbol": "AAPL", "amount": 500, "unit": "dollars", "buy_or_sell": "buy" }
Acheter 10 actions NVDA seulement si le prix descend à 800 $ ou moins :
{ "symbol": "NVDA", "amount": 10, "unit": "shares", "buy_or_sell": "buy", "order_type": "limit", "limit_price": 800 }
Vendre 5 actions Meta si le prix tombe à 450 $ (stop) :
{ "symbol": "META", "amount": 5, "unit": "shares", "buy_or_sell": "sell", "order_type": "stop", "stop_price": 450 }
Acheter 10 AAPL si le prix dépasse 200 $, en payant au maximum 202 $/action :
{ "symbol": "AAPL", "amount": 10, "unit": "shares", "buy_or_sell": "buy", "order_type": "stop_limit", "stop_price": 200, "limit_price": 202 }
Acheter 1 000 $ de Bitcoin :
{ "symbol": "BTC", "amount": 1000, "unit": "dollars", "buy_or_sell": "buy" }
Vendre 100 actions Tesla, valable jusqu'à annulation :
{ "symbol": "TSLA", "amount": 100, "unit": "shares", "buy_or_sell": "sell", "time_in_force": "gtc" }
Exemples en langage naturel : "Achète 1000 $ de Tesla" · "Achète 1000 $ de Tesla seulement si le prix descend à 150 $ ou moins" · "Vends 10 actions Apple si le prix tombe à 140 $" · "Achète une action Apple si elle atteint 200 $" · "Achète 10 actions Apple si elle monte à 140 $, mais ne paie pas plus de 142 $"
create_options_trade
Créez un brouillon d'ordre d'options à une ou plusieurs branches (spreads, straddles, etc.).
Paramètres :
| Champ | Type | Requis | Description |
|---|---|---|---|
symbol | chaîne | Oui | Ticker sous-jacent, par exemple "SPY". |
legs | tableau | Oui | Une ou plusieurs branches (voir ci-dessous). |
direction | "debit" ou "credit" | Multi-branches | "debit" = vous payez ; "credit" = vous encaissez. |
order_type | "market", "limit", etc. | Non | Par défaut "market". |
limit_price | nombre | Pour limite | Limite de débit/crédit net pour l'ensemble. |
time_in_force | "day" ou "gtc" | Non | Omettre pour la valeur par défaut. |
account_id | nombre | Non | Omettre pour le compte par défaut. |
Chaque branche :
| Champ | Type | Requis | Description |
|---|---|---|---|
type | "option" ou "equity" | Oui | Type de branche. |
action | "buy" ou "sell" | Oui | Côté de la branche. |
position_effect | "open" ou "close" | Options | Ouvrir une nouvelle position ou clôturer une position existante. |
occ | chaîne ou null | Options | Chaîne OCC (ci-dessous) ; null pour les branches actions. |
quantity | nombre | Oui | Contrats (options) ou actions (actions). |
Format du symbole d'option OCC
Les chaînes OCC suivent : YYMMDD + C ou P + prix d'exercice à 8 chiffres (prix d'exercice × 1000, complété par des zéros).
| Description | OCC |
|---|---|
| 20 juin 2025 call 250 $ | 250620C00250000 |
| 20 juin 2025 call 260 $ | 250620C00260000 |
| 21 mars 2025 put 500 $ | 250321P00500000 |
| 19 déc 2025 call 1 500 $ | 251219C01500000 |
| 16 janv 2026 put 50 $ | 260116P00050000 |
Encodage du prix d'exercice : multipliez les dollars par 1 000 et complétez à 8 chiffres (par exemple 250 $ → 00250000 ; 50,50 $ → 00050500).
Exemples JSON d'options
Call unique — acheter 1 call SPY 520 $ expirant le 20 juin 2025 :
{
"symbol": "SPY",
"legs": [
{ "type": "option", "action": "buy", "position_effect": "open", "occ": "250620C00520000", "quantity": 1 }
]
}
Spread haussier sur call (débit) — acheter call 250 $, vendre call 260 $, même échéance :
{
"symbol": "TSLA",
"direction": "debit",
"legs": [
{ "type": "option", "action": "buy", "position_effect": "open", "occ": "250620C00250000", "quantity": 1 },
{ "type": "option", "action": "sell", "position_effect": "open", "occ": "250620C00260000", "quantity": 1 }
]
}
Spread baissier sur put (débit) :
{
"symbol": "SPY",
"direction": "debit",
"legs": [
{ "type": "option", "action": "buy", "position_effect": "open", "occ": "250620P00520000", "quantity": 1 },
{ "type": "option", "action": "sell", "position_effect": "open", "occ": "250620P00510000", "quantity": 1 }
]
}
Spread haussier sur put (crédit) :
{
"symbol": "SPY",
"direction": "credit",
"legs": [
{ "type": "option", "action": "sell", "position_effect": "open", "occ": "250620P00510000", "quantity": 1 },
{ "type": "option", "action": "buy", "position_effect": "open", "occ": "250620P00500000", "quantity": 1 }
]
}
Spread avec limite — débit net de 3,50 $ ou mieux :
{
"symbol": "TSLA",
"direction": "debit",
"order_type": "limit",
"limit_price": 3.50,
"legs": [
{ "type": "option", "action": "buy", "position_effect": "open", "occ": "250620C00250000", "quantity": 1 },
{ "type": "option", "action": "sell", "position_effect": "open", "occ": "250620C00260000", "quantity": 1 }
]
}
Clôturer un call long — vendre pour clôturer 2 calls AAPL 200 $ expirant le 21 mars 2025 :
{
"symbol": "AAPL",
"legs": [
{ "type": "option", "action": "sell", "position_effect": "close", "occ": "250321C00200000", "quantity": 2 }
]
}
Straddle — call 250 $ et put 250 $ long, même échéance :
{
"symbol": "TSLA",
"direction": "debit",
"legs": [
{ "type": "option", "action": "buy", "position_effect": "open", "occ": "250620C00250000", "quantity": 1 },
{ "type": "option", "action": "buy", "position_effect": "open", "occ": "250620P00250000", "quantity": 1 }
]
}
Exemples en langage naturel : "Achète 1 call AAPL 300 $ expirant le mois prochain" · "Call couvert sur MSFT au prix d'exercice 500 $" · "Spread sur call TSLA : achète 475 $ / vend 485 $, la semaine prochaine" · "Straddle ATM sur SPY ce vendredi" · "2 puts AMZN, limite 3,50 $" · "Vend AMZN260130P00200000"
execute_trade
Envoyez un brouillon au courtier après que l'utilisateur l'a examiné.
- Paramètre :
trade_id(nombre) — leiddu brouillon provenant decreate_tradeoucreate_options_trade. - Renvoie : Transaction mise à jour ; statut
"placed"ou"failed"(avec détails de l'erreur).
Appelez uniquement lorsque l'utilisateur confirme clairement (par exemple exécute, confirme, passez, allez-y). Confirmez la transaction qui correspond à ce qu'il vient d'examiner.
N'appelez pas automatiquement juste après avoir créé un brouillon, sans montrer les détails de l'ordre, ou lorsque le statut n'est pas "draft".
Référence des statuts de transaction
| Statut | Signification |
|---|---|
draft | Créé ; pas encore envoyé au courtier |
pending | Soumis ; en attente d'accusé de réception du courtier |
placed | Accepté ; en attente d'exécution |
partially_filled | Partiellement exécuté |
complete | Entièrement exécuté |
canceled | Annulé |
failed | Rejeté — vérifiez les erreurs |
disconnected | Problème de connexion au courtage |
Identifiants de courtage (aides API)
| Courtage | ID | Options |
|---|---|---|
| Robinhood | 1 | Oui |
| E*TRADE | 2 | Oui |
| Coinbase | 3 | Crypto uniquement |
| Kraken | 5 | Crypto uniquement |
| Charles Schwab | 7 | Oui |
| Webull | 8 | Oui |
| Public | 11 | Oui |
| Tastytrade | 12 | Oui |
Clarification : Demandez une fois, avec tout ce dont vous avez besoin, quand : le type d'ordre est ambigu (par exemple « acheter TSLA à 200 $ » — limite vs stop), les options manquent d'échéance/prix d'exercice, plusieurs comptes s'appliquent et aucun n'est choisi, ou un symbole pourrait désigner plus d'un actif. Évitez les questions redondantes lorsque les valeurs par défaut sont claires (montant par défaut, ordre au marché, compte principal).
Avertissements
- Investir comporte des risques, y compris la perte possible du capital.
- Trade It n'est pas un conseiller financier et ne fournit pas de conseils en investissement.
- Les options comportent des risques substantiels et ne conviennent pas à tous les investisseurs.
- Trade It ne peut pas retirer de fonds, transférer des actifs ou en prendre la garde — il peut uniquement passer des transactions via vos courtiers liés.