Give ChatGPT email capabilities through MultiMail's MCP server

Connect ChatGPT to MultiMail's hosted MCP endpoint to send, read, and manage email via natural language — no CLI setup required.


ChatGPT supports remote MCP servers through its Connectors feature, letting you attach hosted tools to any conversation. MultiMail's MCP server at mcp.multimail.dev exposes 43 email tools over streamable HTTP — the transport ChatGPT uses — so connecting takes under two minutes.

Once connected, ChatGPT can check inboxes, compose and send email, read threads, tag messages, and surface pending approvals. The oversight model is set per-mailbox on the MultiMail side, so you control whether ChatGPT can send autonomously or must wait for human approval before delivery.

This integration suits non-technical users who want chat-based access to email management without running a local agent. Developers can also use it to prototype workflows before wiring up the REST API or Python SDK directly.

Get started

1

Create a MultiMail account and generate an API key

Sign up at multimail.dev. After creating your account, navigate to Settings → API Keys and create a new live key. Copy the mm_live_... token — you will paste it during the ChatGPT connector setup.

2

Create a mailbox and choose an oversight mode

In the MultiMail dashboard, create at least one mailbox (e.g. [email protected] or a multimail.dev address). Set oversight_mode to gated_send so ChatGPT can read freely but outbound email requires your approval before delivery.

3

Open ChatGPT and navigate to Connectors

In ChatGPT, click your profile icon and go to Settings → Connectors. Select 'Add connector' and choose 'Connect to MCP server'. This option is available on ChatGPT Plus and higher plans.

4

Enter the MultiMail MCP server URL

Paste the server URL shown below. ChatGPT will discover all available tools automatically via the streamable HTTP endpoint. No local configuration file is required.

json
https:"cm">//mcp.multimail.dev/mcp
5

Authenticate with your API key

When prompted, select Bearer token authentication and enter your mm_live_... key. ChatGPT stores this credential for the connector session. The MultiMail MCP worker validates it on every request and scopes all operations to your account.

6

Test the connection

Start a new ChatGPT conversation and type: 'Check my inbox using MultiMail.' ChatGPT should invoke check_inbox and return recent messages. If it asks which mailbox, provide the address you created in step 2.


Available MCP tools

ToolDescriptionExample
send_emailCompose and send an email from a MultiMail mailbox. Supports to, cc, bcc, subject, plain-text body, and HTML body. Subject to the mailbox oversight_mode — may queue for human approval before delivery.Send a follow-up email to the lead from yesterday's thread summarizing our next steps.
reply_emailReply to an existing email by message ID, preserving thread context. Handles In-Reply-To and References headers automatically.Reply to the last email in the support thread and ask for the customer's account ID.
check_inboxReturn recent messages in a mailbox, optionally filtered by read status, sender, date range, or tag. Pagination is supported via cursor.Show me unread messages from the past 48 hours in [email protected].
read_emailFetch the full content of a single message by ID, including headers, plain-text body, HTML body, and attachment metadata.Read the full text of the contract renewal email I received this morning.
get_threadReturn all messages in a thread in chronological order, useful for understanding context before replying.Get the full conversation thread with the new customer onboarding contact.
tag_emailApply or remove a string tag on a message. Tags are queryable via check_inbox filters and useful for workflow routing.Tag this email as 'needs-contract' so I can filter it later.
decide_emailApprove or reject a message held in the gated_send queue, optionally with an edited body. Used when oversight_mode requires human sign-off before delivery.Approve the draft reply to the customer complaint but make the tone more formal.
list_pendingReturn all messages currently awaiting approval in the gated queue for a mailbox.What emails are waiting for my approval right now?
cancel_messageCancel a message still in the delivery queue or pending approval, before it has been sent.Cancel the invoice reminder I queued five minutes ago — the customer already paid.
search_contactsSearch your contact graph by name, email, or domain to find recipients and their communication history.Find the email address for Sarah at the Acme Corp account.
create_mailboxProvision a new mailbox on a verified domain or a multimail.dev subdomain. Returns the mailbox ID for use in subsequent tool calls.Create a mailbox called [email protected] for new user welcome emails.

Usage examples

Inbox triage prompt
text
Check my MultiMail inbox at [email protected] for unread messages from the last 24 hours. For each one, read the full body and give me a one-sentence summary with the sender name and subject line.

A natural language prompt that causes ChatGPT to invoke check_inbox and read_email in sequence to summarize new messages.

Draft and gate a reply
text
Reply to the most recent email in my inbox from [email protected]. Acknowledge receipt of the SOW, say we will review it within 2 business days, and sign off as 'The Acme Team'. Hold the draft for my approval before sending.

Instructs ChatGPT to compose a reply and hold it in the gated_send queue for human approval before delivery.

MCP connector configuration reference
json
{
  "server_url": "https://mcp.multimail.dev/mcp",
  "transport": "streamable_http",
  "auth": {
    "type": "bearer",
    "token": "mm_live_YOUR_API_KEY"
  }
}

The information ChatGPT needs to connect to the MultiMail MCP server. Entered directly in the ChatGPT Connectors UI — no local file required.

Verify the MCP endpoint before connecting
bash
curl -X POST https://mcp.multimail.dev/mcp \
  -H &"cm">#039;Authorization: Bearer $MULTIMAIL_API_KEY' \
  -H &"cm">#039;Content-Type: application/json' \
  -d &"cm">#039;{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Use curl to confirm the MultiMail MCP server is reachable and returns a valid tool list before configuring ChatGPT.

Interactive approval workflow prompt
text
Use MultiMail to list all emails pending my approval in the [email protected] mailbox. Show me each draft's subject, recipient, and the first 100 characters of the body. Then ask me one at a time whether to approve or cancel each one.

A multi-step prompt that lists pending approvals and lets the user approve or reject each one interactively within ChatGPT.


Best practices

Start with gated_send oversight for safe defaults

When using ChatGPT as an email interface for the first time, set oversight_mode to gated_send on your mailbox. ChatGPT can read and draft freely, but no email leaves your account until you explicitly approve it via decide_email or the MultiMail dashboard. Switch to monitored or autonomous only after validating output quality over several sessions.

Reference the mailbox address explicitly in prompts

If your MultiMail account has multiple mailboxes, include the full address in your prompt (e.g. 'Check [email protected]'). This prevents tool calls from defaulting to the wrong mailbox and eliminates ambiguity errors when you have both personal and agent mailboxes active.

Use tags to build lightweight triage workflows

Ask ChatGPT to tag emails as it processes them — for example, 'needs-reply', 'awaiting-invoice', or 'reviewed'. Tags are queryable via check_inbox filters, so you can later say 'Show me everything tagged needs-reply' and continue exactly where you left off.

Expand tool call details to verify parameters

ChatGPT displays which tools were called in the conversation thread. After any email action, expand the tool call entry to confirm the correct mailbox address, message ID, and body were used before continuing the workflow. This is especially important before approving outbound email drafts.

Keep each conversation focused on one mailbox

ChatGPT does not persist context between conversations. For multi-mailbox accounts, start a fresh conversation when switching contexts. This prevents the model from mixing thread context across unrelated inboxes and keeps the tool call history auditable.


Common questions

Does ChatGPT support the MultiMail MCP server natively?
Yes. ChatGPT's Connectors feature supports remote MCP servers over streamable HTTP, which is the transport the MultiMail MCP server uses. No plugin, extension, or local daemon is required — connect by entering https://mcp.multimail.dev/mcp and your API key in the ChatGPT Connectors settings.
Can ChatGPT send email without my approval?
Only if the mailbox oversight_mode is set to monitored or autonomous. With gated_send (the recommended default), any outbound email drafted by ChatGPT is held in a pending queue. You approve or reject it via the decide_email tool or the MultiMail dashboard before it is delivered.
How are my credentials handled?
ChatGPT stores the Bearer token you provide during connector setup for the duration of the session. The token is sent to the MultiMail MCP worker on each tool call, where it is validated server-side and scoped to your account. Your email content is subject to OpenAI's standard conversation retention policies.
Does this work on the free ChatGPT plan?
MCP connector support in ChatGPT is available on ChatGPT Plus and higher plans. The MultiMail side imposes no plan restriction on MCP access — any MultiMail account tier can use the MCP server endpoint.
Which MultiMail tools are available through ChatGPT?
All 43 MultiMail MCP tools are available, including send_email, reply_email, check_inbox, read_email, get_thread, tag_email, decide_email, list_pending, cancel_message, search_contacts, and create_mailbox. ChatGPT selects which tools to invoke based on your natural language instructions.
Can I use a custom domain mailbox?
Yes. Any mailbox on a domain verified in your MultiMail account works identically to a multimail.dev address. Verify your domain under Settings → Domains in the MultiMail dashboard, create a mailbox on it, then reference that address in your ChatGPT prompts.
How does ChatGPT handle email attachments?
The read_email tool returns attachment metadata — filename, MIME type, and size. ChatGPT can describe what attachments are present but cannot download or render binary content through the MCP interface. Retrieving attachment content requires a direct call to the MultiMail REST API using the attachment ID returned in the message metadata.

More MCP clients

The only agent email with a verifiable sender

Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a 38-tool MCP server. Formally verified in Lean 4.