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
- Stars
- 322★
- Forks
- 61
- Language
- Python
- License
- AGPL-3.0
- Created
- 2025-05-04
- Last push
- 2026-08-06