caldav mcp
🗓️ CalDAV模型上下文协议(MCP)服务器,将日历操作作为AI助手的工具公开。
 ](https://www.npmjs.com/package/caldav-mcp)    
✨ 特性
- 连接到CalDAV服务器
- 列出日历
- 列出特定时间范围内的日历事件
- 创建日历事件
- 更新日历事件
- 按UID删除日历事件
设置
{
"mcpServers": {
...,
"calendar": {
"command": "npx",
"args": [
"caldav-mcp"
],
"env": {
"CALDAV_BASE_URL": "",
"CALDAV_USERNAME": "",
"CALDAV_PASSWORD": ""
}
}
}
}发展
快速开始
在开发模式下运行MCP服务器,并自动重新加载:
npm run dev这将直接在监视模式下运行TypeScript代码,并自动从以下位置加载环境变量 .env.
手动构建
或者,您可以将TypeScript编译为JavaScript并运行它:
- 编译:
npx tsc- 运行:
node dist/index.js可用工具
列出日历
列出所有同时返回名称和URL的日历
参数:无
退货:
- 所有可用日历的列表
列出事件
列出其URL指定的日历中开始日期和结束日期之间的所有事件
参数:
start:string--开始日期(ISO 8601)end:string--结束日期(ISO 8601)calendarUrl:string
退货:
- 在给定时间范围内的事件列表,每个事件包含
uid,summary,start,end,并且可选description和location
创建事件
在由其URL指定的日历中创建事件
参数:
summary:stringstart:string--开始日期时间(ISO 8601)end:string--结束日期时间(ISO 8601)calendarUrl:stringdescription:string(可选)location:string(可选)recurrenceRule:对象(可选)
- freq:enum(DAILY | WEEKLY | MONTHLY | YEARLY)(可选) - interval:数字(可选) - count:数字(可选) - until:string(可选) - byday:字符串数组(可选) - bymonthday:数字数组(可选) - bymonth:数字数组(可选)
退货:
- 创建的事件的唯一ID
更新事件
更新日历中由其URL指定的现有事件。仅更改提供的字段。
参数:
uid:string--要更新的事件的唯一标识符(从列表事件中获取)calendarUrl:stringsummary:string(可选)start:string(可选)end:string(可选)description:string(可选)location:string(可选)recurrenceRule:对象(可选)
- freq:enum(DAILY | WEEKLY | MONTHLY | YEARLY)(可选) - interval:数字(可选) - count:数字(可选) - until:string(可选) - byday:字符串数组(可选) - bymonthday:数字数组(可选) - bymonth:数字数组(可选)
退货:
- 更新事件的唯一ID
删除事件
删除日历中由其URL指定的事件
参数:
uid:string--要删除的事件的唯一标识符(从列表事件中获取)calendarUrl:string
退货:
- 成功删除事件时的确认消息
许可证
麻省理工学院
