NextCloud Collectives MCP

Herramientas para acceder a Nextcloud Collectives

Documentación

nextcloud-collectives-mcp

Un servidor MCP (Model Context Protocol) para acceder a la aplicación Nextcloud Collectives. De esta manera, los clientes MCP (por ejemplo, Claude Code) pueden listar, leer y editar collectives (wikis de equipo), sus páginas y etiquetas.

Requisitos previos

  • Node.js 22+
  • Una instancia de Nextcloud con la aplicación Collectives instalada y activada
  • Una contraseña de aplicación para el usuario de Nextcloud

Generar contraseña de aplicación

  1. Iniciar sesión en Nextcloud → Configuración → Seguridad
  2. En "Dispositivos y sesiones", generar una nueva contraseña de aplicación (nombre arbitrario, p. ej. nextcloud-collectives-mcp)
  3. Anotar la contraseña generada (solo se muestra una vez)

Instalación y uso

Método A: Ejecutar directamente mediante npx (Recomendado)

No es necesario clonar ni compilar manualmente. El servidor MCP se puede iniciar directamente desde GitHub mediante npx. Simplemente agregue la siguiente entrada en su configuración de cliente MCP (p. ej., claude_desktop_config.json o mediante 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"
      }
    }
  }
}

Nota: Al iniciar, npx descarga el repositorio y lo compila automáticamente mediante el script prepare en segundo plano.

Método B: Instalación local manual (p. ej., para desarrollo)

  1. Clonar el repositorio y cambiar a la carpeta.
  2. Instalar dependencias y compilar:
    npm install
    npm run build
    
  3. Agregar en la configuración del 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"
          }
        }
      }
    }
    

Herramientas disponibles

Collectives

  • list_collectives — listar todos los collectives visibles
  • create_collective — crear un nuevo collective
  • delete_collective — mover un collective a la papelera

Páginas

  • list_pages — listar el árbol de páginas completo de un collective (solo metadatos)
  • get_page — obtener metadatos y contenido Markdown de una página
  • create_page — crear una nueva página bajo una página principal
  • update_page_content — reemplazar el contenido Markdown de una página
  • rename_page — renombrar una página
  • move_page — mover una página a una nueva página principal
  • delete_page — mover una página a la papelera

Etiquetas

  • list_tags — listar todas las etiquetas de un collective
  • create_tag — crear una nueva etiqueta
  • add_tag_to_page — adjuntar una etiqueta a una página
  • remove_tag_from_page — eliminar una etiqueta de una página

Desarrollo

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 implementación

Este proyecto fue implementado y probado completamente con la ayuda de inteligencia artificial (Gemini 3.5 (Flash)) de Google DeepMind en el marco de un flujo de trabajo de codificación agéntico.