Alpaga MCP Gold Standard - MCP Server sécurisé par ALMC Security 2025

Alpaga MCP Gold Standard

Voir sur GitHub

Alpaca MCP Gold Standard

Une implémentation complète de l'architecture serveur MCP (Model Context Protocol) définitive pour les opérations de trading professionnelles, atteignant 100% de conformité avec les modèles de référence documentés dans l'architecture de référence Quick Data MCP.

🏆 Qu'est-ce qui en fait le Gold Standard ?

Cette implémentation représente la référence définitive pour le développement MCP professionnel, mettant en œuvre les 7 modèles architecturaux de base avec plus de 50 outils couvrant les opérations de trading, l'analyse avancée et les capacités d'analyse de données universelles.

📊 Mesures d'implémentation

  • 31 outils MCP: Couverture complète des opérations de trading
  • 11 miroirs de ressources: Compatibilité universelle avec les clients
  • 4 Invitations contextuelles: Guidage intelligent des conversations
  • 7/7 Modèles d'architecture: conformité à 100 % à la norme Gold Standard
  • plus de 50 capacités totales: Plate-forme commerciale complète
  • 91 tests API réels: taux de réussite de 100 % avec l'intégration réelle de l'API Alpaca

modèles d'architecture Gold Standard

1. Découverte adaptative

Classe automatiquement les actions et les positions avec une attribution intelligente des rôles :

  • Candidats à la croissance: Actions avec des indicateurs de momentum positifs
  • Actifs volatils: Positions à forte volatilité nécessitant une surveillance active
  • Générateurs de revenus: Positions générant des dividendes ou des rendements stables
  • Instruments de couverture: Actifs de gestion du risque et de protection du portefeuille
  • Positions spéculatives: Opportunités à haut risque et à haut rendement

2. Modèle de miroir de ressources

Compatibilité universelle avec n'importe quel client MCP :

  • 11 outils miroirs fournissent des fonctionnalités identiques aux ressources
  • Zéro frais de maintenance grâce à l'enveloppement des fonctions
  • Repli transparent pour les clients ne disposant que d'outils
  • Chemin de migration à l'épreuve du temps

3. Invitations contextuelles

Des amorces de conversation qui font référence à votre portefeuille actuel :

  • portfolio_first_look - analyse vos positions spécifiques
  • atelier_stratégie_commerciale - Adapté à la composition de votre portefeuille
  • market_analysis_session - Centré sur vos symboles suivis
  • list_mcp_capabilities - Guide complet des fonctionnalités

4. Exécution sécurisée du code personnalisé

Exécutez des analyses personnalisées en isolant les sous-processus :

  • Stratégies de trading: Exécuter des algorithmes personnalisés avec un contexte de portefeuille
  • Optimisation du portefeuille: Optimisation avancée avec paramètres de risque
  • Analyse du risque: Paramètres et calculs de risque personnalisés
  • Analyse universelle: Fonctionne avec n'importe quelle structure d'ensemble de données
  • protection contre les dépassements de délai de 30 secondes avec gestion complète des erreurs

5. Outils d'analyse avancée

Intelligence sophistiquée du portefeuille :

  • Évaluation de la santé du portefeuille: système de notation en 100 points
    • Analyse de diversification
    • Mesure de la concentration des risques
    • Évaluation de l'équilibre des performances
    • Recommandations exploitables avec des outils spécifiques
  • Analyse des corrélations de marché: matrices de corrélation à 30 jours
    • Identification des positions sur-corrélées
    • Evaluation de la diversification
    • Perspectives et recommandations en matière de risque

6. Agnosticisme universel des ensembles de données

Au-delà du trading - fonctionne avec TOUTES les données structurées :

  • Découverte automatique des types de colonnes et des relations
  • Outils génériques de corrélation et de segmentation
  • Capacités de visualisation adaptative
  • Modèles d'intégration de jeux de données croisés

7. Gestion cohérente des erreurs

Gestion des erreurs de niveau professionnel :

{"status" : "error", "message" : "Description d'erreur lisible par l'homme", "error_type" : "ExceptionType", "metadata" : {"context" : "additional_info"} }

🚀 Démarrage rapide

Conditions préalables

  • Python 3.12+
  • gestionnaire de paquets uv
  • Compte de trading Alpaca (trading papier pris en charge)

Installation

# Cloner et installer git clone <repository> cd alpaca-mcp-gold-standard # Installer les dépendances uv sync # Configurer l'environnement cp .env.example .env # Editer .env avec vos identifiants de l'API Alpaca

Exécution du serveur

# Mode développement uv run python main.py # Mode débogage avec journalisation verbeuse LOG_LEVEL=DEBUG uv run python main.py # Mode production avec Docker docker build -t alpaca-mcp-gold . docker run -p 8000:8000 --env-file .env alpaca-mcp-gold

Test

# Exécuter tous les tests avec couverture uv run pytest tests/ -v --cov=src --cov-report=term-missing # Tester les modèles spécifiques de l'étalon-or uv run pytest tests/test_resource_mirrors.py -v # Modèle de miroir de ressources uv run pytest tests/test_state_management.py -v # Gestion d'état uv run pytest tests/test_integration.py -v # Flux de travail complet

configuration du client MCP

Pour Claude Desktop

Ajoutez à votre configuration Claude :

{ "mcpServers" : { "alpaca-trading-gold" : { "command" : "/path/to/uv", "args" : [ "--directory", "/absolute/path/to/alpaca-mcp-gold-standard", "run", "python", "main.py" ], "env" : { "LOG_LEVEL" : "INFO" } } }

🛠️ Catalogue d'outils complet

Gestion des comptes et des portefeuilles (4 outils)

  • get_account_info_tool() - État des comptes en temps réel avec aperçu des portefeuilles
  • get_positions_tool() - Titres avec classification adaptative des rôles
  • get_open_position_tool(symbol) - Détails d'une position spécifique
  • get_portfolio_summary_tool() - Analyse complète avec suggestions de l'IA

Données de marché et recherche (4 outils)

  • get_stock_quote_tool(symbol) - Cotations en temps réel avec analyse des spreads
  • get_stock_trade_tool(symbole) - Informations sur les dernières transactions
  • get_stock_snapshot_tool(symboles) - Données complètes du marché avec volatilité
  • get_historical_bars_tool(symbol, timeframe) - Données historiques OHLCV

Gestion des ordres (5 outils)

  • place_market_order_tool(symbol, side, quantity) - Exécution immédiate
  • place_limit_order_tool(symbole, côté, quantité, prix) - Ciblage du prix
  • place_stop_loss_order_tool(symbol, side, quantity, stop_price) - Gestion du risque
  • get_orders_tool(status, limit) - Historique et suivi des ordres
  • cancel_order_tool(order_id) - Annulation d'un ordre

Exécution de stratégies personnalisées (3 outils)

  • execute_custom_trading_strategy_tool(code, symboles) - Exécution d'algorithmes personnalisés
  • execute_portfolio_optimization_strategy_tool(code, risk_tolerance) - Optimise les positions
  • execute_risk_analysis_strategy_tool(code, benchmarks) - Analyse des risques

Analyse avancée (2 outils)

  • generate_portfolio_health_assessment_tool() - Evaluation de la santé en 100 points
  • generate_advanced_market_correlation_analysis_tool(symbols) - Matrices de corrélation

Analyse universelle (2 outils)

  • execute_custom_analytics_code_tool(dataset, code) - Analyse de n'importe quel ensemble de données
  • create_sample_dataset_from_portfolio_tool() - Conversion d'un portefeuille en jeu de données

Miroirs de ressources (11 outils)

Chaque ressource a un outil correspondant pour une compatibilité universelle :

  • resource_account_info_tool()trading://account/info
  • resource_portfolio_summary_tool()trading://portfolio/summary
  • Et 9 autres outils miroirs...

Outils utilitaires (1 outil)

  • clear_portfolio_state_tool() - Réinitialiser l'état pour les tests

🏗️ Vue d'ensemble de l'architecture

src/mcp_server/ ├── config/ # Configuration basée sur l'environnement │ ├── settings.py # Gestion des paramètres pydantiques │ └── simple_settings.py # Chargeur de configuration simplifié ├── models/ # Logique métier de base │ ├── schemas.py # Classification des entités et gestion des états │ └── alpaca_clients.py # Gestion des clients de l'API Singleton ├── tools/ # 31 outils MCP par catégorie │ ├── account_tools.py # Opérations sur les comptes │ ├── market_data_tools.py # Accès aux données du marché │ ├── order_management_tools.py # Opérations de trading │ ├── custom_strategy_execution.py # Exécution sûre du code │ ├─── advanced_analysis_tools.py # Analyse de portefeuille │ ├── execute_custom_analytics_code_tool.py # Analyse universelle │ └── resource_mirror_tools.py # Couche de compatibilité ├── ressources/ # Accès aux données par URI │ └── trading_resources.py # trading:// scheme handlers ├── prompts/ # Context-aware conversations │ └── trading_prompts.py # 4 adaptive prompt generators └── server.py # FastMCP registration (31 tools)

🧪 Excellence des tests

Suite de tests complète

tests/ ├── conftest.py # Mock Alpaca API & fixtures ├── test_account_tools.py # Account operation tests ├── test_market_data_tools.py # Market data tests ├── test_order_management_tools.py # Tests des opérations de commande ├── test_resources.py # Tests des URI de ressources ├── test_resource_mirrors.py # Validation de la cohérence des miroirs ├── test_state_management.py # Tests de la mémoire et de l'état └── test_integration.py # Tests du flux de travail complet

Les montages de test fournissent

  • Nettoyage automatique de l'état entre les tests
  • Simuler l'API Alpaca avec des réponses réalistes
  • Fonctions d'aide pour la validation des réponses
  • Suivi de l'utilisation de la mémoire

💡 Principales innovations

1. Classification des rôles des entités

Chaque action/position est intelligemment classée :

entity = EntityInfo( symbol="AAPL", suggested_role=EntityRole.GROWTH_CANDIDATE, characteristics=["high_momentum", "tech_sector", "large_cap"], confidence_score=0.85 )

2. Gestion d'état efficace sur le plan de la mémoire

# StateManager.add_symbol("AAPL", entity_info) memory_usage = StateManager.get_memory_usage() # Retourne les Mo utilisés StateManager.clear_all() # Faire table rase du passé

3. Modèle d'isolation des sous-processus

# Exécution sûre avec timeout async def execute_custom_code(code : str) -> str : process = await asyncio.create_subprocess_exec('uv', 'run', '--with', 'pandas', '--with', 'numpy', 'python', '-c', execution_code, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.STDOUT ) stdout, _ = await asyncio.wait_for(process.communicate(), timeout=30)

4. Aperçus adaptatifs du portefeuille

# Votre portefeuille est fortement concentré sur les valeurs technologiques (65%). 
Envisagez de le diversifier avec des valeurs de santé ou de consommation de base pour un meilleur équilibre des risques. Utilisez get_stock_snapshot('JNJ,PG,KO') pour rechercher des positions défensives."

📊 Performance et suivi

  • Temps de réponse: Moyenne <100ms pour les opérations de données
  • Utilisation de la mémoire: ~50MB au repos, ~200MB avec un portefeuille complet chargé
  • Délai d'attente pour les sous-processus: protection de 30 secondes pour le code personnalisé
  • Surveillance de la santé: Vérifications continues des connexions à l'API Alpaca
  • Suivi de l'état: Surveillance de l'utilisation de la mémoire en temps réel

guide de développement

Ajout de nouveaux outils

  1. Créez une fonction dans le fichier tools/category_tools.py approprié
  2. Suivre le format de réponse standard :
    async def your_new_tool(param : str) -> Dict[str, Any] : try : # Implementation return { "status" : "success", "data" : result_data, "metadata" : {"operation" : "votre_nouvel_outil"} } except Exception as e : return { "status" : "error",
    "
    message" : str(e),
    "
    error_type" : type(e).__name__ }
  3. Enregistrement dans server.py avec le décorateur @mcp.tool()
  4. Ajout de tests complets
  5. Mise à jour de la documentation

Normes de qualité du code

# Format code uv run black src/ tests/ # Lint code uv run ruff check src/ tests/ # Type checking uv run mypy src/ # Run all quality checks uv run black src/ tests/ && uv run ruff check src/ tests/ && uv run mypy src/

🔒 Meilleures pratiques en matière de sécurité

  • Gestion des informations d'identification: Variables d'environnement uniquement
  • Validation des entrées: Modèles pydantiques pour toutes les entrées
  • Assainissement des erreurs: Pas d'informations d'identification dans les messages d'erreur
  • Isolation des sous-processus: Le code non fiable s'exécute dans un bac à sable
  • Limitation du débit de l'API: Gestion intégrée de la limite de taux d'Alpaca

structure de la documentation

  • README.md: Ce guide complet
  • CLAUDE.md: Guide pour le développement du code Claude
  • ai_docs/: Références optimisées pour l'IA
    • alpaca_py_sdk_reference.md - Guide du SDK Alpaca
    • mcp_server_sdk_reference.md - Guide des modèles MCP
  • specs/: Spécifications architecturales
    • architecture_overview.md - Modèles Gold standard
    • custom_analytic_code.md - Conception de sous-processus
    • poc_init_generic.md - Modèles universels
    • resource_workaround.md - Modèle miroir
  • .claude/commandes/: Flux de développement
    • Modèles d'implémentation parallèle
    • Cadres de validation

🚢 Déploiement de la production

Déploiement Docker

# Construire l'image de production docker build -t alpaca-mcp-gold # Exécuter avec le fichier d'environnement docker run -d \N --name alpaca-mcp \N -p 8000:8000 \N --env-file .env \N --restart unless-stopped \N alpaca-mcp-gold

Variables d'environnement

# Requis ALPACA_API_KEY=votre_clé_api ALPACA_SECRET_KEY=votre_clé_secrète # Optionnel ALPACA_PAPER_TRADE=True # Utiliser le paper trading (recommandé) LOG_LEVEL=INFO # Verbosité de la journalisation MCP_SERVER_NAME=alpaca-trading-gold

🤝 Contribuer

Ce projet sert de référence pour le développement de MCP. Lorsque vous contribuez :

  1. Suivez les modèles d'architecture: Maintenir les 7 modèles de référence
  2. Tests complets: Couverture minimale de 80 % pour le nouveau code
  3. Documentation: Mise à jour des documents pertinents pour les nouvelles fonctionnalités
  4. Cohérence: Faire correspondre le style et les modèles de code existants
  5. Liste de contrôle
    • Tests réussis avec couverture
    • Les miroirs de ressources sont mis à jour si nécessaire
    • La gestion des erreurs suit un format standard
    • Documentation mise à jour
    • Indications de type incluses

🌟 Pourquoi cette mise en œuvre est importante

Il ne s'agit pas d'un simple serveur MCP - c'est une classe de maître en matière d'architecture logicielle:

  1. Implémentation de référence: Démontre toutes les meilleures pratiques MCP
  2. Prêt pour la production: Gestion complète des erreurs, surveillance et tests
  3. Modèles universels: Techniques applicables à TOUT domaine
  4. Valeur éducative: Apprentissage des modèles de développement professionnels MCP
  5. Fondation extensible: Facile à adapter à d'autres cas d'utilisation

📈 Améliorations futures

L'architecture est conçue pour s'étendre :

  • Flux de données de marché WebSocket en temps réel
  • Algorithmes avancés d'optimisation de portefeuille
  • Support de gestion multi-comptes
  • Cadre de backtesting des stratégies de trading
  • Intégration avec d'autres courtiers
  • Informations basées sur l'apprentissage automatique

licence

Ce projet est soumis aux mêmes conditions que le serveur Alpaca MCP original.

🙏 Remerciements

Construit sur les fondations du serveur MCP Alpaca original, en mettant en œuvre les meilleures pratiques complètes documentées dans l'analyse du référentiel parent des modèles MCP de référence. Remerciements particuliers aux communautés MCP et Alpaca pour leur excellente documentation et leurs outils.


Il s'agit de l'implémentation de référence définitive pour le développement professionnel de MCP. Que vous construisiez des systèmes de trading, des plateformes d'analyse de données ou toute autre application alimentée par MCP, cette base de code démontre les modèles et les pratiques qui conduisent à des systèmes prêts pour la production, maintenables et extensibles.

Liés dans Service en nuage - MCP Servers sécurisés

ServeurRésuméActions
Google AnalyticsVoir
Wuying AgentBay MCP ServerAnglais | 中文Voir
Facturation de la pagaiePaddle Billing est le commerçant de référence qui donne la priorité aux développeurs. Nous nous occu...Voir
Joe SandboxUn serveur Model Context Protocol (MCP) pour interagir avec Joe Sandbox Cloud. Ce serveur expose de...Voir
Octodet KeycloakVoir
Démonstration de géolocalisationCe projet montre comment utiliser EdgeOne Pages Functions pour récupérer les informations de géoloca...Voir