AWS Bedrock KB Retrieval

officiel

Interrogez les bases de connaissances Amazon Bedrock en langage naturel pour récupérer des informations pertinentes depuis vos sources de données.

Que pouvez-vous faire avec AWS Bedrock KB Retrieval MCP ?

  • Découvrir les bases de connaissances — Demandez de lister toutes les bases de connaissances Bedrock disponibles et leurs sources de données via ListKnowledgeBases.
  • Interroger en langage naturel — Posez des questions conversationnelles pour récupérer des passages pertinents avec citations depuis vos bases de connaissances.
  • Filtrer par source de données — Ciblez la récupération sur des sources de données spécifiques, en les incluant ou en les excluant des résultats.
  • Récupération agentique avec synthèse — Demandez un plan de récupération en plusieurs étapes avec une réponse citée sur plusieurs bases de connaissances gérées à l’aide de AgenticQueryKnowledgeBases.
  • Accéder au contenu protégé par ACL — Transmettez un user_id pour récupérer du contenu depuis des sources de données compatibles ACL comme SharePoint ou Confluence.
  • Réordonner les résultats — Améliorez la pertinence de la récupération en activant le réordonnancement avec des modèles Amazon Bedrock comme cohere.rerank-v3-5:0.

Documentation

Serveur MCP de récupération de base de connaissances Amazon Bedrock

Serveur MCP pour accéder aux bases de connaissances Amazon Bedrock

Fonctionnalités

Découvrir les bases de connaissances et leurs sources de données

  • Trouver et explorer toutes les bases de connaissances disponibles
  • Rechercher des bases de connaissances par nom ou par balise
  • Lister les sources de données associées à chaque base de connaissances

Interroger les bases de connaissances en langage naturel

  • Récupérer des informations à l'aide de requêtes conversationnelles
  • Obtenir des passages pertinents de vos bases de connaissances
  • Accéder aux informations de citation pour tous les résultats

Filtrer les résultats par source de données

  • Cibler vos requêtes sur des sources de données spécifiques
  • Inclure ou exclure des sources de données spécifiques
  • Prioriser les résultats de sources de données spécifiques

Récupération agentique sur les bases de connaissances gérées

  • Planifier une stratégie de récupération en plusieurs étapes et synthétiser une réponse citée
  • Rechercher dans plusieurs bases de connaissances en un seul appel
  • Trace condensée facultative des étapes de planification et de récupération de l'agent
  • Bases de connaissances gérées uniquement ; l'outil rejette les autres types avec un message clair

Accéder au contenu protégé par ACL

  • Passer user_id pour récupérer du contenu à partir de sources de données compatibles ACL (SharePoint, OneDrive, Confluence avec ACL par document)
  • Sans cela, ce contenu est inaccessible, et l'étape d'expansion complète du document de la récupération agentique échoue avec « UserContext is required for ACL-aware data sources »
  • Les résultats sont filtrés selon ce que cet utilisateur est autorisé à voir

Prendre en charge les bases de connaissances gérées et vectorielles

  • Fonctionne avec les bases de connaissances vectorielles (type: VECTOR) et les bases de connaissances gérées (type: MANAGED)
  • Le type de base de connaissances est détecté automatiquement et la configuration Retrieve correcte est envoyée (vectorSearchConfiguration ou managedSearchConfiguration)
  • Le filtrage par source de données utilise la clé de métadonnées appropriée au type de base de connaissances
  • L'outil ListKnowledgeBases signale le type de chaque base de connaissances

Réordonner les résultats

  • Améliorer la pertinence des résultats de récupération
  • Utiliser les capacités de réordonnancement d'Amazon Bedrock
  • Trier les résultats par pertinence par rapport à votre requête

Prérequis

Exigences d'installation

  1. Installer uv depuis Astral ou le README GitHub
  2. Installer Python à l'aide de uv python install 3.10

Exigences AWS

  1. Configuration AWS CLI : Vous devez avoir configuré l'AWS CLI avec des identifiants et un AWS_PROFILE ayant accès à Amazon Bedrock et aux bases de connaissances
  2. Base de connaissances Amazon Bedrock : Vous devez avoir au moins une base de connaissances Amazon Bedrock avec la clé de balise mcp-multirag-kb avec une valeur de true
  3. Autorisations IAM : Votre rôle/utilisateur IAM doit avoir les autorisations appropriées pour :
    • Lister et décrire les bases de connaissances
    • Accéder aux sources de données
    • Interroger les bases de connaissances

Exigences de réordonnancement

Si vous avez l'intention d'utiliser la fonctionnalité de réordonnancement, votre base de connaissances Bedrock nécessite des autorisations supplémentaires :

  1. Votre rôle IAM doit avoir des autorisations pour les actions bedrock:Rerank et bedrock:InvokeModel
  2. Le rôle de service des bases de connaissances Amazon Bedrock doit également avoir ces autorisations
  3. La disponibilité du réordonnancement diffère par modèle : amazon.rerank-v1:0 n'est pas proposé dans us-east-1, tandis que cohere.rerank-v3-5:0 l'est. Le serveur valide la paire (région, modèle) et échoue rapidement avec un message clair. Veuillez vous référer à la documentation officielle pour une liste à jour des régions prises en charge.
  4. Activer l'accès aux modèles pour les modèles de réordonnancement disponibles dans la région spécifiée.

Exigences de récupération agentique

L'outil AgenticQueryKnowledgeBases appelle AgenticRetrieveStream, qui est pris en charge pour les bases de connaissances gérées uniquement (type: MANAGED). Il planifie une stratégie de récupération et, sauf si vous passez generate_response=false, invoque un modèle de fondation pour rédiger une réponse citée.

  1. Votre rôle IAM a besoin de bedrock:AgenticRetrieveStream sur la base de connaissances, en plus des autorisations listées ci-dessus
  2. Parce qu'il invoque un modèle de fondation, il coûte matériellement plus cher par appel que QueryKnowledgeBases. Passez generate_response=false pour une récupération sans synthèse
  3. RetrieveAndGenerate n'est pas pris en charge pour les bases de connaissances gérées, donc la récupération agentique avec generate_response=true est le moyen d'obtenir une réponse générée à partir de l'une d'elles

Contrôle du réordonnancement

Le réordonnancement peut être activé ou désactivé globalement à l'aide de la variable d'environnement BEDROCK_KB_RERANKING_ENABLED :

  • Définir sur false (par défaut) : Désactive le réordonnancement pour toutes les requêtes sauf activation explicite
  • Définir sur true : Active le réordonnancement pour toutes les requêtes sauf désactivation explicite

La variable d'environnement accepte divers formats :

  • Pour activer : 'true', '1', 'yes' ou 'on' (insensible à la casse)
  • Pour désactiver : toute autre valeur ou non définie (comportement par défaut)

Ce paramètre fournit une valeur par défaut globale, tandis que les appels API individuels peuvent toujours la remplacer en définissant explicitement le paramètre reranking.

Pour des instructions détaillées sur la configuration des bases de connaissances, voir :

Installation

KiroCursorVS Code
Add to KiroInstall MCP ServerInstall on VS Code

Configurez le serveur MCP dans votre configuration client MCP (par exemple, pour Kiro, modifiez ~/.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": []
    }
  }
}

Installation sous Windows

Pour les utilisateurs Windows, le format de configuration du serveur MCP est légèrement différent :

{
  "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"
      }
    }
  }
}

ou docker après un docker build -t awslabs/bedrock-kb-retrieval-mcp-server . réussi :

# 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": []
      }
    }
  }

REMARQUE : Vos identifiants devront être actualisés en continu depuis votre hôte

Limitations

  • Les résultats avec le type de contenu IMAGE ne sont pas inclus dans la réponse de requête KB.
  • Le paramètre reranking nécessite des autorisations supplémentaires, un accès aux modèles Amazon Bedrock, et n'est disponible que dans des régions spécifiques.