mcp-googletasks 是一个基于 Model Context Protocol(MCP)的服务器,主要用途是在 MCP 客户端(如 Claude Desktop、Cursor、Codex)与 Google Tasks 之间提供桥梁,让用户可以通过这些客户端直接管理自己的任务列表和任务。
主要能力分为两类:
任务列表管理:list-tasklists(列出所有任务列表)、get-tasklist(获取特定任务列表详情)、create-tasklist(创建新任务列表)、update-tasklist(更新现有任务列表)、delete-tasklist(删除任务列表)。
任务管理:list-tasks(列出任务列表中的所有任务,支持分页结果)、get-task(获取特定任务详情)、create-task(创建新任务)、update-task(更新现有任务)、delete-task(删除任务)、complete-task(将任务标记为已完成)、move-task(移动任务,可重新排序、更改父任务或跨任务列表移动)、clear-completed-tasks(清除列表中所有已完成任务)。
使用方式:
-
在 Google Cloud Console 创建项目,启用 Google Tasks API;在“APIs & Services”>“Credentials”中创建 OAuth 客户端 ID,应用类型选择“Web application”,并将 http://localhost:3000/oauth2callback 添加为授权重定向 URI。
-
在项目目录创建 .env 文件,配置环境变量:GOOGLE_CLIENT_ID(必填)、GOOGLE_CLIENT_SECRET(必填)、GOOGLE_REDIRECT_URI(可选,默认 http://localhost:3000/oauth2callback)。服务器会在启动时验证必填项,缺失或无效时会给出明确错误。
-
安装依赖并构建服务器。
-
配置 MCP 客户端:例如在 ~/.codex/config.toml 中添加服务器配置,或编辑 Claude for Desktop 的配置文件(MacOS:~/Library/Application Support/Claude/claude_desktop_config.json;Windows:%APPDATA%\Claude\claude_desktop_config.json),替换为实际项目路径后重启客户端。
认证流程:首次使用时,调用 authenticate 工具获取授权 URL;在浏览器中访问并登录 Google 账户;授权后页面会显示一个代码;使用 set-auth-code 工具提交该代码完成认证。认证令牌(含刷新令牌)会自动保存到 ~/.config/google-tasks-mcp/credentials.json,权限受限(600)。因此只需认证一次,令牌会在过期(通常 1 小时)后自动刷新,除非撤销访问或删除凭据文件,否则无需重新认证。
适用场景:适合希望通过 Claude 等 MCP 客户端以自然语言方式管理 Google Tasks 的用户,以及需要将任务管理集成到 AI 工作流中的开发者。
限制与要求:需要 Node.js 20+(见 package.json engines)、一个 MCP 兼容客户端、以及启用了 Tasks API 的 Google Cloud 项目。项目说明中明确标注为“仅用于演示目的,使用风险自负”。此外,项目代码大部分由 Claude/Copilot 根据作者指令生成。
实现特性包括:持久化令牌存储、环境变量启动校验、自动令牌刷新、增强的输入验证(ID 格式、字符串长度、RFC 3339 日期格式)、OAuth 回调响应 HTML 净化以防止 XSS、SIGINT/SIGTERM 信号下的优雅关闭、全面的 TypeScript 类型安全、可通过 GOOGLE_REDIRECT_URI 自定义重定向 URI。