ContextForge: une passerelle fédérée pour les API MCP, A2A et REST/gRPC
Une passerelle AI, un registre et un proxy placés devant toutes les API MCP, A2A ou REST/gRPC, exposant un point de terminaison unifié avec une découverte, des garde-fous et une gestion centralisés. Optimise les appels d'agent et d'outil et prend en charge les plugins.
En bref
- De quoi s’agit-il ?
- Un registre et un proxy open source qui regroupent les protocoles orientés IA derrière un point d'accès unique, avec gouvernance, garde-fous et observabilité.
- À qui s’adresse-t-il ?
- ContextForge est un projet Python sous licence Apache 2.0 qui regroupe les services MCP, A2A et REST/gRPC derrière un registre et un proxy uniques. Il fournit une passerelle agissant comme un serveur MCP conforme, une interface d'administration et plusieurs chemins de déploiement, d'un paquet PyPI unique à un chart Helm Kubernetes.
- Puis-je l’utiliser commercialement ?
- Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 1 jour.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Ce que le dépôt contient réellement
Le README décrit ContextForge comme un registre et un proxy open source qui fédèrent les serveurs Model Context Protocol (MCP), les serveurs A2A ainsi que les API REST ou gRPC vers un point d'accès unique destiné aux clients IA. Le livrable central est un paquet Python publié sur PyPI sous le nom mcp-contextforge-gateway. Le dépôt lui-même contient l'application FastAPI sous mcpgateway/, une suite de tests que le README chiffre à plus de 7 000 tests, des charts Helm, un framework de plugins et un site de documentation construit avec MkDocs. Les métadonnées du dépôt indiquent 4 247 étoiles et 800 forks; la branche par défaut est main.
Les trois couches de passerelle et le modèle de plugins
Le README divise la passerelle en trois couches. La passerelle d'outils gère MCP, REST et la traduction gRPC vers MCP avec compression TOON. La passerelle d'agents route le trafic du protocole A2A ainsi que les appels d'agents compatibles OpenAI et Anthropic. La passerelle API fournit limitation de débit, authentification, nouvelles tentatives et proxy inverse pour les services REST. Par-dessus, le projet déclare prendre en charge plus de 40 plugins pour des transports, protocoles et intégrations supplémentaires. Le README ne liste pas les plugins par nom; la vérification du catalogue nécessite de consulter le répertoire plugins/ ou la documentation.
La configuration commence par deux secrets obligatoires
Les instructions de démarrage rapide sont explicites: JWT_SECRET_KEY et AUTH_ENCRYPTION_SECRET sont requis dans tous les environnements, y compris le développement local, et la passerelle ne démarrera pas sans eux. La première étape documentée consiste à exécuter python3 -m mcpgateway.scripts.init_secrets pour générer des valeurs dans .env.secrets, puis à les exporter. Python 3.11 ou plus récent est le prérequis indiqué. Le README note également que la passerelle échoue immédiatement au démarrage avec une erreur de validation Pydantic si une variable .env requise est absente ou invalide, et que les valeurs de remplacement comme __REPLACE_ME__ sont rejetées.
Les chemins de déploiement, de PyPI à Kubernetes
Quatre voies de déploiement sont documentées. La voie PyPI installe mcp-contextforge-gateway dans un environnement virtuel et exécute la commande mcpgateway. Un conteneur Docker unique est publié sur GHCR sous ghcr.io/ibm/mcp-context-forge et peut être exécuté avec Docker ou Podman; le README précise que les images arm64 de production ne sont actuellement pas prises en charge. Docker Compose démarre une pile complète avec PostgreSQL, Redis, nginx et trois réplicas de la passerelle. Un chart Helm sous charts/mcp-stack déploie sur Kubernetes avec autoscaling, métriques Prometheus et RBAC. Chaque voie répète la même exigence: de vrais secrets doivent être générés avant que la passerelle ne démarre.
Configuration, valeurs de sécurité par défaut et limites de contenu
La documentation de configuration renvoie à un fichier .env.example et à une référence que le README dit couvrir plus de 300 variables d'environnement. Deux variables ont des valeurs par défaut non sécurisées que le README recommande de modifier avant la production: BASIC_AUTH_USER vaut admin par défaut et PLATFORM_ADMIN_EMAIL vaut admin@example.com. Trois réglages de sécurité sont actifs par défaut: REQUIRE_JTI, REQUIRE_TOKEN_EXPIRATION et PUBLIC_REGISTRATION_ENABLED à false. Des limites de taille de contenu s'appliquent aux ressources et aux prompts, avec des valeurs par défaut de 100 Ko et 10 Ko; le README précise que ces limites ne valent que pour les opérations de création et de mise à jour. Pour le routage UAID entre passerelles, le défaut est fail-closed: une liste de domaines vide bloque tout routage.
Observabilité et interface d'administration
Le README décrit une interface d'administration construite avec HTMX 2.0.3 et Alpine.js, dotée d'une visionneuse de journaux en temps réel avec filtrage, recherche et export, et d'une authentification par schémas Basic, JWT ou personnalisés. L'observabilité passe par OpenTelemetry avec le protocole OTLP; les backends cités sont Phoenix, Jaeger, Zipkin, Tempo, DataDog et New Relic. Le projet revendique une instrumentation automatique des outils, des prompts, des ressources et des opérations de passerelle, et qualifie le tracing d'indépendant du fournisseur. Le README affirme aussi que l'observabilité n'a aucun surcoût une fois désactivée, sans définir comment cela est mesuré.
L'avertissement sur les serveurs d'exemple et le volet des tests
Le dépôt contient un répertoire mcp-servers/ dont le README précise la nature sans détour: des serveurs d'exemple et de test non pris en charge, issus pour la plupart de contributions communautaires, qui manquent généralement de gestion de session, d'état persistant, de multi-tenant et d'authentification, et qui ne doivent pas être exécutés en production. Le README met en garde contre l'exécution directe de serveurs MCP non fiables sur le système de fichiers local et recommande le sandboxing ou les conteneurs. Côté développement, le README liste des cibles make pour les tests, le linting et la couverture, et chiffre la suite à plus de 7 000 tests. La licence est Apache 2.0, qui accorde des licences de droit d'auteur et de brevet pour l'utilisation, la reproduction et la distribution, mais ne dit rien du support, de la garantie ou de la posture de sécurité.
Conclusion éditoriale
ContextForge est un projet Python sous licence Apache 2.0 qui regroupe les services MCP, A2A et REST/gRPC derrière un registre et un proxy uniques. Il fournit une passerelle agissant comme un serveur MCP conforme, une interface d'administration et plusieurs chemins de déploiement, d'un paquet PyPI unique à un chart Helm Kubernetes. Au moment de la rédaction, le dépôt compte 4 247 étoiles et 800 forks, avec 1 204 problèmes ouverts. Le README ne mentionne ni SLA de support formelle ni historique de production. Le site de documentation à ibm.github.io/mcp-context-forge est la référence pour la configuration, le déploiement et la feuille de route.
Notes de la communauté