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 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: deletethread description: Google Gmail Delete thread hints: readOnly: false destructive: true idempotent: true call: google-gmail.deletethread 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: listdrafts description: Google Gmail List drafts hints: readOnly: true destructive: false idempotent: true call: google-gmail.listdrafts with: userId: tools.userId inputParameters: - name: userId type: string description: userId required: true outputParameters: - type: object mapping: $. - name: createdraft description: Google Gmail Create draft hints: readOnly: false destructive: false idempotent: false call: google-gmail.createdraft with: userId: tools.userId inputParameters: - name: userId type: string description: userId required: true outputParameters: - type: object mapping: $. - name: getdraft description: Google Gmail Get draft hints: readOnly: true destructive: false idempotent: true call: google-gmail.getdraft 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: updatedraft description: Google Gmail Update draft hints: readOnly: false destructive: false idempotent: true call: google-gmail.updatedraft 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: deletedraft description: Google Gmail Delete draft hints: readOnly: false destructive: true idempotent: true call: google-gmail.deletedraft 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: senddraft description: Google Gmail Send draft hints: readOnly: false destructive: false idempotent: false call: google-gmail.senddraft with: userId: tools.userId inputParameters: - name: userId type: string description: userId required: true outputParameters: - type: object mapping: $. - name: listhistory description: Google Gmail List history hints: readOnly: true destructive: false idempotent: true call: google-gmail.listhistory with: userId: tools.userId startHistoryId: tools.startHistoryId inputParameters: - name: userId type: string description: userId required: true - name: startHistoryId type: string description: startHistoryId required: true outputParameters: - type: object mapping: $. - name: watchmailbox description: Google Gmail Watch mailbox hints: readOnly: false destructive: false idempotent: false call: google-gmail.watchmailbox with: userId: tools.userId inputParameters: - name: userId type: string description: userId required: true outputParameters: - type: object mapping: $. - name: stopmailboxwatch description: Google Gmail Stop watching mailbox hints: readOnly: false destructive: false idempotent: false call: google-gmail.stopmailboxwatch with: userId: tools.userId inputParameters: - name: userId type: string description: userId required: true outputParameters: - type: object mapping: $. - name: getautoforwarding description: Google Gmail Get auto-forwarding settings hints: readOnly: true destructive: false idempotent: true call: google-gmail.getautoforwarding with: userId: tools.userId inputParameters: - name: userId type: string description: userId required: true outputParameters: - type: object mapping: $. - name: listfilters description: Google Gmail List filters hints: readOnly: true destructive: false idempotent: true call: google-gmail.listfilters with: userId: tools.userId inputParameters: - name: userId type: string description: userId required: true outputParameters: - type: object mapping: $. - name: createfilter description: Google Gmail Create filter hints: readOnly: false destructive: false idempotent: false call: google-gmail.createfilter with: userId: tools.userId inputParameters: - name: userId type: string description: userId required: true outputParameters: - type: object mapping: $.