使用说明
谷歌日历MCP服务器
提供对Google日历访问的模型上下文协议(MCP)服务器。
特性
- 列出时间范围内的日历事件
- 获取特定事件的详细信息
- 按文本查询搜索事件
- 创建新的日历事件
- 列出所有可访问的日历
安装说明
1.获取Google日历API证书
- 去 谷歌云控制台
- 创建新项目或选择现有项目
- 启用Google日历API:
- 导航到“API和服务”>“库”
- 搜索“Google日历API”
- 点击“启用”
- 创建OAuth 2.0凭据:
- 转到“API和服务”>“凭据”
- 点击“创建凭据”>“OAuth客户端ID”
- 选择“桌面应用程序”作为应用程序类型
- 下载凭据JSON文件
- 将凭据文件另存为
~/.config/google-calendar-mcp/credentials.json
2.安装依赖项
pip install -r requirements.txt
3.配置MCP
将其添加到MCP配置文件中(通常 ~/.config/mcp/config.json 或类似):
{
"mcpServers": {
"google-calendar": {
"command": "python",
"args": ["/path/to/google-calendar-mcp/server.py"]
}
}
}
4.首次运行-身份验证
第一次运行时,服务器将:
- 打开浏览器窗口进行Google OAuth身份验证
- 要求您授予日历访问权限
- 将身份验证令牌保存到
~/.config/google-calendar-mcp/token.json
未来的运行将自动使用保存的令牌。
Docker部署
您可以在Docker中运行谷歌日历MCP服务器,以便于部署和隔离。看 医生.md 了解全面的Docker设置说明。
快速入门:
- 首先在本地进行身份验证(一次性):
python server.py - 构建并运行:
docker-compose build && docker-compose up -d - 配置您的MCP客户端以使用:
docker exec -i google-calendar-mcp python -u server.py
有关详细说明、故障排除和高级配置,请参阅DOCKER.md。
可用工具
list_事件
列出指定时间范围内的日历事件。
参数:
time_min(可选):ISO格式的开始时间(默认为现在)time_max(可选):ISO格式的结束时间(默认为今天结束)max_results(可选):最大事件数(默认值:10,最大值:250)calendar_id(可选):要查询的日历ID(默认值:“primary”)
例子:
{
"time_min": "2026-01-22T00:00:00Z",
"time_max": "2026-01-22T23:59:59Z",
"max_results": 20
}
get_event
获取特定日历事件的详细信息。
参数:
event_id(必填):事件IDcalendar_id(可选):日历ID(默认值:“主”)
搜索事件
通过文本查询搜索日历事件。
参数:
query(必填):要搜索的文本time_min(可选):ISO格式的开始时间time_max(可选):ISO格式的结束时间max_results(可选):最大结果(默认值:10)
create_event
创建新的日历事件。
参数:
summary(必填):活动标题start_time(必填):ISO格式的开始时间end_time(必填):ISO格式的结束时间description(可选):事件描述location(可选):活动地点attendees(可选):与会者电子邮件地址数组calendar_id(可选):日历ID(默认值:“主”)
例子:
{
"summary": "Team Meeting",
"start_time": "2026-01-23T10:00:00-06:00",
"end_time": "2026-01-23T11:00:00-06:00",
"description": "Weekly sync",
"location": "Conference Room A",
"attendees": ["colleague@example.com"]
}
列表_日历
列出用户可访问的所有日历。
无需参数。
时间格式注释
- 所有时间应采用ISO 8601格式
- 包括时区偏移以提高准确性(例如。,
-06:00中央时间) - UTC时间应以“Z”结束(例如。,
2026-01-22T17:00:00Z)
故障排除
身份验证问题
- 删除
~/.config/google-calendar-mcp/token.json并重新验证 - 验证credentials.json是否有效并且位于正确的位置
- 检查Google日历API是否已在Google云控制台中启用
权限错误
- 确保配置了OAuth同意屏幕
- 如果应用程序处于测试模式,则添加测试用户
- 验证范围是否包括日历访问
安全说明
- 永不承诺
credentials.json或token.json到版本控制 - 令牌文件包含提供持续访问的刷新令牌
- 定期查看Google帐户设置中的OAuth应用程序权限