Serveur MCP Alpaca
Il s'agit d'un serveur MCP (Model Context Protocol) pour Alpaca, permettant aux LLM comme Claude d'interagir avec l'API de trading d'Alpaca. Il permet de négocier des actions, de vérifier les positions, d'obtenir des données sur le marché et de gérer votre compte, le tout en langage naturel.
Caractéristiques
- 📊 Données de marché - Obtenez des cotations boursières en temps réel et des données historiques sur les prix
- 💵 Informations sur le compte - Vérifiez vos soldes, votre pouvoir d'achat et votre statut
- 📈 Gestion des positions - Visualiser les positions actuelles et leur performance
- 🛒 Placement d' ordres - Placez des ordres de marché et des ordres à cours limité en langage naturel
- 📋 Gestion des ordres - Liste, suivi et annulation des ordres
Conditions préalables
- Python 3.10+
- Clés API Alpaca
- Claude for Desktop ou un autre client MCP
Installation de l'application
Clonez ce dépôt :
git clone https://github.com/YOUR_USERNAME/alpaca-mcp.git cd alpaca-mcp
Installez les paquets nécessaires :
pip install mcp alpaca-py python-dotenv
Créez un fichier
.env
avec vos identifiants API Alpaca :API_KEY_ID=votre_alpaca_api_key API_SECRET_KEY=votre_alpaca_secret_key
Utilisation du serveur
Exécution du serveur
Démarrez le serveur en exécutant
python alpaca_mcp_server.py
Configuration de Claude for Desktop
- Ouvrez Claude for Desktop
- Aller dans "Settings
- Cliquez sur "Developer" et ensuite sur "Edit Config"
- Ajoutez la configuration du serveur à
claude_desktop_config.json
:
{ "mcpServers" : { "alpaca" : { "command" : "python", "args" : [ "/path/to/alpaca_mcp_server.py" ], "env" : { "API_KEY_ID" : "your_alpaca_api_key", "API_SECRET_KEY" : "your_alpaca_secret_key" } } } }
- Sauvegardez et redémarrez Claude for Desktop
Outils disponibles
Le serveur propose les outils suivants :
get_account_info()
- Permet d'obtenir le solde et l'état des comptesget_positions()
- Liste de toutes les positions actuelles du portefeuilleget_stock_quote(symbol)
- Obtenir la dernière cotation d'une actionget_stock_bars(symbol, days)
- Obtient les barres de prix historiques d'une actionget_orders(status, limit)
- Permet d'obtenir la liste des ordres ayant le statut spécifiéplace_market_order(symbol, side, quantity)
- Place un ordre de marchéplace_limit_order(symbol, side, quantity, limit_price)
- Place un ordre limitécancel_all_orders()
- Annule tous les ordres ouvertsclose_all_positions(cancel_orders)
- Clôture de toutes les positions ouvertes
Exemples de requêtes
Une fois que le serveur est connecté à Claude, vous pouvez poser des questions telles que :
- "Quel est le solde actuel de mon compte et mon pouvoir d'achat ?"
- "Montrez-moi mes positions actuelles"
- "Obtenir la dernière cotation de AAPL
- "Montrer l'historique des prix de TSLA au cours des 10 derniers jours
- "Acheter 5 actions MSFT au prix du marché"
- "Vendre 10 actions de AMZN avec un prix limite de 130 $"
- "Annuler tous mes ordres ouverts
Remarque
Ce serveur utilise par défaut le paper trading d'Alpaca. Pour utiliser le trading en argent réel, remplacez paper=True
par paper=False
dans l'initialisation du TradingClient
.
Avis de sécurité
Ce serveur MCP aura accès à votre compte Alpaca et pourra placer des transactions réelles. Vérifiez toujours ce que Claude suggère avant d'approuver toute transaction.
Licence
MIT