关于 nextcloud-organizer-mcp
nextcloud-organizer-mcp 是面向 Claude 和 Nextcloud 用户的可自托管 MCP 服务,可管理任务、日历事件和 Notes 笔记。它通过 CalDAV 与 Notes REST API 操作数据,并将日程和到期任务合并展示。
主要功能
- 01管理任务、提醒、子任务和重复规则
- 02创建日历事件并管理 RSVP
- 03将任务转换为关联的日历时间块
- 04创建和编辑 Notes 笔记段落
- 05合并查看事件与到期任务
- 06通过 OAuth 2.1 保护访问
适用场景
- 01添加带截止时间和提醒的任务
- 02安排重复会议或日历时段
- 03把任务安排为关联的日历时间块
- 04查看当天事件和到期任务
MCP 相关
该 MCP 服务通过 Streamable HTTP 向 MCP 客户端提供 51 个 Nextcloud 工具,并使用 OAuth 2.1;工具通过 CalDAV 和 Notes REST API 访问 Nextcloud。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx nextcloud-organizer-mcpNEXTCLOUD_BASE_URLBase URL of your Nextcloud instance, e.g. https://cloud.example.com (must be https:// unless local).NEXTCLOUD_USERNAMENextcloud username.NEXTCLOUD_APP_PASSWORD密钥Nextcloud app password (Settings > Security > Devices & sessions), never the account password.PUBLIC_BASE_URLThe exact public URL clients use to reach this server; required for the OAuth 2.1 flow.MCP_OAUTH_PASSWORD密钥Password for the OAuth consent page; required unless the server is bound and reached locally only.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
nextcloud-organizer-mcp
让 Claude 管理你的 Nextcloud 任务、日历和笔记。
一个可自托管的 MCP 服务,用于管理 CalDAV 任务、事件和 Notes 应用。
通过真实 Nextcloud 发起的真实工具调用 ·
观看视频
用日常语言提出请求,你自己的 Nextcloud 就会随之更新。无需复制粘贴,也不依赖第三方日历服务:数据保留在你的服务器上,工具通过标准 CalDAV 和 Notes REST API 与之通信。
社区项目,与 Nextcloud GmbH 无关联,也未获得其认可。 原名为
nextcloud-task-mcp。
你可以这样说
| 你说 | 执行结果 |
|---|---|
| “添加一个高优先级任务:周四下午 5 点前完成 Q4 报告,并提前 2 小时提醒我。” | 调用 create_task,设置截止日期、优先级和 VALARM 提醒 |
| “添加每周团队同步会议,周一 10:00。” | 调用带有 RRULE 的 create_event |
| “周四 9-11 点为报告安排时间。” | 调用 create_event_from_task — 创建关联的时间块,任务和事件会保持关联 |
| “我周四的安排是什么?” | 调用 get_agenda — 在同一个答复中列出事件(展开重复事件)和到期任务 |
| “为 Q4 报告创建一条笔记,然后只更新状态部分。” | 调用 create_note、update_note_section |
Claude 撰写的内容会立即显示在常规 Nextcloud 应用中:
功能
- 任务(VTODO):优先级、标签、提醒、子任务、带例外日期的重复规则、四种状态,以及批量更新/删除/移动。
- 日历和事件(VEVENT):重复事件、参与者和 RSVP、空闲/忙碌状态、共享、ICS 导入/导出、生日、批量操作、回收站。
- 时间分块:将任务转换为日历时间块,并保持两者关联。
- 笔记:创建、搜索、追加、替换一段内容或单个 Markdown 部分。
- 整合每日议程:同时查看事件和到期任务。
- 默认安全:使用带密码授权页面的 OAuth 2.1,强制 Nextcloud 使用
https://,提供清晰的错误信息而非堆栈跟踪。 - 共 51 个工具,详见工具参考。
兼容性
| 客户端 | 状态 |
|---|---|
| Claude(claude.ai 网页版),作为自定义连接器 | 支持,已针对 claude.ai 测试连接器和授权流程 |
| Claude 移动版和 Cowork | 使用与网页版相同的连接器;未单独测试 |
通过 mcp-remote 使用 Claude Desktop | 已在部署指南中说明 |
| 其他 MCP 客户端和模型提供商 | 尚未测试,计划中 |
此服务使用标准的 Streamable HTTP MCP 和 OAuth 2.1(动态客户端注册 + PKCE),因此其他客户端可能也能使用。OAuth 重定向允许列表默认包含 claude.ai 和 claude.com;其他客户端需要设置 MCP_OAUTH_ALLOWED_REDIRECT_DOMAINS。欢迎提交其他客户端的使用反馈。
快速开始
需要 Python 3.10+ 和安装了 Calendar/Tasks 与 Notes 应用的 Nextcloud。
uv tool install nextcloud-organizer-mcp # or: pipx install nextcloud-organizer-mcp
在 Settings → Security → Devices & sessions 下创建应用密码(切勿使用账户密码),然后设置:
export NEXTCLOUD_BASE_URL=https://cloud.example.com
export NEXTCLOUD_USERNAME=your-username
export NEXTCLOUD_APP_PASSWORD=your-app-password
export PUBLIC_BASE_URL=https://your-host.ts.net # the URL clients use
export MCP_OAUTH_PASSWORD=a-long-random-password # required unless local
nextcloud-organizer-mcp # listens on 127.0.0.1:8000, path /mcp
也可以从检出目录启动:uv sync && cp .env.example .env,编辑 .env,然后运行 uv run nextcloud-organizer-mcp。所有设置都记录在 .env.example 中。NEXTCLOUD_BASE_URL 必须使用 https://,除非它指向本地地址。
然后公开此服务(部署指南使用 Tailscale Funnel 提供 TLS),并在 Claude 中前往 Settings → Connectors → Add custom connector,使用 URL <PUBLIC_BASE_URL>/mcp 添加连接器。Client ID 和 Secret 留空,并在打开的授权页面输入 MCP_OAUTH_PASSWORD。详情请参阅:身份验证。
工作原理
Claude ── HTTPS + OAuth 2.1 ──► your server (this project) ── CalDAV / Notes API ──► Nextcloud
- 启动时建立一个 CalDAV 连接,并在每个请求中重复使用。
- 请求携带有效访问令牌之前,不会运行任何工具或 CalDAV 逻辑。
- 此服务绑定到本地 HTTP 端口,不自行处理 TLS。
- 时间戳使用
MCP_DEFAULT_TIMEZONE(默认值为Europe/Berlin);无时区输入会按该时区解释。
文档
- 部署指南 — Ubuntu LXC + Tailscale + systemd + Claude 连接器设置
- 身份验证 — OAuth 模型、授权页面、本地安全补丁
- 工具参考 — 所有工具及其参数、示例和错误消息
- 架构 — 模块布局、请求流程、设计决策
- 贡献指南 — 开发环境设置、检查、分支(已发布的
main、活跃的dev) - 更新日志 · 安全策略
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。