MCP Database Server
Un servidor MCP que permite a los LLMs interactuar con bases de datos como MongoDB usando lenguaje natural.
Documentación
MCP Database Server
Una implementación de servidor del Model Context Protocol (MCP) que permite a los Modelos de Lenguaje de Gran Tamaño (LLMs) interactuar con diversas bases de datos mediante lenguaje natural. Actualmente es compatible con MongoDB, con planes de soportar:
- PostgreSQL
- CockroachDB
- Redis
- Y más...
Características
- Operaciones de base de datos mediante lenguaje natural
- Actualmente es compatible con MongoDB con las siguientes funciones:
- Listar todas las colecciones
- Consultar documentos con filtrado y proyección
- Insertar documentos
- Eliminar documentos
- Operaciones de pipeline de agregación
- Soporte futuro para otras bases de datos:
- PostgreSQL: consultas SQL, operaciones de tablas
- CockroachDB: operaciones SQL distribuidas
- Redis: operaciones de clave-valor, almacenamiento en caché
Requisitos Previos
- Node.js v20.12.2 o superior
- Base de datos (actualmente MongoDB, otras bases de datos próximamente)
- Aplicación de escritorio Claude Desktop
Instalación
- Clona el repositorio:
git clone https://github.com/manpreet2000/mcp-database-server.git
cd mcp-database-server
- Instala las dependencias:
npm install
- Compila el código TypeScript:
npm run build
Configuración
Para comenzar, debes configurar tu conexión a la base de datos en tu archivo de configuración de Claude Desktop:
MacOS
~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows
%APPDATA%/Claude/claude_desktop_config.json
Añade la siguiente configuración a tu claude_desktop_config.json:
{
"mcpServers": {
"database": {
"command": "/path/to/node",
"args": ["/path/to/mcp-database/dist/index.js"],
"env": {
"MONGODB_URI": "your-mongodb-connection-string"
}
}
}
}
Reemplaza:
/path/to/nodecon la ruta de tu ejecutable de Node.js o simplemente usanode/path/to/mcp-databasecon la ruta absoluta a este repositorioyour-mongodb-connection-stringcon tu URL de conexión a MongoDB
Ejemplos de Uso
Ejemplos de MongoDB
- Lista todas las colecciones en tu base de datos:
Can you show me all the collections in my database?
- Obtén registros específicos de una colección:
Give me 2 records from the chargers collection
- Consulta con filtros:
Show me all documents in the users collection where status is active
- Inserta un documento:
Add a new user to the users collection with name John and email john@example.com
- Elimina un documento:
Remove the user with email john@example.com from the users collection
- Agrega datos:
Show me the total count of users by status in the users collection
Herramientas Disponibles
1. getCollections
Lista todas las colecciones en la base de datos conectada.
2. getCollection
Recupera documentos de una colección con parámetros de consulta opcionales:
collectionName: Nombre de la colecciónlimit: Número máximo de documentos a devolver (predeterminado: 10, máximo: 1000)query: Objeto de consulta de MongoDBprojection: Campos a incluir/excluir
3. insertOne
Inserta un único documento en una colección:
collectionName: Nombre de la coleccióndocument: Objeto de documento a insertar
4. deleteOne
Elimina un único documento de una colección:
collectionName: Nombre de la colecciónquery: Consulta para coincidir con el documento a eliminar
5. aggregate
Ejecuta un pipeline de agregación:
collectionName: Nombre de la colecciónpipeline: Matriz de etapas de agregaciónoptions: Opciones de agregación opcionales
Soporte Futuro de Bases de Datos
PostgreSQL
- Ejecución de consultas SQL
- Operaciones de tablas
- Gestión de esquemas
- Soporte de transacciones
CockroachDB
- Operaciones SQL distribuidas
- Soporte multirregión
- Gestión de transacciones
- Operaciones de esquemas
Redis
- Operaciones de clave-valor
- Mecanismos de almacenamiento en caché
- Operaciones de publicación/suscripción
- Operaciones de estructuras de datos
Seguridad
- Nunca subas tus cadenas de conexión a la base de datos al control de versiones
- Usa variables de entorno para información sensible
- Sigue las mejores prácticas de seguridad específicas de cada base de datos
Contribuciones
¡Las contribuciones son bienvenidas! No dudes en enviar un Pull Request. Para cambios importantes, abre primero un issue para discutir lo que te gustaría cambiar.
Licencia
Licencia MIT - Consulta LICENSE para más detalles