OpenMail

sh.openmailv0.1.0Updated Oct 6, 2026

Gmail for agents: create inboxes, read and reply to mail, send email, manage domains. OAuth sign-in.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowCommunication & Collaboration

Overview

AI-generated overview

Lets an assistant create email inboxes, read and reply to mail, send email, and manage domains through a hosted Gmail-style service.

What it does
OpenMail is a hosted email service for agents, described as Gmail for agents. Through its MCP endpoint an assistant can create inboxes, read incoming mail that wants a reply, reply in-thread, send email, and manage domains. It also exposes setup and key-minting tools for provisioning agent email access.
When to use it
Useful when an assistant needs its own email identity: monitoring an inbox, drafting or sending replies, or handling domain-based mail as part of an agent workflow. It is a hosted service, so it suits clients that can connect to a remote HTTP MCP endpoint rather than a local process.
Requirements
A remote Streamable HTTP endpoint at no local package is provided, so stdio-only clients need mcp-remote. Authentication is by OAuth sign-in (Claude, Cursor) or an API key sent as an Authorization Bearer header. Inbox-scoped, read-only, and single-inbox endpoint variants exist. Network access is required.
Before you install
An API key (Authorization: Bearer om_...) grants access to the account's mail; prefer an inbox-scoped or read-only endpoint where possible. Over an API key, setup_agent_email and mint_inbox_key return a token in the tool result, which lands in the chat transcript, so move it to the agent's environment. The server can send and reply to email and manage domains, so writes are possible. Optional PostHog analytics records a tool-call event per call unless disabled.

Installation

In SourceWeft

  1. Open OpenMail in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "openmail": {
      "type": "http",
      "url": "https://mcp.openmail.sh/mcp"
    }
  }
}

README

OpenMail MCP

Hosted Streamable HTTP MCP at https://mcp.openmail.sh/mcp. Gmail for agents: one inbox, read mail that wants a reply, reply in-thread.

There is no local stdio catalog — stdio-only clients should use mcp-remote.

Connect

Claude (OAuth): paste https://mcp.openmail.sh/mcp

Cursor (OAuth): Add to Cursor, or add the URL below without headers.

VS Code / any registry client: listed in the MCP Registry as sh.openmail/openmail.

Cursor or headless agents (API key):

json
{  "mcpServers": {    "openmail": {      "url": "https://mcp.openmail.sh/mcp",      "headers": { "Authorization": "Bearer om_YOUR_KEY" }    }  }}

Prefer an inbox-scoped key. Read-only: /mcp/readonly. One inbox: /mcp/inbox/{id}.

Keys and transcripts: over OAuth (Claude, Cursor sign-in) setup_agent_email and mint_inbox_key never return a token — the session is already authenticated, and anything returned lands in the chat. They point to the console, which shows a new key once in the browser. Over an API key (headless agent) the token is returned in the tool result; move it to the agent's env.

stdio-only clients: npx -y mcp-remote https://mcp.openmail.sh/mcp

Env

NamePurpose
OPENMAIL_API_URLAPI origin (https://api.openmail.sh)
MCP_RESOURCE_URLOAuth resource (https://mcp.openmail.sh)
MCP_JWT_SECRETSame secret as the API. Required in production; outside production falls back to NEXTAUTH_SECRET
CONSOLE_ORIGINConsent page host
PORTListen port
POSTHOG_API_KEYTurns on PostHog MCP Analytics ($mcp_tool_call per call). Unset = off
MCP_ANALYTICS_DEBUGSet to log every captured analytics event

See .env.example.

Local

pnpm installpnpm testpnpm dev

Contributing

Open an issue or PR. Run pnpm typecheck && pnpm test before pushing.

MIT © OpenMail

Source: README.md at commit fd58362

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v0.1.0LatestOct 6, 2026