Google Tasks MCP Server

Task and list management with hierarchy, due dates, and cross-list moves.

$ uvx workspace-mcp --tools tasks runs only the Google Tasks MCP tools — combine services as needed

The Tasks service mirrors Calendar’s consolidated design: manage_task is a single operation-style tool that creates, updates, deletes, and moves tasks — including re-parenting for subtask hierarchies — and manage_task_list does the same at the list level.

list_tasks supports filters, so "what’s overdue" or "what’s due this week" is one call rather than a client-side scan of every item you have ever written down.

What you can ask

  • “Add subtasks for each step of the launch checklist with due dates through Friday”
  • “What is overdue across all my lists? Move anything stale to next week”
  • “Clear the completed items out of my Sprint list”

All 6 Google Tasks MCP tools

Tiers control how many tools the server registers: start lean with --tool-tier core and step up to extended or complete when a workflow needs more. Parameters and examples for every tool are in the API reference.

list_tasks Core List tasks with filters.
get_task Core Retrieve task details.
manage_task Core Consolidated create, update, delete, and move task operations.
list_task_lists Complete List task lists.
get_task_list Complete Retrieve task-list details.
manage_task_list Complete Consolidated create/update/delete/clear-completed for task lists.

OAuth scopes

The server requests only the scopes for the services you enable. In read-only mode it requests just the readonly variants and skips registering write tools entirely.

  • tasks.readonly list and read tasks
  • tasks create, update, move, and delete tasks

Google Tasks MCP questions

Does it support subtasks?
Yes. manage_task handles parent assignment, so an assistant can build a hierarchy — a launch checklist with nested steps, each with its own due date — and later move or re-parent items as the plan changes.
Can tasks move between lists?
manage_task’s move operation relocates a task to another list, which makes triage workflows ("everything stale goes to Backlog") a single tool call per task.
Is there a quick way to clean up finished items?
manage_task_list includes a clear-completed operation that sweeps every finished task from a list at once instead of deleting them one by one.