Skip to main content
Glama

google-tasks-mcp

MCP server for the Google Tasks API. It allows any AI agent (Claude, Cursor, and others) to read, create, update, and delete tasks via Google Tasks.

Tools

Tool

What it does

list_task_lists

Lists all task lists

list_tasks

Lists tasks from a list (filters: date, status)

get_task

Returns a single task by ID

create_task

Creates a task (title, notes, due, parent)

update_task

Updates any task field

complete_task

Marks a task as completed

delete_task

Permanently deletes a task

move_task

Moves/reorders a task


Related MCP server: Google Tasks MCP Server

Setup (one-time)

1. Google Cloud Console

  1. Go to console.cloud.google.com

  2. Create a project (or select an existing one)

  3. Open APIs & Services -> Library -> find "Tasks API" -> Enable

  4. Open APIs & Services -> Credentials

  5. Create Credentials -> OAuth client ID

    • Application type: Desktop app

    • Name: google-tasks-mcp

  6. Download the JSON file -> rename it to .credentials.json -> place it in the project root

2. Install dependencies

npm install

3. Authorize (one-time)

npm run auth

A browser window will open -> approve Google access -> tokens will be saved to .tokens.json. After this, re-authorization is not required because tokens are refreshed automatically.


Connect to Claude Desktop

Open claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add:

{
  "mcpServers": {
    "google-tasks": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/google-tasks-mcp/src/index.js"]
    }
  }
}

Restart Claude Desktop -> new tools will appear in the interface.

Connect to Claude Code

claude mcp add google-tasks -- node /ABSOLUTE/PATH/TO/google-tasks-mcp/src/index.js

Connect to Cursor / Windsurf / other agents

Any agent that supports MCP (stdio transport):

{
  "mcpServers": {
    "google-tasks": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/google-tasks-mcp/src/index.js"]
    }
  }
}

Example prompts for your agent

"Show all my tasks for this week"
"Create a task 'Open PR' with deadline 2026-03-05"
"Mark task X as completed"
"Move task Y to the top of the list"

Project structure

google-tasks-mcp/
├── src/
│   ├── index.js          — MCP server (tools + handlers)
│   ├── auth.js           — OAuth2 one-time setup
│   └── tasks-api.js      — Google Tasks API wrapper
├── .credentials.json     — (gitignored) your OAuth credentials
├── .tokens.json          — (gitignored) access + refresh tokens
├── .credentials.example.json
├── .gitignore
└── package.json

Security

  • .credentials.json and .tokens.json must never be committed (already in .gitignore)

  • Tokens are refreshed automatically via the googleapis OAuth2 client

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PavloJedi/google-tasks-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server