
Google Tasks MCP Server
Connects your MCP client to Google Tasks through a self-hosted server you control with your own OAuth credentials. You get 19 tools covering tasklists and tasks: create, read, update, delete, move, complete, plus specialized views like today, overdue, upcoming, search, and digest. Runs over stdio for local client launches or streamable HTTP for VPS hosting with bearer token auth. Supports multi-account routing so you can point one client at your personal Tasks and another at work. Responses are compact for low-context workflows. Reach for this when you want an AI assistant to read your agenda, add tasks during conversations, or query overdue items without opening the Google Tasks UI.
- GitHub stars
- 1
- tools
- 14
- auth
- Secret needed
- transport
- STDIO
- env vars
- 5
- last updated
- May 22, 2026
Tools
14 toolsPublic tool metadata for what this MCP can expose to an agent.
GOOGLETASKS_CLEAR_TASKSPermanently clears all completed tasks from a specified Google Tasks list; this action is destructive and idempotent.1 params
Permanently clears all completed tasks from a specified Google Tasks list; this action is destructive and idempotent.
taskliststringGOOGLETASKS_CREATE_TASK_LISTCreates a new task list with the specified title.1 params
Creates a new task list with the specified title.
tasklist_titlestringGOOGLETASKS_DELETE_TASKDeletes a specified task from a given task list in Google Tasks.2 params
Deletes a specified task from a given task list in Google Tasks.
task_idstringtasklist_idstringGOOGLETASKS_DELETE_TASK_LISTPermanently deletes an existing Google Task list, identified by `tasklist_id`, along with all its tasks; this operation is irreversible.1 params
Permanently deletes an existing Google Task list, identified by `tasklist_id`, along with all its tasks; this operation is irreversible.
tasklist_idstringGOOGLETASKS_GET_TASKUse to retrieve a specific Google Task if its `task_id` and parent `tasklist_id` are known.2 params
Use to retrieve a specific Google Task if its `task_id` and parent `tasklist_id` are known.
task_idstringtasklist_idstringGOOGLETASKS_GET_TASK_LISTRetrieves a specific task list from the user's Google Tasks if the `tasklist_id` exists for the authenticated user.1 params
Retrieves a specific task list from the user's Google Tasks if the `tasklist_id` exists for the authenticated user.
tasklist_idstringGOOGLETASKS_INSERT_TASKCreates a new task in a given `tasklist_id`, optionally as a subtask of an existing `task_parent` or positioned after an existing `task_previous` sibling, where both `task_parent` and `task_previous` must belong to the same `tasklist_id` if specified. IMPORTANT: Date fields (d...12 params
Creates a new task in a given `tasklist_id`, optionally as a subtask of an existing `task_parent` or positioned after an existing `task_previous` sibling, where both `task_parent` and `task_previous` must belong to the same `tasklist_id` if specified. IMPORTANT: Date fields (d...
completedstringdeletedbooleanduestringetagstringhiddenbooleanidstringnotesstringstatusstringneedsAction · completedtask_parentstringtask_previousstringtasklist_idstringtitlestringGOOGLETASKS_LIST_TASK_LISTSFetches the authenticated user's task lists from Google Tasks; results may be paginated.2 params
Fetches the authenticated user's task lists from Google Tasks; results may be paginated.
maxResultsintegerpageTokenstringGOOGLETASKS_LIST_TASKSRetrieves tasks from a Google Tasks list; all date/time strings must be RFC3339 UTC, and `showCompleted` must be true if `completedMin` or `completedMax` are specified.11 params
Retrieves tasks from a Google Tasks list; all date/time strings must be RFC3339 UTC, and `showCompleted` must be true if `completedMin` or `completedMax` are specified.
completedMaxstringcompletedMinstringdueMaxstringdueMinstringmaxResultsintegerpageTokenstringshowCompletedbooleanshowDeletedbooleanshowHiddenbooleantasklist_idstringupdatedMinstringGOOGLETASKS_MOVE_TASKMoves the specified task to another position in the destination task list.5 params
Moves the specified task to another position in the destination task list.
destinationTaskliststringparentstringpreviousstringtaskstringtaskliststringGOOGLETASKS_PATCH_TASKPartially updates an existing task (identified by `task_id`) within a specific Google Task list (identified by `tasklist_id`), modifying only the provided attributes from `TaskInput` (e.g., `title`, `notes`, `due` date, `status`) and requiring both the task and list to exist.11 params
Partially updates an existing task (identified by `task_id`) within a specific Google Task list (identified by `tasklist_id`), modifying only the provided attributes from `TaskInput` (e.g., `title`, `notes`, `due` date, `status`) and requiring both the task and list to exist.
completedstringdeletedbooleanduestringetagstringhiddenbooleanidstringnotesstringstatusstringneedsAction · completedtask_idstringtasklist_idstringtitlestringGOOGLETASKS_PATCH_TASK_LISTUpdates the title of an existing Google Tasks task list.2 params
Updates the title of an existing Google Tasks task list.
tasklist_idstringupdated_titlestringGOOGLETASKS_UPDATE_TASKUpdates the specified task.6 params
Updates the specified task.
duestringnotesstringstatusstringtaskstringtaskliststringtitlestringGOOGLETASKS_UPDATE_TASK_LISTUpdates the authenticated user's specified task list.2 params
Updates the authenticated user's specified task list.
tasklist_idstringtitlestringSponsors
Configuration
GOOGLE_CLIENT_ID*secretGoogle OAuth client ID from the user's Google Cloud project.
GOOGLE_CLIENT_SECRET*secretGoogle OAuth client secret from the user's Google Cloud project.
GOOGLE_REDIRECT_URI*OAuth callback URL for the user's local or hosted server.
DB_PATHPersistent SQLite database path for tokens and cache.
DEFAULT_TASKLISTOptional default tasklist title or ID.
Readme
Google Tasks MCP Server
Connect an MCP-compatible client to Google Tasks through a private server you run yourself. The server exposes compact tools for reading, searching, summarizing, creating, completing, updating, deleting, and moving Google Tasks.
This project is for self-hosted use. You provide your own Google Cloud OAuth credentials, connect your own Google account, and keep tokens in your own SQLite database.
What You Get
- 19 MCP tools for Google Tasks.
- Local stdio mode for desktop/client-launched setups.
- Streamable HTTP mode for local HTTP or VPS hosting.
- Bearer-token HTTP auth, plus optional OAuth 2.0 gateway mode for MCP clients that support OAuth.
- Compact responses designed for low-context assistant workflows.
- Optional operator-managed multi-account bearer-token routing, for familiar setups such as one personal account and one work account.
Choose A Transport
Details
- Repository
- github.com/ebmurha/google-tasks-mcp
- Package
google-tasks-mcp- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active