Labsco
arpitbatra123 logo

Google Tasks

โ˜… 45

from arpitbatra123

Integrate with Google Tasks to manage your to-do lists and tasks.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedAccount requiredAdvanced setup

Google Tasks MCP Server

This Model Context Protocol (MCP) server provides a bridge between MCP clients and Google Tasks, allowing you to manage your task lists and tasks directly from clients like Claude Desktop, Cursor, and Codex.

[!NOTE] All (bar some edits) code in this project was "vibe coded" - generated with Claude/Copilot with instructions from me.

Features

This MCP server provides the following functionality:

Task List Management

  • list-tasklists - List all your task lists
  • get-tasklist - Get details about a specific task list
  • create-tasklist - Create a new task list
  • update-tasklist - Update an existing task list
  • delete-tasklist - Delete a task list

Task Management

  • list-tasks - List all tasks in a task list, including paginated results
  • get-task - Get details about a specific task
  • create-task - Create a new task
  • update-task - Update an existing task
  • delete-task - Delete a task
  • complete-task - Mark a task as completed
  • move-task - Move a task (reorder, change parent, or move across task lists)
  • clear-completed-tasks - Clear all completed tasks from a list

Authentication Flow

When you first use the Google Tasks MCP server:

  1. Use the authenticate tool to get an authorization URL
  2. Visit the URL in your browser and sign in with your Google account
  3. After authorizing, you'll receive a code on the browser page
  4. Use the set-auth-code tool with this code to complete authentication
  5. You can now use all other tools to interact with Google Tasks

Note: Your authentication tokens (including refresh tokens) are automatically saved to disk at ~/.config/google-tasks-mcp/credentials.json with restricted permissions (600). This means:

  • You only need to authenticate once - credentials persist across server restarts
  • Automatic token refresh - Access tokens are automatically refreshed when they expire (typically after 1 hour) using the saved refresh token
  • No re-authentication needed - After the initial setup, you won't need to authenticate again unless you revoke access or delete the credentials file

Implementation Features

This MCP server includes the following improvements:

  • Persistent token storage - Authentication credentials are saved to disk (~/.config/google-tasks-mcp/credentials.json) with restricted permissions, so you only need to authenticate once
  • Environment variable validation - Startup validation ensures required credentials are configured with clear error messages
  • Automatic token refresh - OAuth tokens are automatically refreshed when they expire, eliminating the need to re-authenticate during active sessions or after restarts
  • Enhanced input validation - Comprehensive validation of all inputs including ID formats, string lengths, and RFC 3339 date formats
  • HTML sanitization - OAuth callback responses are sanitized to prevent XSS vulnerabilities
  • Graceful shutdown - Proper cleanup of resources on SIGINT/SIGTERM signals
  • Type safety - Full TypeScript type safety throughout the codebase with proper interfaces
  • Configurable redirect URI - The OAuth redirect URI can be customized via the GOOGLE_REDIRECT_URI environment variable

Screenshots

Claude Desktop

Claude Desktop Screenshot

Cursor

Cursor Screenshot