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
-
Wird opensearch-mcp-server-pymithilfe von Amazon Bedrock AgentCore Runtime bereitgestellt und bietet einen Agenten-Endpunkt, der Anfragen an den zugrunde liegenden MCP-Server weiterleitet. Weitere Informationen finden Sie unter. opensearch-mcp-server-pyGitHub
- Authentifizierung und Sicherheit
-
Verarbeitet sowohl die eingehende Authentifizierung (vom Benutzer zum MCP-Server) als auch die ausgehende Authentifizierung (vom MCP-Server zum OpenSearch) und unterstützt OAuth 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
Gehen Sie wie folgt vor, um die MCP-Servervorlage bereitzustellen und sie mit Ihrer OpenSearch Domain zu verbinden.
-
Öffnen Sie die Amazon OpenSearch Service-Konsole
. -
Wählen Sie im linken Navigationsbereich Integrationen aus.
-
Suchen Sie die Vorlage für die MCP-Serverintegration.
-
Wählen Sie Domäne konfigurieren aus. 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 Cognito-Benutzerpool als Autorisierer OAuth
-
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:
-
Für Amazon OpenSearch Service: Ordnen Sie Ihren ARN für die 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.
-
Holen Sie sich ein OAuth Zugriffstoken von Ihrem Autorisierer. Verwenden Sie dann dieses Token, um über die in Ihrer CloudFormation Stack-Ausgabe angegebene URL auf den MCP-Server zuzugreifen.
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 unter Aufrufen Ihres bereitgestellten MCP-Servers im Amazon Bedrock Developer Guide.
- Integration für Entwickler
-
Sie können den MCP-Serverendpunkt zu Ihrer Agentenkonfiguration hinzufügen. Sie können es auch mit der Amazon Q Developer CLI, benutzerdefinierten Agenten oder anderen MCP-kompatiblen Agenten verwenden.
- Einsatz auf Unternehmensebene
-
Zentral gehostete Agenten können mit OpenSearch einer einzigen Komponente eine Verbindung zu mehreren Diensten herstellen. Dieser Agent unterstützt OAuth Unternehmens-Authentifizierungssysteme und ist skalierbar, um mehrere Benutzer und Anwendungsfälle zu unterstützen.
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 unter Hosting von OpenSearch MCP Server with Amazon Bedrock AgentCore