MCP Google日历服务
提供对Google日历API的无缝访问的模型上下文协议服务器,支持异步操作,通过标准化接口实现高效的日历管理。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"gcalendar": {
"args": [
"YOUR_PATH/GCalendar/src/mcp_server.py"
],
"command": "YOUR_PYTHON_PATH"
}
}
}
服务介绍
Google Calendar MCP Server - 安装和使用指南
📘 概述
Model Context Protocol (MCP) 服务器提供对 Google Calendar API 的无缝访问,并支持异步操作,通过标准接口高效管理日历。
🚀 主要特性
- 无缝连接到 Google Calendar API
- 支持异步操作以实现最高效率
- 基于 OAuth 2.0 的认证系统,自动刷新令牌
- 全面的错误处理和日志记录
- 简洁的 MCP 接口,适用于 Claude 和其他 AI
🔑 API 工具
| 工具 | 描述 |
|---|---|
| list | 获取日历中的活动列表(过去两年至未来一年) |
| create-event | 在日历中创建新活动 |
| delete-duplicates | 删除重复的活动 |
| delete-event | 删除指定的活动 |
🛠️ 安装
先决条件
- Python 3.9 或更高版本
- 互联网连接
- 启用了 Google Calendar API 的 Google Cloud Console 项目
安装步骤
-
克隆项目
git clone https://github.com/yourusername/GCalendar.git cd GCalendar -
创建虚拟环境(推荐方法)
python -m venv gcalendar_venv # 对于 Windows gcalendar_venv\Scripts\activate # 对于 macOS/Linux source gcalendar_venv/bin/activate -
安装必需的包
pip install -r requirements.txt -
准备必需的文件夹
mkdir -p credentials logs
认证设置
-
创建 Google Cloud Console 项目
- 前往 Google Cloud Console
- 创建新项目
- 启用 Google Calendar API
- 创建 OAuth 2.0 客户端 ID
- 将 credentials.json 下载到 credentials/ 文件夹中
-
生成令牌
python src/create_token.py- 按照浏览器中的步骤授权访问
- 令牌将保存在 credentials/ 文件夹中,命名为 token.json
⚙️ 技术配置
配置 MCP 服务器
在 claude_desktop_config.json 文件中添加:
{
"mcpServers": {
"gcalendar": {
"command": "YOUR_PYTHON_PATH",
"args": [
"YOUR_PATH/GCalendar/src/mcp_server.py"
]
}
}
}
替换占位符:
YOUR_PYTHON_PATH: Python 解释器的路径(来自 venv 或 conda)YOUR_PATH: 克隆项目的完整路径
项目结构
GCalendar/
├── credentials/
│ ├── credentials.json # จาก Google Cloud Console
│ └── token.json # สร้างโดย create_token.py
├── logs/
│ └── calendar_service.log
├── src/
│ ├── calendar_service.py # การดำเนินการปฏิทินหลัก
│ ├── create_token.py # การสร้างโทเค็น
│ ├── list_past_events.py # ยูทิลิตี้การแสดงรายการกิจกรรม
│ ├── mcp_client.py # การใช้งาน MCP client
│ ├── mcp_server.py # การใช้งานเซิร์ฟเวอร์หลัก
│ └── renew_token.py # ยูทิลิตี้การต่ออายุโทเค็น
├── requirements.txt
└── README.md
📋 使用说明
启动服务器
-
手动启动服务器
python src/mcp_server.py -
与 Claude Desktop 一起使用
- 按照上面技术配置部分中的说明进行配置
- Claude 会在需要时自动启动服务器
示例命令
-
查看日历中的活动列表
显示我的日历中的活动 -
创建新活动
创建名为 "团队会议" 的会议,日期为 2025 年 3 月 25 日,时间为 14:00 至 15:00 -
删除重复的活动
删除 2025 年 3 月 25 日重复的 "团队会议" 活动
🔍 故障排除
认证问题
- 检查 credentials.json 和 token.json 文件是否位于 credentials/ 文件夹中。
- 删除 token.json 并使用 create_token.py 重新创建它。
关于时区的问题
- 确认 timezone 库已安装:
pip install pytz tzdata
检查日志
- 查看日志文件以获取有关错误的更多信息:
cat logs/calendar_service.log
📚 依赖
- google-auth-oauthlib==1.0.0
- google-auth-httplib2==0.1.0
- google-api-python-client==2.108.0
- aiohttp==3.8.5
- asyncio==3.4.3
- pytz==2023.3
- tzdata==2023.3
📄 许可证
此项目根据 MIT License 发布。请参阅 LICENSE 文件以获取详细信息。
"# py-mcp-gcalendar"