关于 gtasks-mcp
gtasks-mcp 是面向 MCP 客户端的 Google Tasks 管理服务,可处理任务列表和任务。它提供分页、层级浏览及跨列表移动等操作。
主要功能
- 01搜索与分页列出任务
- 02创建、更新和删除任务
- 03列出任务列表
- 04查看任务父子层级
- 05排序、嵌套及跨列表移动
- 06清除已完成任务
适用场景
- 01查找特定标题或备注的任务
- 02批量浏览大型任务列表
- 03整理父子任务和顺序
- 04将任务移至其他列表
MCP 相关
它作为 MCP 服务向 MCP 客户端提供 Google Tasks 的任务与列表管理工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
mcp.json · 通用配置
启动命令
npx -y @alvincrave/gtasks-mcp需要配置的环境变量
GOOGLE_CLIENT_IDGoogle OAuth client IDGOOGLE_CLIENT_SECRET密钥Google OAuth client secretGOOGLE_REFRESH_TOKEN密钥Google OAuth refresh token with Tasks scope本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
9收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 是 | 搜索查询 |
| taskListId | string | 否 | 要搜索的任务列表 ID。省略时,将搜索所有列表。 |
详细介绍
Google Tasks MCP 服务
适用于 Google Tasks 的 Model Context Protocol(MCP)服务。通过 Claude Desktop 和其他 MCP 客户端,使用自然语言管理任务列表和任务。
从 zcaceres/gtasks-mcp 分叉而来,提供更完善的身份验证选项、多列表支持、分页和层级工具。
注册表名称: io.github.alvinjchoi/gtasks-mcp
npm: @alvincrave/gtasks-mcp
功能
- 列出和搜索任务(可限定在一个任务列表中)
- 分页浏览所有任务(不会悄悄限制为 100 个任务)
- 创建、更新、删除任务,以及清除已完成的任务
- 查找任务列表(
list_task_lists) - 查看父子层级(
list_with_tree) - 重新排序、嵌套任务,或在不同列表间移动任务(
move) - 通过环境变量、凭据文件或交互式
auth进行 OAuth2 身份验证 - 支持 Docker
安装
推荐(Claude Desktop / 任意 MCP 客户端)——运行最新发布的 npm 包:
npx -y @alvincrave/gtasks-mcp
或全局安装:
npm install -g @alvincrave/gtasks-mcp
从源代码安装
git clone https://github.com/alvinjchoi/gtasks-mcp.git
cd gtasks-mcp
npm install
npm run build
设置
选项 A — 环境变量(Claude Desktop)
- 创建 Google Cloud 项目并启用 Google Tasks API。
- 创建 OAuth 2.0 桌面应用凭据并获取刷新令牌(使用
https://www.googleapis.com/auth/tasks作用域的 OAuth Playground 即可)。 - 配置 Claude Desktop(macOS 上的路径为
~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"gtasks": {
"command": "npx",
"args": ["-y", "@alvincrave/gtasks-mcp"],
"env": {
"GOOGLE_CLIENT_ID": "your_client_id_here",
"GOOGLE_CLIENT_SECRET": "your_client_secret_here",
"GOOGLE_REFRESH_TOKEN": "your_refresh_token_here"
}
}
}
}
选项 B — 凭据文件(本地使用 / 与其他 Google MCP 服务共用)
- 下载 OAuth 客户端 JSON(
gcp-oauth.keys.json)。 - 进行一次身份验证:
export GTASKS_CREDENTIALS_PATH=/path/to/gcp-oauth.keys.json
export GTASKS_TOKEN_PATH=/path/to/.gtasks-server-credentials.json
node dist/index.js auth
- 使用相同的环境变量运行服务(或将
gcp-oauth.keys.json放在项目根目录并使用默认值)。
也接受以下别名:
| 用途 | 首选项 | 别名 |
|---|---|---|
| OAuth 客户端密钥 | GTASKS_CREDENTIALS_PATH | GOOGLE_OAUTH_KEYS_PATH |
| 已保存的令牌 | GTASKS_TOKEN_PATH | GOOGLE_TASKS_CREDENTIALS_PATH |
选项 C — 主目录配置文件
创建 ~/.gtasks-credentials.json:
{
"clientId": "your_client_id",
"clientSecret": "your_client_secret",
"refreshToken": "your_refresh_token"
}
工具
| 工具 | 描述 |
|---|---|
search | 按标题/备注搜索任务。可选参数 taskListId。 |
list | 列出任务(所有列表,或通过 taskListId 指定一个列表)。支持完整分页。 |
list_task_lists | 列出任务列表的名称和 ID。 |
list_with_tree | 显示一个列表的树状视图(父子关系、按位置排序)。 |
move | 重新排序、嵌套/取消嵌套任务,或在不同列表间移动任务。 |
create | 创建任务(必需参数为 title;可选参数为备注、截止日期/taskListId)。 |
update | 更新任务(仅修改已提供的字段)。 |
delete | 删除任务。 |
clear | 清除列表中的已完成任务。 |
使用示例
show my task lists
list tasks in list <id>
search for tasks containing "meeting"
create a task named "Prepare presentation" due 2026-07-20
show the task tree for list <id>
move task <id> under parent <parentId>
mark task <id> completed
Docker
docker build -t gtasks-mcp .
docker run -i \
-e GOOGLE_CLIENT_ID=your_client_id \
-e GOOGLE_CLIENT_SECRET=your_client_secret \
-e GOOGLE_REFRESH_TOKEN=your_refresh_token \
gtasks-mcp
开发
npm install
npm run build
npm start
身份验证检查 / 交互式登录:
npm run build
node dist/index.js auth
安全说明
- 将刷新令牌视同密码保管
- 优先使用环境变量或已忽略的凭据文件——切勿提交凭据
- 如果凭据泄露,请轮换凭据
贡献者
- ArtyMcLabin — 分页、
taskListId筛选、list_task_lists、list_with_tree、move和基于文件的身份验证(#1) - zcaceres — 原始 Google Tasks MCP 服务
- alvinjchoi — 分叉项目维护、Smithery/npm 打包
参见 CONTRIBUTORS.md。
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。