Skip to main content
Glama

DynamoDB Read-Only MCP

by jjikky

MCP de solo lectura de DynamoDB

Un servidor que utiliza el Protocolo de Contexto de Modelo (MCP) para consultar bases de datos de AWS DynamoDB. Este servidor permite a los LLM como Claude consultar datos de DynamoDB mediante solicitudes de lenguaje natural.

Características

Este servidor MCP ofrece las siguientes características:

  • Herramientas de gestión de tablas :
    • list-tables : Ver una lista de todas las tablas de DynamoDB
    • describe-table : Ver información detallada sobre una tabla específica
  • Herramientas de consulta de datos :
    • scan-table : escanea todos o parte de los datos de una tabla
    • query-table : busca datos que coincidan con condiciones específicas en una tabla
    • paginate-query-table : recupera datos de varias páginas que coinciden con condiciones específicas
    • get-item : recupera un elemento con una clave específica
    • count-items : Calcula el número de elementos en una tabla
  • Recursos :
    • dynamodb-tables-info : un recurso que proporciona metadatos para todas las tablas
    • dynamodb-table-schema : un recurso que proporciona información de esquema para una tabla específica
  • Indicaciones :
    • dynamodb-query-help : un mensaje de ayuda para escribir consultas de DynamoDB

Instalación y ejecución

Puede ejecutarlo sin instalación utilizando el método Run with NPX a continuación.

Instalación mediante herrería

Para instalar automáticamente el servidor de solo lectura DynamoDB para Claude Desktop a través de Smithery :

npx -y @smithery/cli install @jjikky/dynamo-readonly-mcp --client claude

Instalación

  1. Clonar el repositorio:
    git clone https://github.com/jjikky/dynamo-readonly-mcp.git cd dynamo-readonly-mcp
  2. Instalar los paquetes necesarios:
    npm install
  3. Cree un archivo .env y configure sus credenciales de AWS:
    AWS_ACCESS_KEY_ID=your_access_key AWS_SECRET_ACCESS_KEY=your_secret_key AWS_REGION=your_region

Construir y ejecutar

npm run build npm start

Conectarse a Claude Desktop

Para utilizar este servidor MCP con Claude Desktop, debe modificar el archivo de configuración de Claude Desktop.

  1. Abra el archivo de configuración de Claude Desktop:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Ventanas: %APPDATA%\Claude\claude_desktop_config.json
  2. Agregue la configuración del servidor de la siguiente manera:
    { "mcpServers": { "dynamodb-readonly": { "command": "node", "args": ["/absolute-path/dynamo-readonly-mcp/dist/index.js"], "env": { "AWS_ACCESS_KEY_ID": "your_access_key", "AWS_SECRET_ACCESS_KEY": "your_secret_key", "AWS_REGION": "your_region" } } } }
  3. Reinicie Claude Desktop.

Correr con NPX

También puedes ejecutar este servidor usando npx sin una instalación global:

{ "mcpServers": { "dynamodb-readonly": { "command": "npx", "args": ["-y", "dynamo-readonly-mcp"], "env": { "AWS_ACCESS_KEY_ID": "your_access_key", "AWS_SECRET_ACCESS_KEY": "your_secret_key", "AWS_REGION": "your_region" } } } }

Ejemplos de uso

Puedes hacerle preguntas a Claude como:

  1. "¿Puedes decirme qué tablas hay en DynamoDB?"
  2. "Explicar la estructura de la tabla Usuarios"
  3. "Encuentre el número de usuarios en la tabla 'Usuarios' donde el ID de grupo es '0lxp4paxk7'"

Arquitectura

Este servidor MCP consta de la siguiente estructura en capas:

  1. Interfaz de cliente (Claude Desktop) : interacción entre el usuario y LLM
  2. Capa de protocolo MCP : proporciona un método de intercambio de mensajes estandarizado
  3. Servidor DynamoDB : implementa funciones que interactúan con DynamoDB
  4. AWS SDK : se comunica con el servicio AWS DynamoDB

Mecanismos de operación clave

1. Inicialización y conexión

Cuando se inicia el servidor, se produce el siguiente proceso:

async function main() { const transport = new StdioServerTransport(); await server.connect(transport); console.error('DynamoDB read-only MCP server is running...'); }
  • StdioServerTransport configura un canal de comunicación a través de entrada/salida estándar.
  • server.connect(transport) se conecta a Claude Desktop a través del protocolo MCP.
  • Durante la conexión, el servidor envía información sobre herramientas, recursos y avisos compatibles al cliente.

2. Procesamiento de solicitudes de herramientas

Cuando un usuario le pregunta a Claude algo como "Muéstrame la lista de tablas de DynamoDB":

  1. Claude analiza esta solicitud y llama a la herramienta list-tables .
  2. Esta solicitud se envía al servidor a través del protocolo MCP.
  3. El servidor ejecuta el controlador de herramientas correspondiente:
server.tool('list-tables', 'Gets a list of all DynamoDB tables', {}, async () => { try { const tables = await listTables(); return { content: [{ type: 'text', text: JSON.stringify(tables, null, 2) }], }; } catch (error) { return { isError: true, content: [{ type: 'text', text: `Error: ${error.message}` }] }; } });
  1. El resultado se devuelve a Claude a través del protocolo MCP.
  2. Claude procesa este resultado en lenguaje natural y se lo presenta al usuario.

3. Manejo de parámetros específicos

Cuando un usuario solicita "Dime la estructura de la tabla Usuarios":

  1. Claude determina que esta solicitud debe utilizar la herramienta describe-table .
  2. Claude configura el parámetro como { tableName: "Users" } .
  3. Esta información se envía al servidor MCP:
server.tool( 'describe-table', 'Gets detailed information about a DynamoDB table', { tableName: z.string().describe('Name of the table to get detailed information for'), }, async ({ tableName }) => { // Query table information using the tableName parameter const tableInfo = await describeTable(tableName); // Return results } );

Aquí, z.string() usa la biblioteca Zod para validar los parámetros.

4. Manejo de recursos

Los recursos son otra característica de MCP que proporciona datos de solo lectura:

server.resource('dynamodb-tables-info', 'DynamoDB table information', async () => { // Create and return resource data const tables = await listTables(); const tablesInfo = await Promise.all(/* Query table information */); return { contents: [ { uri: 'dynamodb://tables-info', text: JSON.stringify(tablesInfo, null, 2), mimeType: 'application/json', }, ], }; });

Claude accede a los recursos y los utiliza como información de contexto.

5. Manejo rápido

El servidor MCP puede proporcionar plantillas de indicaciones para tareas específicas:

server.prompt( 'dynamodb-query-help', 'A prompt that helps write DynamoDB queries', { tableName: z.string().describe('Table name to query'), queryType: z.enum(['basic', 'advanced']).default('basic'), }, async ({ tableName, queryType }) => { // Generate prompt content return { messages: [ { role: 'user', content: { type: 'text', text: helpContent }, }, ], }; } );

Este mensaje se utiliza cuando un usuario solicita "Muéstreme cómo escribir consultas para la tabla Usuarios".

Resumen del flujo de datos

  1. El usuario realiza una solicitud a Claude en lenguaje natural
  2. Claude analiza la solicitud y selecciona la herramienta/recurso/mensaje MCP adecuado
  3. El cliente MCP envía la solicitud al servidor en un formato estandarizado
  4. El servidor procesa la solicitud y llama a la API de AWS DynamoDB
  5. DynamoDB devuelve resultados
  6. El servidor convierte los resultados al formato MCP y los envía al cliente
  7. Claude procesa los resultados en lenguaje natural y los presenta al usuario.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor que permite a los LLM como Claude consultar bases de datos de AWS DynamoDB a través de solicitudes en lenguaje natural, lo que admite la gestión de tablas, la consulta de datos y el análisis de esquemas.

  1. Características
    1. Instalación y ejecución
      1. Instalación mediante herrería
      2. Instalación
      3. Construir y ejecutar
    2. Conectarse a Claude Desktop
      1. Correr con NPX
        1. Ejemplos de uso
          1. Arquitectura
            1. Mecanismos de operación clave
              1. Inicialización y conexión
              2. Procesamiento de solicitudes de herramientas
              3. Manejo de parámetros específicos
              4. Manejo de recursos
              5. Manejo rápido
            2. Resumen del flujo de datos
              1. Licencia

                Related MCP Servers

                • A
                  security
                  A
                  license
                  A
                  quality
                  Enables management of DynamoDB resources through the Model Context Protocol, supporting table and index creation, capacity management, and data operations without delete functionality to prevent accidental data loss.
                  Last updated -
                  12
                  4
                  JavaScript
                  MIT License
                • -
                  security
                  F
                  license
                  -
                  quality
                  A protocol server that enables LLMs like Claude to interact with MongoDB databases, providing tools for schema exploration, aggregation queries, and data analysis through natural language in Cursor.
                  Last updated -
                  11
                  5
                  TypeScript
                  • Linux
                  • Apple
                • A
                  security
                  A
                  license
                  A
                  quality
                  A Model Context Protocol server implementation that enables Claude to perform AWS operations on S3 and DynamoDB services through natural language commands.
                  Last updated -
                  23
                  92
                  Python
                  MIT License
                  • Apple
                • -
                  security
                  A
                  license
                  -
                  quality
                  A server that enables LLMs like Claude to interact with Azure Cosmos DB databases through natural language queries, acting as a translator between AI assistants and database systems.
                  Last updated -
                  JavaScript
                  MIT License

                View all related MCP servers

                MCP directory API

                We provide all the information about MCP servers via our MCP API.

                curl -X GET 'https://glama.ai/api/mcp/v1/servers/jjikky/dynamo-readonly-mcp'

                If you have feedback or need assistance with the MCP directory API, please join our Discord server