
Nextcloud Organizer Mcp
io.github.Vando-sketchPublished by GitHub account Vando-sketchv0.2.1Updated Oct 24, 2026
Manage Nextcloud tasks, calendar events and notes from Claude over CalDAV and the Notes API.
Overview
Self-hosted MCP server that lets an assistant create and manage Nextcloud tasks, calendar events and notes over CalDAV and the Notes API.
- What you can do
- Create, update, batch-move and delete tasks with priorities, tags, reminders, subtasks and recurrence, and turn a task into a linked calendar time block. Create and manage calendar events, including recurring events, attendees and RSVP, free/busy, sharing, ICS import/export and trash. View a combined day agenda of events and due tasks. Create, search, append to and replace passages or single Markdown sections of notes.
- When to use it
- Useful when you run your own Nextcloud instance and want an assistant to plan tasks, schedule events and edit notes in plain language, keeping the data on your own server rather than a third-party calendar service.
- Requirements
- Python 3.10+ and a Nextcloud instance with the Calendar/Tasks and Notes apps. Environment variables NEXTCLOUD_BASE_URL (https unless local), NEXTCLOUD_USERNAME, NEXTCLOUD_APP_PASSWORD and PUBLIC_BASE_URL, plus MCP_OAUTH_PASSWORD unless reached locally only. The server listens on a local HTTP port and needs a TLS-terminating proxy or tunnel to be reachable by clients.
Installation
In SourceWeft
- Open Nextcloud Organizer Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[nextcloud-organizer-mcp logo]
nextcloud-organizer-mcp
Let Claude run your Nextcloud tasks, calendar and notes.
A self-hosted MCP server for CalDAV tasks, events and the Notes app.
[PyPI] [CI] [Python 3.10+] [MIT license]
[A scripted client creating a task, a recurring event and a time block, then reading the day's agenda]
Real tool calls against a real Nextcloud ·
watch as video
Ask in plain language, and your own Nextcloud changes. No copy-paste, no third-party calendar service: the data stays on your server and the tools talk to it over standard CalDAV and the Notes REST API.
Community project, not affiliated with or endorsed by Nextcloud GmbH. Formerly
nextcloud-task-mcp.
What you can say
What Claude wrote shows up in the normal Nextcloud apps, immediately:
[Nextcloud Calendar showing the 9-11 time block and the task deadline]
[Nextcloud Tasks showing the high-priority task with its tag and due date]
[Nextcloud Notes showing the note after a single-section update]
Features
- Tasks (VTODO): priorities, tags, reminders, subtasks, recurrence with exception dates, four-state status, batch update/delete/move.
- Calendars and events (VEVENT): recurring events, attendees and RSVP, free/busy, sharing, ICS import/export, birthdays, batch operations, trash bin.
- Timeboxing: turn a task into a calendar block and keep both linked.
- Notes: create, search, append, replace a passage or a single Markdown section.
- Combined day agenda: events and due tasks together.
- Safe by default: OAuth 2.1 with a password consent page,
https://enforced for Nextcloud, clean error messages instead of stack traces. - 51 tools in total, documented in the tool reference.
Compatibility
The server speaks standard Streamable HTTP MCP with OAuth 2.1 (Dynamic Client
Registration + PKCE), so other clients may work. The OAuth redirect allow-list
defaults to claude.ai and claude.com; other clients need
MCP_OAUTH_ALLOWED_REDIRECT_DOMAINS set. Reports from other clients are welcome.
Quick start
Requires Python 3.10+ and a Nextcloud with the Calendar/Tasks and Notes apps.
Create an app password under Settings → Security → Devices & sessions (never your account password), then set:
From a checkout instead: uv sync && cp .env.example .env, edit .env, then
uv run nextcloud-organizer-mcp. Every setting is documented in
.env.example. NEXTCLOUD_BASE_URL must be https:// unless it
points at a local address.
Then expose the server (the deployment guide uses Tailscale
Funnel for TLS) and add it in Claude under Settings → Connectors → Add custom
connector with the URL <PUBLIC_BASE_URL>/mcp. Leave Client ID and Secret blank
and enter your MCP_OAUTH_PASSWORD on the consent page that opens. Details:
Authentication.
How it works
- One CalDAV connection is opened at startup and reused for every request.
- No tool or CalDAV logic runs until a request carries a valid access token.
- The server binds to a local HTTP port and does not handle TLS itself.
- Timestamps use
MCP_DEFAULT_TIMEZONE(defaultEurope/Berlin); naive inputs are interpreted in it.
Documentation
- Deployment guide — Ubuntu LXC + Tailscale + systemd + Claude connector setup
- Authentication — OAuth model, consent page, local security patches
- Tool reference — all tools with parameters, examples and error messages
- Architecture — module layout, request flow, design decisions
- Contributing — dev setup, checks, branches (
mainreleased,devactive) - Changelog · Security policy
License
Source: README.md at commit 618018f
Tools
0Version history
1- v0.2.1LatestSep 29, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
