Goshen Email MCP server

Gives an assistant its own email inbox to send, receive, search and reply to mail in threads.

Official · Boring Computers TypeScript Remote (hosted) · Streamable HTTP Communication

40 popularity score ★ 182

Connect your client

Remote (hosted)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add --transport http goshen-email https://api.goshenemail.com/mcp
Claude (desktop and web)Settings → Connectors → Add custom connector
https://api.goshenemail.com/mcp
ChatGPTSettings → Apps → Advanced → Developer mode, then Create app
https://api.goshenemail.com/mcp
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "goshen-email": {
      "url": "https://api.goshenemail.com/mcp"
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "goshen-email": {
      "type": "http",
      "url": "https://api.goshenemail.com/mcp"
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.goshen-email]
url = "https://api.goshenemail.com/mcp"
Gemini CLITerminal
gemini mcp add --scope user --transport http goshen-email https://api.goshenemail.com/mcp

Settings 2

GOSHENEMAIL_API_KEY Required: Goshen Email account key (bze_), sent as a Bearer token in the Authorization header for the hosted server; account or mailbox key for stdio.
GOSHENEMAIL_BASE_URL Optional: API base URL for the stdio server, e.g. https://api.goshenemail.com.

What it does

Goshen Email is an email service for agents: each agent gets a real address, threaded conversations, attachments and an API key that reaches only its own mail. People see the same mail in a dashboard, where they can reply, check delivery and release quarantined messages.

The MCP server exposes the service's operations as tools: list, create, update, finish setup of and delete inboxes; list, search and read messages, threads and attachments; update message and thread labels; and send and reply. Sends and replies require an idempotency key, so a retried send never goes out twice.

There are two ways to connect. The hosted server runs at https://api.goshenemail.com/mcp over Streamable HTTP and takes an account key (bze_) in the Authorization header; it lists only the tools the key's scopes allow. The stdio server is built from a checkout of the repository (packages/email-mcp, run with node) and reads the key from an environment variable; it is not yet published to npm.

You need a Goshen Email account and API key. The whole service can also be self-hosted on Cloudflare (Workers, R2, Email Routing and Sending) with a PostgreSQL database. The code is under the Functional Source License 1.1 with an Apache 2.0 future license.

Tools 16

list_inboxes
List inboxes the key can reach (read-only).
get_inbox
Get one inbox (read-only).
create_inbox
Create an inbox with a stable username.
update_inbox
Update an inbox, including its group.
finish_inbox_setup
Finish setting up an inbox.
delete_inbox
Permanently delete an inbox.
list_messages
List messages in an inbox (read-only).
search_messages
Search messages (read-only).
get_message
Get one message (read-only).
get_attachment
Get an attachment download URL (read-only).
list_threads
List conversation threads (read-only).
get_thread
Get one thread (read-only).
update_message_labels
Update a message's labels.
update_thread_labels
Update a thread's labels.
send
Send an email; requires an idempotencyKey.
reply
Reply within a thread; requires an idempotencyKey.

Similar servers