mcpField
G
Google Tasks MCP

Google Tasks MCP

本地服务
github.com生产力04 周前更新

关于 Google Tasks MCP

Google Tasks MCP 将 AI 应用连接到 Google Tasks,用于管理任务列表和任务。它区分可撤销的完成操作与不可逆删除,并将截止日期限定为日历日期。

主要功能

  1. 01读取和管理任务列表及任务
  2. 02创建含备注和截止日期的任务
  3. 03嵌套任务并在列表间移动
  4. 04完成任务并重新打开
  5. 05将删除与完成操作分开

适用场景

  1. 01查看未完成任务和即将到期事项
  2. 02将项目工作整理为嵌套任务
  3. 03移动任务或调整列表顺序

MCP 相关

它通过 MCP 工具提供 Google Tasks 列表和任务操作,包括读取、创建、更新、移动、完成及删除。可在对话中启动身份验证,也可通过环境变量提供凭据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"a1-x-tech-mcp-google-tasks": {
"command": "npx",
"args": [
"-y",
"mcp-google-tasks"
],
"env": {
"GOOGLE_TASKS_CLIENT_ID": "<GOOGLE_TASKS_CLIENT_ID>",
"GOOGLE_TASKS_CLIENT_SECRET": "<GOOGLE_TASKS_CLIENT_SECRET>",
"GOOGLE_TASKS_REFRESH_TOKEN": "<GOOGLE_TASKS_REFRESH_TOKEN>",
"GOOGLE_TASKS_ACCESS_TOKEN": "<GOOGLE_TASKS_ACCESS_TOKEN>",
"GOOGLE_TASKS_OAUTH_PORT": "<GOOGLE_TASKS_OAUTH_PORT>",
"GOOGLE_TASKS_API_BASE": "<GOOGLE_TASKS_API_BASE>",
"GOOGLE_TASKS_TIMEOUT_MS": "<GOOGLE_TASKS_TIMEOUT_MS>",
"GOOGLE_TASKS_MAX_RETRIES": "<GOOGLE_TASKS_MAX_RETRIES>"
}
}
}
}
启动命令npx -y mcp-google-tasks
需要配置的环境变量
GOOGLE_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-google-tasks1.0.0

工具

21

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

A1 Google Tasks MCP

中文 | Русский

npm Glama CI License: MIT

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 账号。安装时无需凭据——服务会在对话过程中连接。

  1. 将服务添加到你的 AI 应用。
  2. 说“连接 Google Tasks”:助手会引导你创建 OAuth 客户端并批准访问权限,无需编辑配置文件。
  3. 提出上面的只读问题。
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

Codex MCP 文档

Claude Code
claude mcp add \
  --transport stdio --scope user google-tasks \
  -- npx -y mcp-google-tasks@latest
claude mcp list

Claude Code MCP 文档

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。

Claude Desktop MCP 文档

Cursor

在 macOS/Linux 上将以下内容添加到 ~/.cursor/mcp.json,或在 Windows 上添加到 %USERPROFILE%\.cursor\mcp.json:

{
  "mcpServers": {
    "google-tasks": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-google-tasks@latest"]
    }
  }
}

Cursor MCP 文档

VS Code

运行 MCP: Open User Configuration 并添加:

{
  "servers": {
    "google-tasks": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-google-tasks@latest"]
    }
  }
}

使用 MCP: List Servers 检查配置。

VS Code MCP 文档

可以让它做什么

查看清单并规划当天安排
  • 显示我的任务清单以及每个清单中的未完成任务。
  • 默认清单中本周有哪些到期任务?包括子任务。
  • 自昨天以来有哪些变化?包括已完成和隐藏的任务。
创建并整理工作
  • 创建一个名为“网站上线”的清单,其中包含设计、内容和 QA 任务。
  • 添加一个周五到期的任务,附上备注,并将其嵌套在“营销”任务下。
  • 将任务移到清单顶部、另一个任务下,或移到其他清单。
跟踪完成情况
  • 将审核任务标记为已完成;如果工作重新开始,再将其重新打开。
  • 一次性将所有已完成任务从清单视图中移除。
  • 显示之前移除的隐藏任务。

任务如何变化

  1. 任务位于任务清单中。每个账号都有一个内置默认清单,通过特殊 ID @default 指定;create_tasklist 可添加更多清单。
  2. 任务包含标题、备注和仅包含日期的到期日期——API 会丢弃时间部分,因此一天中的具体时间应写在备注里。
  3. 任务的排序和嵌套只能通过 move_task 更改;API 的 position 字段为只读。
  4. 完成任务后可以撤销:reopen_task 会将其恢复。删除任务或清单是永久操作,删除清单会移除其中的所有任务。

无法通过 API 创建重复任务。可以读取分配自 Google Docs 或 Chat 的任务,但无法创建这些任务,也无法将它们移至其他清单;删除这类任务也会将其从来源文档中删除。服务端不支持搜索或排序——服务会列出任务,由 AI 客户端进行筛选。

可以执行的操作

操作结果确认边界
读取任务列表和任务读取列表、任务及其筛选条件不会更改
创建任务列表或任务添加列表或未完成任务会更改 Google Tasks
更新任务或重命名列表更改标题、备注或截止日期会更改任务
移动任务更改顺序、嵌套关系或所属列表会更改任务
完成或重新打开任务切换完成状态可撤销的更改
清除已完成的任务将某个列表中的所有已完成任务移出视图具有破坏性
删除任务或任务列表删除任务,或删除列表及其中的所有内容具有破坏性
原始 API 请求无需专用工具即可调用 API 方法可能具有破坏性

AI 客户端控制确认提示。服务端会标记读取、写入和具有破坏性的工具,以便客户端区分检查操作和实际更改。

获取访问权限

Google Tasks 需要 OAuth 2.0;仅有 API 密钥并不足够。有两种接入方式,第一种无需配置文件。

从聊天中连接(推荐)

发送“connect Google Tasks”,助手会引导你完成整个流程:

  1. setup_instructions 会打印检查清单:创建或选择 Google Cloud 项目、启用 Google Tasks API、配置授权同意屏幕并创建 Desktop app OAuth 客户端。
  2. 下载该客户端的 JSON(“Download JSON”),并将其路径提供给助手——set_client 会以仅所有者可访问的权限保存。密钥不会经过对话传递。
  3. start_login 会返回 Google 授权链接。在此计算机上打开该链接并批准;授权码会返回到 127.0.0.1 上的一次性监听器(PKCE),不会经过聊天传递。
  4. finish_login 会交换授权码,并将令牌保存到 ~/.config/mcp-google-tasks/credentials.json(权限模式为 0600),然后通过实际调用 Google Tasks API 验证令牌——如果 API 仍处于关闭状态,会立即发现。

每次调用时都会重新读取令牌,因此连接会立即生效,无需重启 AI 应用。auth_status 会显示已连接的内容;logout 会撤销并删除凭据。

环境变量(CI、无人值守安装)
  1. 创建或选择 Google Cloud 项目,并启用 Google Tasks API。

  2. 配置 OAuth 授权同意屏幕,并创建 Desktop app OAuth 客户端。

  3. 授权拥有这些任务的 Google 账号。启用 Use your own OAuth credentials 后,可通过 OAuth 2.0 Playground 获取刷新令牌。

  4. 请求以下范围:

    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 应用可以定期检查变更,无需重新读取所有内容。

技术文档

支持

发现错误或需要支持某个使用场景?创建 issue,或在 Telegram 上留言。


两位 Mona 击掌

大功告成!

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。