谷歌卡尔mcp
用于Google日历的MCP服务器-列出、创建、更新和管理日历事件。
用例
安排会议:“下周与Sarah建立30分钟同步”→ 找到一个空闲的插槽,创建带有“会面”链接的活动,并发送邀请。
回复邀请:“接受团队离开现场,但拒绝供应商演示”→ 自动响应待处理的邀请。
查找可用性“这个星期四下午我什么时候有空?”→ 查询您的日历并返回打开的插槽。
重新安排活动:“将我与亚历克斯的1:1时间调整到周五下午2点”→ 更新事件并通知与会者。
每日简报:“今天我的日历上有什么?”→ 列出所有事件,包括时间、地点和与会者。
块聚焦时间:“明天早上安排2小时进行深度工作”→ 创建日历事件以保护您的时间。
(这些只是示例-任何需要日历访问的工作流都可以使用此功能。)
设置
1.创建Google OAuth凭据
- 首选 谷歌云控制台
- 创建新项目(或使用现有项目)
- 启用Google日历API
- 首选 API和服务 → OAuth 同意屏幕,设置同意屏幕
- 首选 API和服务 → 凭证 → 创建凭证 → OAuth客户端ID
- 选择 Web应用程序
- 添加
http://localhost:3000/callback到 授权重定向URI - 记下您的客户端ID和客户端密码
2.运行服务器
GOOGLE_CLIENT_ID='your-client-id' \
GOOGLE_CLIENT_SECRET='your-client-secret' \
MCP_TRANSPORT=http \
npm start服务器运行在 http://localhost:3000 默认情况下。更改为 PORT=3001.
3.添加到您的MCP客户端
claude mcp add --transport http google-cal-mcp http://localhost:3000/mcp建筑
此服务器充当 OAuth代理 谷歌:
graph LR
A[MCP client] B[google-cal-mcp] C[Google OAuth/API]- 服务器通过以下方式将自己宣传为OAuth授权服务器
/.well-known/oauth-authorization-server /register返回Google OAuth客户端凭据/authorize重定向到Google,将客户端的回调URL编码为状态/callback从Google接收代码并转发给客户端的回调/token向Google代理令牌请求,注入客户端凭据/mcp处理MCP请求,使用承载令牌调用日历API
服务器不持有令牌或状态,它只是将OAuth代理给谷歌。
工具
| 工具 | 说明 |
|---|---|
| 日历 | |
calendars_list | 列出用户有权访问的所有日历 |
calendarlist_insert | 订阅共享日历 |
calendarlist_update | 更新日历设置(颜色、可见性、提醒) |
calendarlist_delete | 取消订阅日历 |
| 事件 | |
events_list | 使用搜索/筛选功能列出时间范围内的事件 |
event_get | 获取特定事件的详细信息 |
event_create | 创建一个包含与会者和“会议”链接的新活动 |
event_update | 更新现有事件 |
event_delete | 删除事件 |
event_respond | 回复邀请(接受/拒绝/暂定) |
event_move | 将事件移动到其他日历 |
event_instances | 获取重复事件的实例 |
| 可用性 | |
freebusy_query | 查找日程安排的空闲/繁忙时间 |
| 共享 | |
acl_list | 列出有权访问日历的人 |
| 颜色 | |
colors_get | 获取日历/活动的可用调色板 |
日历API范围
calendar-完全访问日历calendar.events-读/写事件
贡献
GitHub上欢迎拉取请求!开始:
- 安装Git和Node.js
- 克隆存储库
- 安装依赖项
npm install - 跑
npm run test运行测试 - 构建于
npm run build
发布
版本遵循 语义版本规范.
要发布:
- 使用
npm version升级版本 - 跑
git push --follow-tags使用标签推送 - 等待GitHub Actions发布到NPM注册表。
