Google Tasks MCP Server
A Model Context Protocol (MCP) server that provides access to your Google Tasks. This server enables LLMs (like Claude) to list, create, update, complete, and delete your Google Tasks.
Features
- List Task Lists: View all your task lists.
- Manage Tasks: Create, update, delete, and complete tasks.
- Task Details: Set due dates, notes, and move tasks (subtasks).
- FastMCP: Built using the
fastmcplibrary for easy integration.
Setup
Prerequisites
- Python 3.10 or higher
- A Google Cloud Platform (GCP) Project
uv(recommended) orpip
Installation
-
Clone this repository:
git clone https://github.com/yourusername/gtasks-mcp.git cd gtasks-mcp -
Create a virtual environment and install dependencies:
# Using uv (faster) uv venv source .venv/bin/activate uv pip install -r requirements.txt # OR using pip python3 -m venv venv source venv/bin/activate pip install -r requirements.txt
Google Cloud Setup
To use this server, you need to set up a Google Cloud project and enable the Tasks API.
- Create a Project: Go to the Google Cloud Console and create a new project.
- Enable API:
- Go to APIs & Services > Library.
- Search for "Google Tasks API" and click Enable.
- Configure Consent Screen:
- Go to APIs & Services > OAuth consent screen.
- Select External (unless you are a Google Workspace user and want Internal).
- Fill in the required App Information (App name: "GTasks MCP", User support email, Developer contact email).
- Click Save and Continue.
- Scopes: Click Add or Remove Scopes. Filter for
tasks. Selecthttps://www.googleapis.com/auth/tasks(Access to your tasks). - Click Update and then Save and Continue.
- Test Users: Add your own email address as a test user. This is critical while the app is in "Testing" mode.
- Create Credentials:
- Go to APIs & Services > Credentials.
- Click Create Credentials > OAuth client ID.
- Application type: Desktop app.
- Name: "GTasks MCP User".
- Click Create.
- Download Client Secret:
- Download the JSON file for your new OAuth client.
- Rename the file to
client_secret.json. - Move it to the root directory of this project.
Usage with Claude for Desktop
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"google-tasks": {
"command": "/absolute/path/to/your/venv/bin/python",
"args": [
"/absolute/path/to/gtasks-mcp/server.py"
]
}
}
}
Note: Replace /absolute/path/to/ with the actual full paths on your machine.
Authentication
When you first run the server (or when Claude tries to use it), it will open a browser window asking you to log in with your Google account.
- Select the account you added as a Test User.
- You will likely see a "Google hasn't verified this app" warning. This is expected for personal testing apps.
- Click Advanced > Go to GTasks MCP (unsafe).
- Click Continue to grant access.
- The browser will show "The authentication flow has completed". You can close it.
A token.json file will be created to store your credentials for future use.
License
MIT