CouchDB MCP Server
Um servidor para interagir com bancos de dados CouchDB.
Documentação
couchdb-mcp-server
Um servidor de Model Context Protocol para interagir com o CouchDB
Este é um servidor MCP baseado em TypeScript que fornece ferramentas para gerenciar bancos de dados e documentos do CouchDB. Ele permite que assistentes de IA interajam com o CouchDB por meio de uma interface simples.
Recursos
Ferramentas
Ferramentas Básicas (Todas as Versões do CouchDB)
-
createDatabase- Criar um novo banco de dados CouchDB- Recebe
dbNamecomo parâmetro obrigatório - Cria o banco de dados se ele não existir
- Recebe
-
listDatabases- Listar todos os bancos de dados CouchDB- Retorna uma matriz de nomes de bancos de dados
-
deleteDatabase- Excluir um banco de dados CouchDB- Recebe
dbNamecomo parâmetro obrigatório - Remove o banco de dados especificado e todos os seus documentos
- Recebe
-
createDocument- Criar um novo documento ou atualizar um documento existente em um banco de dados- Parâmetros obrigatórios:
dbName: Nome do banco de dadosdocId: ID do documentodata: Dados do documento (objeto JSON)- Para atualizações, inclua o campo
_revcom a revisão atual do documento
- Para atualizações, inclua o campo
- Retorna:
- Para novos documentos: ID do documento e nova revisão
- Para atualizações: ID do documento e revisão atualizada
- Detecta automaticamente se a operação é de criação ou atualização com base na presença do campo
_rev
- Parâmetros obrigatórios:
-
getDocument- Obter um documento de um banco de dados- Parâmetros obrigatórios:
dbName: Nome do banco de dadosdocId: ID do documento
- Retorna o conteúdo do documento
- Parâmetros obrigatórios:
Ferramentas de Consulta Mango (Somente CouchDB 3.x+)
-
createMangoIndex- Criar um novo índice Mango- Parâmetros obrigatórios:
dbName: Nome do banco de dadosindexName: Nome do índicefields: Matriz de nomes de campos a serem indexados
- Cria um novo índice para consultas eficientes
- Parâmetros obrigatórios:
-
deleteMangoIndex- Excluir um índice Mango- Parâmetros obrigatórios:
dbName: Nome do banco de dadosdesignDoc: Nome do documento de designindexName: Nome do índice
- Remove um índice Mango existente
- Parâmetros obrigatórios:
-
listMangoIndexes- Listar todos os índices Mango em um banco de dados- Parâmetros obrigatórios:
dbName: Nome do banco de dados
- Retorna informações sobre todos os índices no banco de dados
- Parâmetros obrigatórios:
-
findDocuments- Consultar documentos usando consulta Mango- Parâmetros obrigatórios:
dbName: Nome do banco de dadosquery: Objeto de consulta Mango
- Executa uma consulta usando a sintaxe de consulta Mango do CouchDB
- Parâmetros obrigatórios:
Suporte a Versões
O servidor detecta automaticamente a versão do CouchDB e ativa os recursos de acordo:
- Todas as versões: Operações básicas de banco de dados e documentos
- CouchDB 3.x+: Suporte a consultas Mango (índices e consultas)
Configuração
O servidor requer uma URL de conexão e versão do CouchDB. Eles podem ser fornecidos por meio de variáveis de ambiente:
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 o servidor:
npm run build
Para desenvolvimento com recompilação automática:
npm run watch
Instalação
Instalação via Smithery
Para instalar o couchdb-mcp-server para Claude Desktop automaticamente via Smithery:
npx -y @smithery/cli install @robertoamoreno/couchdb-mcp-server --client claude
Para usar com Claude Desktop, adicione a configuração do servidor:
No MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
No 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"
}
}
}
}
Pré-requisitos
- Node.js 14 ou superior
- Instância do CouchDB em execução
- Credenciais adequadas do CouchDB se a autenticação estiver habilitada
Depuração
Como os servidores MCP se comunicam via stdio, a depuração pode ser desafiadora. Recomendamos usar o MCP Inspector, que está disponível como um script de pacote:
npm run inspector
O Inspector fornecerá uma URL para acessar as ferramentas de depuração no seu navegador.
Tratamento de Erros
O servidor inclui tratamento robusto de erros para cenários comuns:
- Nomes de bancos de dados ou IDs de documentos inválidos
- Banco de dados já existe/não existe
- Problemas de conexão
- Falhas de autenticação
- Dados de documento inválidos
Todos os erros são formatados adequadamente e retornados por meio do protocolo MCP com códigos e mensagens de erro apropriados.