Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

gtasks-mcp

MCP.Pizza Chef: zcaceres

gtasks-mcp is a Model Context Protocol (MCP) server that integrates Google Tasks with AI models like Claude. It provides structured access to Google Tasks, allowing models to list, search, create, update, and delete tasks programmatically. This server supports pagination and detailed task management, enabling seamless task automation and AI-assisted productivity workflows. It is ideal for developers building AI copilots or agents that need real-time interaction with Google Tasks data.

Use This MCP server To

Search tasks in Google Tasks by keyword List all tasks with pagination support Create new tasks with title, notes, and due date Update existing tasks with new details Delete tasks from Google Tasks Integrate Google Tasks into AI productivity agents Automate task management workflows Enable AI models to interact with personal task lists

README

Google Tasks MCP Server

gtasks mcp logo smithery badge

This MCP server integrates with Google Tasks to allow listing, reading, searching, creating, updating, and deleting tasks.

Components

Tools

  • search

    • Search for tasks in Google Tasks
    • Input: query (string): Search query
    • Returns matching tasks with details
  • list

    • List all tasks in Google Tasks
    • Optional input: cursor (string): Cursor for pagination
    • Returns a list of all tasks
  • create

    • Create a new task in Google Tasks
    • Input:
      • taskListId (string, optional): Task list ID
      • title (string, required): Task title
      • notes (string, optional): Task notes
      • due (string, optional): Due date
    • Returns confirmation of task creation
  • update

    • Update an existing task in Google Tasks
    • Input:
      • taskListId (string, optional): Task list ID
      • id (string, required): Task ID
      • uri (string, required): Task URI
      • title (string, optional): New task title
      • notes (string, optional): New task notes
      • status (string, optional): New task status ("needsAction" or "completed")
      • due (string, optional): New due date
    • Returns confirmation of task update
  • delete

    • Delete a task in Google Tasks
    • Input:
      • taskListId (string, required): Task list ID
      • id (string, required): Task ID
    • Returns confirmation of task deletion
  • clear

    • Clear completed tasks from a Google Tasks task list
    • Input: taskListId (string, required): Task list ID
    • Returns confirmation of cleared tasks

Resources

The server provides access to Google Tasks resources:

  • Tasks (gtasks:///<task_id>)
    • Represents individual tasks in Google Tasks
    • Supports reading task details including title, status, due date, notes, and other metadata
    • Can be listed, read, created, updated, and deleted using the provided tools

Getting started

  1. Create a new Google Cloud project
  2. Enable the Google Tasks API
  3. Configure an OAuth consent screen ("internal" is fine for testing)
  4. Add scopes https://www.googleapis.com/auth/tasks
  5. Create an OAuth Client ID for application type "Desktop App"
  6. Download the JSON file of your client's OAuth keys
  7. Rename the key file to gcp-oauth.keys.json and place into the root of this repo (i.e. gcp-oauth.keys.json)

Make sure to build the server with either npm run build or npm run watch.

Installing via Smithery

To install Google Tasks Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @zcaceres/gtasks --client claude

Authentication

To authenticate and save credentials:

  1. Run the server with the auth argument: npm run start auth
  2. This will open an authentication flow in your system browser
  3. Complete the authentication process
  4. Credentials will be saved in the root of this repo (i.e. .gdrive-server-credentials.json)

Usage with Desktop App

To integrate this server with the desktop app, add the following to your app's server configuration:

{
  "mcpServers": {
    "gtasks": {
      "command": "/opt/homebrew/bin/node",
      "args": [
        "{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
      ]
    }
  }
}

gtasks-mcp FAQ

How do I authenticate the gtasks-mcp server with Google Tasks?
Authentication typically uses OAuth 2.0 credentials configured in the server to securely access your Google Tasks data.
Can gtasks-mcp handle multiple task lists?
Yes, it supports specifying taskListId to manage tasks across different Google Task lists.
Does gtasks-mcp support pagination when listing tasks?
Yes, it accepts a cursor parameter to paginate through large task lists efficiently.
How does gtasks-mcp integrate with AI models like Claude?
It exposes Google Tasks data and operations as structured tools that AI models can call to read and modify tasks in real time.
Is it possible to update task details such as title, notes, and due date?
Yes, the update tool allows modifying these fields for existing tasks.
Can I delete tasks using gtasks-mcp?
Yes, the server provides a delete tool to remove tasks from Google Tasks.
What are the prerequisites for running gtasks-mcp?
You need Google API credentials and a compatible MCP host environment to deploy the server.
Does gtasks-mcp support other LLM providers besides Claude?
While designed for Claude, it can be integrated with other LLMs like OpenAI's GPT-4 and Anthropic's Claude via MCP clients.