使用说明
📅 谷歌日历MCP服务器
将Claude Desktop连接到Google日历的自定义模型上下文协议服务器
该项目实现了一个功能齐全的 模型上下文协议(MCP)服务器 这允许Claude Desktop(以及任何其他兼容MCP的LLM) 安全地访问您的谷歌日历 使用OAuth 2.0。
连接后,Claude可以:
- 阅读您的日历
- 回答日程问题
- 解析自然语言日期
- 总结事件
- 您的可用性原因
🔥 特性
- ✅ 私人谷歌日历访问(OAuth 2.0)
- ✅ 获取任何给定日期的所有事件
- ✅ 自然语言日期支持(通过Claude)
- ✅ Claude内部的自动工具调用
- ✅ 安全令牌存储(
token.json) - ✅ 使用Node.js构建的完全兼容的MCP服务器
📁 项目结构
G-mcp/
│── server.js # Main MCP server
│── token.js # OAuth token generator
│── token.json # OAuth credentials (auto-generated)
│── .env # Environment variables
│── package.json
│── README.md
🚀 入门指南
1.克隆存储库
git clone <your-repo-url>
cd G-mcp
2.安装依赖项
npm install
使用的依赖关系:
googleapisdotenvzod@modelcontextprotocol/sdk
3.创建Google Cloud OAuth客户端
-
创建新→ OAuth 2.0客户端ID
-
应用程序类型: 桌面应用程序
-
副本:
- 客户端ID
- 客户端密码
-
添加重定向URI:
http://localhost:54545/oauth2callback
4.填写您的 .env 文件
CLIENT_ID=your_client_id_here
CLIENT_SECRET=your_client_secret_here
CALENDAR_ID=your_gmail_here@gmail.com
5.生成OAuth令牌
运行:
node token.js
- 将打开一个谷歌登录窗口
- 批准访问
token.json将自动创建
⭐ 重要提示: 保持
token.json。没有它,您的MCP服务器无法运行。
6.将MCP服务器连接到克劳德桌面
打开:
Claude → Settings → Tools & Integrations → Local MCP Servers
添加:
{
"command": "node",
"args": ["C:/MCP/G-mcp/server.js"],
"env": {
"CLIENT_ID": "your-client-id",
"CLIENT_SECRET": "your-client-secret",
"CALENDAR_ID": "your-calendar-id"
}
}
重新启动克劳德桌面。
🧪 使用示例
一旦您的服务器处于活动状态,请在Claude中尝试以下操作:
Do I have any meetings today?
What’s on my schedule for December 5th?
Check if I have meetings on 2025-12-01.
Claude将自动调用MCP工具:
getMyCalendarDataByDate
并根据您的真实日历返回自然语言答案。
🔍 运作原理
1.克劳德解释你的问题
→ 检测日期或意图 → 选择正确的MCP工具
2.MCP服务器收到工具调用
→ 调用Google日历API → 返回结构化JSON
3.Claude转换JSON→ 人性化响应
→ 处理时区转换 → 清晰地总结会议
🛠 故障排除
日志文件位置:
C:\Users\<your-user>\AppData\Roaming\Claude\logs\
寻找:
mcp-server-<your-server-name>
常见错误
| 错误 | 含义 | 修复 |
|---|---|---|
ENOENT token.json |
找不到token.json | 将正确的文件复制到项目根目录 |
invalid_grant |
Token过期 | 删除Token.json→ 再次运行token.js |
insufficient scopes |
OAuth权限错误 | 使用日历。只读 |
Server disconnected |
语法或路径问题 | 修复Claude配置中的路径 |
🔒 安全说明
- 永不承诺
.env或token.json转到GitHub - 仅在本地存储机密
- 如果共享,请使用专用的Google Cloud项目
✨ 未来的增强功能
- 添加“创建事件”支持(写访问)
- 添加每周/每月摘要
- 添加“查找空闲时段”
- 多日历支持
- 添加高级诊断工具
🤝 贡献
欢迎PR和功能建议! 分叉仓库,进行改进,并打开一个pull请求。
📄 许可证
MIT许可证