NextCloud Collectives MCP
Ferramentas para acessar Nextcloud Collectives
Documentação
nextcloud-collectives-mcp
Um servidor MCP (Model Context Protocol) para acesso ao aplicativo Nextcloud Collectives. Com ele, clientes MCP (ex.: Claude Code) podem listar, ler e editar collectives (wikis de equipe), suas páginas e tags.
Pré-requisitos
- Node.js 22+
- Uma instância Nextcloud com o aplicativo Collectives instalado e ativado
- Uma senha de aplicativo para o usuário do Nextcloud
Gerar senha de aplicativo
- Faça login no Nextcloud → Configurações → Segurança
- Em "Dispositivos e sessões", gere uma nova senha de aplicativo (nome qualquer, ex.:
nextcloud-collectives-mcp) - Anote a senha gerada (ela é exibida apenas uma vez)
Instalação e uso
Método A: Executar diretamente via npx (recomendado)
Não é necessário clonar ou compilar manualmente. O servidor MCP pode ser iniciado diretamente via npx do GitHub. Basta adicionar a seguinte entrada na configuração do seu cliente MCP (ex.: claude_desktop_config.json ou via claude mcp add):
{
"mcpServers": {
"nextcloud-collectives": {
"command": "npx",
"args": ["-y", "github:BamButz/nextcloud-collectives-mcp"],
"env": {
"NEXTCLOUD_BASE_URL": "https://cloud.example.com",
"NEXTCLOUD_USERNAME": "alice",
"NEXTCLOUD_APP_PASSWORD": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"
}
}
}
}
Observação: na inicialização, o npx baixa o repositório e o compila automaticamente por meio do script prepare em segundo plano.
Método B: Instalação local manual (ex.: para desenvolvimento)
- Clone o repositório e entre na pasta.
- Instale as dependências e compile:
npm install npm run build - Registre na configuração do servidor MCP:
{ "mcpServers": { "nextcloud-collectives-local": { "command": "node", "args": ["/pfad/zu/nextcloud-collectives-mcp/dist/index.js"], "env": { "NEXTCLOUD_BASE_URL": "https://cloud.example.com", "NEXTCLOUD_USERNAME": "alice", "NEXTCLOUD_APP_PASSWORD": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx" } } } }
Ferramentas disponíveis
Collectives
list_collectives— listar todos os collectives visíveiscreate_collective— criar um novo collectivedelete_collective— mover um collective para a lixeira
Páginas
list_pages— listar a árvore completa de páginas de um collective (apenas metadados)get_page— obter metadados e conteúdo Markdown de uma páginacreate_page— criar uma nova página sob uma página paiupdate_page_content— substituir o conteúdo Markdown de uma páginarename_page— renomear uma páginamove_page— mover uma página para uma nova página paidelete_page— mover uma página para a lixeira
Tags
list_tags— listar todas as tags de um collectivecreate_tag— criar uma nova tagadd_tag_to_page— anexar uma tag a uma páginaremove_tag_from_page— remover uma tag de uma página
Desenvolvimento
npm test # Tests einmalig ausführen
npm run test:watch
npm run coverage # Tests + Code-Coverage-Bericht (Text + HTML unter coverage/index.html)
npm run typecheck
npm run dev # Server direkt mit tsx starten (liest Env-Vars aus der Shell)
Nota de implementação
Este projeto foi totalmente implementado e testado com o uso de Inteligência Artificial (Gemini 3.5 (Flash)) do Google DeepMind, dentro de um fluxo de trabalho de codificação agêntica.