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

  1. Faça login no Nextcloud → Configurações → Segurança
  2. Em "Dispositivos e sessões", gere uma nova senha de aplicativo (nome qualquer, ex.: nextcloud-collectives-mcp)
  3. 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)

  1. Clone o repositório e entre na pasta.
  2. Instale as dependências e compile:
    npm install
    npm run build
    
  3. 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íveis
  • create_collective — criar um novo collective
  • delete_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ágina
  • create_page — criar uma nova página sob uma página pai
  • update_page_content — substituir o conteúdo Markdown de uma página
  • rename_page — renomear uma página
  • move_page — mover uma página para uma nova página pai
  • delete_page — mover uma página para a lixeira

Tags

  • list_tags — listar todas as tags de um collective
  • create_tag — criar uma nova tag
  • add_tag_to_page — anexar uma tag a uma página
  • remove_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.