imap-mcp-server
imap-mcp
ソース公開・製品ではない。 これは、Cloudflare Workers 上で動作する汎用 IMAP → MCP サーバーです。MIT ライセンスで公開されているため、コードを読んだり、コピーしたり、学んだりすることができます。ただし、これは正確に1つのメールボックス、つまり個人の iCloud アカウントのために構築され、それに対して実行されます。サポートの約束はありません: 問題はトリアージされず、プルリクエストは募集されず、リリースもなく、ここにあるものは他の誰かの使用のためにバージョン管理されていません。役に立つなら、フォークしてください。
設計上、野心によるものではなく汎用性を重視しています — ホスト、ポート、認証情報は定数ではなく設定です — そのため、任意の IMAP サーバーに対して動作するはずです。実際にテストされているのは iCloud だけです。
ステータス: スキャフォールド。 まだ機能的なものは実装されていません。両方のワーカーは、インストール、lint、型チェック、テスト、デプロイのドライランを通過するプレースホルダーです。ロードマップ を参照してください。
機能
メールボックスを Cloudflare のストレージにインデックス化し、それを検索・取得ツールとして MCP クライアントに提供します。これにより、モデルは毎回のクエリでメールボックス自体を介さずに、15年分のメールに対して質問に答えることができます。
┌────────────────────┐ IMAP over TLS ┌──────────────┐
│ imap-mcp-sync │ ───────────────▶ │ mailbox │
│ packages/sync │ ◀─────────────── │ (iCloud) │
│ cron, owns creds │ └──────────────┘
└─────────┬──────────┘
│ writes ▲ writes proxied over
▼ │ a service binding
┌────────────────────┐ │
│ D1 (+FTS5) and R2 │ │
└─────────┬──────────┘ │
│ reads │
▼ │
┌────────────────────┐────────────────┘ ┌──────────────┐
│ imap-mcp-server │ Streamable HTTP │ MCP client │
│ packages/mcp │ ◀───────────────── │ behind CF │
│ stateless, no creds │ Access │
└────────────────────┘ └──────────────┘2つのワーカーがあり、その分割はパッケージングの選択ではなくセキュリティ設計です:
packages/sync(imap-mcp-sync) は、システム内で IMAP を話す唯一の部分です。アプリ固有のパスワードを保持します — iCloud では SMTP 送信を含むメールボックス全体へのアクセスを許可します — そのため、その認証情報は正確に1か所に存在します。packages/mcp(imap-mcp-server) はステートレスなリーダーです。インデックスをクエリし、メールボックスには決してアクセスせず、少数の書き込み操作をサービスバインディングを介して sync ワーカーにプロキシします。独自の接続を開くことはありません。
Related MCP server: stalwart-mail-mcp
クイックスタート
pnpm install # installs both packages
pnpm run lint # biome check (lint + format)
pnpm run typecheck # wrangler types + tsc --noEmit
pnpm run test # vitest, inside workerd
pnpm run dead-code # knip
pnpm run build # wrangler deploy --dry-run, both workers各パッケージで、packages/sync または packages/mcp から: pnpm run dev、pnpm run test:watch、pnpm run deploy を実行します。
設定
このリポジトリは公開されているため、デプロイ固有の値はコミットされていません — Cloudflare アカウント ID、ゾーンタグ、Cloudflare Access チームドメインやアプリケーションオーディエンス (AUD)、メールボックスアドレスはありません。wrangler.jsonc のどちらにも account_id は含まれておらず、MCP ワーカーはルートを一切宣言していません。
提供する必要があるものはすべて .env.example に名前と説明があります。それを .env にコピーして記入してください。要約すると:
項目 | 設定場所 |
| あなたの環境; wrangler が直接読み取ります |
MCP ワーカーのルート / ゾーン |
|
|
|
|
|
|
|
ローカルでは、シークレットはパッケージごとに gitignore された .dev.vars に置きます。各パッケージにはコピー用の .dev.vars.example があります。
両方のワーカーはデフォルトで到達不能
workers_dev と preview_urls は両方の wrangler.jsonc ファイルで false であり、MCP ワーカーはルートを宣言していません。したがって、新規デプロイはインターネットから到達できません。これは意図的です: フォルダフェンスがない場合、MCP エンドポイントは実質的にメールボックス全体への読み取りアクセスになるため、Cloudflare Access が前面に配置される前に到達可能になってはなりません。workers_dev: false がない場合、ワーカーはルートや Access ポリシーに関係なく <name>.<account>.workers.dev で稼働します。
ゼロからの完全なデプロイガイド — シークレット、Access の設定、バインディング、マイグレーション、バックフィル — はまだ書かれていません。システムの残りの部分とともに公開されます。
ロードマップ
このリポジトリの issue として追跡されています:
リポジトリのスキャフォールド — これ | |
内部インターフェースの背後に IMAP クライアントをベンダー化 | |
D1 スキーマとマイグレーション | |
トレーサー: 1つのフォルダを D1 に同期 | |
同期パスのためのキュー ファンアウト | |
MCP サーバーと | |
増分同期: ウォーターマークと | |
R2 への添付ファイル、テキスト抽出付き | |
Access Managed OAuth で MCP エンドポイントをゲートする | |
| |
サービスバインディングを介した書き込みツール、監査ログ付き | |
完全なバックフィルとセットアップガイド |
スパイクによって、アーキテクチャ全体が依存していた1つの疑問が解決されました — Cloudflare Worker は iCloud に対して IMAP を話せるのか? できます: TLS と LOGIN をポート 993 で 755 ミリ秒で実行し、フォルダを一覧表示し、メッセージを取得して MIME デコードし、下書きを追加してフラグを立てました。したがって、同期パスは Worker であり、コンテナに移行するものはありません。設計を制約する発見 — CONDSTORE の順序、iCloud での MOVE の欠如、コンテンツに対する SEARCH の使用不可 — は、影響を受けるチケットに書き込まれています。
ライセンス
MIT — LICENSE を参照してください。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceConnects multiple IMAP and SMTP mailboxes to MCP clients like ChatGPT without exposing credentials, enabling email search and thread retrieval via natural language.1Apache 2.0
- AlicenseNot gradedqualityCmaintenanceConnects AI agents to self-hosted Stalwart mail servers via a Cloudflare Worker and JMAP, enabling mailbox search, reading, listing, and two-step draft-and-send email operations through MCP.MIT
- AlicenseNot gradedqualityCmaintenanceEnables interaction with Gmail through MCP, supporting search, read, send, reply, forward, draft management, labels, and multiple accounts, deployed on Cloudflare Workers.MIT
- AlicenseNot gradedqualityCmaintenanceEnables connecting Gmail to MCP clients, allowing search, read, send, reply-all, forward, attachments, drafts, labels, and thread management across multiple Google accounts at once via a self-hosted Cloudflare Worker.MIT
Related MCP Connectors
Read, search, send, organize, draft and schedule email across your inboxes from any MCP client.
Hosted email MCP for AI agents with inboxes, send/receive, memory, recovery, and credits.
Cloudflare Workers MCP server: email-validator
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lswith/imap-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server