Google Tasks MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_BEARER_TOKEN | No | Shared secret required by the remote endpoint | |
| GTASKS_TOKEN_PATH | No | Override the local token cache location | |
| GOOGLE_REFRESH_TOKEN | No | Pre-minted refresh token (required for remote) | |
| GOOGLE_OAUTH_CLIENT_ID | No | OAuth client ID (both modes) | |
| GOOGLE_OAUTH_CLIENT_SECRET | No | OAuth client secret (both modes) |
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 |
|---|---|
| list_tasklistsA | List all Google Tasks lists in the authorized account with their ids and titles. Call this first to learn which list to target. |
| create_tasklistA | Create a new, empty task list. |
| rename_tasklistA | Rename an existing task list. |
| delete_tasklistA | Permanently delete a task list AND every task in it. Irreversible. Requires confirm=true. |
| list_tasksA | List tasks in a task list, optionally filtered by status and due-date window. Defaults to open (not completed) tasks in the default list. Dates are YYYY-MM-DD. |
| get_taskA | Fetch a single task by id. |
| create_taskA | Create one task. |
| update_taskA | Change a task's title, notes, due date, or status. Pass due=null or notes=null to clear that field. Only the fields you pass are changed. |
| complete_taskB | Mark a task as completed. |
| reopen_taskA | Mark a completed task as not done again. |
| move_taskA | Reorder a task, nest it under a parent, un-nest it, or move it to another list. Omit parentTaskId to move to top level. Recurring tasks cannot be moved between lists. |
| delete_taskA | Permanently delete a task (and its subtasks). Irreversible. |
| clear_completedA | Hide all completed tasks in a list (same as 'Clear completed' in the Google Tasks UI). They stay retrievable with list_tasks status=completed but disappear from the default view. Not reversible via the API. |
| create_tasksA | Create up to 100 tasks in one call (e.g. every reading from a syllabus). Each item takes title, optional notes, optional due (YYYY-MM-DD, all-day). With skipIfExists=true (default) an item whose title AND due exactly match an existing open task in the list is skipped, so retrying is safe. Returns a per-item report — check it for partial failures. |
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 14 tools
Each tool targets a distinct resource-action pair (e.g., list_tasklists vs list_tasks, create_task vs create_tasks, clear_completed vs delete_task). The descriptions make the boundaries clear, so an agent should rarely misselect.
All tools follow a consistent verb_noun snake_case pattern (list_tasklists, create_task, move_task, etc.). The only variation is plural for batch operations (create_tasks), which is intuitive and consistent.
With 14 tools, the set is well-scoped for Google Tasks. Each tool covers a distinct operation, and the count falls within the ideal 3-15 range without redundancy or bloat.
The surface provides full CRUD and lifecycle coverage for both task lists (list, create, rename, delete) and tasks (create, list, get, update, complete, reopen, move, delete, clear completed). No obvious gaps exist for the domain.