AWS Bedrock KB Retrieval

offiziell

Fragen Sie Amazon Bedrock Knowledge Bases in natürlicher Sprache ab, um relevante Informationen aus Ihren Datenquellen abzurufen.

Was kann man mit AWS Bedrock KB Retrieval MCP machen?

  • Wissensdatenbanken entdecken — Fragen Sie nach allen verfügbaren Bedrock-Wissensdatenbanken und deren Datenquellen über ListKnowledgeBases.
  • Natürliche Sprache verwenden — Stellen Sie Konversationsfragen, um relevante Passagen mit Zitaten aus Ihren Wissensdatenbanken abzurufen.
  • Nach Datenquelle filtern — Konzentrieren Sie die Abfrage auf bestimmte Datenquellen, indem Sie diese ein- oder ausschließen.
  • Agentische Abfrage mit Synthese — Fordern Sie einen mehrstufigen Abfrageplan mit einer zitierten Antwort über mehrere verwaltete Wissensdatenbanken mithilfe von AgenticQueryKnowledgeBases an.
  • Zugriff auf ACL-geschützte Inhalte — Übergeben Sie eine user_id, um Inhalte aus ACL-bewussten Datenquellen wie SharePoint oder Confluence abzurufen.
  • Ergebnisse neu bewerten — Verbessern Sie die Abfragerelevanz, indem Sie das Reranking mit Amazon-Bedrock-Modellen wie cohere.rerank-v3-5:0 aktivieren.

Dokumentation

Amazon Bedrock Knowledge Base Retrieval MCP Server

MCP-Server für den Zugriff auf Amazon Bedrock Knowledge Bases

Funktionen

Knowledge Bases und ihre Datenquellen entdecken

  • Alle verfügbaren Knowledge Bases finden und erkunden
  • Knowledge Bases nach Name oder Tag durchsuchen
  • Datenquellen auflisten, die mit jeder Knowledge Base verknüpft sind

Knowledge Bases mit natürlicher Sprache abfragen

  • Informationen mit Konversationsabfragen abrufen
  • Relevante Passagen aus Ihren Knowledge Bases erhalten
  • Zugriff auf Zitatinformationen für alle Ergebnisse

Ergebnisse nach Datenquelle filtern

  • Abfragen auf bestimmte Datenquellen fokussieren
  • Bestimmte Datenquellen ein- oder ausschließen
  • Ergebnisse aus bestimmten Datenquellen priorisieren

Agentische Abfrage auf verwalteten Knowledge Bases

  • Eine mehrstufige Abfragestrategie planen und eine zitierte Antwort synthetisieren
  • Mehrere Knowledge Bases in einem Aufruf durchsuchen
  • Optionale komprimierte Ablaufverfolgung der Planungs- und Abfrageschritte des Agents
  • Nur verwaltete Knowledge Bases; das Tool lehnt andere Typen mit einer klaren Meldung ab

Zugriff auf ACL-geschützte Inhalte

  • user_id übergeben, um Inhalte aus ACL-bewussten Datenquellen abzurufen (SharePoint, OneDrive, Confluence mit dokumentbezogenen ACLs)
  • Ohne diese sind diese Inhalte unzugänglich, und der Schritt zur vollständigen Dokumenterweiterung der agentischen Abfrage schlägt mit „UserContext is required for ACL-aware data sources" fehl
  • Ergebnisse werden auf das gefiltert, was dieser Benutzer sehen darf

Unterstützung sowohl verwalteter als auch Vektor-Knowledge-Bases

  • Funktioniert mit Vektor-Knowledge-Bases (type: VECTOR) und verwalteten Knowledge Bases (type: MANAGED)
  • Der Knowledge-Base-Typ wird automatisch erkannt und die korrekte Retrieve-Konfiguration wird gesendet (vectorSearchConfiguration oder managedSearchConfiguration)
  • Die Datenquellenfilterung verwendet den Metadatenschlüssel, der für den Knowledge-Base-Typ geeignet ist
  • Das ListKnowledgeBases-Tool meldet die type jeder Knowledge Base

Ergebnisse neu bewerten

  • Relevanz der Abrufergebnisse verbessern
  • Amazon-Bedrock-Neubewertungsfunktionen verwenden
  • Ergebnisse nach Relevanz für Ihre Abfrage sortieren

Voraussetzungen

Installationsanforderungen

  1. uv von Astral oder der GitHub-README installieren
  2. Python mit uv python install 3.10 installieren

AWS-Anforderungen

  1. AWS-CLI-Konfiguration: Sie müssen die AWS-CLI mit Anmeldeinformationen und einem AWS_PROFILE konfiguriert haben, der Zugriff auf Amazon Bedrock und Knowledge Bases hat
  2. Amazon-Bedrock-Knowledge-Base: Sie müssen mindestens eine Amazon-Bedrock-Knowledge-Base mit dem Tag-Schlüssel mcp-multirag-kb mit einem Wert von true haben
  3. IAM-Berechtigungen: Ihre IAM-Rolle/Ihr IAM-Benutzer muss über entsprechende Berechtigungen verfügen, um:
    • Knowledge Bases aufzulisten und zu beschreiben
    • Auf Datenquellen zuzugreifen
    • Knowledge Bases abzufragen

Anforderungen für die Neubewertung

Wenn Sie die Neubewertungsfunktion verwenden möchten, benötigt Ihre Bedrock-Knowledge-Base zusätzliche Berechtigungen:

  1. Ihre IAM-Rolle muss Berechtigungen für sowohl bedrock:Rerank- als auch bedrock:InvokeModel-Aktionen haben
  2. Die Dienstromrolle für Amazon-Bedrock-Knowledge-Bases muss diese Berechtigungen ebenfalls haben
  3. Die Verfügbarkeit der Neubewertung unterscheidet sich pro Modell: amazon.rerank-v1:0 wird in us-east-1 nicht angeboten, während cohere.rerank-v3-5:0 angeboten wird. Der Server validiert das (Region, Modell)-Paar und schlägt schnell mit einer klaren Meldung fehl. Bitte beziehen Sie sich auf die offizielle Dokumentation für eine aktuelle Liste unterstützter Regionen.
  4. Aktivieren Sie den Modellzugriff für die verfügbaren Neubewertungsmodelle in der angegebenen Region.

Anforderungen für die agentische Abfrage

Das AgenticQueryKnowledgeBases-Tool ruft AgenticRetrieveStream auf, das nur für verwaltete Knowledge Bases unterstützt wird (type: MANAGED). Es plant eine Abfragestrategie und ruft, sofern Sie nicht generate_response=false übergeben, ein Foundation-Modell auf, um eine zitierte Antwort zu schreiben.

  1. Ihre IAM-Rolle benötigt bedrock:AgenticRetrieveStream auf der Knowledge Base, zusätzlich zu den oben aufgeführten Berechtigungen
  2. Da es ein Foundation-Modell aufruft, kostet es pro Aufruf erheblich mehr als QueryKnowledgeBases. Übergeben Sie generate_response=false für die Abfrage ohne Synthese
  3. RetrieveAndGenerate wird für verwaltete Knowledge Bases nicht unterstützt, daher ist die agentische Abfrage mit generate_response=true der Weg, um eine generierte Antwort von einer solchen zu erhalten

Steuerung der Neubewertung

Die Neubewertung kann global über die Umgebungsvariable BEDROCK_KB_RERANKING_ENABLED aktiviert oder deaktiviert werden:

  • Auf false gesetzt (Standard): Deaktiviert die Neubewertung für alle Abfragen, sofern nicht explizit aktiviert
  • Auf true gesetzt: Aktiviert die Neubewertung für alle Abfragen, sofern nicht explizit deaktiviert

Die Umgebungsvariable akzeptiert verschiedene Formate:

  • Zum Aktivieren: 'true', '1', 'yes' oder 'on' (Groß-/Kleinschreibung wird nicht beachtet)
  • Zum Deaktivieren: jeder andere Wert oder nicht gesetzt (Standardverhalten)

Diese Einstellung bietet einen globalen Standard, während einzelne API-Aufrufe sie weiterhin überschreiben können, indem sie den Parameter reranking explizit setzen.

Detaillierte Anweisungen zum Einrichten von Knowledge Bases finden Sie unter:

Installation

KiroCursorVS Code
Add to KiroInstall MCP ServerInstall on VS Code

Konfigurieren Sie den MCP-Server in Ihrer MCP-Client-Konfiguration (z. B. für Kiro bearbeiten Sie ~/.kiro/settings/mcp.json):

{
  "mcpServers": {
    "awslabs.bedrock-kb-retrieval-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.bedrock-kb-retrieval-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "your-profile-name",
        "AWS_REGION": "us-east-1",
        "FASTMCP_LOG_LEVEL": "ERROR",
        "KB_INCLUSION_TAG_KEY": "optional-tag-key-to-filter-kbs",
        "BEDROCK_KB_RERANKING_ENABLED": "false"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Windows-Installation

Für Windows-Benutzer ist das Format der MCP-Server-Konfiguration etwas anders:

{
  "mcpServers": {
    "awslabs.bedrock-kb-retrieval-mcp-server": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "uv",
      "args": [
        "tool",
        "run",
        "--from",
        "awslabs.bedrock-kb-retrieval-mcp-server@latest",
        "awslabs.bedrock-kb-retrieval-mcp-server.exe"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

oder Docker nach einem erfolgreichen docker build -t awslabs/bedrock-kb-retrieval-mcp-server .:

# fictitious `.env` file with AWS temporary credentials
AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
AWS_SESSION_TOKEN=AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
  {
    "mcpServers": {
      "awslabs.bedrock-kb-retrieval-mcp-server": {
        "command": "docker",
        "args": [
          "run",
          "--rm",
          "--interactive",
          "--env",
          "FASTMCP_LOG_LEVEL=ERROR",
          "--env",
          "KB_INCLUSION_TAG_KEY=optional-tag-key-to-filter-kbs",
          "--env",
          "BEDROCK_KB_RERANKING_ENABLED=false",
          "--env",
          "AWS_REGION=us-east-1",
          "--env-file",
          "/full/path/to/file/above/.env",
          "awslabs/bedrock-kb-retrieval-mcp-server:latest"
        ],
        "env": {},
        "disabled": false,
        "autoApprove": []
      }
    }
  }

HINWEIS: Ihre Anmeldeinformationen müssen von Ihrem Host aus regelmäßig aktualisiert werden

Einschränkungen

  • Ergebnisse mit dem Inhaltstyp IMAGE sind nicht in der KB-Abfrageantwort enthalten.
  • Der Parameter reranking erfordert zusätzliche Berechtigungen, Amazon-Bedrock-Modellzugriff und ist nur in bestimmten Regionen verfügbar.