View a markdown version of this page

OpenSearch MCP-Server - 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.

OpenSearch MCP-Server

OpenSearch MCP-Server (opensearch-mcp-server-py) ist eine Open-Source-Implementierung des Model Context Protocol für. OpenSearch Es stellt OpenSearch APIs Tools zur Verfügung, die KI-Assistenten und Agenten-Frameworks direkt aufrufen können, sodass Sie Fragen wie „Welche Indizes gibt es in meinem Cluster?“ stellen können. oder „Zeig mir die langsamsten Abfragen der letzten Stunde“ und der Agent bearbeitet die API-Aufrufe in Ihrem Namen.

Der Server funktioniert sowohl mit verwalteten OpenSearch Dienstdomänen als auch mit OpenSearch serverlosen Sammlungen. Sie können ihn mit Codierung IDEs (Kiro, Claude Code, Cursor), Desktop-KI-Assistenten (Claude Desktop) und Agenten-Frameworks (Strands Agents, LangGraph) verbinden.

Voraussetzungen

  • Python 3.10 oder höher.

  • uv(empfohlen) oderpip.

  • Ein erreichbarer OpenSearch Endpunkt: eine OpenSearch Dienstdomäne, eine OpenSearch serverlose Sammlung oder ein selbstverwalteter Cluster OpenSearch .

  • Anmeldeinformationen mit der Berechtigung, den anzurufen, den OpenSearch APIs Sie offenlegen möchten. Informationen zu IAM-Richtlinien für OpenSearch Dienstdomänen finden Sie unterIdentitätsbasierte Richtlinien. Richtlinien für den OpenSearch serverlosen Datenzugriff finden Sie unter. Datenzugriffskontrolle für Amazon OpenSearch Serverless

Installieren

Führen Sie den Server mit aus uvx (keine Installation erforderlich) oder installieren Sie ihn lokal:

# Run directly with uvx (recommended – no install step) uvx opensearch-mcp-server-py # Or install with pip pip install opensearch-mcp-server-py

Die meisten Benutzer konfigurieren ihren IDE- oder AI-Assistenten so, dass der Server automatisch gestartet wird. Beispiele finden Sie Verwendung mit Agenten-Frameworks unter In einer Codierungs-IDE konfigurieren und.

Authentifizierung

Konfigurieren Sie die Authentifizierung über Umgebungsvariablen (Einzelcluster-Modus) oder pro Cluster in einer YAML-Konfigurationsdatei (Multi-Cluster-Modus). Der Server wendet Authentifizierungsmethoden in der folgenden Prioritätsreihenfolge an: No-Auth, Header-basiert, IAM-Rolle, Basisauthentifizierung, Zugriffsschlüssel. AWS

IAM-Rolle (SigV4) — empfohlen für Service-Domains OpenSearch
export OPENSEARCH_URL="https://your-domain-endpoint" export AWS_IAM_ARN="arn:aws:iam::123456789012:role/YourOpenSearchRole" export AWS_REGION="us-east-1"

Die Rolle muss berechtigt sein, die vom Server verwendeten OpenSearch APIs aufzurufen. Beispielrichtlinien Zusätzliche Beispielrichtlinien finden Sie unter.

AWS Anmeldeinformationen oder Profil
export OPENSEARCH_URL="https://your-domain-endpoint" export AWS_REGION="us-east-1" export AWS_PROFILE="your-aws-profile"
OpenSearch Serverlose Sammlungen

Stellen Sie ein, AWS_OPENSEARCH_SERVERLESS=true dass der Server Anfragen mit dem aoss Dienstnamen statt mit signiert. es Stellen Sie sicher, dass dem Prinzipal über eine Datenzugriffsrichtlinie für die Sammlung Zugriff gewährt wird (sieheDatenzugriffskontrolle für Amazon OpenSearch Serverless).

export OPENSEARCH_URL="https://collection-id.us-east-1.aoss.amazonaws.com" export AWS_OPENSEARCH_SERVERLESS="true" export AWS_REGION="us-east-1" export AWS_PROFILE="your-aws-profile"
Grundlegende Authentifizierung
export OPENSEARCH_URL="https://your-domain-endpoint" export OPENSEARCH_USERNAME="username" export OPENSEARCH_PASSWORD="password"
Wichtig

Betten Sie keine Passwörter in Konfigurationsdateien ein, die möglicherweise in die Quellcodeverwaltung eingecheckt wurden. Verwenden Sie den Secret Manager oder die Shell-Umgebung Ihres Betriebssystems, um Anmeldeinformationen bereitzustellen.

Sicherheitsüberlegungen

Der MCP-Server läuft mit den von Ihnen angegebenen Anmeldeinformationen. Alles, wofür diese Anmeldeinformationen autorisiert sind, kann der KI-Assistent möglicherweise in Ihrem Namen auslösen. Folgen Sie diesen Praktiken:

  • Verwenden Sie Anmeldeinformationen mit den geringsten Rechten. Erstellen Sie eine dedizierte IAM-Rolle oder einen OpenSearch Benutzer, der auf die Indizes und Aktionen zugeschnitten ist, die der Agent benötigt. Vermeiden Sie die Wiederverwendung von Administratoranmeldedaten.

  • Getrennte Entwicklung und Produktion. Richten Sie den Server zur Erkundung auf Cluster aus, die nicht zur Produktion gehören. Verwenden Sie den Multimodus mit expliziten Clusternamen, wenn Produktionszugriff erforderlich ist.

  • Tools filtern. Deaktivieren Sie Werkzeugkategorien, die Ihr Workflow nicht benötigt. Stellen Sie diese Option ein, OPENSEARCH_DISABLED_CATEGORIES=core_tools um den Standardsatz zu deaktivieren, oder verwenden Sie diese Option, OPENSEARCH_ENABLED_CATEGORIES um nur bestimmte Kategorien zu aktivieren.

  • Anmeldeinformationen schützen. Ziehen Sie AWS Profile und IAM-Rollen statischen Zugriffsschlüsseln vor. Übergeben Sie niemals Geheimnisse an Konfigurationsdateien in der Quellcodeverwaltung.

  • Überprüfen Sie die Ausgabe des Tools. Die Antworten des MCP-Tools werden als Kontext an das Sprachmodell zurückgegeben. Vermeiden Sie es, den Server anhand von Indizes laufen zu lassen, die vertrauliche Daten enthalten, die Sie Ihrem KI-Anbieter nicht zugänglich machen möchten.

Fehlerbehebung

Der Assistent sieht keine Tools OpenSearch

Vergewissern Sie sich, dass Ihre Konfigurationsdatei eine gültige JSON-Datei ist, und starten Sie den Client vollständig neu. Die meisten Clients laden MCP-Server nur beim Start.

Tool-Aufrufe geben 403 Forbidden zurück

Ihre Anmeldeinformationen haben keine Berechtigung für die API, die das Tool aufruft. Lesen Sie für OpenSearch Service-Domains die Domain-Zugriffsrichtlinie und die IAM-Richtlinien, die Ihrer Rolle zugeordnet sind. Überprüfen Sie bei OpenSearch Serverless die Datenzugriffsrichtlinie der Sammlung.

Fehler bei Nichtübereinstimmung der Signaturen bei Serverless OpenSearch

Vergewissern Sie sich, dass die Einstellung aktiviert AWS_OPENSEARCH_SERVERLESS=true ist (oder is_serverless: true sich im Multimodus befindet). Ohne diesen Wert signiert der Server mit dem es Dienstnamen statt mitaoss.

Ein Tool, das Sie benötigen, ist nicht verfügbar

Prüfen Sie, ob es in einer nicht standardmäßigen Kategorie enthalten ist, und aktivieren Sie es mit OPENSEARCH_ENABLED_CATEGORIES oder enabled_categories in Ihrer YAML-Konfiguration.

Wenn Sie weitere Hilfe benötigen, öffnen Sie ein Problem im opensearch-mcp-server-py Repository.

Weitere Ressourcen