使用说明
[!重要]
⚠️ 您在寻找完整的Google MCP解决方案吗?
此存储库提供 Google 日历 只有整合。 如果你需要 全功能谷歌MCP包 --包括 Gmail, Google 云端硬盘, Google 日历,以及更多--查看我的完整工作空间包:
👉 mcp谷歌工作区
这
mcp-google-workspace该软件包将所有谷歌服务集成捆绑到一个易于配置的MCP服务器中。这是大多数用户的推荐选择。
谷歌日历MCP服务器
一个模型上下文协议(MCP)服务器,允许Claude和其他MCP客户端与Google日历进行交互。此服务器使AI助手能够管理您的日历事件、检查可用性和处理日程安排任务。
特性
日历管理
-
列出事件 (
get-events)- 查看任何日历中的事件
- 按时间范围筛选
- 限制结果数量
-
列出日历 (
list-calendars)- 查看所有可用日历
- 访问日历ID和设置
-
获取时区信息 (
get-timezone-info)- 获取用户的时区信息
-
获取当前日期 (
get-current-date)- 获取用户时区中的当前日期和时间
- 适用于知识截止日期过时的AI模型
活动操作
-
创建事件 (
create-event)- 安排具有完整功能支持的新活动
- 添加与会者并设置提醒
- 包括会议链接和附件
- 设置可见性、透明度和颜色
- 配置重复事件
- 自动时区检测和冲突检查
-
更新事件 (
update-event)- 修改现有事件
- 通过冲突检查更改时间/日期
- 添加/删除与会者
- 更新任何事件详细信息
- 控制通知设置
-
删除事件 (
delete-event)- 从日历中删除事件
- 控制与会者的通知设置
可用性管理
- 检查可用性 (
check-availability)- 检查多个日历的忙/闲状态
- 时区意识
- 支持检查其他用户的可用性
需求
- Python>=3.12
- 启用日历API的Google云控制台项目
- OAuth 2.0凭据
安装
1.建立谷歌云项目
- 首选 谷歌云控制台
- 创建新项目或选择现有项目
- 启用Google日历API
- 创建OAuth 2.0凭据(桌面应用程序类型)
- 下载凭据并另存为
credentials.json在\mcp_server_google_calendar文件夹中
2.安装软件包
# Clone or download the project
cd mcp-google-calendar
# Install the package
pip install -e .
3.身份验证设置
首次运行时,服务器将自动打开您的浏览器进行OAuth身份验证。您的凭据将被保存以备将来使用。
用法
此服务器可以在两种模式下运行:
STDIO模式(适用于克劳德桌面)
配置Claude桌面:
将以下内容添加到您的Claude Desktop配置文件中:
窗户: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"google_calendar": {
"command": "mcp-server-google-calendar"
}
}
}
使用Python模块的替代方案:
{
"mcpServers": {
"google_calendar": {
"command": "python",
"args": ["-m", "mcp_server_google_calendar"]
}
}
}
重新启动克劳德桌面 配置更改后。
SSE模式(适用于web应用程序和其他客户端)
使用SSE传输运行服务器:
# Using the installed command
mcp-server-google-calendar-sse
# Or using Python module
python -m mcp_server_google_calendar.server_sse
# With custom host/port
python -m mcp_server_google_calendar.server_sse --host 0.0.0.0 --port 8001
SSE服务器将在以下位置可用:
- 服务器:
http://localhost:8000 - SSE端点:
http://localhost:8000/sse
示例命令
以下是一些你可以问克劳德的问题:
事件创建
- “为明天下午2点创建一个名为“团队会议”的活动”
- “每周一上午10点安排一次定期会议”
- “下周二下午与约翰进行视频通话”
活动管理
- “将我下午2点的会议改为下午4点”
- “添加Jane(jane@example.com)明天的团队会议”
- “取消我与约翰的会面”
- “更新今天团队午餐的地点”
日历查询
- “这周我有什么会议?”
- “我明天下午什么时候有空?”
- “检查爱丽丝和鲍勃下周一下午3点是否都有空”
- “列出我的所有重复事件”
日期/时间信息
- “今天几号?”(适用于知识过时的模型)
- “今天是星期几?”
- “我当前的时区是什么?”
高级功能
时间冲突检测
服务器在创建或更新事件时会自动检查时间冲突,并会警告您重叠的事件。
时区支持
- 从您的Google日历设置中自动检测时区
- 事件的手动时区规范
- 正确处理时区转换
重复事件
完全支持使用iCalendar RRULE格式的重复事件:
- 每日、每周、每月、每年模式
- 自定义重复规则
- 例外日期和规则
与会者管理
- 通过电子邮件验证添加/删除与会者
- 设置可选与会者与必需与会者
- 控制响应状态和通知
- 为更多客人提供支持
故障排除
身份验证问题
- 确保
credentials.json位于项目根目录中 - 检查Google Cloud Console中是否配置了OAuth同意屏幕
- 验证日历API是否已启用
- 删除
token.json如果需要,强制重新身份验证
服务器连接问题
- 验证Python版本(需要>=3.12)
- 检查Claude Desktop配置文件语法
- 配置更改后重新启动Claude Desktop
- 对于SSE模式,确保端口未被使用
事件创建问题
- 在Google日历中确认日历权限
- 检查与现有事件的时间冲突
- 验证与会者的电子邮件地址是否有效
- 确保时区格式正确
文件结构
mcp-google-calendar/
├── mcp_server_google_calendar/
│ ├── __init__.py
│ ├── __main__.py # STDIO mode entry point
│ ├── __main_sse__.py # SSE mode entry point
│ ├── credentials.json # Google OAuth credentials (you provide)
│ ├── server.py # STDIO server implementation
│ ├── server_sse.py # SSE server implementation
│ ├── schemas.py # Pydantic schemas
│ ├── auth/ # Authentication module
│ ├── tools/ # Tool definitions
│ └── utils/ # Utility functions
├── token.json # Saved auth token (auto-generated)
├── pyproject.toml # Project configuration
└── README.md
备注
- 服务器维护具有相同功能的STDIO和SSE模式的单独实现
- 两种模式都支持自动时区检测和冲突检查
- 所有时间应以YYYY-MM-DDTHH:MM:SS格式或RFC3339指定
- 日历ID“primary”是指用户的默认日历
- 事件更新维护未指定字段的现有数据
- 服务器自动处理时区检测和转换
许可证
MIT许可证