Google Tasks MCP Server
Enables management of Google Tasks through natural language, including listing, searching, creating, updating, and deleting tasks, as well as clearing completed tasks from task lists.
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 Servercreate a task to 'Buy groceries' due tomorrow"
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 Server
A Model Context Protocol (MCP) server for Google Tasks. Manage task lists and tasks through natural language in Claude Desktop and other MCP clients.
Forked from zcaceres/gtasks-mcp with stronger auth options, multi-list support, pagination, and hierarchy tools.
Registry name: io.github.alvinjchoi/gtasks-mcp
npm: @alvincrave/gtasks-mcp
Features
List and search tasks (optionally scoped to one task list)
Paginate through all tasks (no silent 100-task cap)
Create, update, delete, and clear completed tasks
Discover task lists (
list_task_lists)View parent/child hierarchy (
list_with_tree)Reorder, nest, or move tasks across lists (
move)OAuth2 auth via env vars, credential files, or interactive
authDocker support
Related MCP server: google-tasks-mcp
Installation
Recommended (Claude Desktop / any MCP client) — runs the latest published npm package:
npx -y @alvincrave/gtasks-mcpOr install globally:
npm install -g @alvincrave/gtasks-mcpFrom source
git clone https://github.com/alvinjchoi/gtasks-mcp.git
cd gtasks-mcp
npm install
npm run buildSetup
Option A — Environment variables (Claude Desktop)
Create a Google Cloud project and enable the Google Tasks API.
Create OAuth 2.0 Desktop credentials and obtain a refresh token (OAuth Playground with scope
https://www.googleapis.com/auth/tasksworks).Configure Claude Desktop (
~/Library/Application Support/Claude/claude_desktop_config.jsonon macOS):
{
"mcpServers": {
"gtasks": {
"command": "npx",
"args": ["-y", "@alvincrave/gtasks-mcp"],
"env": {
"GOOGLE_CLIENT_ID": "your_client_id_here",
"GOOGLE_CLIENT_SECRET": "your_client_secret_here",
"GOOGLE_REFRESH_TOKEN": "your_refresh_token_here"
}
}
}
}Option B — Credential files (local / shared with other Google MCP servers)
Download your OAuth client JSON (
gcp-oauth.keys.json).Authenticate once:
export GTASKS_CREDENTIALS_PATH=/path/to/gcp-oauth.keys.json
export GTASKS_TOKEN_PATH=/path/to/.gtasks-server-credentials.json
node dist/index.js authRun the server with the same env vars set (or place
gcp-oauth.keys.jsonin the project root and use the defaults).
Aliases also accepted:
Purpose | Preferred | Alias |
OAuth client keys |
|
|
Saved tokens |
|
|
Option C — Home config file
Create ~/.gtasks-credentials.json:
{
"clientId": "your_client_id",
"clientSecret": "your_client_secret",
"refreshToken": "your_refresh_token"
}Tools
Tool | Description |
| Search tasks by title/notes. Optional |
| List tasks (all lists, or one via |
| List task list names and IDs. |
| Tree view for one list (parent/child, position order). |
| Reorder, nest/un-nest, or move across lists. |
| Create a task ( |
| Patch a task (only provided fields change). |
| Delete a task. |
| Clear completed tasks from a list. |
Usage examples
show my task lists
list tasks in list <id>
search for tasks containing "meeting"
create a task named "Prepare presentation" due 2026-07-20
show the task tree for list <id>
move task <id> under parent <parentId>
mark task <id> completedDocker
docker build -t gtasks-mcp .
docker run -i \
-e GOOGLE_CLIENT_ID=your_client_id \
-e GOOGLE_CLIENT_SECRET=your_client_secret \
-e GOOGLE_REFRESH_TOKEN=your_refresh_token \
gtasks-mcpDevelopment
npm install
npm run build
npm startAuth check / interactive login:
npm run build
node dist/index.js authSecurity Notes
Treat refresh tokens like passwords
Prefer env vars or ignored credential files — never commit them
Rotate credentials if they leak
Contributors
ArtyMcLabin — pagination,
taskListIdfiltering,list_task_lists,list_with_tree,move, and file-based auth (#1)zcaceres — original Google Tasks MCP server
alvinjchoi — fork maintenance, Smithery/npm packaging
See CONTRIBUTORS.md.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
AI-native task management: list, create, update and archive tasks with rich context for AI agents
Create and manage MeisterTask projects, tasks, and notes from your AI assistant.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables integration with Google Tasks API to create and manage tasks through OAuth 2.0 authentication. Supports listing task lists and creating new tasks with automatic token refresh.-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Google Tasks, including listing, creating, updating, deleting, and completing tasks via the Google Tasks API.39 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to securely authenticate with Google Tasks and perform full CRUD operations on task lists and tasks, including moving tasks and clearing completed tasks.18 npm-
- AlicenseNot gradedqualityCmaintenanceEnables managing Google Tasks through natural language, including listing, creating, completing, deleting, and updating tasks.48 npm1MIT