Google Tasks MCP Server

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

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

Expand any tool for its full parameter list. 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.

list_tasks Core List tasks with filters. 12
ParameterDescription
task_list_id requiredThe ID of the task list to retrieve tasks from.
max_results Maximum number of tasks to return (default: 20, max: 10000).
page_token Token for pagination.
show_completed Whether to include completed tasks (default: True).
show_deleted Whether to include deleted tasks (default: False).
show_hidden Whether to include hidden tasks (default: False).
show_assigned Whether to include assigned tasks (default: False).
completed_max Upper bound for completion date (RFC 3339 timestamp).
completed_min Lower bound for completion date (RFC 3339 timestamp).
due_max Upper bound for due date (RFC 3339 timestamp).
due_min Lower bound for due date (RFC 3339 timestamp).
updated_min Lower bound for last modification time (RFC 3339 timestamp).
get_task Core Retrieve task details. 2
ParameterDescription
task_list_id requiredThe ID of the task list containing the task.
task_id requiredThe ID of the task to retrieve.
manage_task Core Consolidated create, update, delete, and move task operations. 10
ParameterDescription
action requiredThe action to perform ("create", "update", "delete", "move").
task_list_id requiredThe ID of the task list.
task_id The ID of the task (required for "update", "delete", and "move").
title The title of the task (required for "create", optional for "update").
notes Notes/description for the task.
status Task status ("needsAction" or "completed").
due Due date in RFC 3339 format.
parent Parent task ID (for subtasks).
previous Previous sibling task ID (for positioning).
destination_task_list Destination task list ID (for moving between lists).
list_task_lists Complete List task lists. 2
ParameterDescription
max_results Maximum number of task lists to return (default: 1000, max: 1000).
page_token Token for pagination.
get_task_list Complete Retrieve task-list details. 1
ParameterDescription
task_list_id requiredThe ID of the task list to retrieve.
manage_task_list Complete Consolidated create/update/delete/clear-completed for task lists. 3
ParameterDescription
action requiredThe action to perform ("create", "update", "delete", "clear_completed").
task_list_id The ID of the task list (required for "update", "delete", and "clear_completed").
title The title for the task list (required for "create" and "update").

Every service in one reference: full API documentation →

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.