View a markdown version of this page

Stratégie d'hébergement MCP - AWS Conseils prescriptifs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Stratégie d'hébergement MCP

L'extraction des outils disponibles dans des serveurs MCP dissocie le développement de vos agents des outils disponibles. Cela pose les défis liés à l'endroit où vous hébergez votre serveur MCP et à la manière dont les outils sont organisés au sein de ces serveurs.

Approches d'hébergement

Il existe trois options pour héberger vos serveurs MCP : les exécuter localement sur la machine d'un utilisateur final, les héberger à distance ou les héberger via une passerelle MCP. Chaque option comporte des avantages et des inconvénients.

Hébergement local

L'hébergement local exécute le serveur MCP en tant que sous-processus sur votre machine locale avec l'agent qui communique avec le serveur en utilisant JSON-RPC sur des flux d'entrée et de sortie standard. Cette approche ne nécessite pas d'authentification entre le client et le serveur. Les outils peuvent interagir avec des applications et des fichiers locaux, utiliser des informations d'identification stockées localement et hériter de l'accès réseau de la machine locale de l'utilisateur. Il s'agit du modèle d'hébergement le plus simple et il présente plusieurs avantages.

De nombreux clients commencent à utiliser MCP en utilisant des serveurs locaux. Ils permettent aux ingénieurs d'itérer et de résoudre rapidement divers problèmes depuis leur environnement local. Prenons l'exemple d'un serveur MCP qui se connecte à un dépôt Git que l'assistant de codage d'un ingénieur utilise. Il est tout à fait logique de conserver le serveur MCP local, car il peut utiliser les informations d'identification uniques de l'ingénieur pour accéder au référentiel, sans ajouter d'appel réseau supplémentaire à un serveur MCP distant. L'image suivante montre un serveur MCP hébergé localement utilisé avec un agent de codage dans un IDE.

Serveur MCP hébergé localement utilisé avec un agent de codage dans un IDE.

Pour ces types de déploiements, vous devez tenir compte de la manière dont les serveurs MCP sont développés et distribués. La plupart des clients développent un registre MCP dans lequel les serveurs peuvent être enregistrés et téléchargés par les utilisateurs finaux. Cela ressemble beaucoup à un registre de conteneurs dans lequel un utilisateur peut rechercher des fonctionnalités spécifiques et trouver les serveurs MCP adaptés à ses besoins.

Il existe des registres MCP publics, tels que le registre MCP officiel, et des registres hébergés par le secteur privé. Organisations alignent généralement leur stratégie de registre MCP sur les politiques existantes concernant la distribution de logiciels open source, les registres de conteneurs et la gestion interne des packages. Vous devez prendre en compte des facteurs tels que le scan de sécurité, les flux de travail d'approbation et les exigences de conformité.

Cependant, l'hébergement local présente des défis opérationnels que les organisations devraient prendre en compte. Tout d'abord, les utilisateurs finaux doivent découvrir, télécharger et configurer les serveurs MCP de manière indépendante. Cela peut compliquer la prise en main de chaque serveur MCP utilisé localement. Ensuite, vous ne pouvez pas contrôler le cycle de vie du serveur MCP, ce qui signifie que les utilisateurs peuvent continuer à exécuter localement des versions obsolètes présentant des failles de sécurité ou des fonctionnalités manquantes. Cela peut compliquer le respect des exigences de conformité. Certains outils IDEs et les outils CLI, tels que Kiro, permettent aux organisations de gérer et de contrôler les outils MCP disponibles, garantissant ainsi la cohérence et la sécurité entre les équipes.

Hébergement à distance

La deuxième option consiste à héberger des serveurs MCP distants accessibles via HTTP ou HTTPS. Cela permet d'accéder à n'importe quel client connecté au réseau. L'hébergement à distance vous permet de contrôler de manière centralisée l'accès aux ressources et aux fonctionnalités du MCP, de mettre en œuvre l'authentification et l'autorisation, et de contrôler le versionnement et les mises à jour de la logique du serveur MCP. L'hébergement à distance nécessite toujours l'utilisation d'un registre MCP afin que les utilisateurs finaux puissent découvrir les serveurs MCP qu'ils souhaitent utiliser avec leur agent. L'image suivante montre l'approche d'hébergement à distance.

Approche d'hébergement à distance.

Du point de vue du développement des agents, l'expérience est similaire, que le serveur MCP soit local ou distant. Le changement le plus important concerne la mise en œuvre de l'authentification et de l'autorisation, y compris l'accès de l'agent au serveur MCP et l'accès du serveur aux ressources externes. Les implémentations de serveurs MCP distants doivent être soigneusement planifiées afin de prendre en compte l'accès mutualisé et la gestion des privilèges. Le chapitre sur la stratégie de gouvernance du MCP contient plus d'informations sur les considérations relatives à l'authentification et à l'autorisation.

Passerelle MCP

La dernière option consiste à utiliser une passerelle MCP. Les passerelles MCP agissent comme un proxy centralisé entre les clients et les serveurs MCP, et elles orchestrent l'accès aux serveurs MCP enregistrés. Sans passerelle, chaque agent doit enregistrer chaque serveur MCP distant qu'il souhaite utiliser. Une passerelle permet à l'agent de se connecter à un point de terminaison unique qui gère l'authentification, l'autorisation, le routage et la traduction du protocole. De nouveaux serveurs et outils MCP peuvent être ajoutés dynamiquement et mis immédiatement à la disposition de l'agent. L'image suivante montre l'approche de la passerelle MCP.

Approche de passerelle MCP.

Certaines solutions de passerelle, telles que Docker MCP Gateway, gèrent également le cycle de vie des serveurs MCP, en lançant des serveurs à la demande selon les besoins. Les passerelles MCP, telles qu'Amazon Bedrock AgentCore Gateway, peuvent également aider à gérer la découverte d'outils en fournissant des fonctionnalités de recherche sémantique natives. Cela fournit aux agents un point de terminaison unique pour se connecter à un client MCP et permet d'optimiser l'utilisation de leurs fenêtres contextuelles. Il en résulte des agents simples capables de choisir et d'utiliser efficacement les outils MCP. Cependant, elle présente des défis liés à l'identité similaires à ceux de l'approche du serveur MCP distant.

Bonnes pratiques pour l'hébergement de serveurs MCP

  • L'éventail des options d'hébergement n'est pas universel. Une grande partie de l'utilisation des serveurs MCP est aujourd'hui locale.

  • Lorsque vous commencez à utiliser des serveurs MCP distants, votre principale préoccupation est l'authentification et l'autorisation cohérentes auprès du serveur MCP et la manière dont le serveur MCP effectue l'authentification et l'autorisation des ressources en aval.

  • Les passerelles MCP simplifient la connectivité, l'authentification et l'autorisation pour l'hébergement de plusieurs serveurs MCP distants. Ils fournissent également des fonctionnalités permettant d'améliorer la gestion des fenêtres contextuelles en recherchant les outils applicables.