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
Grâce aux 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 requêtes au serveur MCP sous-jacent. Pour plus d'informations, consultez opensearch-mcp-server-py sur
. 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 pour l'authentification d'entreprise.
Note
Le modèle de serveur MCP n'est disponible que dans les cas suivants : Régions AWS
-
USA Est (Virginie du Nord)
-
USA Ouest (Oregon)
-
Europe (Francfort)
-
Asie-Pacifique (Sydney)
Pour utiliser le modèle de serveur MCP
Suivez ces étapes pour déployer le modèle de serveur MCP et le connecter à votre OpenSearch domaine.
-
Ouvrez la console Amazon OpenSearch Service
. -
Dans le volet de navigation de gauche, choisissez Intégrations.
-
Localisez le modèle d'intégration du serveur MCP.
-
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 :
-
Pour Amazon OpenSearch Service : associez l'ARN de votre rôle d'exécution à un OpenSearch rôle principal afin de contrôler l'accès à votre domaine.
Pour Amazon OpenSearch Serverless : créez une politique d'accès aux données qui permet à votre rôle d'exécution d'accéder à votre collection.
-
Obtenez un jeton d'accès OAuth 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 pile.
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 guide du développeur Amazon Bedrock.
- 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 la CLI Kiro, des agents personnalisés ou d'autres MCP-compatible agents.
- Déploiement en entreprise
-
Les agents hébergés de manière centralisée peuvent se connecter à plusieurs services OpenSearch en un seul composant. Cet agent prend en charge les systèmes d'authentification OAuth et d'entreprise, et s'adapte à de multiples 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