google-tasks-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_TASKS_MCP_DIR | No | Folder where credentials.json and token.json are stored. Windows default: %USERPROFILE%\.google-tasks-mcp; macOS/Linux default: ~/.google-tasks-mcp. Override this folder with the GOOGLE_TASKS_MCP_DIR environment variable. | ~/.google-tasks-mcp |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gtasks_list_task_listsA | List the user's Google Tasks lists (id and title). Use the returned id as list_id in the other tools. Example: "what lists do I have?" |
| gtasks_create_task_listB | Create a new Google Tasks list. Example: "create a list called Groceries". |
| gtasks_delete_task_listA | Permanently delete a task list AND all the tasks in it. Cannot be undone. The default list cannot be deleted. Confirm with the user first. |
| gtasks_list_tasksA | List tasks in one list, optionally filtered by completion and due date. By default only pending (not completed) tasks are returned. Dates are YYYY-MM-DD and inclusive. Examples:
|
| gtasks_get_taskB | Get one task by ID, including notes and due date. |
| gtasks_create_taskA | Create a task in a list. The due date is a day only (YYYY-MM-DD); Google Tasks cannot store a time or a reminder. Example: "remind me to call the bank on 2026-11-10" -> title="Call the bank", due="2026-11-10". |
| gtasks_update_taskA | Change a task's title, notes, due date or status. Only the fields you pass are changed. Pass due=null to remove the due date and notes=null to clear the notes. Set status='needsAction' to reopen a completed task. To simply finish a task use gtasks_complete_task. |
| gtasks_complete_taskA | Mark a task as completed. Example: "mark the bank call as done". |
| gtasks_delete_taskA | Delete a task (and its subtasks). To keep a record, use gtasks_complete_task instead. Confirm with the user first. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool targets a distinct resource+action pair, and descriptions explicitly route overlapping cases (e.g. update_task says to use gtasks_complete_task for finishing a task, delete_task says to use complete_task to keep a record). The only real overlap is that update_task can set status, which duplicates complete_task, but the descriptions handle it well.
Every tool follows the same gtasks_<verb>_<noun> snake_case pattern (create/delete/list/get/update/complete). No style mixing or inconsistent verb conventions.
Nine tools cleanly cover the domain: three for lists, six for tasks. Each tool earns its place with no redundant or filler operations.
Full lifecycle coverage for tasks (create, get, list, update, complete, delete) and near-full for lists (create, list, delete). Minor gaps: no way to rename a task list, and no explicit tools for subtasks, moving/reordering tasks, or clearing completed tasks, though most can be worked around.