AWS Bedrock KB Retrieval

oficial

Consulta las bases de conocimiento de Amazon Bedrock usando lenguaje natural para recuperar información relevante de tus fuentes de datos.

¿Qué puedes hacer con AWS Bedrock KB Retrieval MCP?

  • Descubrir bases de conocimiento — Pide listar todas las bases de conocimiento de Bedrock disponibles y sus fuentes de datos mediante ListKnowledgeBases.
  • Consultar con lenguaje natural — Haz preguntas conversacionales para recuperar pasajes relevantes con citas de tus bases de conocimiento.
  • Filtrar por fuente de datos — Enfoca la recuperación en fuentes de datos específicas, incluyéndolas o excluyéndolas de los resultados.
  • Recuperación agéntica con síntesis — Solicita un plan de recuperación de varios pasos con una respuesta citada en varias bases de conocimiento administradas usando AgenticQueryKnowledgeBases.
  • Acceder a contenido protegido por ACL — Pasa un user_id para recuperar contenido de fuentes de datos conscientes de ACL como SharePoint o Confluence.
  • Reordenar resultados — Mejora la relevancia de la recuperación habilitando el reordenamiento con modelos de Amazon Bedrock como cohere.rerank-v3-5:0.

Documentación

Servidor MCP de Recuperación de Amazon Bedrock Knowledge Base

Servidor MCP para acceder a Amazon Bedrock Knowledge Bases

Características

Descubrir bases de conocimiento y sus fuentes de datos

  • Encuentra y explora todas las bases de conocimiento disponibles
  • Busca bases de conocimiento por nombre o etiqueta
  • Lista las fuentes de datos asociadas con cada base de conocimiento

Consultar bases de conocimiento con lenguaje natural

  • Recupera información usando consultas conversacionales
  • Obtén pasajes relevantes de tus bases de conocimiento
  • Accede a la información de citas para todos los resultados

Filtrar resultados por fuente de datos

  • Enfoca tus consultas en fuentes de datos específicas
  • Incluye o excluye fuentes de datos específicas
  • Prioriza resultados de fuentes de datos específicas

Recuperación agéntica en bases de conocimiento administradas

  • Planifica una estrategia de recuperación de múltiples pasos y sintetiza una respuesta citada
  • Busca en varias bases de conocimiento en una sola llamada
  • Traza condensada opcional de los pasos de planificación y recuperación del agente
  • Solo bases de conocimiento administradas; la herramienta rechaza otros tipos con un mensaje claro

Acceder a contenido protegido por ACL

  • Pasa user_id para recuperar contenido de fuentes de datos compatibles con ACL (SharePoint, OneDrive, Confluence con ACL por documento)
  • Sin esto, ese contenido es inaccesible, y el paso de expansión de documento completo de la recuperación agéntica falla con "UserContext is required for ACL-aware data sources"
  • Los resultados se filtran a lo que ese usuario está autorizado a ver

Soporte tanto para bases de conocimiento administradas como vectoriales

  • Funciona con bases de conocimiento vectoriales (type: VECTOR) y bases de conocimiento administradas (type: MANAGED)
  • El tipo de base de conocimiento se detecta automáticamente y se envía la configuración correcta de Retrieve (vectorSearchConfiguration o managedSearchConfiguration)
  • El filtrado de fuentes de datos utiliza la clave de metadatos apropiada para el tipo de base de conocimiento
  • La herramienta ListKnowledgeBases informa el type de cada base de conocimiento

Reordenar resultados

  • Mejora la relevancia de los resultados de recuperación
  • Usa las capacidades de reordenamiento de Amazon Bedrock
  • Ordena los resultados por relevancia para tu consulta

Requisitos previos

Requisitos de instalación

  1. Instala uv desde Astral o el README de GitHub
  2. Instala Python usando uv python install 3.10

Requisitos de AWS

  1. Configuración de AWS CLI: Debes tener la AWS CLI configurada con credenciales y un AWS_PROFILE que tenga acceso a Amazon Bedrock y Knowledge Bases
  2. Amazon Bedrock Knowledge Base: Debes tener al menos una Amazon Bedrock Knowledge Base con la clave de etiqueta mcp-multirag-kb con un valor de true
  3. Permisos de IAM: Tu rol/usuario de IAM debe tener permisos apropiados para:
    • Listar y describir bases de conocimiento
    • Acceder a fuentes de datos
    • Consultar bases de conocimiento

Requisitos de reordenamiento

Si tienes la intención de usar la funcionalidad de reordenamiento, tu Bedrock Knowledge Base necesita permisos adicionales:

  1. Tu rol de IAM debe tener permisos para ambas acciones bedrock:Rerank y bedrock:InvokeModel
  2. El rol de servicio de Amazon Bedrock Knowledge Bases también debe tener estos permisos
  3. La disponibilidad del reordenamiento difiere por modelo: amazon.rerank-v1:0 no se ofrece en us-east-1, mientras que cohere.rerank-v3-5:0 sí. El servidor valida el par (región, modelo) y falla rápidamente con un mensaje claro. Consulta la documentación oficial para obtener una lista actualizada de regiones compatibles.
  4. Habilita el acceso al modelo para los modelos de reordenamiento disponibles en la región especificada.

Requisitos de recuperación agéntica

La herramienta AgenticQueryKnowledgeBases llama a AgenticRetrieveStream, que es compatible solo con bases de conocimiento administradas (type: MANAGED). Planifica una estrategia de recuperación y, a menos que pases generate_response=false, invoca un modelo fundacional para escribir una respuesta citada.

  1. Tu rol de IAM necesita bedrock:AgenticRetrieveStream en la base de conocimiento, además de los permisos listados anteriormente
  2. Debido a que invoca un modelo fundacional, cuesta materialmente más por llamada que QueryKnowledgeBases. Pasa generate_response=false para recuperación sin síntesis
  3. RetrieveAndGenerate no es compatible con bases de conocimiento administradas, por lo que la recuperación agéntica con generate_response=true es la forma de obtener una respuesta generada de una

Control del reordenamiento

El reordenamiento se puede habilitar o deshabilitar globalmente usando la variable de entorno BEDROCK_KB_RERANKING_ENABLED:

  • Establecer en false (predeterminado): Deshabilita el reordenamiento para todas las consultas a menos que se habilite explícitamente
  • Establecer en true: Habilita el reordenamiento para todas las consultas a menos que se deshabilite explícitamente

La variable de entorno acepta varios formatos:

  • Para habilitar: 'true', '1', 'yes' u 'on' (sin distinción de mayúsculas y minúsculas)
  • Para deshabilitar: cualquier otro valor o no establecido (comportamiento predeterminado)

Esta configuración proporciona un valor predeterminado global, mientras que las llamadas API individuales aún pueden anularlo estableciendo explícitamente el parámetro reranking.

Para instrucciones detalladas sobre cómo configurar bases de conocimiento, consulta:

Instalación

KiroCursorVS Code
Add to KiroInstall MCP ServerInstall on VS Code

Configura el servidor MCP en la configuración de tu cliente MCP (por ejemplo, para Kiro, edita ~/.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": []
    }
  }
}

Instalación en Windows

Para usuarios de Windows, el formato de configuración del servidor MCP es ligeramente diferente:

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

o docker después de un docker build -t awslabs/bedrock-kb-retrieval-mcp-server . exitoso:

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

NOTA: Tus credenciales deberán mantenerse actualizadas desde tu host

Limitaciones

  • Los resultados con tipo de contenido IMAGE no se incluyen en la respuesta de consulta de KB.
  • El parámetro reranking requiere permisos adicionales, acceso al modelo de Amazon Bedrock, y solo está disponible en regiones específicas.