google-calendar-mcp

GitHub
1.1k 304 较难 1 次阅读 2天前MITAgent插件
AI 解读 由 AI 自动生成,仅供参考

google-calendar-mcp 是一款基于模型上下文协议(MCP)开发的开源工具,旨在让 Claude 等 AI 助手能够直接读取和管理用户的 Google 日历。它有效解决了 AI 无法访问用户实时日程数据、难以跨账号协调时间以及手动处理重复事件繁琐等痛点,让自然语言调度日程成为可能。

这款工具特别适合希望提升工作效率的普通职场人士、需要自动化日程管理的开发者,以及正在构建智能助理应用的研究人员。其核心亮点在于强大的多账户与多日历支持,用户可同时连接工作与个人账号,AI 不仅能一键检测跨账号的行程冲突,还能通过自然语言理解灵活安排会议。此外,它支持从图片或 PDF 中智能提取事件信息,并具备处理复杂重复事件的高级能力。

使用前需简单配置 Google Cloud 项目以获取授权凭证,随后即可在 Claude Desktop 中通过对话完成认证。一旦连接成功,用户只需发出指令,google-calendar-mcp 便能协助完成创建、更新、查询日程及检查空闲时段等操作,将复杂的日历管理转化为流畅的对话体验。

使用场景

某跨国项目经理需要在协调中美两地团队会议时,快速找出所有人空闲时段并处理复杂的周期性日程调整。

没有 google-calendar-mcp 时

  • 多账号切换繁琐:必须手动登录工作和个人两个 Google 账号,在不同标签页间反复切换查看日程,极易看错时间。
  • 冲突检测靠肉眼:安排跨时区会议时,需人工比对多个日历的时间块,难以发现隐蔽的行程重叠,常导致会议撞车。
  • 自然语言解析困难:无法直接对 AI 说“下周三下午找个大家都有空的一小时”,只能自己先查好具体时间再让 AI 写邮件。
  • 非结构化数据处理低效:收到包含会议信息的 PDF 或截图时,需手动提取时间、地点并逐个录入日历,耗时且易出错。
  • 周期事件修改复杂:调整每周例会的特定实例(如仅取消下周一次)时,容易误操作影响整个系列,修复成本高昂。

使用 google-calendar-mcp 后

  • 多账号同步查询:google-calendar-mcp 可同时连接工作与私人账号,一次性拉取所有日历数据,无需手动切换身份。
  • 智能冲突自动规避:工具能自动检测跨账号、跨日历的行程冲突,直接在推荐时间段时排除所有忙时,确保零撞车。
  • 意图驱动的自然调度:只需指令“帮我在下周三下午找一小时全员空闲”,google-calendar-mcp 即可理解语义并返回精准的可预约时段。
  • 多格式智能导入:直接发送会议通知截图或 PDF 给 AI,google-calendar-mcp 能自动解析关键信息并一键创建日历事件。
  • 精细化周期管理:支持对重复事件进行高级修改,可精准定位并调整单次实例而不影响后续系列,操作安全可控。

google-calendar-mcp 将碎片化的日历管理转化为流畅的自然语言交互,让跨团队协作的日程安排变得即时且零误差。

运行环境要求

操作系统
  • macOS
  • Windows
  • Linux
GPU

未说明

内存

未说明

依赖
notes该工具基于 Node.js 运行,非 Python 项目。必须配置 Google Cloud 项目并启用 Calendar API,创建 OAuth 2.0 桌面应用凭证。首次运行需通过浏览器完成 OAuth 认证流程。若在测试模式下运行,令牌有效期为 7 天,需定期重新认证;发布应用到生产模式可避免此限制。支持通过 npx、本地源码编译或 Docker 方式部署。
python未说明
Node.js (LTS 版本)
npm
npx
Docker (可选)
Google Calendar API
OAuth 2.0 凭证 (Desktop app 类型)
google-calendar-mcp hero image

快速开始

Google 日历 MCP 服务器

一个模型上下文协议 (MCP) 服务器,为 Claude 等 AI 助手提供 Google 日历集成。

特性

  • 多账户支持:连接多个 Google 账户(例如工作、个人),并可同时查询它们
  • 多日历支持:在单个请求中列出多个日历中的事件
  • 跨账户冲突检测:检测任意日历组合之间的重叠事件
  • 事件管理:创建、更新、删除和搜索日历事件
  • 重复事件:对重复事件提供高级修改功能
  • 空闲/忙碌查询:跨日历检查可用性
  • 智能排程:自然语言理解日期和时间
  • 智能导入:从图片、PDF 或网页链接中添加日历事件

快速入门

前提条件

  1. 一个已启用日历 API 的 Google Cloud 项目
  2. OAuth 2.0 凭证(桌面应用类型)

Google Cloud 设置

  1. 前往 Google Cloud 控制台
  2. 创建新项目或选择现有项目。
  3. 为您的项目启用 Google 日历 API。在启用 API 之前,请确保顶部栏中选择了正确的项目。
  4. 创建 OAuth 2.0 凭证:
    • 转到“凭据”
    • 单击“创建凭据” > “OAuth 客户端 ID”
    • 为应用将访问的数据类型选择“用户数据”
    • 添加您的应用名称和联系信息
    • 添加以下范围(可选):
      • https://www.googleapis.com/auth/calendar.eventshttps://www.googleapis.com/auth/calendar
    • 将应用类型选择为“桌面应用”(重要!)
    • 保存授权密钥,您需要在下一步中将其路径添加到 JSON 文件中
    • 受众界面 下将您的电子邮件地址添加为测试用户
      • 注意:可能需要几分钟才能添加测试用户。在测试用户生效之前,OAuth 同意流程将无法继续。
      • 关于测试模式的说明:当应用处于测试模式时,授权令牌将在 1 周后过期,需要重新认证(请参阅下方的“重新认证”部分)。

安装

选项 1:使用 npx(推荐)

将以下内容添加到您的 Claude Desktop 配置中:

macOS~/Library/Application Support/Claude/claude_desktop_config.json Windows%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "google-calendar": {
      "command": "npx",
      "args": ["@cocal/google-calendar-mcp"],
      "env": {
        "GOOGLE_OAUTH_CREDENTIALS": "/path/to/your/gcp-oauth.keys.json"
      }
    }
  }
}

⚠️ 使用 npx 的重要提示:使用 npx 时,您必须通过 GOOGLE_OAUTH_CREDENTIALS 环境变量指定凭证文件路径。

选项 2:本地安装

git clone https://github.com/nspady/google-calendar-mcp.git
cd google-calendar-mcp
npm install
npm run build

然后将本地路径添加到 Claude Desktop 配置中,或者通过 GOOGLE_OAUTH_CREDENTIALS 环境变量指定路径。

选项 3:Docker 安装

git clone https://github.com/nspady/google-calendar-mcp.git
cd google-calendar-mcp
cp /path/to/your/gcp-oauth.keys.json .
docker compose up

有关详细配置选项(包括 HTTP 传输模式),请参阅 Docker 部署指南

首次运行

  1. 启动 Claude Desktop
  2. 让 Claude 认证 Google 日历 MCP 服务器(例如,“认证 Google 日历”)。这是使用任何日历工具之前必需的步骤——如果没有这一步,请求将返回 -32600 错误。
  3. 在浏览器中完成 OAuth 流程
  4. 您现在可以使用日历功能了!

使用 Claude Code? 步骤相同——只需在 CLI 会话中让 Claude 先认证 Google 日历 MCP 服务器,然后再使用任何日历工具。

反复认证

如果您处于默认的测试模式,令牌将在 7 天后过期。如果您使用的是 Claude Desktop 等客户端,它应该会自动打开浏览器窗口进行重新认证。但是,如果出现认证错误,您也可以按照以下步骤解决:

对于 npx 用户:

export GOOGLE_OAUTH_CREDENTIALS="/path/to/your/gcp-oauth.keys.json"
npx @cocal/google-calendar-mcp auth

对于本地安装:

npm run auth

为了避免每周重新认证,您可以将您的应用发布到生产模式(无需验证):

  1. 前往 Google Cloud 控制台 → “API 和服务” → “OAuth 同意屏幕”
  2. 单击“发布应用”并确认
  3. 您的令牌将不再在 7 天后过期,但 Google 会显示一条关于该应用未经验证的警告。

有关详细信息,请参阅 认证指南

管理多个账户

连接多个 Google 账户,并可同时使用它们。

在聊天中(推荐): 使用 manage-accounts 工具直接从您的 AI 助手添加、列出或移除账户——无需终端。有关详细信息,请参阅 认证指南

CLI: 对于初始设置,使用 npm run account auth <昵称>(例如,npm run account auth work)。

HTTP / Docker: 访问 http://localhost:3000/accounts,即可在浏览器中管理账户。

当工具未提供 account 参数时,只读工具会合并所有账户的结果,而写入工具则会自动选择具有相应权限的账户。

使用示例

除了日历集成应有的常规功能外,您还可以执行非常动态的多步骤流程,例如:

  1. 跨日历可用性

    请查看我本周个人日历和工作日历的空闲时间。
    我想找一个合适的时间与伦敦的朋友会面,时长1小时。
    
  2. 添加来自截图、图片及其他数据源的日程:

    根据附件中的截图,将此事件添加到我的日历中。
    

    支持的图片格式:PNG、JPEG、GIF 图片中可以包含日期、时间、地点和描述等事件详情。

  3. 日历分析:

    本周有哪些不属于我日常安排的活动?
    
  4. 检查参会情况:

    明天有哪些活动的参会者尚未接受邀请?
    
  5. 回复邀请:

    接受我日历上明天下午2点的团队会议邀请。
    

    拒绝并附带说明:

    拒绝周五的会议,并注明我有日程冲突。
    

    回复重复性事件:

    只接受本周的站会,但保留未来其他场次为暂定状态。
    
    拒绝所有未来的周一计划会议。
    
  6. 自动协调事件:

    这是某人提供给我的一些空闲时间。{可用时间}
    请查看这些时间,并告诉我哪些在我的日历上是空闲的。
    

可用工具

工具 描述
list-calendars 列出所有可用的日历
list-events 列出带有日期筛选的日程
get-event 根据ID获取特定日程的详细信息
search-events 根据文本查询搜索日程
create-event 创建新的日程
update-event 更新现有日程
delete-event 删除日程
respond-to-event 回复日程邀请(接受、拒绝、可能参加、不回复)
get-freebusy 检查跨日历的空闲时间,包括外部日历
get-current-time 获取当前日期和时间(以日历所在时区为准)
list-colors 列出可用的日程颜色
manage-accounts 添加、列出或移除已连接的Google账号

文档

赞助

如果Google Calendar MCP对您有所帮助,并且您愿意的话,我将非常感激您能考虑赞助我的开源项目

谢谢!——内特

配置

环境变量:

  • GOOGLE_OAUTH_CREDENTIALS - OAuth凭证文件路径
  • GOOGLE_CALENDAR_MCP_TOKEN_PATH - 自定义令牌存储位置(可选)
  • ENABLED_TOOLS - 以逗号分隔的启用工具列表(参见下方的工具过滤)

工具过滤

您可以使用--enable-tools标志或ENABLED_TOOLS环境变量来限制向AI助手暴露的工具。这在以下情况下很有用:

  • 减少上下文消耗:每个工具都会占用AI上下文窗口中的令牌。限制工具数量有助于为更长时间的对话保留更多上下文。
  • 安全性:仅允许只读操作或特定功能。
  • 简洁性:只公开您的工作流真正需要的工具。

通过命令行:

npx @cocal/google-calendar-mcp start --enable-tools list-events,create-event,get-current-time

通过Claude Desktop配置中的环境变量:

{
  "mcpServers": {
    "google-calendar": {
      "command": "npx",
      "args": ["@cocal/google-calendar-mcp"],
      "env": {
        "GOOGLE_OAUTH_CREDENTIALS": "/path/to/credentials.json",
        "ENABLED_TOOLS": "list-events,create-event,get-current-time,update-event"
      }
    }
  }
}

可用工具名称: list-calendarslist-eventssearch-eventsget-eventlist-colorscreate-eventupdate-eventdelete-eventget-freebusyget-current-timerespond-to-eventmanage-accounts

注意: 无论是否进行工具过滤,manage-accounts工具始终可用,因为它用于管理身份验证。

当工具过滤启用时,服务器会向AI助手提供指令,列出哪些工具已被禁用。这样,AI可以在不消耗完整工具架构令牌成本的情况下,告知用户存在额外的功能,但目前不可用。

如果列表为空或仅包含逗号,服务器将无法启动,并显示错误信息。

如果指定了无效的工具名称,服务器同样会因显示所有可用工具而启动失败。

安全性

  • OAuth令牌安全地存储在您系统的配置目录中
  • 凭证永远不会离开您的本地设备
  • 所有日历操作都需要用户明确同意

故障排除

  1. 未找到OAuth凭证文件:

    • 对于使用npx的用户:必须使用GOOGLE_OAUTH_CREDENTIALS指定凭证文件路径。
    • 确认文件路径为绝对路径且可访问。
  2. 认证错误:

    • 确保您的凭证文件包含适用于“桌面应用”类型的凭据。
    • 确认您的用户邮箱已在Google Cloud OAuth同意页面中被添加为“测试用户”。
    • 尝试删除已保存的令牌并重新进行认证。
    • 检查是否有其他进程正在占用3500–3505端口。
  3. 构建错误:

    • 再次运行npm install && npm run build
    • 检查Node.js版本(建议使用LTS版本)。
    • 删除build/目录并重新运行npm run build
  4. 浏览器认证过程中出现“发生错误”界面:

    • 手动运行认证命令(参见上方的“重新认证”部分)。
    • 使用基于Chromium的浏览器。某些非Chromium浏览器可能无法正常完成测试应用认证。
  5. “用户速率限制已超过”错误:

    • 这通常发生在您的OAuth凭证缺少项目信息时。
    • 确保您的gcp-oauth.keys.json文件包含project_id
    • 如有必要,从Google Cloud控制台重新下载凭证。
    • 文件格式应为:{"installed": {"project_id": "your-project-id", ...}}

许可证

MIT

支持

版本历史

v2.6.12026/03/02
v2.6.02026/03/02
v2.5.02026/02/28
v2.4.12026/01/18
v2.4.02026/01/18
v2.3.12026/01/06
v2.3.02026/01/06
v2.2.02025/12/07
v2.1.02025/12/06
v2.0.72025/11/05
v2.0.62025/10/22
v2.0.52025/10/19
v2.0.42025/10/15
v2.0.32025/10/15
v2.0.22025/10/14
v2.0.12025/10/13
v2.0.02025/10/11
v1.4.82025/07/03
1.4.62025/06/17
v1.4.02025/06/17

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架

OpenHands

OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。

70.6k|★★★☆☆|今天
语言模型Agent开发框架