freshcrate
Skin:/
Home > MCP Servers > nextcloud-mcp-server

nextcloud-mcp-server

Nextcloud MCP Server

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

Nextcloud MCP Server

README

Nextcloud MCP Server

Nextcloud MCP Server

Docker Image

A production-ready MCP server that connects AI assistants to your Nextcloud instance.

Enable Large Language Models like Claude, GPT, and Gemini to interact with your Nextcloud data through a secure API. Create notes, manage calendars, organize contacts, work with files, and more - all through natural language conversations.

This is a dedicated standalone MCP server designed for external MCP clients like Claude Code and IDEs. It runs independently of Nextcloud (Docker, VM, Kubernetes, or local) and provides deep CRUD operations across Nextcloud apps.

Note

Looking for AI features inside Nextcloud? Nextcloud also provides Context Agent, which powers the Assistant app and runs as an ExApp inside Nextcloud. See docs/comparison-context-agent.md for a detailed comparison of use cases.

Quick Start

Run the server locally with uvx (no installation required):

NEXTCLOUD_HOST=https://your.nextcloud.instance.com \
NEXTCLOUD_USERNAME=your_username \
NEXTCLOUD_PASSWORD=your_app_password \
  uvx nextcloud-mcp-server run --transport stdio

Or add it directly to your MCP client configuration (e.g. claude_desktop_config.json or .claude/settings.json):

{
  "mcpServers": {
    "nextcloud": {
      "command": "uvx",
      "args": ["nextcloud-mcp-server", "run", "--transport", "stdio"],
      "env": {
        "NEXTCLOUD_HOST": "https://your.nextcloud.instance.com",
        "NEXTCLOUD_USERNAME": "your_username",
        "NEXTCLOUD_PASSWORD": "your_app_password"
      }
    }
  }
}

Tip

Generate an app password in Nextcloud under Settings > Security > Devices & sessions instead of using your login password.

Docker

For full features including semantic search, run with Docker:

# 1. Create a minimal configuration
cat > .env << EOF
NEXTCLOUD_HOST=https://your.nextcloud.instance.com
NEXTCLOUD_USERNAME=your_username
NEXTCLOUD_PASSWORD=your_app_password
EOF

# 2. Start the server
docker run -p 127.0.0.1:8000:8000 --env-file .env --rm \
  ghcr.io/cbcoutinho/nextcloud-mcp-server:latest

# 3. Test the connection
curl http://127.0.0.1:8000/health/ready

# 4. Connect to the endpoint
http://127.0.0.1:8000/mcp

Docker Compose Profiles (for development/testing):

docker compose --profile single-user up -d       # Port 8000
docker compose --profile multi-user-basic up -d   # Port 8003
docker compose --profile oauth up -d              # Port 8001
docker compose --profile login-flow up -d         # Port 8004

Next Steps:

Key Features

  • 110+ MCP Tools - Comprehensive API coverage across 10 Nextcloud apps
  • MCP Resources - Structured data URIs for browsing Nextcloud data
  • Semantic Search (Experimental) - Optional vector-powered search for Notes, Files, News items, and Deck cards (requires Qdrant + Ollama)
  • Document Processing - OCR and text extraction from PDFs, DOCX, images with progress notifications
  • Flexible Deployment - Docker, Kubernetes (Helm chart), VM, or local installation
  • Production-Ready Auth - Basic Auth with app passwords (recommended) or OAuth2/OIDC (experimental)
  • Multiple Transports - streamable-http (default) and stdio

Supported Apps

App Tools Capabilities
Notes 7 Full CRUD, keyword search, semantic search
Calendar 20+ Events, todos (tasks), recurring events, attendees, availability
Contacts 8 Full CardDAV support, address books
Files (WebDAV) 12 Filesystem access, OCR/document processing
Deck 15 Boards, stacks, cards, labels, assignments
Cookbook 13 Recipe management, URL import (schema.org)
Tables 5 Row operations on Nextcloud Tables
Sharing 10+ Create and manage shares
News 8 Feeds, folders, items, feed health monitoring
Collectives 16 Full CRUD on collectives, pages, and tags
Semantic Search 2+ Vector search for Notes, Files, News items, and Deck cards (experimental, opt-in, requires infrastructure)

Want to see another Nextcloud app supported? Open an issue or contribute a pull request!

Authentication

Important

OAuth2/OIDC is experimental and requires a manual patch to the user_oidc app:

  • Required patch: Bearer token support (issue #1221)
  • Impact: Without the patch, most app-specific APIs fail with 401 errors
  • Recommendation: Use Basic Auth for production until upstream patches are merged

See docs/oauth-upstream-status.md for patch status and workarounds.

Recommended: Basic Auth with app-specific passwords provides secure, production-ready authentication. See docs/authentication.md for setup details and OAuth configuration.

Authentication Modes

The server supports four authentication modes:

Single-User (BasicAuth):

  • One set of credentials shared by all MCP clients
  • Simple setup: username + app password in environment variables
  • All clients access Nextcloud as the same user
  • Best for: Personal use, development, single-user deployments

Multi-User (BasicAuth Pass-Through):

  • MCP clients send credentials via Authorization header
  • Server passes through to Nextcloud (stateless by default)
  • Optional offline access for background operations (ENABLE_MULTI_USER_BASIC_AUTH=true)
  • Best for: Multi-user setups without OAuth infrastructure

Multi-User (OAuth):

  • Each MCP client authenticates separately with their own Nextcloud account
  • Per-user scopes and permissions (clients only see tools they're authorized for)
  • More secure: tokens expire, credentials never shared with server
  • Best for: Teams, multi-user deployments, production environments with multiple users
  • Requires: Patches to the user_oidc app (experimental)

Multi-User (Login Flow v2):

  • Uses Nextcloud's native Login Flow v2 to obtain per-user app passwords
  • No OAuth patches required — works with stock Nextcloud
  • Each user authenticates via browser, server manages app passwords
  • Best for: Multi-user deployments without OAuth infrastructure (ENABLE_LOGIN_FLOW=true)
  • Experimental: See ADR-022 for details

See docs/authentication.md for detailed setup instructions.

Semantic Search

The server provides an experimental RAG pipeline to enable Semantic Search that enables MCP clients to find information in Nextcloud based on meaning rather than just keywords. Instead of matching "machine learning" only when those exact words appear, it understands that "neural networks," "AI models," and "deep learning" are semantically related concepts.

Example:

  • Keyword search: Query "car" only finds notes containing "car"
  • Semantic search: Query "car" also finds notes about "automobile," "vehicle," "sedan," "transportation"

This enables natural language queries and helps discover related content across your Nextcloud notes.

Note

Semantic Search is experimental and opt-in:

  • Disabled by default (ENABLE_SEMANTIC_SEARCH=false)
  • Currently supports Notes app only (multi-app support planned)
  • Requires additional infrastructure: vector database + embedding service
  • Answer generation (nc_semantic_search_answer) requires MCP client sampling support

See docs/semantic-search-architecture.md for architecture details and docs/configuration.md for setup instructions.

Documentation

Getting Started

Features

Advanced Topics

Examples

Create a Note

AI: "Create a note called 'Meeting Notes' with today's agenda"
→ Uses nc_notes_create_note tool

Import Recipes

AI: "Import the recipe from https://www.example.com/recipe/chocolate-cake"
→ Uses nc_cookbook_import_recipe tool with schema.org metadata extraction

Schedule Meetings

AI: "Schedule a team meeting for next Tuesday at 2pm"
→ Uses nc_calendar_create_event tool

Manage Files

AI: "Create a folder called 'Project X' and move all PDFs there"
→ Uses nc_webdav_create_directory and nc_webdav_move tools

Semantic Search (Experimental, Opt-in)

AI: "Find notes related to machine learning concepts"
→ Uses nc_semantic_search to find semantically similar notes (requires Qdrant + Ollama setup)

Note: For AI-generated answers with citations, use nc_semantic_search_answer (requires MCP client with sampling support).

Contributing

Contributions are welcome!

Security

MseeP.ai Security Assessment

This project takes security seriously:

  • Production-ready Basic Auth with app-specific passwords
  • OAuth2/OIDC support (experimental, requires upstream patches)
  • Per-user access tokens
  • No credential storage in OAuth mode
  • Regular security assessments

Found a security issue? Please report it privately to the maintainers.

License

This project is licensed under the AGPL-3.0 License. See LICENSE for details.

Star History

Star History Chart

References

Release History

VersionChangesUrgencyDate
v0.201.2### Fix - **auth**: stop reporting every failed AS-proxy refresh as invalid_grant ### Refactor - **auth**: drop _is_absolute_http_url from the AS-proxy refresh path High10/24/2026
v0.200.5### Fix - **client**: don't read a streamed request body in the request log hook High10/21/2026
v0.200.2### Fix - **http**: merge caller headers via httpx.Headers in the factory - **client**: send OCS-APIRequest from the httpx client, not per call site ### Refactor - **webdav**: hoist text/xml content type; document factory scope - **client**: make NEXTCLOUD_DEFAULT_HEADERS read-only; clarify mail JSON headers High10/20/2026
v0.199.4### Fix - **logging**: render a None body argument as None, not its size - **logging**: never log Authorization credentials or tool-call bodies ### Refactor - **logging**: extract per-argument rendering to cut complexity High10/12/2026
v0.199.3### Fix - **documents**: mark the worker-interrupt catch as intentional for Sonar - **documents**: contain a parse worker's KeyboardInterrupt High10/9/2026
v0.199.1### Fix - **calendar**: anchor UNTIL on the caller's offset; store absolute TRIGGER as UTC - **calendar**: store fixed-offset datetimes as UTC High10/8/2026
v0.198.5### Fix - **sar**: render failed index rows, which carry no reason - **sar**: allow a blank reason per document on export ### Refactor - **sar**: name the index reason fragment; assert the title survives High10/6/2026
v0.198.4### Fix - **webdav**: strip the -zstd content-coding suffix from etags High10/6/2026
v0.198.3### Fix - **storage**: disable psycopg auto-prepare on the Postgres engine High10/1/2026
v0.198.1### Fix - **auth**: accept any port on portless loopback CIMD redirect URIs High9/30/2026
v0.198.0### BREAKING CHANGE - SAR cases and redacted export are no longer served implicitly when vector sync and EMBEDDING_GATEWAY_URL are configured. Set SAR_ENABLED=true to keep them. ### Feat - **sar**: SAR is opt-in per deployment via SAR_ENABLED High9/28/2026
v0.195.5### Fix - **calendar**: accept percent-encoded calendar names, report skipped calendars High9/27/2026
v0.195.4### Fix - **documents**: skip the RLIMIT_AS cap when the OS refuses it High9/25/2026
v0.195.3### Fix - **contacts**: drop only unparseable vCard properties, not the whole contact High9/24/2026
v0.195.1### Fix - **webdav**: scope a range read's failed-parse fallback to the slice - **webdav**: reap the read-path parse worker, add page-range reads ### Refactor - **pymupdf**: lift the one_shot check out of process_source High9/23/2026
v0.195.0### Feat - **processors**: read legacy and ODF office files via a shared Collabora service (ADR-039) - **vector-sync**: discover office and Outlook documents, not only PDFs ### Fix - **vector-sync**: index only formats this build can read; webhook follows the setting - **vector-sync**: treat an empty indexable-MIME list as "index nothing" ### Perf - **vector-sync**: expand each tagged folder's types concurrently High9/19/2026
v0.193.1### Fix - **calendar**: drop semicolon from create_meeting description - **calendar**: bind create_meeting events to a timezone (#1502) High9/18/2026
v0.192.0### BREAKING CHANGE - nc_calendar_bulk_operations skips events that belong to a recurring series unless apply_to_series=true is passed; previously the whole series was updated or deleted. ### Fix - **calendar**: bulk ops no longer rewrite a whole recurring series per occurrence - **calendar**: set ORGANIZER on events with attendees High9/18/2026
v0.190.1### Fix - **deps**: bump pact installer sha256 and let renovate manage it High9/17/2026
v0.189.0### Feat - **webdav**: add trash bin and file version tools ### Fix - **webdav**: add OCS header to trash/version calls, skip a redundant fileid lookup - **webdav**: correct restore idempotency, refusals and numeric fields ### Refactor - **webdav**: typed responses and exclusion guards for trash/versions High9/16/2026
v0.187.1### Fix - **ingest**: count an empty download on the truncation panel - **ingest**: refuse empty document payloads instead of dead-lettering them ### Refactor - **ocr**: name the no-filename log placeholder High9/12/2026
v0.184.1### Fix - **webdav**: normalise etags mangled by a compressing proxy ### Refactor - **webdav**: fold suffix handling into the existing etag normalizer High8/30/2026
v0.175.0### Feat - **providers**: request Matryoshka output width via EMBEDDING_DIMENSIONS High8/15/2026
v0.162.1### Fix - **observability**: give an absent client_id one spelling, not two - **observability**: make the fleet metric say why it isn't recording High8/3/2026
v0.142.1### Fix - **ci**: restore GitHub Releases, revive pact deployment recording, clean up stale artifacts (#1116) High7/20/2026
nextcloud-mcp-server-0.58.32A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudHigh4/7/2026
nextcloud-mcp-server-0.58.31A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium4/7/2026
nextcloud-mcp-server-0.58.30A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium4/7/2026
nextcloud-mcp-server-0.58.29A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium4/7/2026
nextcloud-mcp-server-0.58.28A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium4/5/2026
nextcloud-mcp-server-0.58.27A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium4/5/2026
nextcloud-mcp-server-0.58.26A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium4/4/2026
nextcloud-mcp-server-0.58.25A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium4/3/2026
nextcloud-mcp-server-0.58.24A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium4/2/2026
nextcloud-mcp-server-0.58.23A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium4/1/2026
nextcloud-mcp-server-0.58.22A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium4/1/2026
nextcloud-mcp-server-0.58.21A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium3/31/2026
nextcloud-mcp-server-0.58.20A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium3/31/2026
nextcloud-mcp-server-0.58.19A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium3/31/2026
nextcloud-mcp-server-0.58.18A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium3/29/2026
nextcloud-mcp-server-0.58.17A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium3/29/2026
nextcloud-mcp-server-0.58.16A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium3/28/2026
nextcloud-mcp-server-0.58.15A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium3/28/2026
nextcloud-mcp-server-0.58.14A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium3/28/2026
nextcloud-mcp-server-0.58.13A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium3/28/2026
nextcloud-mcp-server-0.58.12A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium3/28/2026
nextcloud-mcp-server-0.58.11A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium3/27/2026
nextcloud-mcp-server-0.58.10A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium3/27/2026
nextcloud-mcp-server-0.58.9A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium3/26/2026
nextcloud-mcp-server-0.58.8A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium3/23/2026
nextcloud-mcp-server-0.58.7A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudMedium3/22/2026
nextcloud-mcp-server-0.58.6A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow3/22/2026
nextcloud-mcp-server-0.58.5A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow3/22/2026
nextcloud-mcp-server-0.58.4A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow3/21/2026
nextcloud-mcp-server-0.58.3A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow3/16/2026
nextcloud-mcp-server-0.58.2A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow3/14/2026
nextcloud-mcp-server-0.58.1A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow3/3/2026
nextcloud-mcp-server-0.58.0A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow3/3/2026
nextcloud-mcp-server-0.57.94A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow3/3/2026
nextcloud-mcp-server-0.57.93A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow3/3/2026
nextcloud-mcp-server-0.57.92A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow3/2/2026
nextcloud-mcp-server-0.57.91A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow3/2/2026
nextcloud-mcp-server-0.57.90A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow3/1/2026
nextcloud-mcp-server-0.57.89A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow3/1/2026
nextcloud-mcp-server-0.57.88A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow3/1/2026
nextcloud-mcp-server-0.57.87A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow3/1/2026
nextcloud-mcp-server-0.57.86A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow2/26/2026
nextcloud-mcp-server-0.57.85A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow2/25/2026
nextcloud-mcp-server-0.57.84A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow2/25/2026
nextcloud-mcp-server-0.57.83A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow2/25/2026
nextcloud-mcp-server-0.57.82A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow2/25/2026
nextcloud-mcp-server-0.57.81A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow2/25/2026
nextcloud-mcp-server-0.57.80A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow2/24/2026
nextcloud-mcp-server-0.57.79A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow2/24/2026
nextcloud-mcp-server-0.57.78A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with NextcloudLow2/24/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026
astrolabe-v0.10.1Latest release: astrolabe-v0.10.1Low2/3/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

dbt-mcpA MCP (Model Context Protocol) server for interacting with dbt.v2.8.0
memoraGive your AI agents persistent memory.v0.5.5
mcp-workspaceMCP Workspace Server: A secure Model Context Protocol server providing file, git, and GitHub tools for AI assistants within a sandboxed project directory.0.1.13
mcp-pyatvMCP server for controlling Apple TV, HomePod, and AirPlay devices. Control your TV with natural language through Claude Desktop.v0.2.0
pipulateLocal First AI SEO Software on Nix, FastHTML & HTMXmain@2026-10-25

More in MCP Servers

litellmPython SDK, Proxy Server (AI Gateway) to call 100+ LLM APIs in OpenAI (or native) format, with cost tracking, guardrails, loadbalancing and logging. [Bedrock, Azure, OpenAI, VertexAI, Cohere, Anthropi
ruflo🌊 The leading agent orchestration platform for Claude. Deploy intelligent multi-agent swarms, coordinate autonomous workflows, and build conversational AI systems. Features enterprise-grade archit
@claude-flow/cliRuflo CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code
claude-plugins-officialOfficial, Anthropic-managed directory of high quality Claude Code Plugins.