Google Calendar MCP Server
通过模型上下文协议将 Google 日历与 AI 助手集成,允许用户通过自然语言交互查看和管理日历事件。
README
Google Calendar MCP 服务器
一个与 Google Calendar 集成的模型上下文协议 (MCP) 服务器,使用 TypeScript 构建。
特性
- 使用 OAuth 2.0 身份验证无缝集成 Google Calendar
- 持久化令牌存储,实现自动身份验证
- 列出和管理日历,并提供全面的事件操作
- 创建、读取、更新和删除日历事件
- 获取指定日期之间的日历事件
- 用于实时更新的服务器发送事件 (SSE) 传输选项
- 与 Claude 和其他 MCP 兼容的 AI 助手简单集成
安装
npm install -g mcp-google-calendar
或者直接运行:
npx -y mcp-google-calendar
前提条件
- Node.js (v16 或更高版本)
- Google Cloud Platform 帐户
- 启用 Google Calendar API
- OAuth 2.0 凭据
设置
1. Google Cloud 配置
- 转到 Google Cloud Console
- 创建一个新项目或选择一个现有项目
- 启用 Google Calendar API:
- 导航到“API 和服务”>“库”
- 搜索“Google Calendar API”
- 点击“启用”
- 配置 OAuth 同意屏幕:
- 转到“API 和服务”>“OAuth 同意屏幕”
- 选择“外部”用户类型(或 Google Workspace 的“内部”)
- 填写所需信息:
- 应用名称:mcp-calendar
- 用户支持电子邮件:(您的电子邮件)
- 开发者联系信息:(您的电子邮件)
- 添加范围:
- 点击“添加或删除范围”
- 查找并选择“https://www.googleapis.com/auth/calendar.events”
- 将您的电子邮件添加为测试用户
- 完成设置
- 创建 OAuth 凭据:
- 转到“凭据”
- 点击“创建凭据”>“OAuth 客户端 ID”
- 选择“桌面应用”作为应用程序类型
- 命名它(例如,“MCP Calendar Desktop Client”)
- 下载 JSON 文件并另存为项目目录中的
credentials.json
2. 环境配置
在项目根目录中创建一个 .env 文件:
# 服务器配置
PORT=3420
# Google Calendar API 配置
CREDENTIALS_PATH=./credentials.json
用法
启动服务器
使用标准 WebSockets 启动:
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
在后续启动时:
- 服务器自动使用保存的令牌
- 除非令牌过期,否则不需要浏览器交互
可用工具
| 工具 | 描述 |
|---|---|
list_calendars |
获取所有可用日历 |
list_calendar_events |
检索指定日期之间的事件 |
create_calendar_event |
向您的日历添加新事件 |
get_calendar_event |
获取特定事件的详细信息 |
edit_calendar_event |
修改现有日历事件 |
delete_calendar_event |
从您的日历中删除事件 |
开发
克隆并设置项目:
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 Calendar 数据的访问权限
许可证
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参见 LICENSE 文件。
贡献
欢迎贡献! 请随时提交 Pull Request。
- Fork 存储库
- 创建您的功能分支 (
git checkout -b feature/amazing-feature) - 提交您的更改 (
git commit -m 'Add some amazing feature') - 将分支推送到远程仓库 (
git push origin feature/amazing-feature) - 打开一个 Pull Request
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。