Google Tasks MCP
Allows AI agents to manage a user's Google Tasks, providing tools for listing, creating, updating, deleting, and moving task lists and tasks, including subtasks, completion status, and clearing completed tasks.
Click on "Install 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@Google Tasks MCP what tasks do I have due today?"
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
An MCP server that lets AI agents read and manage a user's Google Tasks. It uses
Google's official Tasks API, OAuth 2.0 Desktop App credentials, and the MCP
TypeScript SDK over stdio.
Features
List, inspect, create, rename, and delete task lists
List and filter tasks with API pagination
Create, edit, complete, reopen, move, reorder, and delete tasks
Create and move subtasks using
parentandpreviousClear completed tasks
MCP safety annotations plus explicit confirmation for destructive operations
OAuth refresh token stored outside the repository with owner-only permissions
Requirements
Node.js 20 or newer
A Google account
A Google Cloud project with the Google Tasks API enabled
1. Configure Google Cloud
Open Google Cloud Console.
Create or select a project.
Enable Google Tasks API under APIs & Services → Library.
Configure the OAuth consent screen.
Under APIs & Services → Credentials, create an OAuth client ID with application type Desktop app.
Download the OAuth Desktop client JSON as
client_secret.jsonand keep it protected outside this repository.
2. Install, build, and authorize
npm install
npm run build
npm run auth -- --client-secret /secure/google/client_secret.jsonThe auth command accepts only a Google OAuth Desktop client JSON containing the top-level
installed object. It opens a browser consent flow and saves the Tasks refresh token to:
~/.config/google-tasks-mcp/token.jsonOverride the generated token location when needed:
GOOGLE_TOKEN_FILE=/secure/google/tasks-token.json \
npm run auth -- --client-secret /secure/google/client_secret.jsonFor an installed package, run:
google-tasks-mcp-auth --client-secret /secure/google/client_secret.jsonThe server requests the full https://www.googleapis.com/auth/tasks scope
because it exposes both read and write operations. Later MCP server runs use the
stored token and refresh access automatically; provide client_secret.json again
only when authorizing or re-authorizing the project. Never commit either JSON file.
3. Connect an MCP host
Use the built server directly from this checkout. Replace the paths with absolute paths on your machine.
Codex (~/.codex/config.toml)
[mcp_servers.google_tasks]
command = "node"
args = ["/absolute/path/google-task-mcp/dist/index.js"]
[mcp_servers.google_tasks.env]
GOOGLE_TOKEN_FILE = "/Users/you/.config/google-tasks-mcp/token.json"Hosts using JSON configuration
{
"mcpServers": {
"google_tasks": {
"command": "node",
"args": ["/absolute/path/google-task-mcp/dist/index.js"],
"env": {
"GOOGLE_TOKEN_FILE": "/Users/you/.config/google-tasks-mcp/token.json"
}
}
}
}Restart the MCP host after changing its configuration.
Available tools
Tool | Purpose |
| List task lists |
| Get one task list |
| Create a task list |
| Rename a task list |
| Delete a task list; requires |
| List/filter tasks with pagination |
| Get one task |
| Create a task or subtask |
| Patch title, notes, due date, or status |
| Mark a task completed |
| Mark a task as needing action |
| Reorder, reparent, or move a task to another list |
| Delete a task; requires |
| Clear completed tasks; requires |
Google Tasks stores only the date portion of a due timestamp. A time-of-day sent through the API is discarded. Task titles are limited to 1,024 characters and notes to 8,192 characters.
Test with MCP Inspector
npm run build
npm run inspectThe stdio protocol uses stdout exclusively. Runtime diagnostics are therefore
written to stderr.
Package for distribution
Create an installable npm tarball:
npm packAfter publishing the package, a host can launch it with:
{
"command": "npx",
"args": ["-y", "google-tasks-mcp@0.1.0"],
"env": {
"GOOGLE_TOKEN_FILE": "/secure/google/tasks-token.json"
}
}For one user on one workstation, stdio plus a local token is the simplest and
safest deployment. For multiple users or a hosted service, use MCP Streamable
HTTP and implement per-user OAuth sessions and encrypted server-side token
storage; do not share one refresh token among users.
References
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.
Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.
Manage your MakeMeBetter AI tasks, habits, and goals from your AI assistant.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/phamviet86/google-task-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server