The basics are all here; the reasons to choose this one are in the detail. list pages through everything rather than stopping quietly at a hundred, list_with_tree returns the nesting and position order the app shows and a flat list destroys, and move covers indenting, un-indenting and moving between lists rather than only reordering. Setup is the usual Google cost — your own OAuth client and a refresh token — with three different ways to hand it over.
A Google Tasks server covering more than one list: search and list tasks with full pagination, create, update, move and delete them, and read a list as the tree the Google Tasks interface displays.
- list_task_lists returns the task lists with their IDs, which every other list-scoped call needs
- list returns tasks from one list or from all of them, paged through rather than silently stopping at the first hundred
- list_with_tree shows one list as its parent-child tree in position order, matching the app, and can include completed or hidden tasks
- search matches on title and notes, scoped to a single list when you want it narrowed
- create takes a title, with optional notes, a due date and a target list
- update patches only the fields you supply — title, notes, due date, status or a link — leaving the rest alone
- move reorders a task, indents it under a parent, un-indents it, or moves it into a different list entirely
- delete removes a single task and clear removes the completed ones from a list
Published as @alvincrave/gtasks-mcp and launched over stdio with npx, or built from source. Authentication is your own Google OAuth client with the Tasks scope: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET and GOOGLE_REFRESH_TOKEN, after enabling the Google Tasks API on a Google Cloud project. Credential files are the alternative — point GTASKS_CREDENTIALS_PATH at the OAuth client JSON and run the auth command once to write GTASKS_TOKEN_PATH — as is a ~/.gtasks-credentials.json holding the same three values. A Docker image can be built from the repository.
One command plus a key — npx -y @alvincrave/gtasks-mcp, then supply credentials
