mcpField
M
mcp-ecc

mcp-ecc

ローカル
github.com/karljsamuelコミュニケーション34 週間前に更新

mcp-ecc について

mcp-eccは、クラウドサービスや標準プロトコルのアカウントを横断して、メール、カレンダー、連絡先を管理するMCPサーバーです。複数プロバイダーを一つのインターフェースで扱いたいユーザー向けで、ユーザー別のAPIキーと暗号化された認証情報を備えています。

主な機能

  1. 01メール、カレンダー、連絡先のツール
  2. 02Google、Microsoft 365、Zohoに対応
  3. 03IMAP/SMTP、CalDAV、CardDAVに対応
  4. 04ユーザー別アカウントとAPIキー
  5. 05保存時の認証情報暗号化
  6. 06Web管理UI、REST API、MCPエンドポイント

活用シーン

  1. 01複数プロバイダーのメール処理
  2. 02メールとあわせた予定管理
  3. 03連絡先の検索と更新
  4. 04一つのデプロイで複数ユーザーに提供

MCP 対応

MCPクライアントに、統一されたメール、カレンダー、連絡先、アカウントのツールを提供します。ユーザー別APIキーでHTTP `/mcp`エンドポイントに接続するか、CLIからstdioサーバーを起動できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"karljsamuel-mcp-ecc": {
"command": "npx",
"args": [
"-y",
"mcp-ecc"
],
"env": {
"MCP_ENCRYPTION_KEY": "<MCP_ENCRYPTION_KEY>"
}
}
}
}
起動コマンドnpx -y mcp-ecc
設定が必要な環境変数
MCP_ENCRYPTION_KEYシークレットMaster key used to encrypt stored credentials (AES-256-GCM). Generate with: openssl rand -hex 32

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmcp-ecc0.6.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcp-ecc

mcp-ecc

メール · カレンダー · 連絡先 — すべてのアカウントに対応する1つのMCPサーバー

AI アシスタントが、Google、Microsoft 365/Outlook、Zoho、およびあらゆるIMAP/SMTP、CalDAV、CardDAVアカウントのメール、カレンダー、連絡先を、1つのインターフェースから読み取り、書き込み、管理できるModel Context Protocol(MCP)サーバーです。

ライセンス TypeScript バージョン スポンサー Node MCP Docker マルチアーキテクチャ


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


ドキュメント


貢献

dev からフィーチャーブランチを作成し、dev に対して PR を送ってください。すべてのパッケージをコンパイルするには npm run build を実行してください。Changelog.md と docs/ の内容を同期してください。

サポートと貢献

mcp-ecc が役に立った場合は、開発への支援をご検討ください。


ライセンス

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。