关于 Google Tasks MCP
Google Tasks MCP 将 AI 应用连接到 Google Tasks,用于管理任务列表和任务。它区分可撤销的完成操作与不可逆删除,并将截止日期限定为日历日期。
主要功能
- 01读取和管理任务列表及任务
- 02创建含备注和截止日期的任务
- 03嵌套任务并在列表间移动
- 04完成任务并重新打开
- 05将删除与完成操作分开
适用场景
- 01查看未完成任务和即将到期事项
- 02将项目工作整理为嵌套任务
- 03移动任务或调整列表顺序
MCP 相关
它通过 MCP 工具提供 Google Tasks 列表和任务操作,包括读取、创建、更新、移动、完成及删除。可在对话中启动身份验证,也可通过环境变量提供凭据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y mcp-google-tasksGOOGLE_TASKS_CLIENT_IDGoogle OAuth2 client id (refresh-token flow).GOOGLE_TASKS_CLIENT_SECRET密钥Google OAuth2 client secret (refresh-token flow). Treat it as a secret.GOOGLE_TASKS_REFRESH_TOKEN密钥Google OAuth2 refresh token, exchanged for access tokens automatically. Treat it as a secret.GOOGLE_TASKS_ACCESS_TOKEN密钥Static OAuth2 access token (~1h lifetime) — alternative to the refresh-token trio, mostly for testing.GOOGLE_TASKS_OAUTH_PORT密钥Fixed port for the loopback listener of the in-chat login (127.0.0.1 + PKCE). Set it when the client runs over SSH port forwarding; otherwise a free port is picked per login.GOOGLE_TASKS_API_BASEAPI root override.GOOGLE_TASKS_TIMEOUT_MSPer-request timeout in milliseconds.GOOGLE_TASKS_MAX_RETRIESRetries on transient errors (429 always; 5xx/network for reads).本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
21收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
Google Tasks MCP
中文 | Русский
A1 Google Tasks MCP 让 AI 应用能够用自然语言管理 Google Tasks。将项目规划为任务列表,把工作拆分成带截止日期和备注的子任务,标记任务已完成,并保持一切井然有序。
它通过你的 Google 账号使用 Google Tasks API。它将可撤销的完成操作与永久删除区分开来,并明确说明 Tasks API 的限制,而不会暗示所有待办事项功能都可用。
- 21 个工具。 列出、创建和更新任务列表及任务,移动任务,管理完成状态,清理已完成的工作,并在缺少专用工具时直接访问原始 API。
- 在对话中连接。 只需说“连接 Google Tasks”:服务会引导你设置 OAuth 客户端,通过 PKCE 在
127.0.0.1接收 Google 的重定向,并自行保存令牌——无需配置文件,也无需重启。 - 完成操作可撤销,删除则不可。
complete_task有对应的撤销操作(reopen_task);删除工具则单独列出,并标记为具有破坏性。 - 如实处理截止日期。 API 只存储日历日期——服务不会假装能够安排具体时刻;具体时间应写在备注中。
- 最小化 Google 权限范围。 仅使用一个
tasks权限范围,不访问 Drive、Calendar 或 Gmail。
从只读问题开始:
显示我的任务列表,以及默认列表中所有截止日期在周五之前的任务。
一分钟了解其工作方式
你: “Website launch”列表中还有哪些未完成的任务?本周有哪些任务到期?
助手: 显示未完成的任务及其截止日期、备注和子任务。不会进行任何更改。
你: 添加一个截止日期为周五的任务“Send the launch announcement”,作为“Marketing”的子任务。
助手: 显示目标列表、父任务和拟创建的任务,然后在创建前请求确认。
你: 确认。
助手: 创建截止日期为周五的子任务。除非你另行提出要求,否则不会完成或删除任何内容。
目录
快速开始
你需要 Node.js 20+ 和 Google 账号。安装时无需凭据——服务会在对话过程中连接。
- 将服务添加到你的 AI 应用。
- 说“连接 Google Tasks”:助手会引导你创建 OAuth 客户端并批准访问权限,无需编辑配置文件。
- 提出上面的只读问题。
Codex
在应用中: 打开 Settings → MCP servers,选择 Add server,选择 STDIO,输入命令 npx -y mcp-google-tasks@latest 和环境变量 GOOGLE_TASKS_CLIENT_ID、GOOGLE_TASKS_CLIENT_SECRET、GOOGLE_TASKS_REFRESH_TOKEN,然后选择 Save 和 Restart。
通过命令行:
codex mcp add google-tasks \
-- npx -y mcp-google-tasks@latest
codex mcp list
Claude Code
claude mcp add \
--transport stdio --scope user google-tasks \
-- npx -y mcp-google-tasks@latest
claude mcp list
Claude Desktop
当前官方方式是 Settings → Extensions。如需安装自定义桌面扩展,请打开 Advanced settings → Extension Developer → Install Extension…,选择 .mcpb 文件并按提示操作。
此代码库目前发布的是 npm stdio 包,不包含 .mcpb 捆绑包。对于仍支持本地配置的 Claude Desktop 版本,可使用以下 JSON stdio 配置作为备用方案:
{
"mcpServers": {
"google-tasks": {
"command": "npx",
"args": ["-y", "mcp-google-tasks@latest"]
}
}
}
在这些版本中,macOS 上将其保存到 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 上保存到 %APPDATA%\Claude\claude_desktop_config.json。
Cursor
在 macOS/Linux 上将以下内容添加到 ~/.cursor/mcp.json,或在 Windows 上添加到 %USERPROFILE%\.cursor\mcp.json:
{
"mcpServers": {
"google-tasks": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-google-tasks@latest"]
}
}
}
VS Code
运行 MCP: Open User Configuration 并添加:
{
"servers": {
"google-tasks": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-google-tasks@latest"]
}
}
}
使用 MCP: List Servers 检查配置。
可以让它做什么
查看清单并规划当天安排
- 显示我的任务清单以及每个清单中的未完成任务。
- 默认清单中本周有哪些到期任务?包括子任务。
- 自昨天以来有哪些变化?包括已完成和隐藏的任务。
创建并整理工作
- 创建一个名为“网站上线”的清单,其中包含设计、内容和 QA 任务。
- 添加一个周五到期的任务,附上备注,并将其嵌套在“营销”任务下。
- 将任务移到清单顶部、另一个任务下,或移到其他清单。
跟踪完成情况
- 将审核任务标记为已完成;如果工作重新开始,再将其重新打开。
- 一次性将所有已完成任务从清单视图中移除。
- 显示之前移除的隐藏任务。
任务如何变化
- 任务位于任务清单中。每个账号都有一个内置默认清单,通过特殊 ID
@default指定;create_tasklist可添加更多清单。 - 任务包含标题、备注和仅包含日期的到期日期——API 会丢弃时间部分,因此一天中的具体时间应写在备注里。
- 任务的排序和嵌套只能通过
move_task更改;API 的position字段为只读。 - 完成任务后可以撤销:
reopen_task会将其恢复。删除任务或清单是永久操作,删除清单会移除其中的所有任务。
无法通过 API 创建重复任务。可以读取分配自 Google Docs 或 Chat 的任务,但无法创建这些任务,也无法将它们移至其他清单;删除这类任务也会将其从来源文档中删除。服务端不支持搜索或排序——服务会列出任务,由 AI 客户端进行筛选。
可以执行的操作
| 操作 | 结果 | 确认边界 |
|---|---|---|
| 读取任务列表和任务 | 读取列表、任务及其筛选条件 | 不会更改 |
| 创建任务列表或任务 | 添加列表或未完成任务 | 会更改 Google Tasks |
| 更新任务或重命名列表 | 更改标题、备注或截止日期 | 会更改任务 |
| 移动任务 | 更改顺序、嵌套关系或所属列表 | 会更改任务 |
| 完成或重新打开任务 | 切换完成状态 | 可撤销的更改 |
| 清除已完成的任务 | 将某个列表中的所有已完成任务移出视图 | 具有破坏性 |
| 删除任务或任务列表 | 删除任务,或删除列表及其中的所有内容 | 具有破坏性 |
| 原始 API 请求 | 无需专用工具即可调用 API 方法 | 可能具有破坏性 |
AI 客户端控制确认提示。服务端会标记读取、写入和具有破坏性的工具,以便客户端区分检查操作和实际更改。
获取访问权限
Google Tasks 需要 OAuth 2.0;仅有 API 密钥并不足够。有两种接入方式,第一种无需配置文件。
从聊天中连接(推荐)
发送“connect Google Tasks”,助手会引导你完成整个流程:
setup_instructions会打印检查清单:创建或选择 Google Cloud 项目、启用 Google Tasks API、配置授权同意屏幕并创建 Desktop app OAuth 客户端。- 下载该客户端的 JSON(“Download JSON”),并将其路径提供给助手——
set_client会以仅所有者可访问的权限保存。密钥不会经过对话传递。 start_login会返回 Google 授权链接。在此计算机上打开该链接并批准;授权码会返回到127.0.0.1上的一次性监听器(PKCE),不会经过聊天传递。finish_login会交换授权码,并将令牌保存到~/.config/mcp-google-tasks/credentials.json(权限模式为 0600),然后通过实际调用 Google Tasks API 验证令牌——如果 API 仍处于关闭状态,会立即发现。
每次调用时都会重新读取令牌,因此连接会立即生效,无需重启 AI 应用。auth_status 会显示已连接的内容;logout 会撤销并删除凭据。
环境变量(CI、无人值守安装)
-
创建或选择 Google Cloud 项目,并启用 Google Tasks API。
-
配置 OAuth 授权同意屏幕,并创建 Desktop app OAuth 客户端。
-
授权拥有这些任务的 Google 账号。启用 Use your own OAuth credentials 后,可通过 OAuth 2.0 Playground 获取刷新令牌。
-
请求以下范围:
https://www.googleapis.com/auth/tasks
测试模式下的 OAuth 刷新令牌可能会在七天后过期。如需长期访问,请发布 OAuth 应用,或在 Workspace 网域中使用 Internal 应用。请像保护密码一样保护客户端密钥和刷新令牌。
配置
所有变量均为可选项——即使不设置任何变量,服务也能从聊天中连接。
| 变量 | 必需 | 说明 |
|---|---|---|
GOOGLE_TASKS_CLIENT_ID | 否* | OAuth 客户端 ID。 |
GOOGLE_TASKS_CLIENT_SECRET | 否* | OAuth 客户端密钥。 |
GOOGLE_TASKS_REFRESH_TOKEN | 否* | OAuth 刷新令牌。 |
GOOGLE_TASKS_ACCESS_TOKEN | 否* | 可替代 OAuth 三项配置的短期令牌。 |
GOOGLE_TASKS_OAUTH_PORT | 否 | 用于聊天内登录的固定回环端口;通过 SSH 端口转发时很有用。 |
GOOGLE_TASKS_API_BASE | 否 | Google Tasks API 基础 URL 覆盖值。 |
GOOGLE_TASKS_TIMEOUT_MS | 否 | 每个请求的超时时间;默认值为 60000 ms。 |
GOOGLE_TASKS_MAX_RETRIES | 否 | 临时错误的重试次数;默认值为 3。 |
* 请提供 OAuth 三项配置,或访问令牌。
即使没有凭据,服务仍会启动并完成 MCP 握手;但首次调用工具时会失败,并提示需要设置哪些变量以及重启服务。
数据、限制与后台工作
- 请求会发送到 Google Tasks。 本地服务会刷新 Google OAuth 令牌并调用 Tasks API。其匿名遥测数据包含安装 ID、软件包版本、AI 客户端和平台版本,以及工具名称;绝不包含 OAuth 令牌、任务内容、工具参数或提示词。设置
ASKADS_TELEMETRY=0即可选择退出。 - Google 设有每日配额。 Tasks API 每个项目每天的免费限额为 50,000 次查询。遇到
429时,服务会采用退避策略;读取操作在网络错误和5xx错误后也会重试,而写入操作在发生结果不确定的故障后不会重放——请改用get_task检查结果。 - 没有后台轮询。 服务仅在收到调用时运行。
list_tasks支持通过updated_min筛选器进行增量同步,因此设有计划任务的 AI 应用可以定期检查变更,无需重新读取所有内容。
技术文档
- MCP 能力目录 — 涵盖每个工具的任务导向页面。
- 所有工具和输入
- 开发文档
- 发布文档
- Google Tasks API 参考
支持
发现错误或需要支持某个使用场景?创建 issue,或在 Telegram 上留言。
大功告成!
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。