Multimail

dev.multimail由 multimail.dev 發布官方發布者v0.13.0更新於 Oct 24, 2026

Give your agent its own email address with graduated human oversight, from approval to autonomy.

已驗證Streamable HTTP可網頁執行效率與工作流溝通與協作安全與監控

概覽

AI 產生的概覽

為 AI 代理提供專屬電子郵件地址,具備從唯讀到完全自主的信任階梯、簽章身分與依收件人發送控制。

可以做什麼
寄送、回覆、排程、取消與編輯郵件,支援 Markdown 內文、附件與自動串接討論串,並可等待或下載來信與附件。搜尋、閱讀與標記收件匣郵件,標籤可作為跨工作階段的持久鍵值記憶。管理監督流程:列出待審郵件、核准或拒絕,並申請或套用信任階梯模式升級。管理寄送允許清單、信箱、聯絡人、垃圾郵件與抑制清單以及 Webhook。處理帳戶、帳單與用量、API 金鑰和稽核日誌,並可在無 API 金鑰時自助註冊帳戶。
適用情境
當代理需要一個真實信箱在人工監督下收發郵件,從嚴格限制逐步過渡到自主運作,或希望與已知聯絡人的例行郵件直接寄出而新收件人仍需審核時使用。
執行需求
可使用 mcp.multimail.dev 遠端端點,首次連線透過 OAuth 驗證;或透過 npx 以 stdio 執行本機 npm 套件。本機模式需要 MULTIMAIL_API_KEY(以 mm_live_ 開頭),也可省略以互動方式建立帳戶。MULTIMAIL_MAILBOX_ID 為選用,否則需在每個工具傳入 mailbox_id 或先呼叫 list_mailboxes。需要存取 MultiMail API 的網路。
安裝前請注意
代理可向外寄送真實郵件,gated_send 以上模式允許寄送,autonomous 模式取消所有關卡。帳戶、信箱、聯絡人、Webhook 與 API 金鑰工具可建立、修改或永久刪除資料,部分需要 admin 權限與營運者核准。upgrade_plan 與帳單工具涉及付費方案,會產生費用。API 金鑰是有效憑證,請勿放入共用設定。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Multimail,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/dev.multimail%2Fmcp-server/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "multimail": {
      "type": "http",
      "url": "https://mcp.multimail.dev/mcp"
    }
  }
}

README

@multimail/mcp-server

Your agent doesn't have email yet because nobody trusts it with email yet. MultiMail fixes that. A real email address with a trust ladder from read-only to fully autonomous, cryptographic identity on every message, and per-recipient sending controls.

Quick start

json
{  "mcpServers": {    "multimail": {      "type": "url",      "url": "https://mcp.multimail.dev/mcp"    }  }}

Remote server. No install. Authenticates via OAuth on first connect.

Works with Claude.ai, Claude Desktop, Claude Code, Cursor, Windsurf, Copilot (VS Code), ChatGPT Desktop, and any MCP client that supports remote servers.

Alternative: local stdio server

json
{  "mcpServers": {    "multimail": {      "command": "npx",      "args": ["-y", "@multimail/mcp-server"],      "env": {        "MULTIMAIL_API_KEY": "mm_live_...",        "MULTIMAIL_MAILBOX_ID": "01KJ1NHN8J..."      }    }  }}

Get a key at multimail.dev. Or run without one to create an account interactively.

Config file locations

ClientConfig file
Claude Code~/.claude/.mcp.json
Claude Desktopclaude_desktop_config.json
Cursor.cursor/mcp.json in your project
Windsurf~/.codeium/windsurf/mcp_config.json
Copilot (VS Code).vscode/mcp.json in your project
OpenCodemcp.json in your project
ChatGPT DesktopSettings > MCP Servers

Trust ladder

Every mailbox has an oversight mode. Start restrictive, graduate as the agent earns trust.

ModeBehavior
read_onlyAgent reads email. All sends blocked.
gated_allEvery action requires human approval.
gated_sendOutbound held for approval. Inbound immediate. (default)
monitoredAgent sends freely. Copies go to oversight address.
autonomousFull send/receive. No gates.

Agents request upgrades via the API. The operator approves with a one-time code. Downgrades need no approval. The agent can always restrict itself.

The gated approval flow is formally verified in Lean 4. No email reaches delivery without passing through operator approval, for every possible code path.

Per-recipient allowlist

In gated_send mode, allowlisted recipients bypass the approval queue. Add exact addresses ([email protected]) or domain wildcards (*@example.com). Every addition requires operator email approval. The agent cannot self-approve allowlist changes.

The practical middle ground: routine correspondence with known contacts goes immediately, new recipients still require oversight.

Cryptographic identity

Every outbound email carries a signed X-MultiMail-Identity header (ECDSA P-256). The payload includes operator name, oversight mode, capabilities, and verification status. Recipients verify against the public key at GET /.well-known/multimail-signing-key.

A separate X-MultiMail-Reputation header links to privacy-preserving reputation data: bounce rates, complaint rates, account age. No raw addresses exposed.

Without verified identity, recipients cannot distinguish your agent from a spammer. With it, they can verify the operator, the oversight level, and the sending history before reading a word.

Agent DID relay (optional). If your agent has bound a did:key to its MultiMail account, pass an optional ucan parameter to send_email / reply_email. MultiMail relays your agent's self-signed UCAN verbatim in a separate X-Agent-Identity header (did="…"; ucan="…") — it does not sign or vouch for it; recipient tooling verifies the delegation independently. Inert unless a DID is bound.

Agent self-registration (auth.md)

Agents can register themselves without a browser. The protocol uses verified-email identity assertion, following the auth.md convention inspired by WorkOS AuthKit:

POST /agent/auth -> claim_token + OTP sent to operator emailPOST /agent/auth/claim/complete -> API key + tenant_id + granted scopes

Discovery follows RFC 9728:

  • GET /.well-known/oauth-protected-resource (resource metadata)
  • GET /.well-known/oauth-authorization-server (authorization metadata with agent_auth extension)
  • GET /auth.md (human/agent-readable registration guide)

The WWW-Authenticate header on 401 responses points agents to these endpoints automatically. An agent that hits a 401 can follow the link, read the registration protocol, and onboard itself.

Content scanning

Every outbound email is scanned before delivery. Emails enter pending_scan status, then transition to delivery or pending_send_approval (in gated modes). Inbound emails go through the same pipeline. Phishing, malware, and prompt injection patterns are flagged before reaching the agent's inbox.

How it works

  • Email bodies are markdown in, formatted HTML out. Inbound HTML arrives as clean markdown (15x fewer tokens than raw MIME).
  • Threading is automatic. Reply to an email and headers are set correctly.
  • Sends return pending_scan while scanned. Gated mailboxes then transition to pending_send_approval for human review. Do not retry.
  • Every outbound email carries a cryptographically signed X-MultiMail-Identity header.
  • Reputation data via X-MultiMail-Reputation header: bounce rates, complaint rates, account age. Privacy-preserving, updated daily.

Tools (50)

ToolDescription
Core email
send_emailSend email as markdown. Supports attachments, idempotency_key, scheduled delivery via send_at.
check_inboxList emails with filters: status, sender, subject, date range, direction, attachments, pagination.
read_emailFull email content. Trusted metadata and untrusted body returned as separate content blocks.
reply_emailReply in-thread. Threading headers set automatically.
get_threadAll emails in a conversation thread with participants and metadata.
download_attachmentDownload attachment as base64 with content type.
cancel_messageCancel a pending or scheduled email.
edit_scheduled_emailEdit scheduled email before it sends.
wait_for_emailBlock until matching email arrives or timeout (max 120s).
get_tagsGet all tags on an email. Persistent key-value agent memory across sessions.
set_tagsSet tags on an email. Merges with existing tags.
delete_tagDelete a specific tag key from an email.
Oversight
list_pendingEmails awaiting oversight decision (requires oversight scope).
decide_emailApprove or reject a pending email (requires oversight scope).
manage_upgradeRequest or apply oversight mode upgrade (action: request|apply).
Sending allowlist
list_allowlistList sending allowlist entries.
add_allowlist_entryAdd a recipient to the sending allowlist. Operator approval required.
remove_allowlist_entryRemove an allowlist entry.
Mailbox management
list_mailboxesAll mailboxes with ID, address, oversight mode, display name.
configure_mailboxFirst-run setup: oversight mode, display name, CC/BCC, scheduling, signature.
update_mailboxUpdate settings (display name, oversight mode, signature, webhooks).
create_mailboxCreate mailbox (admin scope + operator approval).
delete_mailboxPermanently delete a mailbox (admin scope).
Account & billing
get_accountAccount status, plan, quota, sending enabled, enforcement tier.
update_accountUpdate org name, oversight email, physical address.
delete_accountPermanently delete account and all data (admin scope).
get_usageQuota and usage stats for the billing period.
upgrade_planUpgrade to paid plan (Builder $9/mo, Pro $29/mo, Scale $99/mo).
cancel_subscriptionCancel paid subscription, revert to starter at period end.
get_billing_portalStripe portal URL for self-service billing.
Signup (no API key needed)
request_challengeALTCHA proof-of-work challenge for account creation.
create_accountCreate account with solved PoW challenge.
resend_confirmationResend activation email with new code.
activate_accountActivate account using confirmation code.
setup_multimailGuided onboarding on the public /onboard endpoint.
API keys & audit
list_api_keysList all API keys (admin scope).
create_api_keyCreate API key with scopes (admin + operator approval). send+oversight rejected to prevent self-approval.
revoke_api_keyRevoke an API key (admin scope).
get_audit_logAccount audit log (admin scope).
Contacts & spam
search_contactsSearch contacts by name or email.
add_contactAdd a contact.
delete_contactDelete a contact.
manage_spam_statusReport spam or clear spam status (action: report|clear).
list_spamSpam-flagged and quarantined emails.
list_suppressionList suppressed recipients with pagination.
remove_suppressionRemove a recipient from the suppression list.
Webhooks
create_webhookCreate webhook for real-time email event notifications.
list_webhooksList all webhooks.
delete_webhookDelete a webhook.
Meta
report_issueReport a bug, site problem, or feature request.

Example prompts

text
Find the most recent email from [email protected], summarize what she's asking,then draft a reply saying I'll review this week. Don't send until I approve.
text
Check my inbox and summarize the last 5 unread emails.For each: sender, subject, time, and whether it needs action today.
text
Review the pending approval queue. For each pending email: who it goes to,the subject, risk factors, and whether to approve or reject.
text
Show my current sending allowlist. Then add *@acme.com so emails to Acme skip approval.

Environment variables

VariableRequiredDescription
MULTIMAIL_API_KEYFor stdio modeYour API key (mm_live_...). Not needed for remote server (uses OAuth).
MULTIMAIL_MAILBOX_IDNoDefault mailbox ID. If unset, pass mailbox_id per tool or call list_mailboxes.
MULTIMAIL_API_URLNoAPI base URL. Defaults to https://api.multimail.dev.

Also available

Development

bash
npm installnpm run dev   # Run with tsxnpm run build # Compile TypeScriptnpm start     # Run compiled version

License

MIT

By using MultiMail you agree to the Terms of Service and Acceptable Use Policy.

來源:README.md,提交 58b199b

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

1
  1. v0.13.0最新Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分