View a markdown version of this page

Plantillas de integración de servidores MCP - OpenSearch Servicio Amazon

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Plantillas de integración de servidores MCP

Con las plantillas de servidor del Model Context Protocol (MCP), puede implementar un servidor MCP OpenSearch alojado en Amazon Bedrock AgentCore, lo que reduce la complejidad de la integración entre los agentes y las herramientas de IA. OpenSearch Para obtener más información, consulte ¿Qué es Amazon Bedrock? AgentCore .

Características de la plantilla

Esta plantilla incluye las siguientes características clave para implementar y administrar su servidor MCP.

Implementación de un servidor MCP administrado

Implementa opensearch-mcp-server-py mediante Amazon AgentCore Bedrock Runtime y proporciona un punto de enlace de agente que envía las solicitudes por proxy al servidor MCP subyacente. Para obtener más información, GitHubconsulte opensearch-mcp-server-py en.

Autenticación y seguridad

Gestiona tanto la autenticación entrante (de los usuarios al servidor MCP) como la autenticación saliente (del servidor MCP al), y admite OAuth para la autenticación empresarial. OpenSearch

nota

La plantilla del servidor MCP solo está disponible en las siguientes Regiones de AWS:

  • Este de EE. UU. (Norte de Virginia)

  • Oeste de EE. UU. (Oregón)

  • Europa (Fráncfort)

  • Asia-Pacífico (Sídney)

Para utilizar la plantilla de servidor MCP

Siga estos pasos para implementar la plantilla de servidor MCP y conectarla a su dominio. OpenSearch

  1. Abre la consola OpenSearch de Amazon Service.

  2. En el panel de navegación de la izquierda, seleccione Integraciones.

  3. Localice la plantilla de integración del servidor MCP.

  4. Elija Configurar dominio. A continuación, introduce el punto de enlace OpenSearch de tu dominio.

La plantilla crea un AgentCore Runtime y los siguientes componentes, si no se especifican los parámetros opcionales correspondientes:

  • Un repositorio de Amazon ECR.

  • O bien, utilice un grupo de usuarios de Amazon Cognito como autorizador OAuth.

  • Una función de ejecución utilizada por el AgentCore Runtime

Después de completar este procedimiento, debe seguir estos pasos posteriores a la creación:

  1. Para Amazon OpenSearch Service: asigne el ARN de su rol de ejecución a un rol de OpenSearch backend para controlar el acceso a su dominio.

    Para Amazon OpenSearch Serverless: cree una política de acceso a los datos que permita a su rol de ejecución acceder a su colección.

  2. Obtenga un token de acceso de OAuth de su autorizador. A continuación, utilice este token para acceder al servidor MCP en la URL que aparece en la salida de la CloudFormation pila.

Para obtener más información, consulte Acciones políticas para Serverless OpenSearch.

Integración con agentes de IA

Tras la implementación, puede integrar el servidor MCP con cualquier agente compatible con MCP. Para obtener más información, consulte Invocar a su servidor MCP desplegado en la Guía para desarrolladores de Amazon Bedrock.

Integración de desarrolladores

Puede agregar el punto de conexión del servidor MCP a la configuración de su agente. También puede usarlo con la CLI de Kiro, agentes personalizados u otros MCP-compatible agentes.

Implementación empresarial

Los agentes alojados en Central pueden conectarse a varios servicios con OpenSearch un solo componente. Este agente es compatible con los sistemas de autenticación OAuth y empresariales y se escala para admitir varios usuarios y casos de uso.

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")

Para obtener más información, consulte Alojamiento de un servidor OpenSearch MCP con Amazon Bedrock AgentCore en el OpenSearch sitio web.