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-py
ci-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.
-
Ouvrez la console Amazon OpenSearch Service
. -
Dans le volet de navigation de gauche, choisissez Integrations.
-
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 à 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.
-
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