MCP ExplorerExplorer

Google Tasks

@zcacereson 13 days ago
56 MIT
FreeCommunity
Productivity
#google#tasks#productivity
Google Tasks API Model Context Protocol Server.

Overview

What is Google Tasks

Google Tasks MCP Server is a server integration tool that allows users to interact with Google Tasks, enabling functionalities such as listing, reading, searching, creating, updating, and deleting tasks through an API.

Use cases

Users can utilize the Google Tasks MCP Server for personal task management, project tracking, or workflow organization by effortlessly managing their tasks programmatically or through a desktop application.

How to use

To get started, create a Google Cloud project, enable the Google Tasks API, set up an OAuth consent screen, generate OAuth Client ID credentials, and download the JSON key file. After configuring the server, authenticate using the provided method to store credentials for task management.

Key features

The server provides several tools including search, list, create, update, delete, and clear tasks. It supports task management capabilities such as pagination, task status updates, and task metadata handling, enhancing user productivity and organization.

Where to use

This server can be employed in various environments where task management is needed, including desktop applications, personal automation scripts, or as part of a larger project management system utilizing Google Tasks for tracking and managing tasks.

Content

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"
      ]
    }
  }
}

Tools

search
Search for tasks in Google Tasks.
list
List all tasks in Google Tasks.
create
Create a new task in Google Tasks.
update
Update an existing task in Google Tasks.
delete
Delete a task in Google Tasks.
clear
Clear completed tasks from a Google Tasks task list.

Comments