MCP-GoogleCalendar(可翻译为):MCP-谷歌日历
是通过模型上下文协议(MCP)访问Google日历的服务器。
功能
- 获取Google Calendar的日历列表
- 获取日历事件(计划)列表
- 获取活动详细信息
- 创建新活动
- 现有活动的更新
- 删除活动
目录结构
项目结构如下:
MCP-GoogleCalendar/
├── mcp-google-calendar/
│ ├── src/
│ │ ├── services/ # ビジネスロジック層
│ │ │ ├── auth.service.ts # Google認証サービス
│ │ │ └── calendar.service.ts # Google Calendar操作
│ │ ├── tools/ # MCPツール定義
│ │ │ ├── common.ts # 共通ユーティリティ
│ │ │ └── calendar.tools.ts # Calendar関連ツール
│ │ ├── types/ # 型定義
│ │ │ └── index.ts # 共通型定義
│ │ ├── auth-cli.ts # 認証用CLIスクリプト
│ │ └── index.ts # エントリーポイント
│ ├── credentials/ # 認証情報
│ ├── build/ # ビルド結果
│ ├── package.json
│ └── tsconfig.json
└── README.md设置
前提条件
- Node.js 18及以上版本
- npm(Node Package Manager,Node包管理器)
- Google云平台的项目与访问权限
Google API的设置
- Google Cloud 控制台进行访问,然后创建或选择项目。
- 从左侧菜单选择“API和服务”>“库”,然后启用以下API:
- 谷歌日历API
- 从左侧菜单中选择“API和服务”>“凭据”。
- 点击“创建认证信息”>选择“OAuth客户端ID”。
- 选择“桌面应用”作为应用程序类型 - 输入任意名称,点击“创建”
- 点击所创建认证信息的“下载JSON”,下载JSON文件。
设置步骤
- 克隆仓库
git clone https://github.com/yourusername/MCP-GoogleCalendar.git
cd MCP-GoogleCalendar- 安装依赖包
cd mcp-google-calendar
npm install- 构建TypeScript
npm run build- Google OAuth认证信息文件的配置
从Google Cloud Console下载的认证信息文件 mcp-google-calendar/credentials/client_secret.json 并将其存储起来。
- 执行自动认证
npm run auto-auth自动认证流程:
- 确认OAuth设置检查认证信息文件是否正确配置
- 现有代币的处理若有旧的令牌文件则自动删除
- 浏览器认证默认浏览器会自动打开并跳转到Google认证页面
- 权限许可登录Google账户,授予应用程序访问权限
- 保存令牌认证完成后,令牌将
credentials/token.json自动保存
注意事项:
- 如果浏览器未自动打开,请手动将控制台中显示的URL粘贴到浏览器中
- 认证完成后,控制台会显示“✅ 认证正常完成!”
- MCP服务器设置
在Claude Code中的设置
如果使用Claude Code,可以通过以下命令添加:
claude mcp add mcp-google-calendar -- node ~/MCP-GoogleCalendar/mcp-google-calendar/build/index.js在Cursor中的设置
在Cursor Settings的MCP Servers中点击“Add new global MCP server”,并在mcp.json中追加以下内容
"mcp-google-calendar": {
"command": "node",
"args": [
"[実際のパスを設定する]/MCP-GoogleCalendar/mcp-google-calendar/build/index.js"
]
}以上
可用命令
在项目中,可以使用以下npm脚本:
npm run build- 编译TypeScriptnpm run start- 启动MCP服务器npm run auto-auth- 执行自动认证npm run check-oauth- 检查OAuth设置npm run oauth-info- 显示OAuth设置的详细信息
可用的工具
在此MCP服务器上,可以使用以下工具:
日历管理
g_calendar_list_calendars- 获取日历列表
活动(计划)管理
g_calendar_list_events- 获取指定日历的事件列表(可指定时间段)g_calendar_get_event- 获取指定活动的详细信息g_calendar_create_event- 创建新活动(可指定标题、日期时间、说明、地点、参与者、颜色)g_calendar_update_event- 更新现有活动(也可更改颜色)g_calendar_delete_event- 删除指定活动
应用实例
📅 日程管理自动化
- 定期会议的自动注册AI代理自动生成定期会议
- 活动提醒重要事件的确认与通知
- 确认日程获取并分析特定时间段的活动列表
🤖 AI助手集成
- 使用自然语言创建事件根据“明天10点安排会议”等指示创建活动
- 调整日程确认空闲时间并提出最佳时段
- 活动信息概要从日历获取信息并进行整理
与其他系统的协作
- 与任务管理的整合将任务管理工具与日历同步
- 生成报告获取活动数据并制作活动报告
- 自动调度根据外部数据自动创建活动
使用示例
获取日历列表
// AIエージェントに指示
"私のGoogleカレンダーの一覧を表示してください"获取活动列表
// 今週のイベントを取得
"今週のカレンダーの予定を教えてください"
// 特定期間のイベントを取得
"2025年1月15日から1月20日までのイベントを取得してください"创建活动
// AIエージェントに指示
"明日の15時から16時まで「プロジェクト会議」という予定を入れてください。
場所は「会議室A」で、説明は「Q1の進捗確認」です。"
// イベントに色を指定する場合
"明日の10時から11時まで「重要会議」という予定を赤色で登録してください"可用的颜色ID:
1薰衣草2鼠尾草3葡萄4火烈鸟5香蕉6闽南语7孔雀8石墨9蓝莓10罗勒11西红柿(红)
活动更新
// AIエージェントに指示
"イベントID xxx の時間を10時から11時に変更してください"删除活动
// AIエージェントに指示
"イベントID xxx を削除してください"故障排除
如发生认证错误时
credentials/client_secret.json确认是否正确配置- 在Google Cloud Console中确认OAuth客户端ID是否设置正确
npm run check-oauth确认OAuth设置- 删除现有令牌并重新认证:
rm credentials/token.json && npm run auto-auth
当发生API错误时
- 在Google Cloud Console中确认Google Calendar API是否已启用
- 如认证令牌过期,将自动刷新
- 确认错误信息,并在必要时重新进行认证
许可证
ISC(International Security Cooperation,国际安全合作)
贡献
我们欢迎拉取请求。如需进行重大更改,请先提交问题进行讨论。
