Skip to main content
Glama
minjaf

Email MCP Server

by minjaf

email-mcp

IMAP + SMTPを介した単一メールボックス用の小規模な個人用MCPサーバーです。

主にプライベートなセットアップを想定しています:

  • 1つのメールボックス

  • 環境変数を通じて提供される認証情報

  • IMAP経由でのメール読み取り

  • SMTP経由でのメール送信

  • Yandex Mailのデフォルト設定でうまく動作しますが、任意のIMAP/SMTPプロバイダーを指定可能です

変更点

このリポジトリは元々 stdio モードでのみ動作していました。ローカルのMCPクライアントには適していますが、ChatGPT Web統合にはHTTP MCPエンドポイントが必要です。このサーバーは現在以下をサポートしています:

  • ローカル/開発用の stdio

  • ChatGPT Webアプリ用の streamable-http

  • 互換性のための sse

また、メールスレッドの問題も修正しました:

  • 以前の reply_to パラメータは Reply-To ヘッダーのみを設定していました

  • 本来の返信には通常 In-Reply-To および References を使用する必要があります

  • read_email はそれらのヘッダーを返すようになり、send_email に渡せるようになりました

さらに、read_email の出力を改善し、以下を返すようにしました:

  • デコードされたヘッダー

  • 添付ファイルのメタデータ

  • メッセージスレッドヘッダー

ファイル

  • server.py — MCPツールの定義とトランスポートの起動

  • mail_ops.py — IMAP/SMTPの実装

  • requirements.txt — Pythonの依存関係

環境変数

必須:

export MAILBOX_EMAIL="you@example.com"
export MAILBOX_PASSWORD="your-app-password"

オプションのプロバイダー設定:

export IMAP_HOST="imap.yandex.com"
export IMAP_PORT="993"
export SMTP_HOST="smtp.yandex.com"
export SMTP_PORT="465"

オプションのMCPサーバー設定:

export MCP_TRANSPORT="stdio"
export MCP_HOST="0.0.0.0"
export MCP_PORT="8000"

利便性のためにエイリアスもサポートされています:

export YANDEX_EMAIL="you@yandex.ru"
export YANDEX_APP_PASSWORD="..."

インストール

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

stdioでローカル実行

python server.py

これは、プロセスを直接起動するローカルMCPクライアントに適したモードです。

ChatGPT Webアプリ用に実行

ChatGPT Webには公開されたHTTPS MCPエンドポイントが必要です。サーバーをHTTPモードで起動します:

python server.py --transport streamable-http --host 0.0.0.0 --port 8000

その後、そのポートを公開HTTPSトンネルまたはリバースプロキシ経由で公開し、結果として得られるMCP URLをChatGPTに登録します。

公開されているツール

list_folders()

利用可能なIMAPフォルダーを一覧表示します。

search_emails(folder="INBOX", text=None, unseen_only=False, since_date=None, limit=30)

IMAPの条件でメッセージを検索します。

以下のような項目を返します:

  • uid

  • subject

  • from

  • to

  • date

  • flags

  • size_bytes

read_email(uid, folder="INBOX")

メッセージを既読にせずに全文を取得します。

以下を返します:

  • デコードされたヘッダー

  • message_id

  • in_reply_to

  • references

  • attachments

  • body_plain

  • body_html

send_email(...)

SMTP経由でメッセージを送信します。

重要なパラメータ:

  • reply_to_header — Reply-Toヘッダーを設定します

  • in_reply_to — スレッドヘッダー

  • references — スレッドヘッダー

実際の返信には in_reply_to を使用し、通常は references も使用してください。

Yandexに関する注意点

一般的なYandexのデフォルト設定は以下の通りです:

  • IMAP: imap.yandex.com:993 (SSL/TLS経由)

  • SMTP: smtp.yandex.com:465 (SSL/TLS経由)

メインアカウントのパスワードではなく、アプリパスワードを使用してください。

今後の妥当なアップグレード

  • 添付ファイルのダウンロードツール

  • 確認付きの移動/アーカイブ/削除ツール

  • 環境変数ベースの認証情報の代わりにOAuthを使用

  • モック化されたIMAP/SMTPバックエンドを使用したテスト

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/minjaf/email-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server