[WIP] Programmable Email
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
Jump to
- 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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
[WIP] Programmable EmailCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- 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 MacInstallation
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 (seegmail_api.ts for capabilities)
- More testsSign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



