mcpField
S
SMTP Email MCP Server

SMTP Email MCP Server

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

SMTP Email MCP Server について

SMTP Email MCP Server は、複数のメールアカウントでメールの検索、閲覧、送信、返信、転送、整理を行うローカル動作の MCP サーバーです。Gmail、iCloud Mail、Fastmail、Outlook など標準の SMTP/IMAP に対応し、アカウント数の上限はありません。

主な機能

  1. 011 つのサーバーで SMTP 送信と IMAP 受信に対応
  2. 02アカウント名による複数アカウントの切り替え
  3. 03メールの検索、返信、転送、添付ファイル送信
  4. 04フラグ設定、既読状態の変更、フォルダー移動
  5. 05ホスト型の中継を使わないローカル stdio 転送

活用シーン

  1. 01Claude Desktop から仕事用と個人用のメールを管理
  2. 02未読メールを検索して返信や転送を行う
  3. 03メッセージを指定のフォルダーへ整理・移動する

MCP 対応

本プロジェクトは、accounts_list、emails_find、email_send などのツールを通じてメールの送受信と管理機能を MCP クライアントに公開する MCP サーバーです。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"smtp": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

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

パッケージ
npm@smithery/cli

ツール

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

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

詳細

複数のメールアカウントを接続する1つのMCPサーバー

Email SMTP/IMAP MCP

すべての受信トレイに対応する1つのローカルMCPサーバーです。複数のアカウント間でメールを検索、閲覧、送信、返信、転送、整理できます。

release npm downloads CI Node.js stars license

このサーバーを選ぶ理由

  • アカウント数の上限なし — 仕事用、個人用、サポート用、クライアント用の受信トレイを追加し、account_nameで切り替えられます。
  • SMTPとIMAPを一体化 — 1つの小さなMCPサーバーでメールを送受信できます。
  • 日常的なワークフローを網羅 — メールの検索、閲覧、返信、転送、ファイルの添付、フラグ付け、アーカイブ、移動、フォルダー一覧の取得ができます。
  • プロバイダーを選ばない — Gmail、iCloud Mail、Fastmail、Outlook、セルフホストのメール、その他の標準的なSMTP/IMAPプロバイダーで動作します。
  • ローカルのstdioトランスポート — ホスト型リレーも独立したコントロールパネルも必要ありません。

アカウント間で検索、送信、返信、整理、フォルダーの閲覧

クイックスタート

1. .envを作成する

.env.exampleをプライベートな場所にコピーし、必要な数の名前付きアカウントを追加します。

EMAIL_ACCOUNTS_JSON='{
  "work": {
    "smtp": {
      "host": "smtp.gmail.com",
      "port": 587,
      "secure": false,
      "user": "[email protected]",
      "password": "app-password"
    },
    "imap": {
      "host": "imap.gmail.com",
      "port": 993,
      "secure": true,
      "user": "[email protected]",
      "password": "app-password"
    },
    "default_from_name": "Your Name",
    "sender_emails": ["[email protected]", "[email protected]"]
  },
  "personal": {
    "smtp": {
      "host": "smtp.mail.me.com",
      "port": 587,
      "secure": false,
      "user": "[email protected]",
      "password": "app-password"
    },
    "imap": {
      "host": "imap.mail.me.com",
      "port": 993,
      "secure": true,
      "user": "[email protected]",
      "password": "app-password"
    }
  }
}'

DEFAULT_EMAIL_ACCOUNT="work"

サーバーは作業ディレクトリにある.envを自動的に読み込みます。EMAIL_ENV_FILEを指定すると、MCPクライアントは任意の場所に保存された.envを使用できます。

2. MCPサーバーを追加する

Claude Desktopの場合、次のファイルを編集します。

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "email": {
      "command": "npx",
      "args": ["-y", "email-smtp-imap-mcp"],
      "env": {
        "EMAIL_ENV_FILE": "/absolute/path/to/your/.env"
      }
    }
  }
}

絶対パスを指定してMCPクライアントを再起動し、「設定済みのメールアカウントを一覧表示して」と尋ねてみましょう。

MCPクライアントからアカウントJSONを直接渡す

.envファイルを使わず、MCPクライアントのenvオブジェクトでEMAIL_ACCOUNTS_JSONとDEFAULT_EMAIL_ACCOUNTを直接設定できます。JSONは1つの文字列にエスケープする必要があります。

{
  "env": {
    "EMAIL_ACCOUNTS_JSON": "{\"work\":{\"smtp\":{\"host\":\"smtp.gmail.com\",\"port\":587,\"user\":\"[email protected]\",\"password\":\"app-password\"},\"imap\":{\"host\":\"imap.gmail.com\",\"port\":993,\"user\":\"[email protected]\",\"password\":\"app-password\"}}}",
    "DEFAULT_EMAIL_ACCOUNT": "work"
  }
}
単一アカウント用の`.env`変数

EMAIL_ACCOUNTS_JSONの代わりに、SMTP_HOST、SMTP_PORT、SMTP_SECURE、SMTP_USER、SMTP_PASS、IMAP_HOST、IMAP_PORT、IMAP_SECURE、IMAP_USER、IMAP_PASSを使用します。

SMTP_USERNAME/SMTP_PASSWORDとIMAP_USERNAME/IMAP_PASSWORDも別名として使用できます。IMAPの認証情報を省略した場合は、SMTPの認証情報がデフォルトで使用されます。任意のfrom_email選択を許可するには、SENDER_EMAILSにカンマ区切りの許可リストを設定します。

## ツール
ツール機能
accounts_list設定済みのすべてのアカウントを一覧表示し、認証情報を公開せずにデフォルトのアカウントを特定します。
emails_findテキスト、送信者、受信者、件名、日付、既読状態、フラグの状態、添付ファイルで検索します。本文と添付ファイルを任意で返すこともできます。
email_sendCC、BCC、送信者エイリアス、Base64 形式の添付ファイルを指定して、プレーンテキストまたは HTML 形式のメールを送信します。
email_respondスレッド管理と元の添付ファイルの任意指定に対応し、メール UID を指定して返信、全員に返信、または転送します。
emails_modifyメッセージを既読/未読にする、フラグを設定/解除する、または別のフォルダーに移動します。
folders_listフォルダーを一覧表示します。合計件数と未読件数も任意で表示できます。

すべてのメールツールでは、account_name を任意で指定できます。指定しない場合、サーバーは DEFAULT_EMAIL_ACCOUNT または最初に設定されたアカウントを使用します。アプリケーションレベルのアカウント数の上限はありません。

設定を確認する

MCP クライアントを再起動した後、次の順に試してください。

  1. 「設定済みのメールアカウントを一覧表示してください。」
  2. 「work アカウントのフォルダーを一覧表示してください。」
  3. 「personal アカウントで、最新の未読メールを5件見つけてください。」
  4. 「work アカウントからプレーンテキストのメールを送信してください。」

プロバイダー設定

プロバイダーSMTPIMAP認証情報
Gmailsmtp.gmail.com:587imap.gmail.com:993アプリパスワード
iCloud Mailsmtp.mail.me.com:587imap.mail.me.com:993アプリ用パスワード
その他のプロバイダープロバイダーの SMTP ホストを使用プロバイダーの IMAP ホストを使用プロバイダーのパスワードまたはアプリパスワード

465/993 などの暗黙的な TLS ポートには secure: true を使用してください。ポート 587 では通常 secure: false を使用し、STARTTLS で接続をアップグレードします。

開発

git clone https://github.com/samihalawa/email-smtp-imap-mcp.git
cd email-smtp-imap-mcp
npm ci
npm test

コンパイル済みの stdio サーバーは npm start で実行します。docker build -t email-smtp-imap-mcp . で本番用コンテナーをビルドします。

貢献

Issue や目的を絞ったプルリクエストを歓迎します。開発ワークフローについては CONTRIBUTING.md を、脆弱性の報告については SECURITY.md を参照してください。

ライセンス

MIT © Sami Halawa

コメント

MCP は初めてですか?

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

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