This Model Context Protocol (MCP) server provides a bridge between Claude and Google Tasks, allowing you to manage your task lists and tasks directly through Claude.
Note: All ( bar some edits ) code in this project was "vibe coded" - generated with Claude with instructions from me.
This MCP server provides the following functionality:
list-tasklists - List all your task listsget-tasklist - Get details about a specific task listcreate-tasklist - Create a new task listupdate-tasklist - Update an existing task listdelete-tasklist - Delete a task listlist-tasks - List all tasks in a task listget-task - Get details about a specific taskcreate-task - Create a new taskupdate-task - Update an existing taskdelete-task - Delete a taskcomplete-task - Mark a task as completedmove-task - Move a task (reorder or change parent)clear-completed-tasks - Clear all completed tasks from a list~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"google-tasks": {
"command": "node",
"args": ["/path/to/google-tasks-mcp/build/index.js"],
"env": {
"GOOGLE_CLIENT_ID": "your_client_id_here",
"GOOGLE_CLIENT_SECRET": "your_client_secret_here",
"GOOGLE_REDIRECT_URI": "http://localhost:3000/oauth2callback"
}
}
}
}
Replace the path and credentials with your own values.
To install Google Tasks Integration Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @arpitbatra123/mcp-googletasks --client claude
npm install
npm run build
When you first use the Google Tasks MCP server:
authenticate tool to get an authorization URLset-auth-code tool with this code to complete authenticationNote that your authentication is session-based and will be lost when you restart the server. You'll need to re-authenticate each time.

This project is for demonstration purposes only. Use at your own risk.