Google Tasks MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add google-tasks -- npx -y @smithery/cli install @zcaceres/gtasks --client claude
README.md

Integrates with Google Tasks to manage task lists and individual task details.

Google Tasks MCP Server

gtasks mcp logo

This MCP server integrates with Google Tasks to allow listing, reading, searching, creating, updating, and deleting tasks.

Components

Tools

  • search

    • Search for tasks in Google Tasks
    • Input: query (string): Search query
    • Returns matching tasks with details
  • list

    • List all tasks in Google Tasks
    • Optional input: cursor (string): Cursor for pagination
    • Returns a list of all tasks
  • create

    • Create a new task in Google Tasks
    • Input:
      • taskListId (string, optional): Task list ID
      • title (string, required): Task title
      • notes (string, optional): Task notes
      • due (string, optional): Due date
    • Returns confirmation of task creation
  • update

    • Update an existing task in Google Tasks
    • Input:
      • 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
    • Returns confirmation of task update
  • delete

    • Delete a task in Google Tasks
    • Input:
      • taskListId (string, required): Task list ID
      • id (string, required): Task ID
    • Returns confirmation of task deletion
  • clear

    • Clear completed tasks from a Google Tasks task list
    • Input: taskListId (string, required): Task list ID
    • Returns confirmation of cleared tasks

Resources

The server provides access to Google Tasks resources:

  • Tasks (gtasks:///<task_id>)
    • Represents individual tasks in Google Tasks
    • Supports reading task details including title, status, due date, notes, and other metadata
    • Can be listed, read, created, updated, and deleted using the provided tools

Getting started

  1. Create a new Google Cloud project
  2. Enable the Google Tasks API
  3. Configure an OAuth consent screen ("internal" is fine for testing)
  4. Add scopes https://www.googleapis.com/auth/tasks
  5. Create an OAuth Client ID for application type "Desktop App"
  6. Download the JSON file of your client's OAuth keys
  7. Rename the key file to gcp-oauth.keys.json and place into the root of this repo (i.e. gcp-oauth.keys.json)

Make sure to build the server with either npm run build or npm run watch.

Installing via Smithery

To install Google Tasks Server for Claude Desktop automatically via Smithery:

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

Authentication

To authenticate and save credentials:

  1. Run the server with the auth argument: npm run start auth
  2. This will open an authentication flow in your system browser
  3. Complete the authentication process
  4. Credentials will be saved in the root of this repo (i.e. .gdrive-server-credentials.json)

Usage with Desktop App

To integrate this server with the desktop app, add the following to your app's server configuration:

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

Tools (6)

searchSearch for tasks in Google Tasks
listList all tasks in Google Tasks
createCreate a new task in Google Tasks
updateUpdate an existing task in Google Tasks
deleteDelete a task in Google Tasks
clearClear completed tasks from a Google Tasks task list

Configuration

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

Try it

List all my current tasks in Google Tasks.
Create a new task titled 'Finish project report' with a due date of tomorrow.
Search for tasks related to 'grocery shopping'.
Mark the task with ID 123 as completed.
Clear all completed tasks from my default task list.

Frequently Asked Questions

What are the key features of Google Tasks?

Search for tasks using custom queries. List all tasks with pagination support. Create new tasks with titles, notes, and due dates. Update existing task details including status and due dates. Delete tasks and clear completed items from lists.

What can I use Google Tasks for?

Managing personal to-do lists directly from the Claude interface. Automating task creation based on project discussions with Claude. Quickly searching through large task lists to find specific items. Cleaning up completed tasks to maintain an organized workspace.

How do I install Google Tasks?

Install Google Tasks by running: npx -y @smithery/cli install @zcaceres/gtasks --client claude

What MCP clients work with Google Tasks?

Google Tasks works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Google Tasks docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare