mcp-ecc について
mcp-eccは、クラウドサービスや標準プロトコルのアカウントを横断して、メール、カレンダー、連絡先を管理するMCPサーバーです。複数プロバイダーを一つのインターフェースで扱いたいユーザー向けで、ユーザー別のAPIキーと暗号化された認証情報を備えています。
主な機能
- 01メール、カレンダー、連絡先のツール
- 02Google、Microsoft 365、Zohoに対応
- 03IMAP/SMTP、CalDAV、CardDAVに対応
- 04ユーザー別アカウントとAPIキー
- 05保存時の認証情報暗号化
- 06Web管理UI、REST API、MCPエンドポイント
活用シーン
- 01複数プロバイダーのメール処理
- 02メールとあわせた予定管理
- 03連絡先の検索と更新
- 04一つのデプロイで複数ユーザーに提供
MCP 対応
MCPクライアントに、統一されたメール、カレンダー、連絡先、アカウントのツールを提供します。ユーザー別APIキーでHTTP `/mcp`エンドポイントに接続するか、CLIからstdioサーバーを起動できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-ecc
メール · カレンダー · 連絡先 — すべてのアカウントに対応する1つのMCPサーバー
AI アシスタントが、Google、Microsoft 365/Outlook、Zoho、およびあらゆるIMAP/SMTP、CalDAV、CardDAVアカウントのメール、カレンダー、連絡先を、1つのインターフェースから読み取り、書き込み、管理できるModel Context Protocol(MCP)サーバーです。
mcp-eccは、メール、カレンダー、連絡先を標準化されたMCPツール(mail.*、calendar.*、contacts.*、accounts.*)に集約するため、どのMCPクライアント(Claude、Cursorなど)からでも、すべてを統一的に利用できます。
- クラウドプロバイダーごとに1回のOAuth同意で、メール、カレンダー、連絡先を利用できます
- マルチユーザー対応 — 各ユーザーが自身のアカウントを管理し、ユーザーごとにMCP APIキーを持ちます
- 認証情報は保存時に暗号化されます(AES-256-GCM)
- セルフホスト可能 — 1つのコンテナで、Web管理UI、REST API、MCPエンドポイントを1つのポートで提供します
クイックスタート
Docker
docker run -d --name mcp-ecc \
-p 3001:3001 \
-e MCP_ENCRYPTION_KEY="$(openssl rand -hex 32)" \
karljsamuel/mcp-ecc:latest
http://localhost:3001 を開き → 管理者アカウントを作成し → プロバイダーアカウントを追加します。
CLI(npm)
npm install -g mcp-ecc
mcp-ecc # interactive TUI — login, add accounts, manage everything
mcp-ecc start # stdio MCP server for agent hosts
ソースから
git clone https://github.com/karljsamuel/mcp-ecc.git
cd mcp-ecc
npm install
npm run build
node packages/cli/dist/bin.js --help
アップグレードと暗号化の移行
既存のインストール環境で重要: 0.7.xにアップグレードする前に、最新の0.6.x移行リリースをインストールして実行してください。
移行リリースでは、認証情報の暗号化方式を、廃止されたCryptoJSの実装からプラットフォームの暗号化APIに変更します。
- Node.js SQLiteでは、認証付きAES-256-GCMで
node:cryptoを使用します。 - Cloudflare D1では、認証付きAES-256-GCMでWorkers Web Crypto APIを使用します。
- 既存の
0.6.x暗号文は一度読み取られ、新しい形式に自動的に再暗号化されます。 - 新しいAES-256-GCMの値には認証が付与され、移行はフェイルクローズ方式で行われます。
- レガシーCryptoJS暗号文には認証タグがないため、改ざんされた場合に整合性を暗号学的に検証できません。データベースをバックアップし、失敗した、または予期しないレガシー復号は移行の失敗として扱ってください。復号に成功しない限り、値が上書きされることはありません。
- アップグレード中は、同じ
MCP_ENCRYPTION_KEYを使用してください。
移行リリースが正常に起動し、既存データにアクセスしたことを確認してから、0.7.xにアップグレードしてください。バージョン0.7.xでは、レガシーCryptoJSリーダーが削除されます。アップグレード前に、SQLiteデータベースまたはD1データベースをバックアップしてください。
MCPクライアントの接続
Web UIの設定に表示される、ユーザーごとのAPIキーを使って、クライアントをHTTPエンドポイントに接続します。
{
"mcpServers": {
"mcp-ecc": {
"type": "http",
"url": "http://localhost:3001/mcp",
"headers": { "Authorization": "Bearer <your-api-key>" }
}
}
}
エージェントは、ガイド付きの自動セットアップにSKILL.mdまたはllms.txtを参照できます。
プロバイダー
| プロバイダー | メール | カレンダー | 連絡先 | 認証 |
|---|---|---|---|---|
| Google (Gmail, Calendar, People) | ✅ | ✅ | ✅ | OAuth 2.0 |
| Microsoft 365 / Outlook (Graph) | ✅ | ✅ | ✅ | OAuth 2.0 |
| Zoho (Mail, Calendar, Contacts) | ✅ | ✅ | ✅ | OAuth 2.0 |
| IMAP / SMTP (任意のメールサーバー) | ✅ | ❌ | ❌ | アプリパスワード |
| CalDAV (Nextcloud, Radicale, BAIKAL) | ❌ | ✅ | ❌ | パスワード |
| CardDAV | ❌ | ❌ | ✅ | パスワード |
Microsoft 365: アプリパスワードは廃止される予定です。OAuth(Microsoft Graph)のみを使用してください。
CalDAV/CardDAV の互換性: プロバイダーは Basic 認証を使用する標準の WebDAV(CalDAV RFC 4791、CardDAV RFC 6352)を実装しており、標準に準拠する任意のサーバーで動作するはずです。Radicale 3.7.8 でテスト済みです。 その他のサーバーではテストしていません。OAuth のみを使用するプロバイダー(アプリ固有のパスワードを使用しない iCloud など)はサポートされていません。
デプロイに関する注意:Google/Microsoft/Zoho/IMAP/SMTP/CalDAV/CardDAV は Node.js(CLI または Docker)で動作します。ローカルの SQLite データベースのホスト型代替として、Cloudflare D1 を使用できます。
MCP ツール
mail.listFolders · mail.listMessages · mail.getMessage · mail.sendMessage
mail.searchMessages · mail.moveMessage · mail.setFlags · mail.deleteMessage
calendar.listCalendars · calendar.listEvents · calendar.getEvent · calendar.freeBusy
calendar.createEvent · calendar.updateEvent · calendar.deleteEvent
contacts.list · contacts.get · contacts.create · contacts.update
contacts.delete · contacts.search
accounts.list · accounts.get · accounts.add · accounts.remove · accounts.sync
入力スキーマを含む完全なリファレンス:docs/mcp-tools.md
ドキュメント
- はじめに — 概要とクイックスタート
- CLI リファレンス — すべての
mcp-eccコマンドとワークフロー - 認証とユーザー — マルチユーザーモデル、ブートストラップ、ユーザーごとの API キー
- アカウントと ID — 名前とスラッグの違い
- デプロイ — CLI · Docker
- プロバイダー — Google · Microsoft 365 · Zoho · IMAP/SMTP · CalDAV/CardDAV
貢献
dev からフィーチャーブランチを作成し、dev に対して PR を送ってください。すべてのパッケージをコンパイルするには npm run build を実行してください。Changelog.md と docs/ の内容を同期してください。
サポートと貢献
mcp-ecc が役に立った場合は、開発への支援をご検討ください。
- PayPal: paypal.me/KarlJosephSamuel
- GitHub Sponsors: github.com/sponsors/karljsamuel
- Ko-fi: ko-fi.com/karljsamuel
- Patreon: patreon.com/karljsamuel
- Buy Me a Coffee: buymeacoffee.com/karljsamuel
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。