Token导航 LogoToken导航TokenDH.com
Googlecalendar MCP logo
日程管理未说明官方级别未说明来源级核验

Googlecalendar MCP

MCP Server

基于Axum框架的MCP服务器,通过OAuth认证实现AI代理对Google日历事件的读写操作,支持多用户隔离和自动令牌刷新。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
日程管理RustClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kamekamek

提供方

kamekamek

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Google 日历 MCP 服务器

![License: MIT](LICENSE) ![Rust](https://www.rust-lang.org/) ![MCP](https://modelcontextprotocol.io/)

英语 | 日语

一个基于Axum的MCP服务器,使AI代理能够读写Google日历事件。通过模型上下文协议(MCP)使用OAuth认证访问Google日历API。

特点/特性

  • 🔐 支持PKCE的OAuth 2.0认证
  • 📅 四项操作:列出、获取、创建和更新日历事件
  • 🚀 通过服务器发送事件(SSE)实现远程MCP传输
  • 🔄 自动令牌刷新
  • 👥 支持多用户,每个用户拥有独立的令牌隔离
  • 🛡️ 安全至上:故意禁用删除操作
  • 🔌 完全兼容Claude代码

设置指南

1. Google 云项目设置

1-1。 创建一个项目

  1. 首选 Google Cloud 控制台
  2. 点击顶部的项目选择器下拉菜单
  3. 点击“新建项目”
  4. 输入项目名称(例如。, mcp-calendar-server)并点击“创建”

1-2。 启用Google日历API

  1. 从侧边栏导航到“APIs 与服务”→ “库”
  2. 搜索“Google日历API”
  3. 点击“Google日历API”
  4. 点击“启用”
  5. 等待“API已启用”的确认

1-3。 配置OAuth同意屏幕

  1. 进入“APIs和服务”→“OAuth同意屏幕”
  2. 用户类型选择“外部”并点击“创建”

- 仅当仅内部用户使用Google Workspace时,才选择“内部”

  1. 应用信息

- 应用名称: MCP Calendar Server (或任何名字) - 用户支持邮箱:选择您的邮箱 - 开发者联系方式:请输入您的电子邮件

  1. 点击“保存并继续”

1-4。 添加范围

  1. 点击“添加或移除范围”
  2. 按以下条件筛选 calendar
  3. 检查 https://www.googleapis.com/auth/calendar
  4. 点击“更新”→“保存并继续”

1-5。 添加测试用户

  1. 在“测试用户”部分,点击“添加用户”
  2. 输入您的谷歌帐户电子邮件地址
  3. 点击“添加”→“保存并继续”
  4. 点击“返回仪表板”
重要的在测试模式下,只有在此处添加的用户才能登录。

1-6。 创建OAuth凭据

  1. 前往“APIs和服务”→“凭据”
  2. 点击“创建凭据”→“OAuth 客户端 ID”
  3. 应用类型选择“Web 应用程序”
  4. 名字: MCP Calendar OAuth Client (或任何名字)
  5. 在……之下 授权重定向URI点击“添加URI”并添加:

- http://localhost:8080/oauth/callback - https://localhost:8443/proxy/oauth/callback

  1. 点击“创建”
  2. 复制并保存显示的“客户端ID”和“客户端密钥”

- ❗保存这些凭据 - 以后会用到

2. 本地环境设置

2-1。 克隆仓库并安装Rust

# Clone repository
git clone https://github.com/kamekamek/mcp-google-calendar.git
cd mcp-google-calendar

# Install Rust nightly (if not already installed)
rustup toolchain install nightly

2-2。 配置环境变量

# Copy .env.example to .env
cp .env.example .env

编辑 .env 包含您的 Google OAuth 凭据的文件:

APP__OAUTH__CLIENT_ID="
"
APP__OAUTH__CLIENT_SECRET="
"
APP__SERVER__PUBLIC_URL="https://localhost:8443"
APP__PROXY__ENABLED=true

3. 安装并运行Caddy

3-1。 使用 mkcert 生成证书

# Install mkcert (using Homebrew)
brew install mkcert

# Install local CA
mkcert -install

# Generate certificates for localhost
mkcert localhost 127.0.0.1 ::1
# → Creates localhost+2.pem and localhost+2-key.pem

3-2。 安装并运行Caddy

# Install Caddy
brew install caddy

# Run Caddy (in a separate terminal)
caddy run --config caddyfile

保持这个终端窗口打开,因为Caddy需要继续运行。

3-3。 启动MCP服务器

打开一个新的终端:

cd mcp-google-calendar
cargo +nightly run

服务器开始运行于 127.0.0.1:8080保持这个终端也处于打开状态。

4. 克劳德代码配置

4-1。 配置 .mcp.json 文件

编辑 .mcp.json (如果不存在则创建):

{
  "mcpServers": {
    "google_calendar": {
      "type": "sse",
      "url": "https://localhost:8443/mcp",
      "metadata": {
        "description": "Google Calendar MCP Server"
      }
    }
  }
}

4-2。 启动Claude代码

# Start Claude Code CLI
claude

启动后,运行:

/mcp

MCP连接菜单将会出现。

4-3。 认证流程

  1. 选择 google_calendar 来自MCP服务器列表
  2. 点击“验证”按钮
  3. 浏览器自动打开并显示Google OAuth界面
  4. 使用添加的测试用户Google帐户登录
  5. 检查应用程序权限并点击“允许”
  6. 当浏览器显示“认证完成”时,返回到Claude代码界面
  7. 连接后将显示可用工具列表

5. 验证

在Claude代码中尝试这个:

Show me my calendar events for this week

或者直接调用工具:

/tools

选择 google_calendar_list_events 从列表中选择并执行。

可用工具

所有工具都需要一个 user_id 参数(由Claude Code自动设置)。

Google日历列表事件

检索日历事件列表。

参数:

  • time_min开始时间过滤器(RFC3339: 2025-10-20T00:00:00+09:00)
  • time_max结束时间过滤器
  • max_results最多返回的事件数(1-2500)
  • calendar_id日历ID(默认为“primary”)

获取Google日历事件

通过ID获取单个事件。

参数:

  • event_id事件ID(必填)
  • calendar_id日历ID(默认为“主要”)

创建Google日历事件

创建一个新的日历事件。

参数:

  • summary活动标题(必填)
  • start开始时间(必填)
  • end结束时间(必填)
  • description描述(可选)
  • location位置(可选)

日期/时间格式:

"2025-10-20T10:00:00+09:00"

更新Google日历事件

更新现有事件。

参数:

  • event_id事件ID(必填)
  • summarystartenddescriptionlocation要更新的字段(可选)

故障排除

认证错误

原因尝试使用未添加为测试用户的Google帐户登录

解决方案:

  1. Google Cloud 控制台 → OAuth 同意屏幕 → 测试用户
  2. 添加您想要使用的Google帐户

令牌刷新错误

原因刷新令牌仅在首次授权时颁发

解决方案

  1. 访问 https://myaccount.google.com/permissions
  2. 找到“MCP 日历服务器”并将其移除
  3. 通过Claude代码重新验证

HTTPS 错误

原因证书缺失或Caddy未运行

解决方案:

# Check certificates exist
ls localhost+2*.pem
# → Should see localhost+2.pem and localhost+2-key.pem

# Check if Caddy is running
lsof -i :8443
# → Should see caddy process

事件日期时间格式错误

使用RFC3339格式:

"2025-10-20T10:00:00+09:00"

或者对象格式:

{
  "dateTime": "2025-10-20T10:00:00+09:00",
  "timeZone": "Asia/Tokyo"
}

对于开发者

构建与测试

# Format
cargo +nightly fmt

# Lint
cargo +nightly clippy -- -D warnings

# Test
cargo +nightly test

配置

config/config.toml 以获取完整的配置选项。

使用环境变量覆盖:

  • APP__OAUTH__CLIENT_ID
  • APP__OAUTH__CLIENT_SECRET
  • APP__SERVER__PUBLIC_URL
  • APP__SECURITY__USE_IN_MEMORY (真/假)
  • APP__PROXY__ENABLED (真/假)

许可证

MIT 许可证 - 详见 许可证 详情请参阅

链接

目录标签

目录标签

日程管理RustClaude日历管理混合部署OAuth认证AI集成多用户支持事件同步

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP