MCP Nextcloud日历
](https://www.npmjs.com/package/mcp-nextcloud-calendar) 
用于Nextcloud日历集成的模型上下文协议(MCP)服务器。
特性
- 从Nextcloud获取日历
- ADHD友好型组织特征
- MCP协议支持(流式HTTP和传统HTTP+SSE)
用法
与npx一起使用
使用此包的最简单方法是使用npx:
npx mcp-nextcloud-calendar安装
对于开发或本地安装:
# Install globally
npm install -g mcp-nextcloud-calendar
# Or install locally
npm install mcp-nextcloud-calendarMCP客户端配置
要与MCP客户端(如Claude)一起使用,请将此配置添加到MCP客户端设置中:
{
"mcpServers": {
"nextcloud-calendar": {
"command": "npx",
"args": ["-y", "mcp-nextcloud-calendar"],
"env": {
"NEXTCLOUD_BASE_URL": "https://your-nextcloud-server.com",
"NEXTCLOUD_USERNAME": "your-username",
"NEXTCLOUD_APP_TOKEN": "your-app-token"
}
}
}
}指定版本
您可以固定到软件包的特定版本:
{
"mcpServers": {
"nextcloud-calendar": {
"command": "npx",
"args": ["-y", "mcp-nextcloud-calendar@0.1.0"],
"env": {
"NEXTCLOUD_BASE_URL": "https://your-nextcloud-server.com",
"NEXTCLOUD_USERNAME": "your-username",
"NEXTCLOUD_APP_TOKEN": "your-app-token"
}
}
}
}配置
环境变量
服务器使用这些环境变量,并在可能的情况下使用默认值:
| 变量 | 描述 | 默认值 | 必填 |
|---|---|---|---|
| PORT | 服务器端口 | 3001 | 否 |
| SERVER_NAME | MCP服务器标识符 | 下一个云日历服务器 | 否 |
| NODE_ENV | 环境(开发/生产) | 开发 | 否 |
| NEXTCLOUD_BASE_URL | 您的下一个云服务器URL | - | 是 |
| NEXTCLOUD_USENAME | 您的NEXTCLOUD用户名 | - | 是 |
| NEXTCLOUD_APP_TOKEN | 您的NEXTCLOUD应用令牌 | - | 是 |
| 保持活动间隔(毫秒) | 30000 | 否 |
开发设置
对于当地发展:
- 克隆存储库
- 安装依赖项:
npm install- 创建一个
.env项目根目录中的文件:
cp .env.example .env- 编辑
.env使用您的Nextcloud凭据创建文件。
获取Nextcloud应用令牌
- 登录您的Nextcloud实例
- 转到“设置”→ 安全→ 应用程序密码
- 创建一个名为“MCP日历”的新应用密码
- 将生成的令牌复制到您的
.env文件
发展
# Build the project
npm run build
# Run in development mode
npm run dev
# Run tests
npm run test
# Run linting
npm run lint
# Format code
npm run formatAPI终点
/mcp-主MCP端点(可流式HTTP传输)/sse和/messages-传统MCP端点(HTTP+SSE传输)GET /health-健康检查端点GET /api/calendars-列出所有日历
MCP工具
以下MCP工具已注册并可供客户使用:
日历管理
| 工具 | 说明 | 参数 |
|---|---|---|
listCalendars | 检索所有可访问的日历 | 无 |
createCalendar | 创建新日历 | displayName (必填), color (可选), category (可选), focusPriority (可选) |
updateCalendar | 更新现有日历 | id (必填), displayName (可选), color (可选), category (可选), focusPriority (可选) |
deleteCalendar | 删除日历 | id (必填) |
⚠️ 权限警告:TheupdateCalendar和deleteCalendar工具可能需要Nextcloud实例中的特殊权限。日历操作受Nextcloud许可系统的约束。
事件管理
| 工具 | 说明 | 参数 |
|---|---|---|
listEvents | 检索日历的事件 | calendarId (必填), start (可选), end (可选) |
getEvent | 获取特定事件 | calendarId (必填), eventId (必填) |
createEvent | 创建新事件 | calendarId (必填), summary (必填), start (必填), end (必填), description (可选), location (可选) |
updateEvent | 更新现有事件 | calendarId (必填), eventId (必填),\[加上要更新的任何事件属性\] |
deleteEvent | 删除事件 | calendarId (必填), eventId (必填) |
已知问题和限制
备注:此软件包目前处于早期开发阶段(0.1.x)。API和工具可能会在未来的版本中更改,恕不另行通知。
- 更新和删除日历操作可能需要Nextcloud实例中的特定权限
- 特定Nextcloud错误代码的错误处理仍在改进中
- 包含许多活动的大型日历可能会出现性能问题
请在GitHub存储库中报告任何问题。
许可证
国际协调委员会

