zcaceres/gtasks-mcp
Communication
This MCP server integrates with Google Tasks to allow listing, reading, searching, creating, updating, and deleting tasks.
TypeScript codebaseCloud Service
Installation
Claude Desktop
Installation Command
npx -y @smithery/cli install @zcaceres/gtasks --client claude
Configuration
{ "mcpServers": { "gtasks": { "command": "/opt/homebrew/bin/node", "args": [\ "{ABSOLUTE PATH TO FILE HERE}/dist/index.js"\ ] } } }
README
Google Tasks MCP Server
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 IDtitle
(string, required): Task titlenotes
(string, optional): Task notesdue
(string, optional): Due date
Returns confirmation of task creation
- update
Update an existing task in Google Tasks
Input:taskListId
(string, optional): Task list IDid
(string, required): Task IDuri
(string, required): Task URItitle
(string, optional): New task titlenotes
(string, optional): New task notesstatus
(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 IDid
(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
- Create a new Google Cloud project
- Enable the Google Tasks API
- Configure an OAuth consent screen ("internal" is fine for testing)
- Add scopes
https://www.googleapis.com/auth/tasks
- Create an OAuth Client ID for application type "Desktop App"
- Download the JSON file of your client's OAuth keys
- 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:
- Run the server with the
auth
argument:npm run start auth
- This will open an authentication flow in your system browser
- Complete the authentication process
- 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"\
]
}
}
}