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

Google Calendar Tasks MCP

MCP Server

一个集成了Google日历、任务和Gmail功能的MCP服务器,提供安全防护和跨平台支持,适用于团队协作和个人日程管理。

工具数

21

提示词数

0

GitHub Stars

0

资源数

0
日程管理TypeScriptClaude跨平台Claude

安装说明

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

作者 / 组织

talh

提供方

talh

最后核验

2026/5/17 20:21

快速接入

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

详细介绍

谷歌日历任务mcp

用于谷歌日历、谷歌任务和Gmail的MCP服务器,带有安全护栏。

专为配合使用而设计 克劳德代码 以及任何MCP兼容客户端。

特性

  • 21工具:日历事件、任务和Gmail邮件的完整CRUD
  • 安全护栏:每日写入限制、受保护的日历/任务列表、过去事件保护、定期系列保护、Gmail发送批准
  • 可选审计日志记录:每月跟踪所有写入操作的JSON文件
  • 跨平台:Windows、macOS、Linux
  • 可配置的 通过环境变量和 guardrails.json
  • 测试模式 用于在没有Google API证书的情况下进行开发

先决条件

  • Node.js 18+
  • 启用了日历、任务和Gmail API的Google Cloud项目
  • OAuth 2.0客户端ID(类型:桌面)

快速开始

# 1. Clone and install
git clone https://github.com/talh/google-calendar-tasks-mcp.git
cd google-calendar-tasks-mcp
npm install

# 2. Build
npm run build

# 3. Authenticate (one-time)
node auth.js

# 4. Test with MCP Inspector
npm run inspect

谷歌云项目设置

  1. 首选 console.cloud.google.com
  2. 创建新项目(或选择现有项目)
  3. 启用 谷歌日历API:

- 导航到API和服务>库 - 搜索“Google日历API”并启用它

  1. 启用 谷歌任务API:

- 搜索“Google任务API”并启用它

  1. 启用 Gmail API:

- 搜索“Gmail API”并启用它

  1. 配置 OAuth 授权界面:

- 导航到API和服务>OAuth同意屏幕 - 选择“外部”用户类型 - 填写必填字段(应用程序名称、支持电子邮件) - 添加作用域: calendar.events, tasks,以及 gmail.modify - 将自己添加为测试用户

  1. 创建 OAuth 2.0凭据:

- 导航到API和服务>凭据 - 点击“创建凭据”>“OAuth客户端ID” - 选择“桌面应用程序”作为应用程序类型 - 注意客户端ID和客户端密码

认证

运行auth脚本以设置OAuth凭据:

node auth.js

脚本将:

  1. 提示输入您的客户端ID和客户端密码
  2. 打开浏览器进入谷歌同意屏幕
  3. 监听OAuth回调 http://localhost:3000/callback
  4. 将凭据保存到特定于操作系统的默认路径

凭证存储位置:

  • 窗户: %APPDATA%\google-calendar-tasks-mcp\credentials.json
  • macOS/Linux: ~/.config/google-calendar-tasks-mcp/credentials.json

覆盖 GOOGLE_MCP_CREDENTIALS_PATH 环境变量。

Claude代码配置

添加到您的Claude Code MCP设置(项目级别 .mcp.json 或全局设置):

{
  "mcpServers": {
    "google-calendar-tasks": {
      "command": "node",
      "args": ["/absolute/path/to/google-calendar-tasks-mcp/build/index.js"],
      "env": {
        "GOOGLE_MCP_TIMEZONE": "America/New_York"
      }
    }
  }
}

工具参考

日历工具

calendar_list_calendars

列出用户有权访问的所有日历。

参数类型必填说明
*(无)*

calendar_list_events

列出日期或日期范围的日历事件。

参数类型必填说明
calendarIdstring日历ID。默认为 "primary"
datestring单日期 YYYY-MM-DD 格式
startDatestring范围起始于 YYYY-MM-DD
endDatestring范围以结尾 YYYY-MM-DD
maxResultsnumber要返回的最大事件数(1-250,默认值50)

提供其中之一 date 或两者 startDateendDate.

calendar_get_event

获取单个日历事件的完整详细信息。

参数类型必填说明
calendarIdstring日历ID。默认为 "primary"
eventIdstring谷歌事件ID

calendar_create_event

创建新的日历事件。受护栏约束。

参数类型必填说明
calendarIdstring日历ID。默认为 "primary"
titlestring事件标题
datestring日期 YYYY-MM-DD
startTimestring开始时间 HH:MM (24小时)
endTimestring结束时间 HH:MM (24小时)
locationstring事件位置
descriptionstring事件描述

calendar_update_event

更新现有日历事件。受护栏约束。

参数类型必填说明
calendarIdstring日历ID。默认为 "primary"
eventIdstring谷歌事件ID
titlestring新标题
datestring新日期 YYYY-MM-DD
startTimestring新的开始时间 HH:MM
endTimestring中的新结束时间 HH:MM
locationstring新位置
descriptionstring新描述

对于早于以下时间的事件被阻止 pastEventProtectionDays.

calendar_delete_event

删除单个日历事件。受护栏约束。

参数类型必填说明
calendarIdstring日历ID。默认为 "primary"
eventIdstring谷歌事件ID

对于过去的事件和重复出现的系列主控,已被阻止(除非 allowRecurringSeriesDelete 这是真的)。

任务工具

tasks_list_tasklists

列出所有任务列表。

参数类型必填说明
*(无)*

tasks_list

在给定的列表中列出任务。

参数类型必填说明
taskListIdstring任务列表ID。默认为默认列表
showCompletedboolean包括已完成的任务(默认为false)
maxResultsnumber要返回的最大任务数(1-100,默认值100)

tasks_get

获取单个任务的完整详细信息。

参数类型必填说明
taskListIdstring任务列表ID
taskIdstring谷歌任务ID

tasks_create

创建新任务。受护栏约束。

参数类型必填说明
taskListIdstring任务列表ID。默认为默认列表
titlestring任务标题
duestring到期日期 YYYY-MM-DD
notesstring任务注释/描述

tasks_update

更新现有任务。受护栏约束。

参数类型必填说明
taskListIdstring任务列表ID
taskIdstring谷歌任务ID
titlestring新标题
duestring中的新截止日期 YYYY-MM-DD
notesstring新注释
statusstring"needsAction""completed"

tasks_delete

删除单个任务。受护栏约束。

参数类型必填说明
taskListIdstring任务列表ID
taskIdstring谷歌任务ID

tasks_complete

将任务标记为已完成。受护栏约束。

参数类型必填说明
taskListIdstring任务列表ID
taskIdstring谷歌任务ID

tasks_move

将任务移动到其他列表。计为2次写入操作(创建+删除)。受护栏约束。

参数类型必填说明
sourceListIdstring源任务列表ID
taskIdstring谷歌任务ID
destinationListIdstring目标任务列表ID

Gmail工具

gmail_list_messages

搜索并列出电子邮件。

参数类型必填说明
querystringGmail搜索查询(与Gmail搜索栏语法相同。, is:unread, from:sender@email.com)
labelIdsstring\[\]按标签ID过滤(例如。, ["INBOX", "UNREAD"])
maxResultsnumberNo要返回的最大消息数(1-100,默认值20)

gmail_get_message

获取一封电子邮件的完整内容。

参数类型必填说明
messageIdstringGmail邮件ID
formatstring"full" (默认), "metadata",或 "minimal"

gmail_get_attachment

从电子邮件中下载特定附件。

参数类型必填说明
messageIdstringGmail邮件ID
attachmentIdstring附件ID来自 gmail_get_message 回应

gmail_modify_message

在电子邮件中添加或删除标签。移除 INBOX 存档。添加 TRASH 垃圾。

参数类型必填说明
messageIdstringGmail邮件ID
addLabelIdsstring\[\]要添加的标签ID
removeLabelIdsstring\[\]要删除的标签ID

受护栏约束。

gmail_list_labels

列出所有Gmail标签(系统和用户创建)。

参数类型必填说明
*(无)*

gmail_create_label

创建一个新的Gmail标签。

参数类型必填说明
namestring标签名称。使用 / 用于嵌套(例如。, DPA/Processed)
labelListVisibilitystring"labelShow" (默认), "labelShowIfUnread",或 "labelHide"

受护栏约束。

gmail_send_message

发送电子邮件(回复或新建)。 需要明确批准requireApproval 必须 true.

参数类型必填说明
tostring收件人电子邮件地址
subjectstring电子邮件主题
bodystring电子邮件正文(纯文本)
requireApprovalboolean必须是 true --确认用户明确批准发送
threadIdstring用于线程回复的Gmail线程ID
inReplyTostring正在回复的电子邮件的邮件ID标头

受护栏约束。这 requireApproval: true 标志由服务器强制执行——没有标志的调用将被拒绝。

配置

环境变量

变量默认值描述
GOOGLE_MCP_TIMEZONE系统时区IANA时区(例如。, America/New_York)
GOOGLE_MCP_CREDENTIALS_PATH特定于操作系统的路径OAuth凭据文件的路径
GOOGLE_MCP_AUDIT_LOG_DIR*(残疾)*审核日志文件目录
GOOGLE_MCP_GUARDRAILS_PATH./guardrails.json护栏配置路径
GOOGLE_MCP_TEST_MODEfalse使用模拟Google API运行

护栏配置

创建或编辑 guardrails.json 在服务器目录中:

{
  "dailyWriteLimit": 50,
  "pastEventProtectionDays": 7,
  "protectedCalendars": [],
  "protectedTaskLists": [],
  "allowRecurringSeriesDelete": false,
  "gmail": {
    "sendRequiresApproval": true,
    "maxSendsPerDay": 10
  }
}
选项默认值描述
dailyWriteLimit50UTC日最大写入操作数
pastEventProtectionDays7阻止对超过N天的事件进行编辑/删除
protectedCalendars[]无法写入的日历ID
protectedTaskLists[]无法写入的任务列表ID
allowRecurringSeriesDeletefalse允许删除整个重复事件系列
gmail.sendRequiresApprovaltrue需要 requireApproval: true 发送标志
gmail.maxSendsPerDay10每个UTC日可以发送的最大电子邮件数

审计日志

通过设置启用 GOOGLE_MCP_AUDIT_LOG_DIR 到目录路径。服务器每月写入JSON文件(operations_YYYY-MM.json)跟踪所有创建、更新、删除、完成和移动操作。

每个条目包括:操作类型、服务、项目标题、Google ID、时间戳和所做的任何更改。

发展

npm run build          # Compile TypeScript
npm test               # Run all tests
npm run test:unit      # Run unit tests only
npm run test:integration  # Run integration tests only
npm run inspect        # Launch MCP Inspector

测试模式

GOOGLE_MCP_TEST_MODE=true 使用模拟Google API运行。适用于没有真实证书的开发和测试。

许可证

麻省理工学院

目录标签

目录标签

日程管理TypeScriptClaude跨平台日历管理本地部署任务管理Gmail集成安全防护

支持客户端

Claude

接入字段

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

未说明

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

oauth

工具数量(toolCount,工具数)

21

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明oauth部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP