Google Gmail · Capability

Google Gmail API

The Gmail API lets you view and manage Gmail mailbox data like threads, messages, and labels. It provides RESTful access to Gmail mailboxes including message sending, drafting, organizing with labels, managing settings, and push notifications for mailbox changes.

Run with Naftiko GoogleGmailAPI

What You Can Do

GET
Getuserprofile — Google Gmail Get user profile
/gmail/v1/users/{userId}/profile
GET
Listmessages — Google Gmail List messages
/gmail/v1/users/{userId}/messages
POST
Insertmessage — Google Gmail Insert message
/gmail/v1/users/{userId}/messages
GET
Getmessage — Google Gmail Get message
/gmail/v1/users/{userId}/messages/{id}
DELETE
Deletemessage — Google Gmail Delete message
/gmail/v1/users/{userId}/messages/{id}
POST
Sendmessage — Google Gmail Send message
/gmail/v1/users/{userId}/messages/send
POST
Modifymessage — Google Gmail Modify message
/gmail/v1/users/{userId}/messages/{id}/modify
POST
Trashmessage — Google Gmail Trash message
/gmail/v1/users/{userId}/messages/{id}/trash
POST
Untrashmessage — Google Gmail Untrash message
/gmail/v1/users/{userId}/messages/{id}/untrash
GET
Listlabels — Google Gmail List labels
/gmail/v1/users/{userId}/labels
POST
Createlabel — Google Gmail Create label
/gmail/v1/users/{userId}/labels
GET
Getlabel — Google Gmail Get label
/gmail/v1/users/{userId}/labels/{id}
PUT
Updatelabel — Google Gmail Update label
/gmail/v1/users/{userId}/labels/{id}
DELETE
Deletelabel — Google Gmail Delete label
/gmail/v1/users/{userId}/labels/{id}
GET
Listthreads — Google Gmail List threads
/gmail/v1/users/{userId}/threads
GET
Getthread — Google Gmail Get thread
/gmail/v1/users/{userId}/threads/{id}
DELETE
Deletethread — Google Gmail Delete thread
/gmail/v1/users/{userId}/threads/{id}
GET
Listdrafts — Google Gmail List drafts
/gmail/v1/users/{userId}/drafts
POST
Createdraft — Google Gmail Create draft
/gmail/v1/users/{userId}/drafts
GET
Getdraft — Google Gmail Get draft
/gmail/v1/users/{userId}/drafts/{id}
PUT
Updatedraft — Google Gmail Update draft
/gmail/v1/users/{userId}/drafts/{id}
DELETE
Deletedraft — Google Gmail Delete draft
/gmail/v1/users/{userId}/drafts/{id}
POST
Senddraft — Google Gmail Send draft
/gmail/v1/users/{userId}/drafts/send
GET
Listhistory — Google Gmail List history
/gmail/v1/users/{userId}/history
POST
Watchmailbox — Google Gmail Watch mailbox
/gmail/v1/users/{userId}/watch
POST
Stopmailboxwatch — Google Gmail Stop watching mailbox
/gmail/v1/users/{userId}/stop
GET
Getautoforwarding — Google Gmail Get auto-forwarding settings
/gmail/v1/users/{userId}/settings/autoForwarding
GET
Listfilters — Google Gmail List filters
/gmail/v1/users/{userId}/settings/filters
POST
Createfilter — Google Gmail Create filter
/gmail/v1/users/{userId}/settings/filters

MCP Tools

getuserprofile

Google Gmail Get user profile

read-only idempotent
listmessages

Google Gmail List messages

read-only idempotent
insertmessage

Google Gmail Insert message

getmessage

Google Gmail Get message

read-only idempotent
deletemessage

Google Gmail Delete message

idempotent
sendmessage

Google Gmail Send message

modifymessage

Google Gmail Modify message

trashmessage

Google Gmail Trash message

untrashmessage

Google Gmail Untrash message

listlabels

Google Gmail List labels

read-only idempotent
createlabel

Google Gmail Create label

getlabel

Google Gmail Get label

read-only idempotent
updatelabel

Google Gmail Update label

idempotent
deletelabel

Google Gmail Delete label

idempotent
listthreads

Google Gmail List threads

read-only idempotent
getthread

Google Gmail Get thread

read-only idempotent
deletethread

Google Gmail Delete thread

idempotent
listdrafts

Google Gmail List drafts

read-only idempotent
createdraft

Google Gmail Create draft

getdraft

Google Gmail Get draft

read-only idempotent
updatedraft

Google Gmail Update draft

idempotent
deletedraft

Google Gmail Delete draft

idempotent
senddraft

Google Gmail Send draft

listhistory

Google Gmail List history

read-only idempotent
watchmailbox

Google Gmail Watch mailbox

stopmailboxwatch

Google Gmail Stop watching mailbox

getautoforwarding

Google Gmail Get auto-forwarding settings

read-only idempotent
listfilters

Google Gmail List filters

read-only idempotent
createfilter

Google Gmail Create filter

Capability Spec

google-gmail-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Google Gmail API
  description: The Gmail API lets you view and manage Gmail mailbox data like threads, messages, and labels. It provides RESTful
    access to Gmail mailboxes including message sending, drafting, organizing with labels, managing settings, and push notifications
    for mailbox changes.
  tags:
  - Google
  - Gmail
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: google-gmail
    baseUri: https://gmail.googleapis.com
    description: Google Gmail API HTTP API.
    resources:
    - name: gmail-v1-users-userid-profile
      path: /gmail/v1/users/{userId}/profile
      operations:
      - name: getuserprofile
        method: GET
        description: Google Gmail Get user profile
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-messages
      path: /gmail/v1/users/{userId}/messages
      operations:
      - name: listmessages
        method: GET
        description: Google Gmail List messages
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: maxResults
          in: query
          type: integer
        - name: pageToken
          in: query
          type: string
        - name: q
          in: query
          type: string
        - name: labelIds
          in: query
          type: array
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: insertmessage
        method: POST
        description: Google Gmail Insert message
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-messages-id
      path: /gmail/v1/users/{userId}/messages/{id}
      operations:
      - name: getmessage
        method: GET
        description: Google Gmail Get message
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: format
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletemessage
        method: DELETE
        description: Google Gmail Delete message
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-messages-send
      path: /gmail/v1/users/{userId}/messages/send
      operations:
      - name: sendmessage
        method: POST
        description: Google Gmail Send message
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-messages-id-modify
      path: /gmail/v1/users/{userId}/messages/{id}/modify
      operations:
      - name: modifymessage
        method: POST
        description: Google Gmail Modify message
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-messages-id-trash
      path: /gmail/v1/users/{userId}/messages/{id}/trash
      operations:
      - name: trashmessage
        method: POST
        description: Google Gmail Trash message
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-messages-id-untrash
      path: /gmail/v1/users/{userId}/messages/{id}/untrash
      operations:
      - name: untrashmessage
        method: POST
        description: Google Gmail Untrash message
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-labels
      path: /gmail/v1/users/{userId}/labels
      operations:
      - name: listlabels
        method: GET
        description: Google Gmail List labels
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createlabel
        method: POST
        description: Google Gmail Create label
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-labels-id
      path: /gmail/v1/users/{userId}/labels/{id}
      operations:
      - name: getlabel
        method: GET
        description: Google Gmail Get label
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatelabel
        method: PUT
        description: Google Gmail Update label
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletelabel
        method: DELETE
        description: Google Gmail Delete label
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-threads
      path: /gmail/v1/users/{userId}/threads
      operations:
      - name: listthreads
        method: GET
        description: Google Gmail List threads
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: maxResults
          in: query
          type: integer
        - name: pageToken
          in: query
          type: string
        - name: q
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-threads-id
      path: /gmail/v1/users/{userId}/threads/{id}
      operations:
      - name: getthread
        method: GET
        description: Google Gmail Get thread
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletethread
        method: DELETE
        description: Google Gmail Delete thread
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-drafts
      path: /gmail/v1/users/{userId}/drafts
      operations:
      - name: listdrafts
        method: GET
        description: Google Gmail List drafts
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createdraft
        method: POST
        description: Google Gmail Create draft
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-drafts-id
      path: /gmail/v1/users/{userId}/drafts/{id}
      operations:
      - name: getdraft
        method: GET
        description: Google Gmail Get draft
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatedraft
        method: PUT
        description: Google Gmail Update draft
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletedraft
        method: DELETE
        description: Google Gmail Delete draft
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-drafts-send
      path: /gmail/v1/users/{userId}/drafts/send
      operations:
      - name: senddraft
        method: POST
        description: Google Gmail Send draft
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-history
      path: /gmail/v1/users/{userId}/history
      operations:
      - name: listhistory
        method: GET
        description: Google Gmail List history
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: startHistoryId
          in: query
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-watch
      path: /gmail/v1/users/{userId}/watch
      operations:
      - name: watchmailbox
        method: POST
        description: Google Gmail Watch mailbox
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-stop
      path: /gmail/v1/users/{userId}/stop
      operations:
      - name: stopmailboxwatch
        method: POST
        description: Google Gmail Stop watching mailbox
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-settings-autoforwarding
      path: /gmail/v1/users/{userId}/settings/autoForwarding
      operations:
      - name: getautoforwarding
        method: GET
        description: Google Gmail Get auto-forwarding settings
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gmail-v1-users-userid-settings-filters
      path: /gmail/v1/users/{userId}/settings/filters
      operations:
      - name: listfilters
        method: GET
        description: Google Gmail List filters
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createfilter
        method: POST
        description: Google Gmail Create filter
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: google-gmail-rest
    description: REST adapter for Google Gmail API.
    resources:
    - path: /gmail/v1/users/{userId}/profile
      name: getuserprofile
      operations:
      - method: GET
        name: getuserprofile
        description: Google Gmail Get user profile
        call: google-gmail.getuserprofile
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/messages
      name: listmessages
      operations:
      - method: GET
        name: listmessages
        description: Google Gmail List messages
        call: google-gmail.listmessages
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/messages
      name: insertmessage
      operations:
      - method: POST
        name: insertmessage
        description: Google Gmail Insert message
        call: google-gmail.insertmessage
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/messages/{id}
      name: getmessage
      operations:
      - method: GET
        name: getmessage
        description: Google Gmail Get message
        call: google-gmail.getmessage
        with:
          userId: rest.userId
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/messages/{id}
      name: deletemessage
      operations:
      - method: DELETE
        name: deletemessage
        description: Google Gmail Delete message
        call: google-gmail.deletemessage
        with:
          userId: rest.userId
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/messages/send
      name: sendmessage
      operations:
      - method: POST
        name: sendmessage
        description: Google Gmail Send message
        call: google-gmail.sendmessage
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/messages/{id}/modify
      name: modifymessage
      operations:
      - method: POST
        name: modifymessage
        description: Google Gmail Modify message
        call: google-gmail.modifymessage
        with:
          userId: rest.userId
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/messages/{id}/trash
      name: trashmessage
      operations:
      - method: POST
        name: trashmessage
        description: Google Gmail Trash message
        call: google-gmail.trashmessage
        with:
          userId: rest.userId
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/messages/{id}/untrash
      name: untrashmessage
      operations:
      - method: POST
        name: untrashmessage
        description: Google Gmail Untrash message
        call: google-gmail.untrashmessage
        with:
          userId: rest.userId
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/labels
      name: listlabels
      operations:
      - method: GET
        name: listlabels
        description: Google Gmail List labels
        call: google-gmail.listlabels
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/labels
      name: createlabel
      operations:
      - method: POST
        name: createlabel
        description: Google Gmail Create label
        call: google-gmail.createlabel
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/labels/{id}
      name: getlabel
      operations:
      - method: GET
        name: getlabel
        description: Google Gmail Get label
        call: google-gmail.getlabel
        with:
          userId: rest.userId
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/labels/{id}
      name: updatelabel
      operations:
      - method: PUT
        name: updatelabel
        description: Google Gmail Update label
        call: google-gmail.updatelabel
        with:
          userId: rest.userId
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/labels/{id}
      name: deletelabel
      operations:
      - method: DELETE
        name: deletelabel
        description: Google Gmail Delete label
        call: google-gmail.deletelabel
        with:
          userId: rest.userId
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/threads
      name: listthreads
      operations:
      - method: GET
        name: listthreads
        description: Google Gmail List threads
        call: google-gmail.listthreads
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/threads/{id}
      name: getthread
      operations:
      - method: GET
        name: getthread
        description: Google Gmail Get thread
        call: google-gmail.getthread
        with:
          userId: rest.userId
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/threads/{id}
      name: deletethread
      operations:
      - method: DELETE
        name: deletethread
        description: Google Gmail Delete thread
        call: google-gmail.deletethread
        with:
          userId: rest.userId
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/drafts
      name: listdrafts
      operations:
      - method: GET
        name: listdrafts
        description: Google Gmail List drafts
        call: google-gmail.listdrafts
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/drafts
      name: createdraft
      operations:
      - method: POST
        name: createdraft
        description: Google Gmail Create draft
        call: google-gmail.createdraft
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/drafts/{id}
      name: getdraft
      operations:
      - method: GET
        name: getdraft
        description: Google Gmail Get draft
        call: google-gmail.getdraft
        with:
          userId: rest.userId
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/drafts/{id}
      name: updatedraft
      operations:
      - method: PUT
        name: updatedraft
        description: Google Gmail Update draft
        call: google-gmail.updatedraft
        with:
          userId: rest.userId
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/drafts/{id}
      name: deletedraft
      operations:
      - method: DELETE
        name: deletedraft
        description: Google Gmail Delete draft
        call: google-gmail.deletedraft
        with:
          userId: rest.userId
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/drafts/send
      name: senddraft
      operations:
      - method: POST
        name: senddraft
        description: Google Gmail Send draft
        call: google-gmail.senddraft
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/history
      name: listhistory
      operations:
      - method: GET
        name: listhistory
        description: Google Gmail List history
        call: google-gmail.listhistory
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/watch
      name: watchmailbox
      operations:
      - method: POST
        name: watchmailbox
        description: Google Gmail Watch mailbox
        call: google-gmail.watchmailbox
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/stop
      name: stopmailboxwatch
      operations:
      - method: POST
        name: stopmailboxwatch
        description: Google Gmail Stop watching mailbox
        call: google-gmail.stopmailboxwatch
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/settings/autoForwarding
      name: getautoforwarding
      operations:
      - method: GET
        name: getautoforwarding
        description: Google Gmail Get auto-forwarding settings
        call: google-gmail.getautoforwarding
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/settings/filters
      name: listfilters
      operations:
      - method: GET
        name: listfilters
        description: Google Gmail List filters
        call: google-gmail.listfilters
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /gmail/v1/users/{userId}/settings/filters
      name: createfilter
      operations:
      - method: POST
        name: createfilter
        description: Google Gmail Create filter
        call: google-gmail.createfilter
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: google-gmail-mcp
    transport: http
    description: MCP adapter for Google Gmail API for AI agent use.
    tools:
    - name: getuserprofile
      description: Google Gmail Get user profile
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-gmail.getuserprofile
      with:
        userId: tools.userId
      inputParameters:
      - name: userId
        type: string
        description: userId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listmessages
      description: Google Gmail List messages
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-gmail.listmessages
      with:
        userId: tools.userId
        maxResults: tools.maxResults
        pageToken: tools.pageToken
        q: tools.q
        labelIds: tools.labelIds
      inputParameters:
      - name: userId
        type: string
        description: userId
        required: true
      - name: maxResults
        type: integer
        description: maxResults
      - name: pageToken
        type: string
        description: pageToken
      - name: q
        type: string
        description: q
      - name: labelIds
        type: array
        description: labelIds
      outputParameters:
      - type: object
        mapping: $.
    - name: insertmessage
      description: Google Gmail Insert message
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-gmail.insertmessage
      with:
        userId: tools.userId
      inputParameters:
      - name: userId
        type: string
        description: userId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getmessage
      description: Google Gmail Get message
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-gmail.getmessage
      with:
        userId: tools.userId
        id: tools.id
        format: tools.format
      inputParameters:
      - name: userId
        type: string
        description: userId
        required: true
      - name: id
        type: string
        description: id
        required: true
      - name: format
        type: string
        description: format
      outputParameters:
      - type: object
        mapping: $.
    - name: deletemessage
      description: Google Gmail Delete message
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: google-gmail.deletemessage
      with:
        userId: tools.userId
        id: tools.id
      inputParameters:
      - name: userId
        type: string
        description: userId
        required: true
      - name: id
        type: string
        description: id
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: sendmessage
      description: Google Gmail Send message
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-gmail.sendmessage
      with:
        userId: tools.userId
      inputParameters:
      - name: userId
        type: string
        description: userId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: modifymessage
      description: Google Gmail Modify message
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-gmail.modifymessage
      with:
        userId: tools.userId
        id: tools.id
      inputParameters:
      - name: userId
        type: string
        description: userId
        required: true
      - name: id
        type: string
        description: id
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: trashmessage
      description: Google Gmail Trash message
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-gmail.trashmessage
      with:
        userId: tools.userId
        id: tools.id
      inputParameters:
      - name: userId
        type: string
        description: userId
        required: true
      - name: id
        type: string
        description: id
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: untrashmessage
      description: Google Gmail Untrash message
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-gmail.untrashmessage
      with:
        userId: tools.userId
        id: tools.id
      inputParameters:
      - name: userId
        type: string
        description: userId
        required: true
      - name: id
        type: string
        description: id
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listlabels
      description: Google Gmail List labels
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-gmail.listlabels
      with:
        userId: tools.userId
      inputParameters:
      - name: userId
        type: string
        description: userId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: createlabel
      description: Google Gmail Create label
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-gmail.createlabel
      with:
        userId: tools.userId
      inputParameters:
      - name: userId
        type: string
        description: userId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getlabel
      description: Google Gmail Get label
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-gmail.getlabel
      with:
        userId: tools.userId
        id: tools.id
      inputParameters:
      - name: userId
        type: string
        description: userId
        required: true
      - name: id
        type: string
        description: id
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: updatelabel
      description: Google Gmail Update label
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: google-gmail.updatelabel
      with:
        userId: tools.userId
        id: tools.id
      inputParameters:
      - name: userId
        type: string
        description: userId
        required: true
      - name: id
        type: string
        description: id
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: deletelabel
      description: Google Gmail Delete label
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: google-gmail.deletelabel
      with:
        userId: tools.userId
        id: tools.id
      inputParameters:
      - name: userId
        type: string
        description: userId
        required: true
      - name: id
        type: string
        description: id
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listthreads
      description: Google Gmail List threads
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-gmail.listthreads
      with:
        userId: tools.userId
        maxResults: tools.maxResults
        pageToken: tools.pageToken
        q: tools.q
      inputParameters:
      - name: userId
        type: string
        description: userId
        required: true
      - name: maxResults
        type: integer
        description: maxResults
      - name: pageToken
        type: string
        description: pageToken
      - name: q
        type: string
        description: q
      outputParameters:
      - type: object
        mapping: $.
    - name: getthread
      description: Google Gmail Get thread
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-gmail.getthread
 

# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/google-gmail/refs/heads/main/capabilities/google-gmail-capability.yaml