Home
Login

A Google Tasks Management Model Context Protocol server for Claude.

MITTypeScript 63zcaceres Last Updated: 2025-02-02

gtasks-mcp - Google Tasks Model Context Protocol Server

Project Overview

gtasks-mcp is a Google Tasks Model Context Protocol (MCP) server designed specifically for Claude AI. This project allows Claude to directly integrate with the Google Tasks API, enabling complete management of Google Tasks.

Project Address: https://github.com/zcaceres/gtasks-mcp

Key Features

Core Tools

1. search - Search Tasks

  • Description: Search for tasks in Google Tasks
  • Input Parameters:
    • query (string): Search query string
  • Return Result: Detailed information of matching tasks

2. list - List Tasks

  • Description: List all tasks in Google Tasks
  • Input Parameters:
    • cursor (string, optional): Pagination cursor
  • Return Result: List of all tasks

3. create - Create Task

  • Description: Create a new task in Google Tasks
  • Input Parameters:
    • taskListId (string, optional): Task list ID
    • title (string, required): Task title
    • notes (string, optional): Task notes
    • due (string, optional): Due date
  • Return Result: Task creation confirmation information

4. update - Update Task

  • Description: Update an existing Google Tasks task
  • Input Parameters:
    • taskListId (string, optional): Task list ID
    • id (string, required): Task ID
    • uri (string, required): Task URI
    • title (string, optional): New task title
    • notes (string, optional): New task notes
    • status (string, optional): New task status ("needsAction" or "completed")
    • due (string, optional): New due date
  • Return Result: Task update confirmation information

5. delete - Delete Task

  • Description: Delete a task in Google Tasks
  • Input Parameters:
    • taskListId (string, required): Task list ID
    • id (string, required): Task ID
  • Return Result: Task deletion confirmation information

6. clear - Clear Completed Tasks

  • Description: Clear completed tasks in a Google Tasks task list
  • Input Parameters:
    • taskListId (string, required): Task list ID
  • Return Result: Clear operation confirmation information

Resources

The server provides access to Google Tasks resources:

  • Task Resource (gtasks:///<task_id>)
    • Represents a single task in Google Tasks
    • Supports reading task details, including title, status, due date, notes, and other metadata
    • Supports listing, reading, creating, updating, and deleting operations using the provided tools

Installation and Configuration

Prerequisites

  1. Create a Google Cloud Project

  2. Enable the Google Tasks API

  3. Configure the OAuth Consent Screen

    • Configure it in the OAuth Consent Screen
    • Select "internal" for the testing environment
    • Add the scope: https://www.googleapis.com/auth/tasks
  4. Create an OAuth Client ID

    • Create it on the Credentials page
    • Select "Desktop app" for the application type
    • Download the JSON file of the OAuth key
    • Rename the key file to gcp-oauth.keys.json and place it in the project root directory

Build the Project

Use the following command to build the server:

npm run build

Or use watch mode:

npm run watch

Automatic Installation (Recommended)

Install automatically via Smithery:

npx -y @smithery/cli install @zcaceres/gtasks --client claude

Authentication

  1. Run the server and authenticate:
npm run start auth
  1. This will open the authentication flow in the system browser
  2. Complete the authentication process
  3. Credentials will be saved in the project root directory (.gdrive-server-credentials.json)

Claude Desktop Integration

To integrate this server with the Claude Desktop application, add the following to the application's server configuration:

{
  "mcpServers": {
    "gtasks": {
      "command": "/opt/homebrew/bin/node",
      "args": [
        "{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
      ]
    }
  }
}

Technical Features

  • Complete CRUD Operations: Supports creating, reading, updating, and deleting tasks
  • Advanced Search Functionality: Can search for tasks based on keywords
  • Task Status Management: Supports marking tasks as completed or pending
  • Pagination Support: Provides pagination functionality when handling a large number of tasks
  • OAuth 2.0 Authentication: Secure Google API access
  • TypeScript Support: Provides type safety and a better development experience

Use Cases

  • Personal Task Management: Manage daily to-dos through Claude's natural language interaction
  • Project Collaboration: Manage task assignments in team projects through an AI assistant
  • Automated Workflows: Implement task management automation by combining with other tools
  • Productivity Enhancement: Quickly create and update tasks via voice or text

Precautions

  • Requires a valid Google account and Google Tasks access permissions
  • Requires completing the OAuth authentication process for the first use
  • It is recommended to properly store the authentication credential file in a production environment
  • Follow Google API usage quotas and limitations