
Google Tasks MCP Server
Manage Google Tasks from your AI assistant — list, search, create, update, and delete tasks.
Add to your client
Copy the config for your MCP client and paste it into its config file.
npx -y @smithery/cli install @zcaceres/gtasks --client claudePaste into ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"google-tasks-mcp-server": {
"command": "/opt/homebrew/bin/node",
"args": [
"{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
]
}
}
}Before you start
- Node.js
- A Google Cloud project with the Google Tasks API enabled
- An OAuth consent screen configured with the scope https://www.googleapis.com/auth/tasks
- An OAuth Client ID for application type "Desktop App", with the key file saved as gcp-oauth.keys.json in the repo root
- Build the server with `npm run build` (or `npm run watch`)
About Google Tasks MCP Server
Google Tasks MCP Server connects an MCP client to the Google Tasks API. It supports listing, reading, searching, creating, updating, deleting, and clearing tasks. Individual tasks are also exposed as MCP resources under gtasks:///<task_id> URIs, supporting reading of task details such as title, status, due date, and notes. The server runs over stdio and authenticates through Google OAuth.
Tools & capabilities (6)
searchSearch for tasks in Google Tasks. Input: query (string). Returns matching tasks with details.
listList all tasks in Google Tasks. Optional input: cursor (string) for pagination. Returns a list of all tasks.
createCreate a new task. Inputs: taskListId (string, optional), title (string, required), notes (string, optional), due (string, optional). Returns confirmation of task creation.
updateUpdate an existing task. Inputs: taskListId (string, optional), id (string, required), uri (string, required), title (string, optional), notes (string, optional), status (string, optional: "needsAction" or "completed"), due (string, optional). Returns confirmation of task update.
deleteDelete a task. Inputs: taskListId (string, required), id (string, required). Returns confirmation of task deletion.
clearClear completed tasks from a Google Tasks task list. Input: taskListId (string, required). Returns confirmation of cleared tasks.
When to use it
- Let an AI assistant add tasks to your Google Tasks while you work
- Search and list your existing Google Tasks by natural-language query
- Update task titles, notes, due dates, or completion status conversationally
- Clean up a task list by clearing completed tasks
Security notes
Requires Google OAuth credentials with the `https://www.googleapis.com/auth/tasks` scope. You must create your own Google Cloud project and OAuth Client ID (Desktop App). The OAuth key file (`gcp-oauth.keys.json`) and saved credentials (`.gdrive-server-credentials.json`) are stored in the repo root — keep them out of version control. The server has full read/write/delete access to your Google Tasks.
Google Tasks MCP Server FAQ
How do I authenticate?
Run the server with the `auth` argument (`npm run start auth`). This opens an authentication flow in your system browser; after completing it, credentials are saved in the repo root as `.gdrive-server-credentials.json`.
Can I install it automatically?
Yes. For Claude Desktop you can install it via Smithery with `npx -y @smithery/cli install @zcaceres/gtasks --client claude`.
What OAuth scope does it need?
It requires the `https://www.googleapis.com/auth/tasks` scope, which grants full read/write access to your Google Tasks.
Alternatives to Google Tasks MCP Server
AI-powered task-management system for AI-driven development that drops into Cursor, Windsurf, Claude Code, and more.
Gives AI assistants deep knowledge of 2,000+ n8n nodes, plus optional workflow management on your own n8n instance.
Background computer-use MCP server that drives native macOS, Windows, and Linux desktop apps without stealing focus.
Compare Google Tasks MCP Server with: