Token导航 LogoToken导航TokenDH.com
Mcpgoogletasks logo
AI代理未说明官方级别未说明来源级核验

Mcpgoogletasks

MCP Server

一个基于MCP协议的服务器,提供与Google Tasks API的集成,允许AI助手通过OAuth 2.0认证访问来管理任务和任务列表。

工具数

7

提示词数

0

GitHub Stars

0

资源数

0
任务管理TypeScriptClaudeClaude DesktopClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

KasperskyZiv

提供方

KasperskyZiv

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP Google 任务

一个模型上下文协议(MCP)服务器,提供与Google Tasks API的集成,使AI助手能够通过OAuth 2.0认证访问来管理任务和任务列表。

特点/功能

  • OAuth 2.0 认证安全验证Google帐户
  • 任务管理创建、读取、更新和删除任务
  • 任务列表管理管理多个任务列表
  • MCP协议用于AI助手集成的标准MCP服务器实现

先决条件

  • Node.js 18 或更高版本
  • 一个已启用Tasks API的Google Cloud项目
  • OAuth 2.0 凭证(客户端ID和客户端密钥)

设置

1. Google Cloud Console 设置

  1. 首选 Google Cloud 控制台
  2. 创建一个新项目或选择一个现有项目
  3. 启用Google任务API:

- 导航至“APIs和服务”>“库” - 搜索“Google Tasks API” - 点击“启用”

  1. 创建OAuth 2.0凭据:

- 进入“APIs和服务”>“凭据” - 点击“创建凭据”>“OAuth 客户端 ID” - 选择“桌面应用”作为应用程序类型 - 下载凭据JSON文件或记下客户端ID和客户端密钥

2. 项目安装

# Clone the repository
git clone https://github.com/KasperskyZiv/MCPGoogleTasks.git
cd MCPGoogleTasks

# Install dependencies
npm install

# Build the project
npm run build

3. 配置

创建一个 .env 项目根目录中的文件:

cp .env.example .env

编辑 .env 并添加您的Google OAuth凭据:

GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_REDIRECT_URI=http://localhost:3000/oauth2callback
TOKEN_PATH=./token.json

4. 认证

在使用MCP服务器之前,您需要进行身份验证:

  1. 服务器提供了一个 get_auth_url 返回OAuth URL的工具
  2. 在浏览器中访问该URL并授权该应用程序
  3. 授权后,您将收到一个代码
  4. 使用代码完成身份验证(这将保存一个token.json文件)

注:您首次使用服务器时,需要完成此OAuth流程。

可用的MCP工具

服务器提供以下工具:

认证

  • get_auth_url - 获取OAuth 2.0授权URL

任务列表

  • list_task_lists - 列出所有任务列表
  • create_task_list - 创建一个新的任务列表

- 参数: title

任务

  • list_tasks - 在任务列表中列出任务

- 参数: taskListIdshowCompleted (可选)

  • create_task - 创建一个新任务

- 参数: taskListIdtitlenotes (可选), due (可选)

  • update_task - 更新现有任务

- 参数: taskListIdtaskIdtitle (可选), notes (可选), status (可选), due (可选)

  • delete_task - 删除任务

- 参数: taskListIdtaskId

发展

# Build TypeScript
npm run build

# Watch mode (rebuild on changes)
npm run watch

# Run in development mode
npm run dev

测试

该项目包括使用Jest进行的全面单元测试,其中使用了模拟数据(无需真实凭据):

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Run tests with coverage report
npm run test:coverage

测试覆盖率:

  • \utils.ts\ 翻译成中文是:“工具文件(TypeScript版)” - RTL(从右到左)文本格式化工具
  • auth.ts 翻译为中文是:“认证文件(或模块).ts” 或 “身份验证文件(或模块).ts”,其中“.ts”表示这是一个TypeScript文件 - OAuth 认证管理器(模拟)
  • tasks-client.ts 翻译为中文是:“任务客户端文件(或:任务客户端脚本)” 根据上述信息,以下是翻译结果:Google Tasks API 客户端(模拟)

所有测试均使用模拟数据,无需真实的Google凭据或令牌。

使用选项

选项1:标准I/O传输(本地MCP客户端)

对于本地MCP客户端,如Claude Desktop:

{
  "mcpServers": {
    "google-tasks": {
      "command": "node",
      "args": ["/path/to/MCPGoogleTasks/dist/index.js"],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id",
        "GOOGLE_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

选项2:HTTP/SSE传输(通过ngrok集成OpenAI)

对于OpenAI的ChatGPT或自定义GPT:

  1. 启动HTTP服务器:
   npm run dev:http
  1. 通过ngrok暴露(服务/端口):
   ngrok http 3000 --domain=your-domain.ngrok-free.app
  1. 配置OpenAI:

- 终端(或终点): https://your-domain.ngrok-free.app/mcp/sse - 认证方式:Bearer Token(携带令牌) - 代币:您的 MCP_TOKEN 来自 .env

NGROK_SETUP.md(文件名,可译为“NGROK设置指南.md”或保持原文件名不变,具体取决于上下文是否需要翻译文件名) 请参阅完整的安全设置指南。

安全功能(HTTP模式)

  • 携带令牌认证 - 基于令牌的安全访问
  • 默认仅读模式 - 仅限列出/获取操作(更安全)
  • 速率限制 - 每15分钟100个请求
  • CORS限制 - 仅限于您的ngrok域名
  • 安全头部(或安全响应头) - Helmet.js 保护
  • 通过ngrok使用HTTPS - 加密流量
  • 本地绑定 - 未连接到局域网

建筑学

  • src/index.ts 翻译为中文是:源代码目录下的索引 TypeScript 文件 - 本地客户端使用的MCP服务器(stdio传输)
  • \src/http-server.ts\ 翻译成中文是:“源代码目录下的 HTTP 服务器 TypeScript 文件”。不过,通常在技术文档或代码环境中,我们可能会直接保留文件名的原样,因为文件名本身已经具有一定的语义信息,直接翻译可能并不增加太多理解价值。但在这里,为了符合您的要求,给出了翻译。在实际应用中,文件名往往保持不变 - 用于OpenAI的MCP服务器(HTTP/SSE传输)
  • src/auth.ts 翻译为中文是:“源文件/auth.ts” 或者更简洁地表述为 “auth.ts 源文件”。不过,在技术文档或代码上下文中,通常直接使用文件名“auth.ts”来指代该文件,无需额外翻译文件扩展名。所以,如果仅从文件名的角度来看,可以简单地说是“auth.ts 文件” - OAuth 2.0 认证管理
  • src/tasks-client.ts 翻译为中文是:“源代码/tasks客户端.ts” 或者更简洁地表述为 “src/任务客户端代码.ts”(但通常我们保留文件扩展名的原样,所以更常见的翻译或表述方式是直接保留原文件名,仅说明其含义为“任务客户端的源代码文件”)。不过,在实际应用中,我们通常不会直接翻译文件名,而是根据上下文来解释其用途。所以,这里的翻译重点在于解释文件名的含义,即这是一个用于客户端任务处理的TypeScript源代码文件 - Google Tasks API 客户端封装
  • \src/utils.ts\ 翻译成中文是:“源文件/utils.ts”。不过,通常在中文技术文档或讨论中,我们可能会直接保留文件名的原样,即“src/utils.ts”,因为文件名本身具有技术含义,直接翻译可能失去其特定意义。但在这里,为了符合翻译要求,可以给出这样的翻译 - RTL(从右到左)文本格式化工具
  • src/scripts/ 翻译为中文是:“源代码/脚本/” 或者更简洁地表达为 “脚本源目录/” - 用于身份验证和查看任务的辅助脚本

安全注意事项

  • 永远不要让你的 .env 文件或 token.json 进行版本控制
  • 确保您的OAuth凭证安全
  • token.json 文件中包含您的访问令牌和刷新令牌 - 请妥善保护
  • 令牌存储在本地,并在需要时自动刷新

许可证

AGPL-3.0 许可证

目录标签

目录标签

任务管理TypeScriptClaudeClaude Desktop本地部署Google集成OAuth认证AI助手MCP协议

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP