home / mcp / google tasks mcp server

Google Tasks MCP Server

This Model Context Protocol (MCP) server provides a bridge between LLMs and Google Tasks, allowing you to manage your task lists and tasks directly through Claude.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "arpitbatra123-mcp-googletasks": {
      "command": "node",
      "args": [
        "/path/to/google-tasks-mcp/build/index.js"
      ],
      "env": {
        "GOOGLE_CLIENT_ID": "your_client_id_here",
        "GOOGLE_REDIRECT_URI": "http://localhost:3000/oauth2callback",
        "GOOGLE_CLIENT_SECRET": "your_client_secret_here"
      }
    }
  }
}

You can manage Google Tasks directly from Claude by using this MCP server as a bridge. It lets you list, create, update, move, and complete task lists and tasks, providing a smooth workflow that integrates your tasks with Claude’s capabilities.

How to use

You interact with the Google Tasks MCP Server through your MCP client. Once authenticated, you can perform common operations on task lists and tasks without leaving Claude. Practical use patterns include listing all task lists to pick one, creating a new task in a chosen list, updating task details, reordering tasks, marking tasks as completed, and clearing completed items. The server handles authentication tokens securely and refreshes them automatically, so you can focus on your tasks rather than credential management.

How to install

Prerequisites you need before installing the MCP server:

  • Node.js 20+ (check your system package manager or nodejs.org)
  • Claude for Desktop (latest version)
  • A Google Cloud Project with the Google Tasks API enabled

Step by step setup and installation:

  • Create and configure a Google Cloud Project with Google Tasks API enabled
  • Set up OAuth client credentials and an authorized redirect URI as shown in configuration steps
  • Install dependencies for the MCP server project in your environment
  • Build the MCP server
  • Configure Claude to load the MCP server configuration
  • Launch the MCP server and start Claude, then authenticate when prompted

Configuration snippet you will use in Claude Desktop to register the MCP server:

{
  "mcpServers": {
    "google-tasks": {
      "command": "node",
      "args": ["/path/to/google-tasks-mcp/build/index.js"],
      "env": {
        "GOOGLE_CLIENT_ID": "your_client_id_here",
        "GOOGLE_CLIENT_SECRET": "your_client_secret_here",
        "GOOGLE_REDIRECT_URI": "http://localhost:3000/oauth2callback"
      }
    }
  }
}

Additional configuration details

{
  "mcpServers": {
    "google-tasks": {
      "command": "node",
      "args": ["/path/to/google-tasks-mcp/build/index.js"],
      "env": {
        "GOOGLE_CLIENT_ID": "your_client_id_here",
        "GOOGLE_CLIENT_SECRET": "your_client_secret_here",
        "GOOGLE_REDIRECT_URI": "http://localhost:3000/oauth2callback"
      }
    }
  }
}

Security and maintenance notes

- Authentication tokens are persisted to disk with restricted permissions for ongoing sessions. Tokens refresh automatically, so you won’t need to re-authenticate after restarts unless you revoke access or delete the credentials file.

- The OAuth redirect URI can be customized via the GOOGLE_REDIRECT_URI environment variable to fit your local or network environment.

- The server includes input validation, HTML sanitization for OAuth callbacks, and graceful shutdown handling to ensure clean resource cleanup on stop signals.

Troubleshooting tips

If you encounter authentication failures, verify that GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET are correctly set and that the redirect URI matches what you configured in your Google Cloud Console. Check the credentials file at the default path for consistency and permissions. If the server fails to start, review the startup logs for missing environment variables or incorrect command paths.

Available tools

list-tasklists

List all task lists available in your Google Tasks account.

get-tasklist

Retrieve details for a specific task list.

create-tasklist

Create a new task list.

update-tasklist

Update properties of an existing task list.

delete-tasklist

Delete a task list.

list-tasks

List all tasks within a specific task list.

get-task

Get details about a specific task.

create-task

Create a new task within a list.

update-task

Update an existing task.

delete-task

Delete a task.

complete-task

Mark a task as completed.

move-task

Move or reorder a task within or between lists.

clear-completed-tasks

Remove all completed tasks from a list.