by zcaceres
gtasks-mcp is a Google Tasks Model Context Protocol (MCP) server that enables programmatic management of Google Tasks. It allows users to perform comprehensive task operations, including creation, reading, updating, and deletion, and integrates with applications like Claude Desktop for enhanced workflow automation.
gtasks-mcp is a Google Tasks Model Context Protocol (MCP) server designed to integrate with Google Tasks. It allows users to manage their Google Tasks programmatically, enabling operations like listing, reading, searching, creating, updating, and deleting tasks. It is built with TypeScript and can be integrated with applications like Claude Desktop via Smithery.
To use gtasks-mcp, you need to set up a Google Cloud project, enable the Google Tasks API, configure an OAuth consent screen, and create an OAuth Client ID. The client ID JSON file should be renamed to gcp-oauth.keys.json
and placed in the root of the repository. The server can be built using npm run build
or npm run watch
. For automatic installation with Claude Desktop, you can use Smithery via npx -y @smithery/cli install @zcaceres/gtasks --client claude
. Authentication is done by running the server with the auth
argument (npm run start auth
), which opens a browser for the OAuth flow. Credentials are saved in .gdrive-server-credentials.json
. For desktop app integration, you need to add a specific JSON configuration to your app's server configuration, pointing to the compiled index.js
file.
list
tool supports pagination using a cursor.gcp-oauth.keys.json
in the repo root.npx -y @smithery/cli install @zcaceres/gtasks --client claude
.npm run start auth
and complete the authentication flow in your browser. Credentials will be saved in .gdrive-server-credentials.json
.search
: Search for tasks.list
: List all tasks.create
: Create a new task.update
: Update an existing task.delete
: Delete a task.clear
: Clear completed tasks.gtasks:///<task_id>
.This MCP server integrates with Google Tasks to allow listing, reading, searching, creating, updating, and deleting tasks.
search
query
(string): Search querylist
cursor
(string): Cursor for paginationcreate
taskListId
(string, optional): Task list IDtitle
(string, required): Task titlenotes
(string, optional): Task notesdue
(string, optional): Due dateupdate
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 datedelete
taskListId
(string, required): Task list IDid
(string, required): Task IDclear
taskListId
(string, required): Task list IDThe server provides access to Google Tasks resources:
gtasks:///<task_id>
)
https://www.googleapis.com/auth/tasks
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
.
To install Google Tasks Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @zcaceres/gtasks --client claude
To authenticate and save credentials:
auth
argument: npm run start auth
.gdrive-server-credentials.json
)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"
]
}
}
}
Reviews feature coming soon
Stay tuned for community discussions and feedback