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
- -securityFlicense-qualityEnables LLMs to perform semantic search and document management using ChromaDB, supporting natural language queries with intuitive similarity metrics for retrieval augmented generation applications.Last updated -Python
- AsecurityAlicenseAqualityA Model Context Protocol server implementation that enables Claude to perform AWS operations on S3 and DynamoDB services through natural language commands.Last updated -23125PythonMIT License
- -securityAlicense-qualityA server that enables querying the dbt Semantic Layer through natural language conversations with Claude Desktop and other AI assistants, allowing users to discover metrics, create queries, analyze data, and visualize results.Last updated -10TypeScriptMIT License
- AsecurityAlicenseAqualityA 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 -42JavaScriptMIT License