google-tasks-mcp
Provides tools for reading, creating, updating, completing, and reopening Google Tasks across task lists, including grouped task context by due status and creator.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@google-tasks-mcp show me my overdue tasks and what's due this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
google-tasks-mcp
MCP server that lets Claude read, create and complete Google Tasks.
Tools
Tool | Purpose |
| Open tasks from all lists, grouped: overdue, due soon, no due date, later, created by Claude. Meant to be loaded at the start of a conversation. |
| Task lists. |
| Tasks in one list, filtered by text, due date, completion or creator. |
| New task: title, notes, due date ( |
| Change title, notes or due date. |
| Change status. |
Tasks created through the server get [created-by: claude] appended to their notes. Claude completes such tasks on its own when the work is done; any other task is completed only with user_requested=true, which the server enforces.
Related MCP server: Things MCP Server
Requirements
Python 3.10+
A Google Cloud project with the Google Tasks API enabled and an OAuth client of type Desktop app (download its JSON). Add your account as a test user on the OAuth consent screen. While the app is in Testing, the token expires after 7 days; publish the app to avoid that.
Setup
python3 -m venv .venv
.venv/bin/pip install .
.venv/bin/google-tasks-mcp auth --client-secret client_secret.jsonauth opens a browser for Google sign-in and stores a Tasks-only token in ~/.config/google-tasks-mcp/token.json (mode 0600; override the directory with GOOGLE_TASKS_MCP_HOME). The client JSON is deleted afterwards unless --keep-client-secret is passed.
Other commands: status checks the token, logout revokes and deletes it.
Register with Claude Code:
claude mcp add google-tasks --scope user -- /path/to/.venv/bin/google-tasks-mcpor in Claude Desktop's claude_desktop_config.json:
{ "mcpServers": { "google-tasks": { "command": "/path/to/.venv/bin/google-tasks-mcp" } } }Tests
.venv/bin/pip install -e '.[test]' && .venv/bin/pytestAvailable Tools
7 toolscomplete_taskA
Mark a task completed. Without user_requested=true only tasks created by Claude can be completed; set it only when the user explicitly asked to complete this task.
Inputs: task_id (required), tasklist, user_requested. Returns: object
create_taskA
Create a task (marked as created by Claude). due is YYYY-MM-DD; tasklist is a list
id or title; parent_task_id makes it a subtask.
Inputs: title (required), due, notes, tasklist, +1 more. Returns: object
list_task_listsA
List the user's Google Tasks lists (id and title).
Inputs: no named parameters. Returns: result
list_tasksA
List tasks in one list. tasklist is a list id or title (default list if omitted).
query filters by text in title/notes; due_before (YYYY-MM-DD) keeps tasks due on or
before that date.
Inputs: limit, query, tasklist, due_before, +2 more. Returns: result
reopen_taskC
Mark a completed task as not done again (same ownership rule as complete_task).
Inputs: task_id (required), tasklist, user_requested. Returns: object
tasks_contextB
Snapshot of all open tasks across every list for use as conversation context:
overdue, due within days_ahead days, without a due date, later, and the open tasks
Claude created earlier (candidates for automatic completion).
Inputs: days_ahead. Returns: object
update_taskA
Change a task's title, notes or due date (YYYY-MM-DD; empty string clears it). Only fields that are passed are changed.
Inputs: task_id (required), due, notes, title, +1 more. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Most tools have clearly distinct actions (create, update, complete, reopen), and list_task_lists is unique. The only potential overlap is list_tasks versus tasks_context, since both return task data, but their descriptions clearly distinguish single-list filtered listing from a cross-list contextual snapshot.
Six of seven tools follow a clear verb_noun pattern (create_task, update_task, complete_task, reopen_task, list_task_lists, list_tasks). The outlier tasks_context is a noun phrase rather than an action, which is a minor inconsistency but remains understandable.
Seven tools is well-scoped for a Google Tasks integration, covering task creation, modification, completion lifecycle, and listing. No tool feels redundant or extraneous.
Core task lifecycle operations are covered, but there is no delete_task or get_task operation, and list management only supports listing rather than creating, renaming, or deleting task lists. These are notable gaps for full Google Tasks coverage, though common assistant workflows can mostly work around them.
Related MCP Connectors
Lets Claude, ChatGPT, and Muse read and update your beckett tasks, notes, calendar, and lists.
Manage Redbooth tasks, task lists, comments, tags and files from Claude and other AI assistants.
Manage Superlist tasks and lists in plain language from any MCP-compatible AI agent.
AI-powered to-do list: add, list, complete and organise tasks across lists from any assistant.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables LLMs like Claude to manage Google Tasks by listing, creating, updating, completing, and deleting tasks and task lists, including setting due dates and notes.MIT
- AlicenseBqualityDmaintenanceEnables Claude to interact with task management data in the Things app, including creating tasks, managing projects, searching, and organizing priorities.211MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude to manage Todoist tasks and projects, including creating, listing, updating, completing tasks, and managing projects with natural language.51 npmMIT
- AlicenseAqualityCmaintenanceConnects Microsoft To Do to Claude, enabling task fetching, planning, completion, note-taking, and checklist management through natural language.9MIT