{
  "info": {
    "name": "Gmail — mcp.ai",
    "description": "REST API for the Gmail MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/gmail",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "gmail_add_label_to_email",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/add/label/to/email",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "add",
            "label",
            "to",
            "email"
          ]
        },
        "description": "Adds and/or removes specified gmail labels for a message; ensure `message id` and all `label ids` are valid (use 'listlabels' for custom label ids).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"user_id\": \"\",\n  \"message_id\": \"\",\n  \"add_label_ids\": \"\",\n  \"remove_label_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_create_email_draft",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/email/draft",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "email",
            "draft"
          ]
        },
        "description": "Creates a gmail email draft, supporting to/cc/bcc, subject, plain/html body (ensure `is html=true` for html), attachments, and threading.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"cc\": \"\",\n  \"bcc\": \"\",\n  \"body\": \"\",\n  \"is_html\": false,\n  \"subject\": \"\",\n  \"user_id\": \"\",\n  \"thread_id\": \"\",\n  \"attachment\": {},\n  \"recipient_email\": \"\",\n  \"extra_recipients\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_create_label",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/label",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "label"
          ]
        },
        "description": "Creates a new label with a unique name in the specified user's gmail account.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"user_id\": \"\",\n  \"label_name\": \"\",\n  \"text_color\": \"\",\n  \"background_color\": \"\",\n  \"label_list_visibility\": \"\",\n  \"message_list_visibility\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_delete_draft",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/draft",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "draft"
          ]
        },
        "description": "Permanently deletes a specific gmail draft using its id; ensure the draft exists and the user has necessary permissions for the given `user id`.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"user_id\": \"\",\n  \"draft_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_delete_message",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/message",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "message"
          ]
        },
        "description": "Permanently deletes a specific email message by its id from a gmail mailbox; for `user id`, use 'me' for the authenticated user or an email address to which the authenticated user has delegated access",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"user_id\": \"\",\n  \"message_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_fetch_emails",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/fetch/emails",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "fetch",
            "emails"
          ]
        },
        "description": "Fetches a list of email messages from a gmail account, supporting filtering, pagination, and optional full content retrieval.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"query\": \"\",\n  \"user_id\": \"\",\n  \"verbose\": false,\n  \"ids_only\": false,\n  \"label_ids\": \"\",\n  \"page_token\": \"\",\n  \"max_results\": 0,\n  \"include_payload\": false,\n  \"include_spam_trash\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_fetch_message_by_message_id",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/fetch/message/by/message/id",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "fetch",
            "message",
            "by",
            "message",
            "id"
          ]
        },
        "description": "Fetches a specific email message by its id, provided the `message id` exists and is accessible to the authenticated `user id`.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"format\": \"\",\n  \"user_id\": \"\",\n  \"message_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_fetch_message_by_thread_id",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/fetch/message/by/thread/id",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "fetch",
            "message",
            "by",
            "thread",
            "id"
          ]
        },
        "description": "Retrieves messages from a gmail thread using its `thread id`, where the thread must be accessible by the specified `user id`.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"user_id\": \"\",\n  \"thread_id\": \"\",\n  \"page_token\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_get_attachment",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/attachment",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "attachment"
          ]
        },
        "description": "Retrieves a specific attachment by id from a message in a user's gmail mailbox, requiring valid message and attachment ids.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"user_id\": \"\",\n  \"file_name\": \"\",\n  \"message_id\": \"\",\n  \"attachment_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_get_contacts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/contacts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "contacts"
          ]
        },
        "description": "Fetches contacts (connections) for the authenticated google account, allowing selection of specific data fields and pagination.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"page_token\": \"\",\n  \"person_fields\": \"\",\n  \"resource_name\": \"\",\n  \"include_other_contacts\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_get_people",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/people",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "people"
          ]
        },
        "description": "Retrieves either a specific person's details (using `resource name`) or lists 'other contacts' (if `other contacts` is true), with `person fields` specifying the data to return.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"page_size\": 0,\n  \"page_token\": \"\",\n  \"sync_token\": \"\",\n  \"person_fields\": \"\",\n  \"resource_name\": \"\",\n  \"other_contacts\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_get_profile",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/profile",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "profile"
          ]
        },
        "description": "Retrieves key gmail profile information (email address, message/thread totals, history id) for a user.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"user_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_list_drafts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/drafts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "drafts"
          ]
        },
        "description": "Retrieves a paginated list of email drafts from a user's gmail account. use verbose=true to get full draft details including subject, body, sender, and timestamp.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"user_id\": \"\",\n  \"verbose\": false,\n  \"page_token\": \"\",\n  \"max_results\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_list_labels",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/labels",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "labels"
          ]
        },
        "description": "Retrieves a list of all system and user-created labels for the specified gmail account.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"user_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_list_threads",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/threads",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "threads"
          ]
        },
        "description": "Retrieves a list of email threads from a gmail account, identified by `user id` (email address or 'me'), supporting filtering and pagination.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"query\": \"\",\n  \"user_id\": \"\",\n  \"verbose\": false,\n  \"page_token\": \"\",\n  \"max_results\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_modify_thread_labels",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/modify/thread/labels",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "modify",
            "thread",
            "labels"
          ]
        },
        "description": "Adds or removes specified existing label ids from a gmail thread, affecting all its messages; ensure the thread id is valid.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"user_id\": \"\",\n  \"thread_id\": \"\",\n  \"add_label_ids\": \"\",\n  \"remove_label_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_move_to_trash",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/move/to/trash",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "move",
            "to",
            "trash"
          ]
        },
        "description": "Moves an existing, non-deleted email message to the trash for the specified user.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"user_id\": \"\",\n  \"message_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_patch_label",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/patch/label",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "patch",
            "label"
          ]
        },
        "description": "Patches the specified label.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": \"\",\n  \"name\": \"\",\n  \"color\": {},\n  \"userId\": \"\",\n  \"labelListVisibility\": \"\",\n  \"messageListVisibility\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_remove_label",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/remove/label",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "remove",
            "label"
          ]
        },
        "description": "Permanently deletes a specific, existing user-created gmail label by its id for a user; cannot delete system labels.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"user_id\": \"\",\n  \"label_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_reply_to_thread",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/reply/to/thread",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "reply",
            "to",
            "thread"
          ]
        },
        "description": "Sends a reply within a specific gmail thread using the original thread's subject, requiring a valid `thread id` and correctly formatted email addresses. supports attachments via the `attachment` param",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"cc\": \"\",\n  \"bcc\": \"\",\n  \"is_html\": false,\n  \"user_id\": \"\",\n  \"thread_id\": \"\",\n  \"attachment\": {},\n  \"message_body\": \"\",\n  \"recipient_email\": \"\",\n  \"extra_recipients\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_search_people",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/search/people",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "search",
            "people"
          ]
        },
        "description": "Searches contacts by matching the query against names, nicknames, emails, phone numbers, and organizations, optionally including 'other contacts'.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"query\": \"\",\n  \"pageSize\": 0,\n  \"person_fields\": \"\",\n  \"other_contacts\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_send_draft",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/send/draft",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "send",
            "draft"
          ]
        },
        "description": "Sends the specified, existing draft to the recipients in the to, cc, and bcc headers.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"user_id\": \"\",\n  \"draft_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "gmail_send_email",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/send/email",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "send",
            "email"
          ]
        },
        "description": "Sends an email via gmail api using the authenticated user's google profile display name, requiring `is html=true` if the body contains html and valid `s3key`, `mimetype`, `name` for any attachment.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"cc\": \"\",\n  \"bcc\": \"\",\n  \"body\": \"\",\n  \"is_html\": false,\n  \"subject\": \"\",\n  \"user_id\": \"\",\n  \"attachment\": {},\n  \"recipient_email\": \"\",\n  \"extra_recipients\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}