FastAPI MCP

FastAPI MCP

FastAPI-MCP est une extension puissante pour FastAPI. Elle vous permet d'exposer facilement les points de terminaison de votre application FastAPI en tant qu'outils de Model Context Protocol (MCP). Cela permet une intégration fluide et sécurisée entre les API FastAPI et les agents ou flux de travail alimentés par LLM. Vous pouvez transformer vos points de terminaison existants en outils MCP avec un minimum de configuration. Elle inclut une authentification native MCP, la préservation des schémas et la documentation native, tout en utilisant vos dépendances et votre infrastructure de déploiement FastAPI existantes.

Author: tadata-org


Voir le Protocole

Qu'est-ce que FastAPI-MCP ?

FastAPI-MCP est une extension native du cadre FastAPI. Elle expose vos points de terminaison API en tant qu'outils MCP. Ces outils peuvent être découverts et invoqués dynamiquement par des agents LLM compatibles avec MCP. Contrairement aux convertisseurs traditionnels, FastAPI-MCP s'intègre profondément dans la pile ASGI de FastAPI, prend en charge l'authentification et la préservation de la documentation dès le départ, et permet des modèles de déploiement unifiés et séparés pour plus de flexibilité.

Comment configurer FastAPI-MCP

  1. Installez FastAPI-MCP avec votre gestionnaire de paquets préféré :
    • Avec uv : uv add fastapi-mcp
    • Avec pip : pip install fastapi-mcp
  2. Importez FastAPI-MCP et initialisez-le avec votre instance d'application FastAPI.
  3. Utilisez la méthode .mount() pour exposer votre serveur MCP, qui générera automatiquement des points de terminaison d'outils MCP basés sur vos routes FastAPI existantes.
  4. Optionnel : configurez l'authentification à l'aide de l'injection de dépendances de FastAPI (par exemple, Depends()), et personnalisez la documentation ou le déploiement selon vos besoins.

Comment utiliser FastAPI-MCP

  1. Ajoutez ce qui suit à votre application FastAPI :
    from fastapi import FastAPI
    from fastapi_mcp import FastApiMCP
    
    app = FastAPI()
    mcp = FastApiMCP(app)
    mcp.mount()
    
  2. Une fois monté, votre serveur MCP sera disponible à /mcp sous l'URL de base de votre application.
  3. Tous les points de terminaison FastAPI compatibles deviendront automatiquement des outils MCP, prêts à être découverts et invoqués par des clients MCP, y compris les agents LLM.
  4. Les points de terminaison conservent leur schéma, leur validation et leur logique d'authentification d'origine. Toute modification de votre application FastAPI sera reflétée dans vos outils MCP.
  5. Explorez la documentation à fastapi-mcp.tadata.com et consultez les exemples pour des démonstrations pratiques.

Caractéristiques principales

  • Intégration de l'authentification : Réutilisez le modèle de dépendance et de sécurité existant de FastAPI pour les points de terminaison MCP.
  • Configuration minimale : Exposez instantanément tous vos points de terminaison FastAPI en tant qu'outils MCP avec un seul appel de méthode.
  • Support natif de FastAPI : Utilise le transport ASGI pour une communication efficace et directe.
  • Préservation des schémas et de la documentation : Maintient la documentation OpenAPI, les modèles et la validation des champs.
  • Déploiement flexible : Déployez le serveur MCP au sein de votre application ou en tant que service autonome.
  • Écosystème complet : Intégrez facilement des LLM et des outils compatibles MCP externes.

Cas d'utilisation

  • Rendez instantanément les API REST de votre entreprise disponibles comme outils sécurisés accessibles par LLM pour des flux de travail d'agents intelligents.
  • Créez une automatisation de flux de travail personnalisée en permettant aux LLM d'appeler vos points de terminaison FastAPI en tant qu'outils MCP.
  • Prototypisez et partagez de nouvelles fonctionnalités alimentées par l'IA sans enveloppement manuel des points de terminaison ni duplication.
  • Connectez des données d'entreprise et des API externes dans un ensemble d'outils unifié et accessible par modèle.

FAQ

Q1 : Dois-je modifier mon code FastAPI pour utiliser FastAPI-MCP ?
R : Non, vous pouvez exposer vos points de terminaison existants en tant qu'outils MCP sans ou avec peu de modifications en initialisant et en montant simplement FastAPI-MCP.

Q2 : Puis-je utiliser l'authentification et les dépendances de FastAPI avec des outils MCP ?
R : Oui, FastAPI-MCP prend entièrement en charge l'authentification et l'injection de dépendances via Depends() de FastAPI, donc votre modèle de sécurité reste intact.

Q3 : Est-il possible de déployer le serveur MCP séparément de mon application FastAPI ?
R : Oui, FastAPI-MCP prend en charge à la fois des modes de déploiement unifiés et séparés, ce qui vous permet de monter le serveur MCP au sein de votre application ou en tant que service ASGI autonome.

Q4 : Comment les schémas de demande et de réponse sont-ils gérés ?
R : Les schémas et la documentation pour tous les points de terminaison sont préservés, garantissant une validation d'entrée cohérente et une découvrabilité via les outils MCP.