Skip to main content
Glama
sammcj

AWS Knowledge Base Retrieval MCP Server

by sammcj

Servidor MCP de recuperación de la base de conocimientos de AWS

Una implementación de servidor MCP para recuperar información de la base de conocimientos de AWS mediante Bedrock Agent Runtime.

Características

  • RAG (Recuperación-Generación Aumentada) : recupera el contexto de la Base de conocimiento de AWS en función de una consulta y un ID de la Base de conocimiento.

  • Admite la recuperación de múltiples resultados : opción para recuperar una cantidad personalizable de resultados.

Related MCP server: DuckDB-RAG-MCP-Sample

Herramientas

  • recuperar_de_aws_kb

    • Realice operaciones de recuperación utilizando la base de conocimientos de AWS.

    • Entradas:

      • query (cadena): la consulta de búsqueda para la recuperación.

      • knowledgeBaseId (cadena): el ID de la base de conocimiento de AWS.

      • n (número, opcional): Número de resultados a recuperar (predeterminado: 3).

    • Formato de respuesta:

      • La respuesta ahora devuelve dos elementos de contenido separados:

        • Un elemento de texto que contiene el contexto sin procesar de la base de conocimientos.

        • Un elemento JSON que contiene las fuentes RAG estructuradas con metadatos (id, nombre de archivo, fragmento y puntuación).

      • Esta separación permite un procesamiento más flexible de los resultados.

Configuración

Configuración de credenciales de AWS

Tiene dos opciones para configurar las credenciales de AWS:

Opción 1: Claves de acceso de IAM

  1. Obtenga la ID de clave de acceso de AWS, la clave de acceso secreta y la región desde la consola de administración de AWS.

  2. Asegúrese de que estas credenciales tengan los permisos adecuados para las operaciones de Bedrock Agent Runtime.

  3. Establezca las variables de entorno como se muestra en los ejemplos de configuración a continuación.

  4. Para las credenciales temporales, también puede proporcionar un token de sesión utilizando la variable de entorno AWS_SESSION_TOKEN .

Opción 2: AWS SSO (inicio de sesión único)

El servidor ahora admite las credenciales SSO de AWS:

  1. Configure AWS CLI con su perfil SSO: aws configure sso

  2. Establezca solo la variable de entorno AWS_REGION en la configuración del servidor MCP.

  3. El servidor utilizará la cadena de proveedor de credenciales predeterminada, que incluye credenciales SSO.

Opcional: Configurar los ID de la base de conocimientos predeterminados

Opcionalmente, puede especificar uno o más identificadores de base de conocimiento para usar de manera predeterminada:

  1. Cree una matriz de identificadores de bases de conocimiento en formato JSON.

  2. Establezca esto como la variable de entorno AWS_KB_IDS en su configuración.

  3. Cuando esto está configurado, el parámetro knowledgeBaseId se vuelve opcional en la herramienta.

Uso con Claude Desktop

Agregue esto a su claude_desktop_config.json :

Docker con claves de acceso IAM

{
  "mcpServers": {
    "aws-kb-retrieval": {
      "command": "docker",
      "args": [ "run", "-i", "--rm", "-e", "AWS_ACCESS_KEY_ID", "-e", "AWS_SECRET_ACCESS_KEY", "-e", "AWS_REGION", "-e", "AWS_KB_IDS", "mcp/aws-kb-retrieval-server" ],
      "env": {
        "AWS_ACCESS_KEY_ID": "YOUR_ACCESS_KEY_HERE",
        "AWS_SECRET_ACCESS_KEY": "YOUR_SECRET_ACCESS_KEY_HERE",
        "AWS_SESSION_TOKEN": "YOUR_OPTIONAL_SESSION_ID_FOR_SSO_TEMPORARY_CREDENTIALS_HERE",
        "AWS_REGION": "YOUR_AWS_REGION_HERE",
        "AWS_KB_IDS": "[\"kb-12345\", \"kb-67890\"]"
      }
    }
  }
}

Docker con AWS SSO

{
  "mcpServers": {
    "aws-kb-retrieval": {
      "command": "docker",
      "args": [ "run", "-i", "--rm", "-e", "AWS_REGION", "-e", "AWS_KB_IDS", "-v", "${HOME}/.aws:/root/.aws", "mcp/aws-kb-retrieval-server" ],
      "env": {
        "AWS_ACCESS_KEY_ID": "YOUR_ACCESS_KEY_HERE",
        "AWS_SECRET_ACCESS_KEY": "YOUR_SECRET_ACCESS_KEY_HERE",
        "AWS_SESSION_TOKEN": "YOUR_OPTIONAL_SESSION_ID_FOR_SSO_TEMPORARY_CREDENTIALS_HERE",
        "AWS_REGION": "YOUR_AWS_REGION_HERE",
        "AWS_KB_IDS": "[\"kb-12345\", \"kb-67890\"]"
      }
    }
  }
}

NPX con claves de acceso IAM

{
  "mcpServers": {
    "aws-kb-retrieval": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-aws-kb-retrieval"
      ],
      "env": {
        "AWS_ACCESS_KEY_ID": "YOUR_ACCESS_KEY_HERE",
        "AWS_SECRET_ACCESS_KEY": "YOUR_SECRET_ACCESS_KEY_HERE",
        "AWS_SESSION_TOKEN": "YOUR_OPTIONAL_SESSION_ID_FOR_SSO_TEMPORARY_CREDENTIALS_HERE",
        "AWS_REGION": "YOUR_AWS_REGION_HERE",
        "AWS_KB_IDS": "[\"kb-12345\", \"kb-67890\"]"
      }
    }
  }
}

NPX con AWS SSO

{
  "mcpServers": {
    "aws-kb-retrieval": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-aws-kb-retrieval"
      ],
      "env": {
        "AWS_ACCESS_KEY_ID": "YOUR_ACCESS_KEY_HERE",
        "AWS_SECRET_ACCESS_KEY": "YOUR_SECRET_ACCESS_KEY_HERE",
        "AWS_SESSION_TOKEN": "YOUR_OPTIONAL_SESSION_ID_FOR_SSO_TEMPORARY_CREDENTIALS_HERE",
        "AWS_REGION": "YOUR_AWS_REGION_HERE",
        "AWS_KB_IDS": "[\"kb-12345\", \"kb-67890\"]"
      }
    }
  }
}

Repositorio local (del repositorio clonado/construido)

{
  "mcpServers": {
    "aws-kb": {
      "command": "node",
      "args": [
        "/path/to/mcp-aws-kb/dist/index.js"
      ],
      "env": {
        "AWS_ACCESS_KEY_ID": "YOUR_ACCESS_KEY_HERE",
        "AWS_SECRET_ACCESS_KEY": "YOUR_SECRET_ACCESS_KEY_HERE",
        "AWS_SESSION_TOKEN": "YOUR_OPTIONAL_SESSION_ID_FOR_SSO_TEMPORARY_CREDENTIALS_HERE",
        "AWS_REGION": "YOUR_AWS_REGION_HERE",
        "AWS_KB_IDS": "[\"kb-12345\", \"kb-67890\"]"
      },
      "disabled": false,
      "autoApprove": [
        "retrieve_from_aws_kb"
      ],
      "timeout": 120
    }
  }
}

Edificio

Estibador:

docker build -t mcp/aws-kb-retrieval -f src/aws-kb-retrieval-server/Dockerfile .

Licencia

Este servidor MCP cuenta con la licencia MIT. Esto significa que puede usar, modificar y distribuir el software libremente, sujeto a los términos y condiciones de la licencia MIT. Para más detalles, consulte el archivo de LICENCIA en el repositorio del proyecto.

Este archivo README asume que el nombre del paquete de su servidor es @modelcontextprotocol/server-aws-kb-retrieval . Ajuste el nombre del paquete y los detalles de instalación si difieren en su configuración. Además, asegúrese de que el script de su servidor esté correctamente compilado y de que todas las dependencias se administren correctamente en su package.json .

Available Tools

1 tool
retrieve_from_aws_kbC

Performs retrieval from the AWS Knowledge Base using the provided query and Knowledge Base ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe query to perform retrieval on
knowledgeBaseIdYesThe ID of the AWS Knowledge Base
nNoNumber of results to retrieve

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions retrieval but fails to describe key traits like authentication requirements, rate limits, error handling, or what the retrieval entails (e.g., returns text snippets, metadata). This leaves significant gaps in understanding how the tool behaves in practice.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function and inputs without any fluff. It's front-loaded with the core purpose and appropriately sized for the task, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what the retrieval returns (e.g., format, content), error conditions, or operational details like latency or costs. For a tool with 3 parameters and missing structured data, this leaves the agent under-informed about critical context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all parameters (query, knowledgeBaseId, n). The description adds no additional meaning beyond what's in the schema, such as examples or constraints. This meets the baseline for high schema coverage but doesn't enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('performs retrieval') and the resource ('from the AWS Knowledge Base'), making the purpose immediately understandable. It specifies the required inputs (query and Knowledge Base ID), which helps distinguish it from generic retrieval tools. However, without sibling tools, it doesn't need to differentiate further, so it's not a perfect 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or contextual constraints. It merely states what the tool does without indicating appropriate scenarios or limitations, leaving the agent without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • First observedretrieve_from_aws_kb

TDQS

B3.1/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined and distinct by default.

Naming Consistency5/5

A single tool inherently has perfect naming consistency, as there are no other tools to compare it against for patterns or conventions.

Tool Count2/5

One tool is too few for a server focused on AWS Knowledge Base retrieval, as it lacks essential operations like listing knowledge bases, managing queries, or handling configurations, making the scope feel incomplete and limiting.

Completeness2/5

The tool set is severely incomplete for the domain of AWS Knowledge Base operations. It only provides retrieval, missing critical functions such as creating, updating, or deleting knowledge base entries, which are necessary for a full workflow.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers