cbcoutinho/nextcloud-mcp-server

Nextcloud MCP Server

322 ★61 forksPythonUpdated 1d ago

What you need to know

Production-ready MCP server that connects AI assistants to a Nextcloud instance — 110+ MCP tools with deep CRUD across 13 Nextcloud apps (Notes, Calendar, Contacts, Files/WebDAV, Deck, Cookbook, Tables, Sharing, News, Mail, Collectives, Talk). It runs standalone (Docker, VM, Kubernetes, or local) independent of Nextcloud.

Install

uvx nextcloud-mcp-server run --transport stdio with NEXTCLOUD_HOST / NEXTCLOUD_USERNAME / NEXTCLOUD_PASSWORD env vars (use a Nextcloud app password, not your login password)
Docker (full features incl. semantic search): docker run -p 127.0.0.1:8000:8000 --rm -e NEXTCLOUD_HOST=... -e NEXTCLOUD_USERNAME=... -e NEXTCLOUD_PASSWORD=... ghcr.io/cbcoutinho/nextcloud-mcp-server:latest

Usage

  • Add to MCP client config (claude_desktop_config.json / .claude/settings.json) with command uvx nextcloud-mcp-server run --transport stdio
  • Generate an app password in Nextcloud under Settings > Security > Devices & sessions
  • For Docker, connect clients to http://127.0.0.1:8000/mcp

Key features

  • 110+ MCP tools across 13 Nextcloud apps (Notes, Calendar, Contacts, WebDAV Files, Deck, Cookbook, Tables, Sharing, News, Mail, Collectives, Talk) plus MCP Resources
  • Semantic search (experimental, opt-in): vector search over Notes, Files, News, Deck cards, Mail — requires Qdrant + Ollama
  • Document processing: OCR and text extraction from PDFs, DOCX, images with progress notifications
  • Multi-user auth via Login Flow v2 (clients OAuth to the MCP server; server handles app passwords transparently); single-user via Basic Auth
  • Tag-based file exclusion (EXCLUDED_TAGS system tag) to hide sensitive files from MCP file tools
  • Multiple transports: streamable-http (default) and stdio

Best for

Teams/users who want Claude Code, IDEs, or desktop clients to read and write their Nextcloud data (notes, calendar, mail, files) through natural language

Caveats

  • Semantic search is experimental, disabled by default (ENABLE_SEMANTIC_SEARCH=false), and requires Qdrant + an embedding service
  • OAuth-direct-to-Nextcloud is no longer supported (needed unmerged upstream user_oidc patches); Login Flow v2 replaces it and works with stock Nextcloud
  • Managed service (Astrolabe Cloud) for semantic search/background sync is under development
  • AGPL-3.0 license
Platforms: Docker · Kubernetes (Helm) · VM · local (cross-platform)Clients: Claude Code · IDEs · Claude Desktop · mcp dev
Documentation ↗

Reviewed 2026-08-07

Topics

mcp-servermodel-context-protocolnextcloudnextcloud-decknextcloud-notesrag
View on GitHub ↗
Stars
322★
Forks
61
Language
Python
License
AGPL-3.0
Created
2025-05-04
Last push
2026-08-06