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.

Run with Naftiko GoogleTasksAPI

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

google-tasks-capability.yaml Raw ↑
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