CouchDB MCP Server
Un servidor para interactuar con bases de datos CouchDB.
Documentación
couchdb-mcp-server
Un servidor de Model Context Protocol para interactuar con CouchDB
Este es un servidor MCP basado en TypeScript que proporciona herramientas para gestionar bases de datos y documentos de CouchDB. Permite que los asistentes de IA interactúen con CouchDB a través de una interfaz sencilla.
Características
Herramientas
Herramientas base (todas las versiones de CouchDB)
-
createDatabase- Crear una nueva base de datos de CouchDB- Toma
dbNamecomo parámetro obligatorio - Crea la base de datos si no existe
- Toma
-
listDatabases- Listar todas las bases de datos de CouchDB- Devuelve un array con los nombres de las bases de datos
-
deleteDatabase- Eliminar una base de datos de CouchDB- Toma
dbNamecomo parámetro obligatorio - Elimina la base de datos especificada y todos sus documentos
- Toma
-
createDocument- Crear un nuevo documento o actualizar un documento existente en una base de datos- Parámetros obligatorios:
dbName: Nombre de la base de datosdocId: ID del documentodata: Datos del documento (objeto JSON)- Para actualizaciones, incluye el campo
_revcon la revisión actual del documento
- Para actualizaciones, incluye el campo
- Devuelve:
- Para documentos nuevos: ID del documento y nueva revisión
- Para actualizaciones: ID del documento y revisión actualizada
- Detecta automáticamente si la operación es de creación o actualización según la presencia del campo
_rev
- Parámetros obligatorios:
-
getDocument- Obtener un documento de una base de datos- Parámetros obligatorios:
dbName: Nombre de la base de datosdocId: ID del documento
- Devuelve el contenido del documento
- Parámetros obligatorios:
Herramientas de consulta Mango (solo CouchDB 3.x+)
-
createMangoIndex- Crear un nuevo índice Mango- Parámetros obligatorios:
dbName: Nombre de la base de datosindexName: Nombre del índicefields: Array de nombres de campos a indexar
- Crea un nuevo índice para consultas eficientes
- Parámetros obligatorios:
-
deleteMangoIndex- Eliminar un índice Mango- Parámetros obligatorios:
dbName: Nombre de la base de datosdesignDoc: Nombre del documento de diseñoindexName: Nombre del índice
- Elimina un índice Mango existente
- Parámetros obligatorios:
-
listMangoIndexes- Listar todos los índices Mango en una base de datos- Parámetros obligatorios:
dbName: Nombre de la base de datos
- Devuelve información sobre todos los índices de la base de datos
- Parámetros obligatorios:
-
findDocuments- Consultar documentos mediante consulta Mango- Parámetros obligatorios:
dbName: Nombre de la base de datosquery: Objeto de consulta Mango
- Realiza una consulta utilizando la sintaxis de consulta Mango de CouchDB
- Parámetros obligatorios:
Soporte de versiones
El servidor detecta automáticamente la versión de CouchDB y habilita las funciones correspondientes:
- Todas las versiones: operaciones básicas de bases de datos y documentos
- CouchDB 3.x+: soporte de consultas Mango (índices y consultas)
Configuración
El servidor requiere una URL de conexión a CouchDB y una versión. Estos se pueden proporcionar mediante variables de entorno:
COUCHDB_URL=http://username:password@localhost:5984
COUCHDB_VERSION=1.7.2
You can create a `.env` file in the project root with this configuration. If not provided, it defaults to `http://localhost:5984`.
## Development
Install dependencies:
```bash
npm install
Compilar el servidor:
npm run build
Para desarrollo con recompilación automática:
npm run watch
Instalación
Instalación mediante Smithery
Para instalar couchdb-mcp-server para Claude Desktop automáticamente mediante Smithery:
npx -y @smithery/cli install @robertoamoreno/couchdb-mcp-server --client claude
Para usarlo con Claude Desktop, añade la configuración del servidor:
En MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
En Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"couchdb-mcp-server": {
"command": "/path/to/couchdb-mcp-server/build/index.js",
"env": {
"COUCHDB_URL": "http://username:password@localhost:5984"
}
}
}
}
Requisitos previos
- Node.js 14 o superior
- Instancia de CouchDB en ejecución
- Credenciales de CouchDB adecuadas si la autenticación está habilitada
Depuración
Dado que los servidores MCP se comunican a través de stdio, la depuración puede ser complicada. Recomendamos usar el MCP Inspector, que está disponible como script del paquete:
npm run inspector
El Inspector proporcionará una URL para acceder a las herramientas de depuración en tu navegador.
Manejo de errores
El servidor incluye un manejo robusto de errores para escenarios comunes:
- Nombres de bases de datos o IDs de documentos no válidos
- La base de datos ya existe/no existe
- Problemas de conexión
- Fallos de autenticación
- Datos de documento no válidos
Todos los errores se formatean correctamente y se devuelven a través del protocolo MCP con códigos de error y mensajes apropiados.