Google 日历 MCP 服务器
使用 TypeScript 构建的与 Google 日历集成的模型上下文协议 (MCP) 服务器。
特征
Google 日历与 OAuth 2.0 身份验证无缝集成
用于自动身份验证的持久令牌存储
通过全面的事件操作列出和管理日历
创建、读取、更新和删除日历事件
获取指定日期之间的日历事件
用于实时更新的服务器发送事件 (SSE) 传输选项
与 Claude 和其他兼容 MCP 的 AI 助手轻松集成
Related MCP server: Gmail MCP Server
安装
npm install -g mcp-google-calendar或者直接运行:
npx -y mcp-google-calendar先决条件
Node.js(v16 或更高版本)
Google 云端平台帐户
已启用 Google 日历 API
OAuth 2.0 凭证
设置
1. Google Cloud 配置
创建新项目或选择现有项目
启用 Google 日历 API:
导航至“API 和服务”>“库”
搜索“Google 日历 API”
点击“启用”
配置 OAuth 同意屏幕:
前往“API 和服务”>“OAuth 同意屏幕”
选择“外部”用户类型(对于 Google Workspace,则选择“内部”)
填写必填信息:
应用程序名称:mcp-日历
用户支持电子邮件:(您的电子邮件)
开发者联系信息:(您的电子邮件)
添加范围:
点击“添加或删除范围”
将您的电子邮件添加为测试用户
完成设置
创建 OAuth 凭证:
前往“凭证”
点击“创建凭证”>“OAuth 客户端 ID”
选择“桌面应用”作为应用程序类型
为其命名(例如,“MCP 日历桌面客户端”)
下载 JSON 文件并将其保存为项目目录中的
credentials.json
2.环境配置
在项目根目录中创建一个.env文件:
# Server configuration
PORT=3420
# Google Calendar API configuration
CREDENTIALS_PATH=./credentials.json用法
启动服务器
从标准 WebSocket 开始:
npx -y mcp-google-calendar从服务器发送事件(SSE)开始:
npx -y mcp-google-calendar --sse使用 Claude Desktop
将其添加到您的claude_desktop_config.json中:
{
"mcpServers": {
"mcp-google-calendar": {
"command": "npx",
"args": ["-y", "mcp-google-calendar"],
"env": {
"CREDENTIALS_PATH": "/path/to/your/credentials.json"
}
}
}
}身份验证过程
第一次运行服务器:
浏览器窗口将自动打开
使用您的 Google 帐户登录
授予请求的日历权限
身份验证令牌保存到
token.json
在后续发布中:
服务器自动使用保存的令牌
除非令牌过期,否则无需浏览器交互
可用工具
工具 | 描述 |
| 获取所有可用日历 |
| 检索指定日期之间的事件 |
| 向日历添加新事件 |
| 获取特定事件的详细信息 |
| 修改现有日历事件 |
| 从日历中删除事件 |
发展
克隆并设置项目:
git clone https://github.com/am2rican5/mcp-google-calendar.git
cd mcp-google-calendar
npm install构建项目:
npm run build以开发模式运行:
npm start安全注意事项
⚠️重要安全警告⚠️
credentials.json和token.json包含敏感的身份验证信息切勿将这些文件提交到版本控制或公开共享
每个用户都应该创建自己的 OAuth 凭证
如果您怀疑凭据被泄露,请立即在 Google Cloud Console 中撤销它们
该令牌授予您访问 Google 日历数据的权限
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
贡献
欢迎贡献代码!欢迎提交 Pull 请求。
分叉存储库
创建你的功能分支(
git checkout -b feature/amazing-feature)提交您的更改(
git commit -m 'Add some amazing feature')推送到分支(
git push origin feature/amazing-feature)打开拉取请求
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.