谷歌任务MCP服务器
此模型上下文协议(MCP)服务器在MCP客户端和Google任务之间提供了一个桥梁,允许您直接从Claude Desktop、Cursor和Codex等客户端管理任务列表和任务。
\[!注意\] 此项目中的所有(部分编辑除外)代码均为 “氛围编码” -由Claude/Copilot根据我的指示生成。
特性
此MCP服务器提供以下功能:
任务列表管理
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-从列表中清除所有已完成的任务
安装说明
1.创建Google云项目并启用API
- 去 谷歌云控制台
- 创建一个新项目
- 导航到“API和服务”>“库”
- 搜索“Google任务API”并启用它
- 转到“API和服务”>“凭据”
- 点击“创建凭据”>“OAuth客户端ID”
- 配置OAuth同意屏幕(外部可供个人使用)
- 对于“应用程序类型”,选择“Web应用程序”
- 添加“http://localhost:3000/oauth2callback“作为授权重定向URI
- 创建客户端ID和密钥
2.配置环境变量
创建一个 .env 此项目目录中的文件:
GOOGLE_CLIENT_ID=your_client_id_here
GOOGLE_CLIENT_SECRET=your_client_secret_here
GOOGLE_REDIRECT_URI=http://localhost:3000/oauth2callback环境变量:
GOOGLE_CLIENT_ID(必填)-您的Google OAuth客户端IDGOOGLE_CLIENT_SECRET(必填)-您的Google OAuth客户端密码GOOGLE_REDIRECT_URI(可选)-OAuth重定向URI(默认为http://localhost:3000/oauth2callback)
注: 服务器验证 GOOGLE_CLIENT_ID 和 GOOGLE_CLIENT_SECRET 在启动时设置,如果丢失或无效,将失败并显示明确的错误消息。
3.构建服务器
- 安装依赖项:
npm install- 构建服务器:
npm run build4.配置MCP客户端
法典
将服务器添加到 ~/.codex/config.toml:
[mcp_servers.google-tasks]
command = "zsh"
args = ["-lc", "cd /path/to/google-tasks-mcp && exec node build/index.js"]替换 /path/to/google-tasks-mcp 使用此项目的路径,然后重新启动Codex。
要验证服务器是否已注册:
codex mcp list
codex mcp get google-tasksClaude桌面版
- 安装 Claude桌面版
- 打开Claude配置文件:
- MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json
- 添加Google Tasks MCP服务器配置:
{
"mcpServers": {
"google-tasks": {
"command": "node",
"args": ["/path/to/google-tasks-mcp/build/index.js"]
}
}
}将路径替换为您自己的值,然后重新启动Claude for Desktop。
身份验证流程
当您首次使用Google Tasks MCP服务器时:
- 使用
authenticate获取授权URL的工具 - 访问浏览器中的URL并使用您的Google帐户登录
- 授权后,您将在浏览器页面上收到一个代码
- 使用
set-auth-code使用此代码完成身份验证的工具 - 您现在可以使用所有其他工具与Google任务进行交互
注: 您的身份验证令牌(包括刷新令牌)将自动保存到磁盘 ~/.config/google-tasks-mcp/credentials.json 具有受限权限(600)。这意味着:
- 您只需要验证一次 -凭据在服务器重新启动时保持不变
- 自动令牌刷新 -访问令牌过期时(通常在1小时后),将使用保存的刷新令牌自动刷新
- 无需重新身份验证 -初始设置后,除非撤销访问权限或删除凭据文件,否则不需要再次进行身份验证
需求
- Node.js 20+(参见
package.json发动机) - MCP兼容客户端
- 启用了任务API的Google云项目
实施特点
此MCP服务器包括以下改进:
- 持久令牌存储 -身份验证凭据已保存到磁盘(
~/.config/google-tasks-mcp/credentials.json)具有受限权限,因此您只需要进行一次身份验证 - 环境变量验证 -启动验证确保所需的凭据配置有明确的错误消息
- 自动令牌刷新 -OAuth令牌过期时会自动刷新,无需在活动会话期间或重新启动后重新进行身份验证
- 增强的输入验证 -全面验证所有输入,包括ID格式、字符串长度和RFC 3339日期格式
- HTML净化 -OAuth回调响应经过净化,以防止XSS漏洞
- 优雅关闭 -正确清理信号情报/信号机信号上的资源
- 类型安全性 -通过适当的接口在整个代码库中实现完全的TypeScript类型安全
- 可配置的重定向URI -OAuth重定向URI可以通过以下方式进行自定义
GOOGLE_REDIRECT_URI环境变量
截图
克劳德桌面
光标
许可证
本项目仅用于演示目的。使用风险自负。
