使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,它将 Google Tasks API 封装成 MCP 资源和工具,使得大型语言模型 (LLM) 可以通过标准的 MCP 协议与 Google Tasks 进行交互,实现任务管理功能。

主要功能点

  • 资源管理: 将用户的 Google Tasks 默认任务列表作为 MCP 资源 ('tasks://default') 提供,LLM 可以读取该资源获取任务列表。
  • 工具集成: 提供了一系列工具,允许 LLM 创建、列出、删除、更新和完成 Google Tasks 任务。
    • 'create_task': 创建新任务。
    • 'list_tasks': 列出所有任务。
    • 'delete_task': 删除指定任务。
    • 'update_task': 更新任务信息。
    • 'complete_task': 切换任务完成状态。
  • 标准协议: 完全遵循 MCP 协议,通过 JSON-RPC over Stdio 与客户端通信。

安装步骤

  1. 克隆仓库
    git clone https://github.com/mstfe/mcp-google-tasks.git
    cd mcp-google-tasks
  2. 安装依赖 确保已安装 Node.js 和 npm,然后运行:
    npm install
  3. 构建项目
    npm run build
  4. 配置环境变量
    • 获取 Google API 凭据: 访问 Google Cloud Console,创建一个项目并启用 Tasks API。在 "凭据" 页面创建 OAuth 2.0 客户端 ID,获取 'CLIENT_ID' 和 'CLIENT_SECRET'。设置授权回调 URI 为 'http://localhost' 或其他你指定的 URI ('REDIRECT_URI')。
    • 设置访问令牌和刷新令牌: 为了让服务器能访问你的 Google Tasks,你需要获取 'ACCESS_TOKEN' 和 'REFRESH_TOKEN'。这通常需要一个 OAuth 2.0 授权流程。你可以使用 Google 提供的 API 客户端库或在线 OAuth 2.0 工具来完成授权并获取 tokens。
    • 创建 '.env' 文件: 在项目根目录下创建 '.env' 文件,并填入以下环境变量:
    CLIENT_ID=你的_CLIENT_ID
    CLIENT_SECRET=你的_CLIENT_SECRET
    REDIRECT_URI=http://localhost
    ACCESS_TOKEN=你的_ACCESS_TOKEN
    REFRESH_TOKEN=你的_REFRESH_TOKEN
    请注意: 实际应用中,更安全的做法是使用更完善的 OAuth 2.0 授权流程,而不是直接在 '.env' 文件中硬编码访问令牌和刷新令牌。

服务器配置 (MCP 客户端配置)

以下 JSON 配置信息用于配置 MCP 客户端,以便连接到此 Google Tasks MCP 服务器。

{
  "serverName": "google-tasks-server",
  "command": "node",
  "args": ["build/index.js"]
}
  • 'serverName': 服务器的名称,可以自定义。
  • 'command': 启动服务器的命令,这里使用 'node' 运行 JavaScript 文件。
  • 'args': 命令的参数,指向编译后的服务器入口文件 'build/index.js'。

基本使用方法

  1. 启动服务器: 在项目根目录下运行以下命令启动 MCP 服务器:
    node build/index.js
    服务器将在标准输入/输出 (stdio) 上运行并等待 MCP 客户端连接。
  2. 使用 MCP 客户端: 配置 MCP 客户端,使其连接到标准输入/输出,并使用上面提供的服务器配置信息。
  3. 与服务器交互: 通过 MCP 客户端发送符合 MCP 协议的 JSON-RPC 请求与服务器交互。例如,可以发送 'ListResourcesRequest' 获取资源列表,或发送 'CallToolRequest' 调用 'create_task' 工具创建新任务。具体的请求格式和参数请参考 MCP 协议文档和工具定义。

信息

分类

生产力应用