@mcp-z/mcp-gmail
    Preparing search index...

    @mcp-z/mcp-gmail

    @mcp-z/mcp-gmail

    Docs: https://mcp-z.github.io/mcp-gmail Gmail MCP server for searching, reading, and sending mail over MCP.

    • Search and read messages
    • Send and reply to emails
    • Manage labels and export messages to CSV

    MCP supports stdio and HTTP.

    Stdio

    {
    "mcpServers": {
    "gmail": {
    "command": "npx",
    "args": ["-y", "@mcp-z/mcp-gmail"]
    }
    }
    }

    HTTP

    {
    "mcpServers": {
    "gmail": {
    "type": "http",
    "url": "http://localhost:9002/mcp",
    "start": {
    "command": "npx",
    "args": ["-y", "@mcp-z/mcp-gmail", "--port=9002"]
    }
    }
    }
    }

    start is an extension used by npx @mcp-z/cli up to launch HTTP servers for you.

    1. Go to Google Cloud Console.
    2. Create or select a project.
    3. Enable the Gmail API.
    4. Create OAuth 2.0 credentials (Desktop app).
    5. Copy the Client ID and Client Secret.
    6. Select your MCP transport (stdio for local and http for remote) and platform
    1. Enable OAuth2 scopes: openid https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://mail.google.com/
    2. Add test emails

    Configure via environment variables or the env block in .mcp.json. See server.json for the full list of options.

    Environment variables:

    GOOGLE_CLIENT_ID=your-client-id
    GOOGLE_CLIENT_SECRET=your-client-secret

    Example (stdio) - Create .mcp.json:

    {
    "mcpServers": {
    "gmail": {
    "command": "npx",
    "args": ["-y", "@mcp-z/mcp-gmail"],
    "env": {
    "GOOGLE_CLIENT_ID": "your-client-id"
    }
    }
    }
    }

    Example (http) - Create .mcp.json:

    {
    "mcpServers": {
    "outlook": {
    "type": "http",
    "url": "http://localhost:3000",
    "start": {
    "command": "npx",
    "args": ["-y", "@mcp-z/mcp-gmail", "--port=3000"],
    "env": {
    "GOOGLE_CLIENT_ID": "your-client-id"
    }
    }
    }
    }
    }

    Local (default): omit REDIRECT_URI → ephemeral loopback. Cloud: set REDIRECT_URI to your public /oauth/callback and expose the service publicly.

    Note: start block is a helper in "npx @mcp-z/cli up" for starting an http server from your .mpc.json. See @mcp-z/cli for details.

    Environment variables:

    AUTH_MODE=service-account
    GOOGLE_SERVICE_ACCOUNT_KEY_FILE=/path/to/service-account.json

    Example:

    {
    "mcpServers": {
    "gmail": {
    "command": "npx",
    "args": ["-y", "@mcp-z/mcp-gmail", "--auth=service-account"],
    "env": {
    "GOOGLE_SERVICE_ACCOUNT_KEY_FILE": "/path/to/service-account.json"
    }
    }
    }
    }

    HTTP only. Requires a public base URL. CSV export and /files are disabled in DCR mode; resourceStoreUri is ignored.

    {
    "mcpServers": {
    "gmail-dcr": {
    "command": "npx",
    "args": [
    "-y",
    "@mcp-z/mcp-gmail",
    "--auth=dcr",
    "--port=3456",
    "--base-url=https://oauth.example.com"
    ],
    "env": {
    "GOOGLE_CLIENT_ID": "your-client-id",
    "GOOGLE_CLIENT_SECRET": "your-client-secret"
    }
    }
    }
    }
    # List tools
    mcp-z inspect --servers gmail --tools

    # Call a tool
    mcp-z call gmail message-search '{"query":"from:alice@example.com"}'
    1. categories-list
    2. label-add
    3. label-delete
    4. labels-list
    5. message-get
    6. message-mark-read
    7. message-move-to-trash
    8. message-respond
    9. message-search
    10. message-send
    11. messages-export-csv
    1. email
    1. draft-email
    2. query-syntax

    See server.json for all supported environment variables, CLI arguments, and defaults.