Modèles d'intégration de serveurs MCP - Amazon OpenSearch Service

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.

Modèles d'intégration de serveurs MCP

Avec les modèles de serveur MCP (Model Context Protocol), vous pouvez déployer un serveur MCP OpenSearch hébergé sur Amazon Bedrock AgentCore, réduisant ainsi la complexité de l'intégration entre les agents et les outils d'IA. OpenSearch Pour plus d'informations, consultez Qu'est-ce qu'Amazon Bedrock ? AgentCore .

Caractéristiques du modèle

Ce modèle inclut les fonctionnalités clés suivantes pour le déploiement et la gestion de votre serveur MCP.

Déploiement de serveurs MCP gérés

Déploie opensearch-mcp-server-pyà l'aide d'Amazon Bedrock AgentCore Runtime et fournit un point de terminaison d'agent qui transmet les demandes par proxy au serveur MCP sous-jacent. Pour plus d'informations, voir opensearch-mcp-server-pyci-dessous GitHub.

Authentification et sécurité

Gère à la fois l'authentification entrante (des utilisateurs vers le serveur MCP) et l'authentification sortante (du serveur MCP vers OpenSearch), et prend en charge OAuth l'authentification d'entreprise.

Note

Le modèle de serveur MCP n'est disponible que dans les versions suivantes : Régions AWS

  • USA Est (Virginie du Nord)

  • USA Ouest (Oregon)

  • Europe (Francfort)

  • Asie-Pacifique (Sydney)

Pour utiliser le modèle de serveur MCP

Procédez comme suit pour déployer le modèle de serveur MCP et le connecter à votre OpenSearch domaine.

  1. Ouvrez la console Amazon OpenSearch Service.

  2. Dans le volet de navigation de gauche, choisissez Integrations.

  3. Localisez le modèle d'intégration du serveur MCP.

  4. Choisissez Configurer le domaine. Entrez ensuite le point de terminaison OpenSearch de votre domaine.

Le modèle crée un AgentCore Runtime et les composants suivants, si les paramètres facultatifs correspondants ne sont pas spécifiés :

  • Un référentiel Amazon ECR

  • Un groupe d'utilisateurs Amazon Cognito en tant qu'autorisateur OAuth

  • Un rôle d'exécution utilisé par le AgentCore Runtime

Une fois cette procédure terminée, vous devez suivre les étapes suivantes après la création :

  1. Pour Amazon OpenSearch Service : associez l'ARN de votre rôle d'exécution à OpenSearch un rôle principal pour contrôler l'accès à votre domaine.

    Pour Amazon OpenSearch Serverless : créez une politique d'accès aux données qui autorise votre rôle d'exécution à accéder à votre collection.

  2. Obtenez un jeton OAuth d'accès auprès de votre autorisateur. Utilisez ensuite ce jeton pour accéder au serveur MCP à l'adresse URL indiquée dans la sortie de votre CloudFormation stack.

Pour de plus amples informations, veuillez consulter Actions stratégiques pour le mode OpenSearch Serverless.

Intégration avec les agents d'IA

Après le déploiement, vous pouvez intégrer le serveur MCP à n'importe quel agent compatible MCP. Pour plus d'informations, consultez la section Invoquer votre serveur MCP déployé dans le manuel Amazon Bedrock Developer Guide.

Intégration des développeurs

Vous pouvez ajouter le point de terminaison du serveur MCP à la configuration de votre agent. Vous pouvez également l'utiliser avec l'Amazon Q Developer CLI, des agents personnalisés ou d'autres agents compatibles MCP.

Déploiement en entreprise

Les agents hébergés de manière centralisée peuvent se connecter à plusieurs services en OpenSearch tant que composant unique. Cet agent prend en charge les systèmes d'authentification d'entreprise OAuth et s'adapte pour prendre en charge plusieurs utilisateurs et cas d'utilisation.

import os import requests from strands import Agent from strands.tools.mcp import MCPClient from mcp.client.streamable_http import streamablehttp_client def get_bearer_token(discovery_url: str, client_id: str, client_secret: str): response = requests.get(discovery_url) discovery_data = response.json() token_endpoint = discovery_data['token_endpoint'] data = { 'grant_type': 'client_credentials', 'client_id': client_id, 'client_secret': client_secret } headers = { 'Content-Type': 'application/x-www-form-urlencoded' } response = requests.post(token_endpoint, data=data, headers=headers) token_data = response.json() return token_data['access_token'] if __name__ == "__main__": discovery_url = os.environ["DISCOVERY_URL"] client_id = os.environ["CLIENT_ID"] client_secret = os.environ["CLIENT_SECRET"] mcp_url = os.environ["MCP_URL"] bearer_token = get_bearer_token(discovery_url, client_id, client_secret) opensearch_mcp_client = MCPClient(lambda: streamablehttp_client(mcp_url, { "authorization": f"Bearer {bearer_token}", "Content-Type": "application/json" })) with opensearch_mcp_client: tools = opensearch_mcp_client.list_tools_sync() agent = Agent(tools=tools) agent("list indices")

Pour plus d'informations, consultez la section Hébergement d'un serveur OpenSearch MCP avec Amazon Bedrock AgentCore sur le OpenSearch site Web.