View a markdown version of this page

Vorlagen für die MCP-Serverintegration - OpenSearch Amazon-Dienst

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Vorlagen für die MCP-Serverintegration

Mit den Model Context Protocol (MCP) -Servervorlagen können Sie einen OpenSearch gehosteten MCP-Server auf Amazon Bedrock AgentCore bereitstellen und so die Integrationskomplexität zwischen KI-Agenten und Tools reduzieren. OpenSearch Weitere Informationen finden Sie unter Was ist Amazon Bedrock? AgentCore .

Funktionen der Vorlage

Diese Vorlage enthält die folgenden Hauptfunktionen für die Bereitstellung und Verwaltung Ihres MCP-Servers.

Verwaltete MCP-Serverbereitstellung

Stellt opensearch-mcp-server-py mithilfe von Amazon Bedrock AgentCore Runtime bereit und stellt einen Agenten-Endpunkt bereit, der Anfragen an den zugrunde liegenden MCP-Server weiterleitet. Weitere Informationen finden Sie unter https://github.com/opensearch-project/opensearch-mcp-server-py opensearch-mcp-server-py auf. GitHub

Authentifizierung und Sicherheit

Behandelt sowohl die eingehende Authentifizierung (von Benutzern zum MCP-Server) als auch die ausgehende Authentifizierung (vom MCP-Server zu OpenSearch) und unterstützt OAuth für die Unternehmensauthentifizierung.

Anmerkung

Die MCP-Servervorlage ist nur in den folgenden Fällen verfügbar: AWS-Regionen

  • USA Ost (Nord-Virginia)

  • USA West (Oregon)

  • Europa (Frankfurt)

  • Asien-Pazifik (Sydney)

Um die MCP-Servervorlage zu verwenden

Folgen Sie diesen Schritten, um die MCP-Servervorlage bereitzustellen und sie mit Ihrer OpenSearch Domain zu verbinden.

  1. Öffnen Sie die Amazon OpenSearch Service Console.

  2. Wählen Sie im linken Navigationsbereich Integrationen aus.

  3. Suchen Sie die Vorlage für die MCP-Serverintegration.

  4. Wählen Sie Domain konfigurieren. Geben Sie dann Ihren OpenSearch Domain-Endpunkt ein.

Die Vorlage erstellt eine AgentCore Runtime und die folgenden Komponenten, wenn die entsprechenden optionalen Parameter nicht angegeben sind:

  • Ein Amazon-ECR-Repository

  • Ein Amazon Cognito-Benutzerpool als OAuth-Autorisierer

  • Eine Ausführungsrolle, die von der Runtime verwendet wird AgentCore

Nachdem Sie dieses Verfahren abgeschlossen haben, sollten Sie nach der Erstellung die folgenden Schritte ausführen:

  1. Für Amazon OpenSearch Service: Ordnen Sie den ARN Ihrer Ausführungsrolle einer OpenSearch Backend-Rolle zu, um den Zugriff auf Ihre Domain zu kontrollieren.

    Für Amazon OpenSearch Serverless: Erstellen Sie eine Datenzugriffsrichtlinie, die es Ihrer Ausführungsrolle ermöglicht, auf Ihre Sammlung zuzugreifen.

  2. Holen Sie sich ein OAuth-Zugriffstoken von Ihrem Authorizer. Verwenden Sie dann dieses Token, um unter der in Ihrer Stack-Ausgabe aufgeführten URL auf den MCP-Server zuzugreifen. CloudFormation

Weitere Informationen finden Sie unter Richtlinienaktionen für Serverless OpenSearch.

Integration mit KI-Agenten

Nach der Bereitstellung können Sie den MCP-Server in jeden MCP-kompatiblen Agenten integrieren. Weitere Informationen finden Sie im Amazon Bedrock Developer Guide unter Aufrufen Ihres bereitgestellten MCP-Servers.

Integration für Entwickler

Sie können den MCP-Serverendpunkt zu Ihrer Agentenkonfiguration hinzufügen. Sie können ihn auch mit der Kiro CLI, benutzerdefinierten Agenten oder anderen MCP-compatible Agenten verwenden.

Einsatz im Unternehmen

Zentral gehostete Agenten können OpenSearch als eine Komponente eine Verbindung zu mehreren Diensten herstellen. Dieser Agent unterstützt OAuth- und Unternehmensauthentifizierungssysteme und lässt sich so skalieren, dass er mehrere Benutzer und Anwendungsfälle unterstützt.

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

Weitere Informationen finden Sie auf der Website unter Hosten eines OpenSearch MCP Servers mit Amazon Bedrock AgentCore. OpenSearch