About zcaceres/gtasks-mcp
zcaceres/gtasks-mcp is an MCP server published by zcaceres in the Developer Tools category: a Google Tasks Model Context Protocol Server for Claude.
The repository has 172 stars and 67 forks, with the last commit 26 days ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/zcaceres/gtasks-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about zcaceres/gtasks-mcp
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 5 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
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.jsonand 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
authargument: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"
]
}
}
}
README fetched from the repository 5 hours ago. The original is authoritative.