home / mcp / google tasks mcp server

Google Tasks MCP Server

Provides Google Tasks management via Claude Desktop with secure OAuth2 and task-list operations.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "alvinjchoi-gtasks-mcp": {
      "url": "https://mcp.example.com/gtasks-mcp",
      "headers": {
        "GOOGLE_CLIENT_ID": "1234567890-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com",
        "GOOGLE_CLIENT_SECRET": "GhsExampleSecret1234",
        "GOOGLE_REFRESH_TOKEN": "1/abcdefGhiJklMNOPQrSTU"
      }
    }
  }
}

This Google Tasks MCP Server lets Claude Desktop manage your Google Tasks through natural language. By authenticating with Google and exposing a simple MCP interface, you can list, search, create, update, delete, and clear tasks across your task lists using conversational commands.

How to use

You interact with the server through an MCP client in Claude Desktop. Start the local server, then issue natural language requests like: “show me all my tasks,” “create a task named ‘Prepare report’ due Friday,” or “mark the task ‘Send email’ as completed.” The server translates your requests into Google Tasks API calls and returns results back to Claude Desktop for presentation.

Common actions you can perform include listing tasks from your Google Tasks lists, searching by a query, creating new tasks with a title, notes, and a due date, updating existing tasks (title, notes, status, due date), deleting tasks, and clearing completed tasks from a list. All these actions are protected by OAuth2 authentication via Google.

How to install

Prerequisites you need before installation: Node.js and npm installed on your machine. You should also have a Google Cloud project with the Google Tasks API enabled and OAuth 2.0 credentials set up (Client ID, Client Secret, and a refresh token). If you already have these, you can proceed with one of the installation methods below.

Option 1 — Install via Smithery (recommended for Claude Desktop users):

npx -y @smithery/cli install @alvincrave/gtasks-mcp --client claude

Option 2 — Manual installation (local development):

npm install @alvincrave/gtasks-mcp

Additional configuration and usage notes

Configuration is done by providing your Google OAuth credentials to the server so it can authenticate requests to Google Tasks on your behalf. The following environment variables are used by the server: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, and GOOGLE_REFRESH_TOKEN. Place these values in your MCP client configuration so Claude Desktop can launch and manage tasks on your behalf.

Example MCP configuration (stdio flow) showing how to start the server with the required credentials:

{
  "mcpServers": {
    "gtasks": {
      "command": "npx",
      "args": ["-y", "@alvincrave/gtasks-mcp"],
      "env": {
        "GOOGLE_CLIENT_ID": "your_client_id_here",
        "GOOGLE_CLIENT_SECRET": "your_client_secret_here",
        "GOOGLE_REFRESH_TOKEN": "your_refresh_token_here"
      },
      "connectionTypes": ["stdio"],
      "autoRestart": true
    }
  }
}

Security notes

Keep your Google API credentials secure and rotate your refresh tokens regularly. Store sensitive information only in your Claude Desktop configuration and avoid sharing credentials in version control. Treat the refresh token as a password since it grants access to your Google Tasks.

Usage examples

Search tasks containing a phrase, list all tasks, create a new task, update a task to completed, delete a task, or clear completed tasks from a list. Examples illustrate conversational commands you can use to achieve common daily task-management goals within Claude Desktop.

Troubleshooting

If you encounter authentication errors, ensure your Google OAuth credentials are correctly configured and that the refresh token is valid. Verify that the Google Tasks API is enabled for your project and that the client ID and client secret match what you configured in Claude Desktop.

Notes

This MCP server provides full Google Tasks integration with secure OAuth2 authentication and Docker support for containerized deployment. It supports listing, searching, creating, updating, deleting, and clearing tasks across multiple task lists.

Available tools

list_tasks

List all tasks across your Google Task lists, returning the current items and status.

search_tasks

Search for tasks by a query string to quickly locate relevant items.

create_task

Create a new task with a title, optional notes, and due date.

update_task

Update an existing task's title, notes, status, or due date.

delete_task

Delete a specific task from a list.

clear_completed

Remove all completed tasks from a specified list.