Google Tasks MCP server
Read/write Google Tasks: create, update, complete, delete, move tasks and lists, with due dates.
1 stars71 downloads/wk
Reviews
Write oneNobody has reviewed Google Tasks yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Google Tasks tools (14, 6 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
google_tasks_clear_completed_tasksClear all completed tasks from a task list. Cleared tasks are hidden from the default view (they become 'hidden' and won't reappear unless show_hidden=true is passed to google_tasks_list_tasks). This does not delete incomplete tasks. Args: - tasklist_id (string): ID of the task list, or '@default' (default: '@default') Returns a confirmation message. Examples: - Use when: "Clear out everything I'v
google_tasks_complete_taskMark a task as completed. Args: - tasklist_id (string): ID of the task list, or '@default' (default: '@default') - task_id (string): ID of the task to complete - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns the updated task with status='completed' and a completion timestamp. Examples: - Use when: "Mark 'buy milk' as done"
google_tasks_create_taskwrite actiongoogle_tasks_create_tasklistwrite actionCreate a new Google Task list (a new top-level container, e.g. "Work" or "Groceries"). Args: - title (string): Title for the new list - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns the newly created task list's id and title. Use the returned id as tasklist_id in other tools. Examples: - Use when: "Make me a new task list called Home Renovation" - Don't use whe
google_tasks_delete_taskwrite actionPermanently delete a single task. This cannot be undone. Args: - tasklist_id (string): ID of the task list, or '@default' (default: '@default') - task_id (string): ID of the task to delete Returns a confirmation message. Don't use when: You want to remove all completed tasks at once — use google_tasks_clear_completed_tasks instead. Error Handling: - Returns "Error: Not found (404)" if task_id does
google_tasks_delete_tasklistwrite actionPermanently delete a Google Task list AND all tasks in it. This cannot be undone and cannot target the '@default' list. Args: - tasklist_id (string): ID of the task list to delete (must not be '@default') Returns a confirmation message. Error Handling: - Returns "Error: Invalid request (400)" if you try to delete the default list. - Returns "Error: Not found (404)" if tasklist_id doesn't exist.
google_tasks_get_taskFetch full details for a single task by ID. Args: - tasklist_id (string): ID of the task list, or '@default' (default: '@default') - task_id (string): ID of the task (from google_tasks_list_tasks) - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns the task's title, status, due date, notes, completion time, and parent (if a subtask). Error Handling: - Returns "Erro
google_tasks_get_tasklistFetch metadata for a single Google Task list by ID. Args: - tasklist_id (string): ID of the task list (from google_tasks_list_tasklists) - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns the task list's id, title, and last-updated time. Error Handling: - Returns "Error: Not found (404)" if the tasklist_id doesn't exist.
google_tasks_list_tasklistsList all of the user's Google Task lists (the top-level containers tasks live in, shown as separate lists in the Google Tasks UI). Args: - limit (number): Max task lists to return, 1-100 (default: 20) - page_token (string, optional): Pagination token from a previous response's next_page_token - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns task list id + title
google_tasks_list_tasksgoogle_tasks_move_taskgoogle_tasks_reopen_taskMark a completed task as not-done (status back to 'needsAction'). Args: - tasklist_id (string): ID of the task list, or '@default' (default: '@default') - task_id (string): ID of the task to reopen - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns the updated task with status='needsAction'.
google_tasks_update_taskwrite actiongoogle_tasks_update_tasklistwrite actionRename an existing Google Task list. Args: - tasklist_id (string): ID of the task list to rename - title (string): New title - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns the updated task list. Error Handling: - Returns "Error: Not found (404)" if tasklist_id doesn't exist.
Public scan report
scanner v0.1.5 · 2026-09-19 · same rubric, same numbers if you re-run it
- Code scan21 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 9 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Install directly
Runs npx -y @girmmy/google-tasks-mcp-server on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add google-tasks -- npx -y @girmmy/google-tasks-mcp-server
Google Tasks: common questions
- Is Google Tasks MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the Google Tasks safety report
- How do I install Google Tasks?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Google Tasks need an API key?
- No secret keys are declared. It reads 3 settings from the environment.
- Is Google Tasks maintained?
- The last commit was 10 days ago (2026-09-10). The latest release is v1.0.3.