mcpField
[
[WIP] Programmable Email

[WIP] Programmable Email

Local
github.com/juecdCommunication0Updated 96w ago

About [WIP] Programmable Email

[WIP] Programmable Email is an experimental MCP server for connecting Claude and other MCP clients to Gmail through local OAuth tokens. It currently supports only a subset of Gmail search capabilities; email sending is listed as future work.

Key features

  1. 01Connects to Gmail with local OAuth tokens
  2. 02Searches a subset of Gmail email capabilities
  3. 03Runs as a Docker image

Use cases

  1. 01Retrieve recent unread email through an MCP client
  2. 02Experiment with Gmail access from Claude

MCP support

Exposes Gmail access to Claude and other MCP clients through MCP. Emails fetched are sent to Claude's servers when used with Claude.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"programmable-email": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"programmable-email"
]
}
}
}
Run commanddocker run -i --rm programmable-email

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ociprogrammable-email

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

[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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.