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 DynamoDBdescribe-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 tablaquery-table
: busca datos que coincidan con condiciones específicas en una tablapaginate-query-table
: recupera datos de varias páginas que coinciden con condiciones específicasget-item
: recupera un elemento con una clave específicacount-items
: Calcula el número de elementos en una tabla
- Recursos :
dynamodb-tables-info
: un recurso que proporciona metadatos para todas las tablasdynamodb-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 :
Instalación
- Clonar el repositorio:
- Instalar los paquetes necesarios:
- Cree un archivo
.env
y configure sus credenciales de AWS:
Construir y ejecutar
Conectarse a Claude Desktop
Para utilizar este servidor MCP con Claude Desktop, debe modificar el archivo de configuración de Claude Desktop.
- 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
- macOS:
- Agregue la configuración del servidor de la siguiente manera:
- Reinicie Claude Desktop.
Correr con NPX
También puedes ejecutar este servidor usando npx
sin una instalación global:
Ejemplos de uso
Puedes hacerle preguntas a Claude como:
- "¿Puedes decirme qué tablas hay en DynamoDB?"
- "Explicar la estructura de la tabla Usuarios"
- "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:
- Interfaz de cliente (Claude Desktop) : interacción entre el usuario y LLM
- Capa de protocolo MCP : proporciona un método de intercambio de mensajes estandarizado
- Servidor DynamoDB : implementa funciones que interactúan con DynamoDB
- 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:
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":
- Claude analiza esta solicitud y llama a la herramienta
list-tables
. - Esta solicitud se envía al servidor a través del protocolo MCP.
- El servidor ejecuta el controlador de herramientas correspondiente:
- El resultado se devuelve a Claude a través del protocolo MCP.
- 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":
- Claude determina que esta solicitud debe utilizar la herramienta
describe-table
. - Claude configura el parámetro como
{ tableName: "Users" }
. - Esta información se envía al servidor MCP:
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:
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:
Este mensaje se utiliza cuando un usuario solicita "Muéstreme cómo escribir consultas para la tabla Usuarios".
Resumen del flujo de datos
- El usuario realiza una solicitud a Claude en lenguaje natural
- Claude analiza la solicitud y selecciona la herramienta/recurso/mensaje MCP adecuado
- El cliente MCP envía la solicitud al servidor en un formato estandarizado
- El servidor procesa la solicitud y llama a la API de AWS DynamoDB
- DynamoDB devuelve resultados
- El servidor convierte los resultados al formato MCP y los envía al cliente
- 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.
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.
Related MCP Servers
- AsecurityAlicenseAqualityEnables 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 -124JavaScriptMIT License
- -securityFlicense-qualityA 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 -115TypeScript
- AsecurityAlicenseAqualityA Model Context Protocol server implementation that enables Claude to perform AWS operations on S3 and DynamoDB services through natural language commands.Last updated -2392PythonMIT License
- -securityAlicense-qualityA 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 -JavaScriptMIT License