nextcloud-mcp-gateway
Provides tools for reading, writing, organizing, and managing files and folders in a Nextcloud instance via WebDAV, plus user information and health diagnostics through the OCS API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@nextcloud-mcp-gatewaylist all files in my Documents folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
module_type: mcp_server
status: active
protocol: mcp
primary_capability: nextcloud_webdav_caldav_deck
requires: nextcloud
works_with: claude_desktop, ai_agents, mcp_router
last_verified: 2026-09-10nextcloud-mcp-gateway
Nextcloud Data Plane MCP Server for AI Agents to read, write, and manage files, CalDAV calendars, and Deck boards via WebDAV and OCS API (Go 1.22+).
Status and Last Verified Date
Status: Active (v2.0.0 Go rewrite)
Last Verified Date: 2026-09-10
Related MCP server: nextcloud-mcp
What it does / does not do
What it does:
Exposes Nextcloud file operations (WebDAV), user information (OCS API), Kanban tasks (Nextcloud Deck), and calendar events (CalDAV) to AI agents via the Model Context Protocol (MCP). It allows listing, reading, creating, and deleting files and folders, checking instance health and user quotas, and organizing Deck cards and CalDAV events.What it does not do:
It does not administer the Nextcloud instance (e.g., creating users, configuring server settings), nor does it provide a full web GUI. It handles data-plane operations scoped to the authenticated user.
Why an agent would use it
An AI agent can use this gateway to interact with Nextcloud storage, read documents, write reports, organize files into folders, manage Deck Kanban tasks, and schedule events via CalDAV.
Architecture and Dependencies
Language: Go 1.22+
Framework:
github.com/mark3labs/mcp-goAPIs Used: Nextcloud WebDAV (
/remote.php/dav/files/{user}), CalDAV (/remote.php/dav/calendars/{user}/{calendar}), Deck REST API v1.0, and OCS REST API (/ocs/v1.php/cloud).Execution: Runs as a standard stdio MCP server compiled as a single static binary.
Quick Start and Health Check
# Clone the repository
git clone https://github.com/TheNovaNodes/nextcloud-mcp-gateway.git
cd nextcloud-mcp-gateway
# Build binary
make build
# Run unit tests
make test
# Start server
./bin/nextcloud-mcp-gatewayHealth Check: Agents can call the nextcloud_health tool which checks the /status.php endpoint of the configured Nextcloud instance.
Configuration and Environment Variables
Copy .env.example to .env and fill in credentials.
NC_URL: Local or private Nextcloud instance endpoint (default:http://localhost:8080)NC_PUBLIC_URL: Public HTTPS domain endpoint (default:https://nextcloud.example.com)NC_USER: Nextcloud usernameNC_APP_PASSWORD: Nextcloud App Password or WebDAV tokenNC_TIMEOUT: Request timeout in seconds (default:30.0)
MCP Tools Reference
Files & Storage (WebDAV)
list_files(path, offset, limit): Lists files and folders in a Nextcloud directory via WebDAVPROPFIND(Depth: 1) with pagination.read_file(path): Reads textual content of a file from Nextcloud storage (enforces 10MB limit to prevent OOM).write_file(path, content): [HITL protected] Stages file creation or overwrite. Requires user approval.delete_file(path): [HITL protected] Stages deletion of a file or folder. Requires user approval.create_folder(path): [HITL protected] Stages folder creation via WebDAVMKCOL. Requires user approval.
Security & Approvals (HITL)
execute_pending_action(token): Approves and executes an action guarded by HITL (valid for 5 minutes).
Calendar (CalDAV)
list_calendar_events(calendar_name): Lists events from a Nextcloud CalDAV calendar viaREPORT.create_calendar_event(event_uid, summary, dtstart, dtend, calendar_name): Creates a new event using iCalendar (.ics).delete_calendar_event(event_uid, calendar_name): Deletes an event by UID.
Kanban (Nextcloud Deck)
list_deck_boards(): Lists all Kanban boards available to the user.list_deck_stacks(board_id): Lists all columns (stacks) on a Deck board.create_deck_card(board_id, stack_id, title, description): Creates a new card in a stack.update_deck_card(board_id, stack_id, card_id, title, description, order): Updates or moves a Kanban card.delete_deck_card(board_id, stack_id, card_id): Deletes a card.
System & Diagnostics
nextcloud_health(): Checks Nextcloud instance health and status.get_user_info(): Retrieves user quota and profile via OCS API.
Tests
Run tests with race detection and coverage:
make test
make coverageLicense
MIT License. See LICENSE for details.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Hosted MCP server for AI-driven data ops. Create apps, manage schemas, and CRUD structured data.
API-first CRM for LLMs - contacts, companies, deals and activities over a native MCP server.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables to manage Nextcloud files, user info, sharing, calendar, and contacts through optimized MCP tools with dynamic tool selection and enterprise-grade security.MIT
- FlicenseBqualityDmaintenanceMCP server integrating Nextcloud services (tasks, calendar, notes, email, files, Deck) for AI assistant interaction.201-
- AlicenseNot gradedqualityCmaintenanceAn MCP server that exposes Nextcloud APIs as tools for AI assistants, enabling management of files, calendar, contacts, conversations, and more.1MIT
- FlicenseNot gradedqualityDmaintenanceA hybrid REST + MCP file server for managing files with large file streaming support, enabling AI agents and web frontends to perform file operations via MCP tools and REST APIs.-