[WIP] Programmable Email

by juecd

288 downloads
Not rated
GitHub

About

Programmable Email is an MCP server that connects Claude (or any MCP client) with Gmail using local OAuth tokens. It is designed for experimentation and testing purposes, and any emails fetched will be sent to Claude’s servers.

Details

Author
juecd
Downloads
288
Categories
Communication

- Connects Claude or any MCP client to Gmail
- Uses local OAuth tokens for authentication
- Runs inside a Docker container
- Retrieves recent unread emails from Gmail
- Designed for experimentation and testing
- Fetched emails are sent to Claude’s servers

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name [WIP] Programmable Email
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Obtain Gmail OAuth credentials (credentials.json and token.json), build the Docker image with docker build -t programmable-email ., then configure Claude Desktop’s claude_desktop_config.json to run the image. Open or restart Claude, then ask Claude to retrieve your recent unread emails.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "[wip] programmable email": {
            "programmable-email": {
                "command": "docker",
                "args": [
                    "run",
                    "-i",
                    "--rm",
                    "programmable-email"
                ]
            }
        }
    }
}

McpServers

{
    "programmable-email": {
        "command": "docker",
        "args": [
            "run",
            "-i",
            "--rm",
            "programmable-email"
        ]
    }
}

[WIP] Programmable Email

An MCP server for connecting Claude with Gmail

This server connects Claude—or any MCP client—with Gmail using Gmail's local oauth tokens.
This server is designed for experimentation and testing purposes. Note that any emails fetched will be sent to Claude's servers.

Pre-Requisites

- Docker - Claude Desktop for Mac

Installation

1. Gmail oauth credentials

You'll first need to generate a personal oauth token following this guide. Create Oauth client ID credentials as a server-side application.

You'll need credentials.json in your root directory that represents the Google oauth token, as well as token.json. token.json is automatically generated the first time you use your Google oauth credentials.

2. Run docker build

Build the image by running docker build -t programmable-email .

Verify that it runs with docker run -i --rm programmable-email.

3. Configure Claude with the MCP server

Access the directory where MCP server configs live: cd ~/Library/Application\ Support/Claude

Edit claude_desktop_config.json with the following:

{
"mcpServers": {
"programmable-email": {
"command": "docker",
"args": ["run", "-i", "--rm", "programmable-email"]
}
}
}

4. Open (or restart) Claude

5. Ask Claude to retrieve your recent unread emails.

TODO

- Finish Gmail read functionality (currently only a subset of available search capabilities are available, see index.ts) - Implement Gmail send functionlity as an MCP tool (see gmail_api.ts for capabilities) - More tests
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.