

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
<a name="cfn-template-mcp-server"></a>

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](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html)? .

## Funktionen der Vorlage
<a name="template-mcp-server-features"></a>

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

**Verwaltete MCP-Serverbereitstellung**  
Wird **opensearch-mcp-server-py**mithilfe 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-py*GitHub*](https://github.com/opensearch-project/opensearch-mcp-server-py)

**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
<a name="template-mcp-server-procedure"></a>

Gehen Sie wie folgt vor, um die MCP-Servervorlage bereitzustellen und sie mit Ihrer OpenSearch Domain zu verbinden.

1. Öffnen Sie die [Amazon OpenSearch Service-Konsole](https://console.aws.amazon.com//aos/home ). 

1. Wählen Sie im linken Navigationsbereich **Integrationen** aus.

1. Suchen Sie die **MCP-Serverintegrationsvorlage**.

1. 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:

1. **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.

1. 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](security-iam-serverless.md#security-iam-serverless-id-based-policies-actions).

## Integration mit KI-Agenten
<a name="cfn-template-mcp-agent-integrations"></a>

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](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-mcp.html#runtime-mcp-invoke-server) 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 Kiro 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.

### Beispiel für die Verwendung des Strands Agents Frameworks
<a name="strands-agent-integration-id"></a>

```
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](https://opensearch.org/blog/hosting-opensearch-mcp-server-with-amazon-bedrock-agentcore/) auf der OpenSearch Website.*