8000 GitHub - alvinjchoi/gtasks-mcp: A Google Tasks Model Context Protocol Server for Claude
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

A Google Tasks Model Context Protocol Server for Claude

License

Notifications You must be signed in to change notification settings

alvinjchoi/gtasks-mcp

 
 

Repository files navigation

Google Tasks MCP Server

A Model Context Protocol (MCP) server for Google Tasks integration in Claude Desktop. This server enables AI assistants to manage Google Tasks through natural language interactions.

Forked from Zach Caceres' (zcaceres) original implementation to enhance authentication handling, add support for multiple task lists, and provide a more robust npm package with Smithery integration for Claude Desktop. This fork is fully functional and properly deployed on Smithery, making it ready for immediate use with Claude.

smithery badge npm version License: MIT

Features

  • List all tasks in your Google Tasks lists
  • Search for specific tasks by query
  • Create new tasks with title, notes, and due date
  • Update existing tasks (title, notes, status, due date)
  • Delete tasks
  • Clear completed tasks from a task list
  • Full integration with Google Tasks API
  • Secure OAuth2 authentication
  • Docker support for containerized deployment

Task Creation Example

Here's a simple example of task creation using natural language with Claude:

Task Creation Example

With just a simple instruction like "create a task named 'eat a banana in the morning'", Claude can instantly create the task in your Google Tasks.

Installation

Installing via Smithery

To install Google Tasks Integration for Claude Desktop automatically:

npx -y @smithery/cli install @alvincrave/gtasks-mcp --client claude

Manual Installation

npm install @alvincrave/gtasks-mcp

Setup

  1. Create a Google Cloud Project and obtain credentials:

    a. Create a Google Cloud Project:

    • Go to Google Cloud Console
    • Create a new project or select an existing one
    • Enable the Google Tasks API for your project

    b. Create OAuth 2.0 Credentials:

    • Go to "APIs & Services" > "Credentials"
    • Click "Create Credentials" > "OAuth client ID"
    • Choose "Desktop app" as application type
    • Give it a name and click "Create"
    • You will get your GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET

    c. Get Refresh Token:

    • Go to OAuth 2.0 Playground
    • Click the gear icon (Settings) in the top right
    • Check "Use your own OAuth credentials"
    • Enter your OAuth Client ID and Client Secret
    • In the left panel, find "Tasks API v1" and select "https://www.googleapis.com/auth/tasks"
    • Click "Authorize APIs" and complete the OAuth flow
    • Click "Exchange authorization code for tokens"
    • Copy the "Refresh token" - this is your GOOGLE_REFRESH_TOKEN
  2. Configure in Claude Desktop:

{
  "mcpServers": {
    "gtasks": {
      "command": "npx",
      "args": ["-y", "@alvincrave/gtasks-mcp"],
      "env": {
        "GOOGLE_CLIENT_ID": "your_client_id_here",
        "GOOGLE_CLIENT_SECRET": "your_client_secret_here",
        "GOOGLE_REFRESH_TOKEN": "your_refresh_token_here"
      },
      "connectionTypes": ["stdio"],
      "autoRestart": true
    }
  }
}

Docker Support

You can run this server in a Docker container:

# Build the Docker image
docker build -t gtasks-mcp .

# Run the container
docker run -p 3000:3000 \
  -e GOOGLE_CLIENT_ID=your_client_id \
  -e GOOGLE_CLIENT_SECRET=your_client_secret \
  -e GOOGLE_REFRESH_TOKEN=your_refresh_token \
  gtasks-mcp

Usage Examples

The server provides several tools that can be used through Claude Desktop:

Search Tasks

search for tasks containing "meeting"

List Tasks

show me all my tasks

Create Task

create a task to "Prepare presentation" due on Friday

Update Task

mark the "Send email" task as completed

Delete Task

delete the task about "old project"

Clear Completed Tasks

clear all completed tasks from my list

Security Notes

  • Keep your Google API credentials secure
  • Regularly rotate your refresh tokens
  • Store sensitive information in Claude Desktop configuration
  • Never share or commit your credentials to version control
  • The refresh token gives access to your Google Tasks, treat it like a password

License

This project is licensed under the MIT License.

About

A Google Tasks Model Context Protocol Server for Claude

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 49.6%
  • JavaScript 45.6%
  • Dockerfile 3.7%
  • Shell 1.1%
0