Google Tasks · Capability
Google Tasks API
The Google Tasks API lets you search, read, and update Google Tasks content and metadata. You can manage task lists and individual tasks, including creating, updating, moving, and deleting tasks programmatically.
What You Can Do
GET
Listtasklists
— List task lists
/users/@me/lists
POST
Inserttasklist
— Create a task list
/users/@me/lists
GET
Gettasklist
— Get a task list
/users/@me/lists/{taskListId}
PUT
Updatetasklist
— Update a task list
/users/@me/lists/{taskListId}
PATCH
Patchtasklist
— Patch a task list
/users/@me/lists/{taskListId}
DELETE
Deletetasklist
— Delete a task list
/users/@me/lists/{taskListId}
GET
Listtasks
— List tasks
/lists/{taskListId}/tasks
POST
Inserttask
— Create a task
/lists/{taskListId}/tasks
GET
Gettask
— Get a task
/lists/{taskListId}/tasks/{taskId}
PUT
Updatetask
— Update a task
/lists/{taskListId}/tasks/{taskId}
DELETE
Deletetask
— Delete a task
/lists/{taskListId}/tasks/{taskId}
POST
Movetask
— Move a task
/lists/{taskListId}/tasks/{taskId}/move
POST
Cleartasks
— Clear completed tasks
/lists/{taskListId}/clear
MCP Tools
listtasklists
List task lists
read-only
idempotent
inserttasklist
Create a task list
gettasklist
Get a task list
read-only
idempotent
updatetasklist
Update a task list
idempotent
patchtasklist
Patch a task list
deletetasklist
Delete a task list
idempotent
listtasks
List tasks
read-only
idempotent
inserttask
Create a task
gettask
Get a task
read-only
idempotent
updatetask
Update a task
idempotent
deletetask
Delete a task
idempotent
movetask
Move a task
cleartasks
Clear completed tasks
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Google Tasks API
description: The Google Tasks API lets you search, read, and update Google Tasks content and metadata. You can manage task
lists and individual tasks, including creating, updating, moving, and deleting tasks programmatically.
tags:
- Google
- Tasks
- API
created: '2026-05-06'
modified: '2026-05-06'
capability:
consumes:
- type: http
namespace: google-tasks
baseUri: https://tasks.googleapis.com/tasks/v1
description: Google Tasks API HTTP API.
authentication:
type: bearer
token: '{{GOOGLE_TASKS_TOKEN}}'
resources:
- name: users-me-lists
path: /users/@me/lists
operations:
- name: listtasklists
method: GET
description: List task lists
inputParameters:
- name: maxResults
in: query
type: integer
- name: pageToken
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: inserttasklist
method: POST
description: Create a task list
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: users-me-lists-tasklistid
path: /users/@me/lists/{taskListId}
operations:
- name: gettasklist
method: GET
description: Get a task list
inputParameters:
- name: taskListId
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: updatetasklist
method: PUT
description: Update a task list
inputParameters:
- name: taskListId
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: patchtasklist
method: PATCH
description: Patch a task list
inputParameters:
- name: taskListId
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: deletetasklist
method: DELETE
description: Delete a task list
inputParameters:
- name: taskListId
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: lists-tasklistid-tasks
path: /lists/{taskListId}/tasks
operations:
- name: listtasks
method: GET
description: List tasks
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: maxResults
in: query
type: integer
- name: pageToken
in: query
type: string
- name: showCompleted
in: query
type: boolean
- name: showHidden
in: query
type: boolean
- name: dueMin
in: query
type: string
- name: dueMax
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: inserttask
method: POST
description: Create a task
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: parent
in: query
type: string
- name: previous
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: lists-tasklistid-tasks-taskid
path: /lists/{taskListId}/tasks/{taskId}
operations:
- name: gettask
method: GET
description: Get a task
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: taskId
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: updatetask
method: PUT
description: Update a task
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: taskId
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: deletetask
method: DELETE
description: Delete a task
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: taskId
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: lists-tasklistid-tasks-taskid-move
path: /lists/{taskListId}/tasks/{taskId}/move
operations:
- name: movetask
method: POST
description: Move a task
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: taskId
in: path
type: string
required: true
- name: parent
in: query
type: string
- name: previous
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: lists-tasklistid-clear
path: /lists/{taskListId}/clear
operations:
- name: cleartasks
method: POST
description: Clear completed tasks
inputParameters:
- name: taskListId
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
port: 8080
namespace: google-tasks-rest
description: REST adapter for Google Tasks API.
resources:
- path: /users/@me/lists
name: listtasklists
operations:
- method: GET
name: listtasklists
description: List task lists
call: google-tasks.listtasklists
outputParameters:
- type: object
mapping: $.
- path: /users/@me/lists
name: inserttasklist
operations:
- method: POST
name: inserttasklist
description: Create a task list
call: google-tasks.inserttasklist
outputParameters:
- type: object
mapping: $.
- path: /users/@me/lists/{taskListId}
name: gettasklist
operations:
- method: GET
name: gettasklist
description: Get a task list
call: google-tasks.gettasklist
with:
taskListId: rest.taskListId
outputParameters:
- type: object
mapping: $.
- path: /users/@me/lists/{taskListId}
name: updatetasklist
operations:
- method: PUT
name: updatetasklist
description: Update a task list
call: google-tasks.updatetasklist
with:
taskListId: rest.taskListId
outputParameters:
- type: object
mapping: $.
- path: /users/@me/lists/{taskListId}
name: patchtasklist
operations:
- method: PATCH
name: patchtasklist
description: Patch a task list
call: google-tasks.patchtasklist
with:
taskListId: rest.taskListId
outputParameters:
- type: object
mapping: $.
- path: /users/@me/lists/{taskListId}
name: deletetasklist
operations:
- method: DELETE
name: deletetasklist
description: Delete a task list
call: google-tasks.deletetasklist
with:
taskListId: rest.taskListId
outputParameters:
- type: object
mapping: $.
- path: /lists/{taskListId}/tasks
name: listtasks
operations:
- method: GET
name: listtasks
description: List tasks
call: google-tasks.listtasks
with:
taskListId: rest.taskListId
outputParameters:
- type: object
mapping: $.
- path: /lists/{taskListId}/tasks
name: inserttask
operations:
- method: POST
name: inserttask
description: Create a task
call: google-tasks.inserttask
with:
taskListId: rest.taskListId
outputParameters:
- type: object
mapping: $.
- path: /lists/{taskListId}/tasks/{taskId}
name: gettask
operations:
- method: GET
name: gettask
description: Get a task
call: google-tasks.gettask
with:
taskListId: rest.taskListId
taskId: rest.taskId
outputParameters:
- type: object
mapping: $.
- path: /lists/{taskListId}/tasks/{taskId}
name: updatetask
operations:
- method: PUT
name: updatetask
description: Update a task
call: google-tasks.updatetask
with:
taskListId: rest.taskListId
taskId: rest.taskId
outputParameters:
- type: object
mapping: $.
- path: /lists/{taskListId}/tasks/{taskId}
name: deletetask
operations:
- method: DELETE
name: deletetask
description: Delete a task
call: google-tasks.deletetask
with:
taskListId: rest.taskListId
taskId: rest.taskId
outputParameters:
- type: object
mapping: $.
- path: /lists/{taskListId}/tasks/{taskId}/move
name: movetask
operations:
- method: POST
name: movetask
description: Move a task
call: google-tasks.movetask
with:
taskListId: rest.taskListId
taskId: rest.taskId
outputParameters:
- type: object
mapping: $.
- path: /lists/{taskListId}/clear
name: cleartasks
operations:
- method: POST
name: cleartasks
description: Clear completed tasks
call: google-tasks.cleartasks
with:
taskListId: rest.taskListId
outputParameters:
- type: object
mapping: $.
- type: mcp
port: 9090
namespace: google-tasks-mcp
transport: http
description: MCP adapter for Google Tasks API for AI agent use.
tools:
- name: listtasklists
description: List task lists
hints:
readOnly: true
destructive: false
idempotent: true
call: google-tasks.listtasklists
with:
maxResults: tools.maxResults
pageToken: tools.pageToken
inputParameters:
- name: maxResults
type: integer
description: maxResults
- name: pageToken
type: string
description: pageToken
outputParameters:
- type: object
mapping: $.
- name: inserttasklist
description: Create a task list
hints:
readOnly: false
destructive: false
idempotent: false
call: google-tasks.inserttasklist
outputParameters:
- type: object
mapping: $.
- name: gettasklist
description: Get a task list
hints:
readOnly: true
destructive: false
idempotent: true
call: google-tasks.gettasklist
with:
taskListId: tools.taskListId
inputParameters:
- name: taskListId
type: string
description: taskListId
required: true
outputParameters:
- type: object
mapping: $.
- name: updatetasklist
description: Update a task list
hints:
readOnly: false
destructive: false
idempotent: true
call: google-tasks.updatetasklist
with:
taskListId: tools.taskListId
inputParameters:
- name: taskListId
type: string
description: taskListId
required: true
outputParameters:
- type: object
mapping: $.
- name: patchtasklist
description: Patch a task list
hints:
readOnly: false
destructive: false
idempotent: false
call: google-tasks.patchtasklist
with:
taskListId: tools.taskListId
inputParameters:
- name: taskListId
type: string
description: taskListId
required: true
outputParameters:
- type: object
mapping: $.
- name: deletetasklist
description: Delete a task list
hints:
readOnly: false
destructive: true
idempotent: true
call: google-tasks.deletetasklist
with:
taskListId: tools.taskListId
inputParameters:
- name: taskListId
type: string
description: taskListId
required: true
outputParameters:
- type: object
mapping: $.
- name: listtasks
description: List tasks
hints:
readOnly: true
destructive: false
idempotent: true
call: google-tasks.listtasks
with:
taskListId: tools.taskListId
maxResults: tools.maxResults
pageToken: tools.pageToken
showCompleted: tools.showCompleted
showHidden: tools.showHidden
dueMin: tools.dueMin
dueMax: tools.dueMax
inputParameters:
- name: taskListId
type: string
description: taskListId
required: true
- name: maxResults
type: integer
description: maxResults
- name: pageToken
type: string
description: pageToken
- name: showCompleted
type: boolean
description: showCompleted
- name: showHidden
type: boolean
description: showHidden
- name: dueMin
type: string
description: dueMin
- name: dueMax
type: string
description: dueMax
outputParameters:
- type: object
mapping: $.
- name: inserttask
description: Create a task
hints:
readOnly: false
destructive: false
idempotent: false
call: google-tasks.inserttask
with:
taskListId: tools.taskListId
parent: tools.parent
previous: tools.previous
inputParameters:
- name: taskListId
type: string
description: taskListId
required: true
- name: parent
type: string
description: parent
- name: previous
type: string
description: previous
outputParameters:
- type: object
mapping: $.
- name: gettask
description: Get a task
hints:
readOnly: true
destructive: false
idempotent: true
call: google-tasks.gettask
with:
taskListId: tools.taskListId
taskId: tools.taskId
inputParameters:
- name: taskListId
type: string
description: taskListId
required: true
- name: taskId
type: string
description: taskId
required: true
outputParameters:
- type: object
mapping: $.
- name: updatetask
description: Update a task
hints:
readOnly: false
destructive: false
idempotent: true
call: google-tasks.updatetask
with:
taskListId: tools.taskListId
taskId: tools.taskId
inputParameters:
- name: taskListId
type: string
description: taskListId
required: true
- name: taskId
type: string
description: taskId
required: true
outputParameters:
- type: object
mapping: $.
- name: deletetask
description: Delete a task
hints:
readOnly: false
destructive: true
idempotent: true
call: google-tasks.deletetask
with:
taskListId: tools.taskListId
taskId: tools.taskId
inputParameters:
- name: taskListId
type: string
description: taskListId
required: true
- name: taskId
type: string
description: taskId
required: true
outputParameters:
- type: object
mapping: $.
- name: movetask
description: Move a task
hints:
readOnly: false
destructive: false
idempotent: false
call: google-tasks.movetask
with:
taskListId: tools.taskListId
taskId: tools.taskId
parent: tools.parent
previous: tools.previous
inputParameters:
- name: taskListId
type: string
description: taskListId
required: true
- name: taskId
type: string
description: taskId
required: true
- name: parent
type: string
description: parent
- name: previous
type: string
description: previous
outputParameters:
- type: object
mapping: $.
- name: cleartasks
description: Clear completed tasks
hints:
readOnly: false
destructive: false
idempotent: false
call: google-tasks.cleartasks
with:
taskListId: tools.taskListId
inputParameters:
- name: taskListId
type: string
description: taskListId
required: true
outputParameters:
- type: object
mapping: $.
binds:
- namespace: env
keys:
GOOGLE_TASKS_TOKEN: GOOGLE_TASKS_TOKEN