
How to add Google Tasks MCP Server to Cursor
Manage Google Tasks from your AI assistant — list, search, create, update, and delete tasks. Paste the config into ~/.cursor/mcp.json and restart Cursor.
Last updated June 14, 2026 · 142★ · stdio · oauth
Cursor config for Google Tasks MCP Server
npx -y @smithery/cli install @zcaceres/gtasks --client claude{
"mcpServers": {
"google-tasks-mcp-server": {
"command": "/opt/homebrew/bin/node",
"args": [
"{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
]
}
}
}Setup steps
- 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
- 2Paste the Google Tasks MCP Server config below into the "mcpServers" object.
- 3Fill in placeholder secrets, then save.
- 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
- 5Ask Cursor to use one of Google Tasks MCP Server's tools to confirm it's connected.
Before you start
- Node.js
- A Google Cloud project with the Google Tasks API enabled
- An OAuth consent screen configured with the scope https://www.googleapis.com/auth/tasks
- An OAuth Client ID for application type "Desktop App", with the key file saved as gcp-oauth.keys.json in the repo root
- Build the server with `npm run build` (or `npm run watch`)
What Google Tasks MCP Server can do in Cursor
searchSearch for tasks in Google Tasks. Input: query (string). Returns matching tasks with details.
listList all tasks in Google Tasks. Optional input: cursor (string) for pagination. Returns a list of all tasks.
createCreate a new task. Inputs: taskListId (string, optional), title (string, required), notes (string, optional), due (string, optional). Returns confirmation of task creation.
updateUpdate an existing task. Inputs: taskListId (string, optional), id (string, required), uri (string, required), title (string, optional), notes (string, optional), status (string, optional: "needsAction" or "completed"), due (string, optional). Returns confirmation of task update.
deleteDelete a task. Inputs: taskListId (string, required), id (string, required). Returns confirmation of task deletion.
clearClear completed tasks from a Google Tasks task list. Input: taskListId (string, required). Returns confirmation of cleared tasks.
Security
Requires Google OAuth credentials with the `https://www.googleapis.com/auth/tasks` scope. You must create your own Google Cloud project and OAuth Client ID (Desktop App). The OAuth key file (`gcp-oauth.keys.json`) and saved credentials (`.gdrive-server-credentials.json`) are stored in the repo root — keep them out of version control. The server has full read/write/delete access to your Google Tasks.
Google Tasks MCP Server + Cursor FAQ
Where is the Cursor config file?
Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the Google Tasks MCP Server config there under the "mcpServers" key and restart the client.
Is Google Tasks MCP Server safe to use with Cursor?
Requires Google OAuth credentials with the `https://www.googleapis.com/auth/tasks` scope. You must create your own Google Cloud project and OAuth Client ID (Desktop App). The OAuth key file (`gcp-oauth.keys.json`) and saved credentials (`.gdrive-server-credentials.json`) are stored in the repo root — keep them out of version control. The server has full read/write/delete access to your Google Tasks.
How do I authenticate?
Run the server with the `auth` argument (`npm run start auth`). This opens an authentication flow in your system browser; after completing it, credentials are saved in the repo root as `.gdrive-server-credentials.json`.
Can I install it automatically?
Yes. For Claude Desktop you can install it via Smithery with `npx -y @smithery/cli install @zcaceres/gtasks --client claude`.
What OAuth scope does it need?
It requires the `https://www.googleapis.com/auth/tasks` scope, which grants full read/write access to your Google Tasks.