Nextcloud日历MCP服务器
MCP(模型上下文协议)服务器,使Claude Desktop能够通过CalDAV与您的Nextcloud日历进行交互。
特性
- 列表_日历:列出所有可用日历
- get_events:使用可选的日期筛选从日历中获取事件
- create_event:创建新的日历事件
- update_事件:更新现有事件
- 删除事件:删除日历事件
设置
1.安装依赖项
npm install2.建设项目
npm run build3.配置Nextcloud凭据
复制示例配置并填写您的凭据:
cp config.example.json config.json编辑 config.json 您的Nextcloud详细信息:
{
"nextcloud": {
"serverUrl": "https://your-nextcloud-instance.com",
"username": "your-username",
"password": "your-app-password",
"calendarPath": "/remote.php/dav/calendars/your-username/"
}
}重要:使用特定于应用程序的密码,而不是您的Nextcloud主密码。您可以在“安全”下的Nextcloud设置中生成一个。
4.配置克劳德桌面
将此MCP服务器添加到您的Claude Desktop配置文件中:
在 macOS 上: ~/Library/Application Support/Claude/claude_desktop_config.json
在Windows上: %APPDATA%\Claude\claude_desktop_config.json
在Linux上: ~/.config/Claude/claude_desktop_config.json
将以下内容添加到您的配置中:
{
"mcpServers": {
"nextcloud-calendar": {
"command": "node",
"args": ["/home/USER/SOMEFOLDER/calendarhelper/dist/index.js"]
}
}
}确保更新路径以匹配您的实际安装目录。
5.重新启动克劳德桌面
添加配置后,完全重新启动Claude Desktop以使更改生效。
用法
配置后,您可以使用自然语言通过Claude Desktop与Nextcloud日历进行交互:
- “列出我的日历”
- “显示我下周的活动”
- “明天下午2点创建一个名为“团队同步”的1小时会议”
- “将事件‘团队同步’更新为下午3点开始”
- “删除事件‘旧会议’”
发展
观看模式
对于自动编译的开发:
npm run dev测试服务器
您可以通过运行以下命令手动测试服务器:
node dist/index.js服务器使用MCP协议通过stdio进行通信。
安全说明
- 这
config.json文件从git中排除以保护您的凭据 - 始终使用特定于应用程序的密码,永远不要使用Nextcloud的主密码
- 此工具专为个人使用硬编码凭据而设计
- 保持你的
config.json文件安全,从不共享
日期格式
所有日期应以ISO 8601格式提供: YYYY-MM-DDTHH:mm:ss
示例:
2025-11-15T14:00:00(2025年11月3日下午2:00)2025-12-25T09:30:00(2025年12月25日上午9:30)
故障排除
服务器未显示在Claude Desktop中
- 检查路径是否正确
claude_desktop_config.json是正确的 - 确保项目建成(
npm run build) - 完全重新启动克劳德桌面
- 检查Claude Desktop日志是否有错误
身份验证错误
- 验证您的Nextcloud URL是否正确(包括
https://) - 确认您使用的是特定于应用程序的密码
- 检查您的用户名是否正确
- 登录Nextcloud web界面测试您的凭据
未显示的事件
- 使用验证日历URL
list_calendars第一 - 检查日期范围格式(ISO 8601)
- 确保在指定的日期范围内有事件
许可证
麻省理工学院
