MultiMail MCPサーバー
✓ 検証済み段階的な人間による監視、暗号化されたアイデンティティ、および受信者ごとの送信制御を備えたメールアドレスをAIエージェントに提供します。
別名 multimail-dev/mcp-server, @multimail/mcp-server
- スター
- 2
- ツール
- 50
- ダウンロード数(30日間)
- —
- 最新バージョン
- 0.13.0
- 最終コミット
- 2026年6月12日
- ライセンス
- MIT
MultiMail MCPとは
MultiMailはMCPサーバーです。 段階的な人間による監視、暗号化されたアイデンティティ、および受信者ごとの送信制御を備えたメールアドレスをAIエージェントに提供します。. 50個のツールを提供しており、send_email, check_inbox, read_emailなどがあります。
プロジェクトのREADMEから生成された概要
MultiMail MCP server について
MultiMailは、人間による段階的な監視のための信頼の階段を備えた、機能的なメールアドレスをAIエージェントに提供します。このシステムにより、開発者はエージェントの信頼性が証明されるにつれて、読み取り専用モードから完全な自律運用へと移行させることができます。Claude Desktop、Cursor、Windsurf、ChatGPT Desktopを含むさまざまなMCPクライアントでの使用を想定して設計されています。ユーザーは、OAuthを使用したリモートURL経由、またはAPIキーとmailbox IDを使用したローカルのstdioサーバー経由で接続できます。
このサーバーには、Markdown形式のメッセージ送信、受信トレイの確認、スレッド管理などの主要なメールタスク用のツールが含まれています。セキュリティが中心的な焦点となっており、署名付きヘッダーによる暗号化されたアイデンティティや、信頼できる連絡先に対して承認待ちキューをバイパスするための受信者ごとの許可リストなどの機能を備えています。すべての送信メッセージは、配信前にフィッシングやマルウェアを検知するためのコンテンツスキャンが行われます。監視システムには、送信メールに人間の承認が必要なgated_sendや、監視用アドレスにコピーが送信されるmonitoredなどの特定のモードが含まれます。
できること
- 1返信のドラフト作成と確認エージェントに最近のメールを要約させ、手動承認を待機する状態の返信案を作成させます。
- 2自動通信の信頼性管理人間の介入を必要とせずに、特定のドメインに対してエージェントが自動的にメールを送信するように設定します。
- 3エージェントの送信アクティビティの監査エージェントが作成し、人間の承認を待っているメールのキューを確認します。
- 4受信トレイの要約と仕分けエージェントに受信メッセージをスキャンさせ、どれが即時の対応を必要とするかを特定させます。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
MultiMail MCPのインストール方法
フォーマット検証日 2026年11月10日Claude CodeにMultiMail MCPをインストール
$ claude mcp add --env MULTIMAIL_API_KEY=<YOUR_MULTIMAIL_API_KEY> mcp-server -- npx -y @multimail/mcp-serverCursorにMultiMail MCPをインストール
~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@multimail/mcp-server"
],
"env": {
"MULTIMAIL_API_KEY": "<YOUR_MULTIMAIL_API_KEY>"
}
}
}
}VS CodeにMultiMail MCPをインストール
.vscode/mcp.json
{
"servers": {
"mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@multimail/mcp-server"
],
"env": {
"MULTIMAIL_API_KEY": "<YOUR_MULTIMAIL_API_KEY>"
}
}
}
}Claude DesktopにMultiMail MCPをインストール
claude_desktop_config.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@multimail/mcp-server"
],
"env": {
"MULTIMAIL_API_KEY": "<YOUR_MULTIMAIL_API_KEY>"
}
}
}
}CodexにMultiMail MCPをインストール
~/.codex/config.toml
[mcp_servers.mcp-server] command = "npx" args = ["-y", "@multimail/mcp-server"] [mcp_servers.mcp-server.env] MULTIMAIL_API_KEY = "<YOUR_MULTIMAIL_API_KEY>"
Gemini CLIにMultiMail MCPをインストール
~/.gemini/settings.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@multimail/mcp-server"
],
"env": {
"MULTIMAIL_API_KEY": "<YOUR_MULTIMAIL_API_KEY>"
}
}
}
}MultiMail MCPツール 50
READMEから検出send_emailcheck_inboxread_emailreply_emailget_threaddownload_attachmentcancel_messageedit_scheduled_emailwait_for_emailget_tagsset_tagsdelete_tag
| send_email | — | |
| check_inbox | — | |
| read_email | — | |
| reply_email | — | |
| get_thread | — | |
| download_attachment | — | |
| cancel_message | — | |
| edit_scheduled_email | — | |
| wait_for_email | — | |
| get_tags | — | |
| set_tags | — | |
| delete_tag | — |
50個のツールをすべて表示ツールを折りたたむ
list_pendingdecide_emailmanage_upgradelist_allowlistadd_allowlist_entryremove_allowlist_entrylist_mailboxesconfigure_mailboxupdate_mailboxcreate_mailboxdelete_mailboxget_accountupdate_accountdelete_accountget_usageupgrade_plancancel_subscriptionget_billing_portalrequest_challengecreate_accountresend_confirmationactivate_accountsetup_multimaillist_api_keyscreate_api_keyrevoke_api_keyget_audit_logsearch_contactsadd_contactdelete_contactmanage_spam_statuslist_spamlist_suppressionremove_suppressioncreate_webhooklist_webhooksdelete_webhookreport_issue
| list_pending | — | |
| decide_email | — | |
| manage_upgrade | — | |
| list_allowlist | — | |
| add_allowlist_entry | — | |
| remove_allowlist_entry | — | |
| list_mailboxes | — | |
| configure_mailbox | — | |
| update_mailbox | — | |
| create_mailbox | — | |
| delete_mailbox | — | |
| get_account | — | |
| update_account | — | |
| delete_account | — | |
| get_usage | — | |
| upgrade_plan | — | |
| cancel_subscription | — | |
| get_billing_portal | — | |
| request_challenge | — | |
| create_account | — | |
| resend_confirmation | — | |
| activate_account | — | |
| setup_multimail | — | |
| list_api_keys | — | |
| create_api_key | — | |
| revoke_api_key | — | |
| get_audit_log | — | |
| search_contacts | — | |
| add_contact | — | |
| delete_contact | — | |
| manage_spam_status | — | |
| list_spam | — | |
| list_suppression | — | |
| remove_suppression | — | |
| create_webhook | — | |
| list_webhooks | — | |
| delete_webhook | — | |
| report_issue | — |
設定
MULTIMAIL_API_KEYシークレットYour MultiMail API key (starts with mm_live_). Optional — run without it to create an account first.
MULTIMAIL_MAILBOX_IDDefault mailbox ID. If not set, pass mailbox_id to each tool or call list_mailboxes first.
| 名前 | 説明 | 種類 |
|---|---|---|
| MULTIMAIL_API_KEY | Your MultiMail API key (starts with mm_live_). Optional — run without it to create an account first. | シークレット |
| MULTIMAIL_MAILBOX_ID | Default mailbox ID. If not set, pass mailbox_id to each tool or call list_mailboxes first. |
自動チェック
実行日 2026年11月14日詳細レポート →自動チェックに合格しました。これはセキュリティ監査ではありません。コードを読み、サーバーに必要最小限のアクセス権を与えてください。 チェックの仕組み
- ソースリポジトリがリンクされており、アクセス可能multimail-dev/mcp-server is public and reachablegithub.com/multimail-dev/mcp-server ↗合格
- パッケージがこのリポジトリをソースとして示している@multimail/mcp-server names multimail-dev/mcp-server as sourcenpmjs.com/package/@multimail/mcp-server ↗合格
- ビルドの来歴(Sigstore 証明)No build attestation published for this release未チェック
- オープンソースライセンス (OSI)MITspdx.org/licenses/MIT.html ↗合格
- 過去1年以内にコミットまたはリリースありLast commit or release 2026-06-12github.com/multimail-dev/mcp-server ↗合格
- OpenSSF Scorecard未チェック
- パッケージ名が有名なパッケージに酷似していないNo popular package one edit away from @multimail/mcp-server合格
- パッケージと依存関係に重大なアドバイザリがない99 resolved dependencies checked; no critical advisoryosv.dev ↗合格
- モデルへの隠れた指示がない50 tool descriptions and the README read; no override phrases, credential paths or hidden characters合格
- 破壊的なツールがラベル付けされている未チェック
- リモート endpoint が MCP ハンドシェイクに応答するHTTPS endpoint answered 401 (sign-in required)合格
README
GitHubで見る@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
{
"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
{
"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
| Client | Config file |
|---|---|
| Claude Code | ~/.claude/.mcp.json |
| Claude Desktop | claude_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 |
| OpenCode | mcp.json in your project |
| ChatGPT Desktop | Settings > MCP Servers |
Trust ladder
Every mailbox has an oversight mode. Start restrictive, graduate as the agent earns trust.
| Mode | Behavior |
|---|---|
read_only |
Agent reads email. All sends blocked. |
gated_all |
Every action requires human approval. |
gated_send |
Outbound held for approval. Inbound immediate. (default) |
monitored |
Agent sends freely. Copies go to oversight address. |
autonomous |
Full 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 (vendor@example.com) 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 email
POST /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 withagent_authextension)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_scanwhile scanned. Gated mailboxes then transition topending_send_approvalfor human review. Do not retry. - Every outbound email carries a cryptographically signed
X-MultiMail-Identityheader. - Reputation data via
X-MultiMail-Reputationheader: bounce rates, complaint rates, account age. Privacy-preserving, updated daily.
Tools (50)
| Tool | Description |
|---|---|
| Core email | |
send_email |
Send email as markdown. Supports attachments, idempotency_key, scheduled delivery via send_at. |
check_inbox |
List emails with filters: status, sender, subject, date range, direction, attachments, pagination. |
read_email |
Full email content. Trusted metadata and untrusted body returned as separate content blocks. |
reply_email |
Reply in-thread. Threading headers set automatically. |
get_thread |
All emails in a conversation thread with participants and metadata. |
download_attachment |
Download attachment as base64 with content type. |
cancel_message |
Cancel a pending or scheduled email. |
edit_scheduled_email |
Edit scheduled email before it sends. |
wait_for_email |
Block until matching email arrives or timeout (max 120s). |
get_tags |
Get all tags on an email. Persistent key-value agent memory across sessions. |
set_tags |
Set tags on an email. Merges with existing tags. |
delete_tag |
Delete a specific tag key from an email. |
| Oversight | |
list_pending |
Emails awaiting oversight decision (requires oversight scope). |
decide_email |
Approve or reject a pending email (requires oversight scope). |
manage_upgrade |
Request or apply oversight mode upgrade (action: request|apply). |
| Sending allowlist | |
list_allowlist |
List sending allowlist entries. |
add_allowlist_entry |
Add a recipient to the sending allowlist. Operator approval required. |
remove_allowlist_entry |
Remove an allowlist entry. |
| Mailbox management | |
list_mailboxes |
All mailboxes with ID, address, oversight mode, display name. |
configure_mailbox |
First-run setup: oversight mode, display name, CC/BCC, scheduling, signature. |
update_mailbox |
Update settings (display name, oversight mode, signature, webhooks). |
create_mailbox |
Create mailbox (admin scope + operator approval). |
delete_mailbox |
Permanently delete a mailbox (admin scope). |
| Account & billing | |
get_account |
Account status, plan, quota, sending enabled, enforcement tier. |
update_account |
Update org name, oversight email, physical address. |
delete_account |
Permanently delete account and all data (admin scope). |
get_usage |
Quota and usage stats for the billing period. |
upgrade_plan |
Upgrade to paid plan (Builder $9/mo, Pro $29/mo, Scale $99/mo). |
cancel_subscription |
Cancel paid subscription, revert to starter at period end. |
get_billing_portal |
Stripe portal URL for self-service billing. |
| Signup (no API key needed) | |
request_challenge |
ALTCHA proof-of-work challenge for account creation. |
create_account |
Create account with solved PoW challenge. |
resend_confirmation |
Resend activation email with new code. |
activate_account |
Activate account using confirmation code. |
setup_multimail |
Guided onboarding on the public /onboard endpoint. |
| API keys & audit | |
list_api_keys |
List all API keys (admin scope). |
create_api_key |
Create API key with scopes (admin + operator approval). send+oversight rejected to prevent self-approval. |
revoke_api_key |
Revoke an API key (admin scope). |
get_audit_log |
Account audit log (admin scope). |
| Contacts & spam | |
search_contacts |
Search contacts by name or email. |
add_contact |
Add a contact. |
delete_contact |
Delete a contact. |
manage_spam_status |
Report spam or clear spam status (action: report|clear). |
list_spam |
Spam-flagged and quarantined emails. |
list_suppression |
List suppressed recipients with pagination. |
remove_suppression |
Remove a recipient from the suppression list. |
| Webhooks | |
create_webhook |
Create webhook for real-time email event notifications. |
list_webhooks |
List all webhooks. |
delete_webhook |
Delete a webhook. |
| Meta | |
report_issue |
Report a bug, site problem, or feature request. |
Example prompts
Find the most recent email from alice@example.com, summarize what she's asking,
then draft a reply saying I'll review this week. Don't send until I approve.
Check my inbox and summarize the last 5 unread emails.
For each: sender, subject, time, and whether it needs action today.
Review the pending approval queue. For each pending email: who it goes to,
the subject, risk factors, and whether to approve or reject.
Show my current sending allowlist. Then add *@acme.com so emails to Acme skip approval.
Environment variables
| Variable | Required | Description |
|---|---|---|
MULTIMAIL_API_KEY |
For stdio mode | Your API key (mm_live_...). Not needed for remote server (uses OAuth). |
MULTIMAIL_MAILBOX_ID |
No | Default mailbox ID. If unset, pass mailbox_id per tool or call list_mailboxes. |
MULTIMAIL_API_URL |
No | API base URL. Defaults to https://api.multimail.dev. |
Also available
- REST API:
https://api.multimail.dev(OpenAPI spec) - CLI:
npx -y @mvanhorn/printing-press install multimail(every API endpoint as a shell command) - SDKs: Python, Vercel AI SDK, LangChain, LlamaIndex, CrewAI, AutoGen
Development
npm install
npm run dev # Run with tsx
npm run build # Compile TypeScript
npm start # Run compiled version
License
MIT
By using MultiMail you agree to the Terms of Service and Acceptable Use Policy.
MultiMail MCPのよくある質問
MultiMail MCPをClaude Codeに追加するには
ターミナルでclaude mcp add --env MULTIMAIL_API_KEY=<YOUR_MULTIMAIL_API_KEY> mcp-server -- npx -y @multimail/mcp-serverを実行します。すべてのプロジェクトで利用するには--scope userを追加します。
MultiMail MCPをCursorに追加するには
~/.cursor/mcp.jsonを開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
MultiMail MCPが提供するツールは
50個のツールを提供しており、send_email, check_inbox, read_email, reply_email, get_threadなどがあります。
信頼の階段(trust ladder)はどのように機能しますか?
メールボックスは読み取り専用から完全な自律モードまで、さまざまな監視モードを使用しており、ユーザーは時間の経過とともにエージェントへの信頼度を段階的に高めることができます。
特定の受信者に対してメールの承認をスキップさせることができますか?
はい、gated_sendモードにおいて、特定のメールアドレスやドメインのワイルドカードを使用した受信者ごとの許可リスト(allowlist)を使用することで、承認待ちキューをバイパスできます。
メールのセキュリティとアイデンティティはどのように処理されますか?
送信メールには、暗号化されたアイデンティティを示す署名付きECDSA P-256ヘッダーと、プライバシーを保護したデータ用のレピュテーションヘッダーが含まれます。