Email MCP Server
email-mcp
Небольшой персональный MCP-сервер для одного почтового ящика по протоколам IMAP + SMTP.
В первую очередь предназначен для частного использования:
один почтовый ящик
учетные данные передаются через переменные окружения
чтение почты по IMAP
отправка почты по SMTP
хорошо работает с настройками Yandex Mail по умолчанию, но может быть настроен для любого провайдера IMAP/SMTP
Что я изменил
Изначально этот репозиторий работал только в режиме stdio. Это подходит для локальных MCP-клиентов, но для интеграции с веб-версией ChatGPT требуется HTTP MCP-эндпоинт. Теперь сервер поддерживает:
stdioдля локального использования и разработкиstreamable-httpдля использования с веб-приложением ChatGPTsseдля совместимости
Я также исправил проблему с цепочками писем:
старый параметр
reply_toустанавливал только заголовокReply-Toдля полноценных ответов обычно следует использовать
In-Reply-ToиReferencesread_emailтеперь возвращает эти заголовки, чтобы их можно было передать обратно вsend_email
И я улучшил вывод read_email, добавив:
декодированные заголовки
метаданные вложений
заголовки цепочек сообщений
Файлы
server.py— определения инструментов MCP и запуск транспортаmail_ops.py— реализация IMAP/SMTPrequirements.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
Веб-версии ChatGPT нужен публичный 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.
Возвращает элементы, такие как:
uidsubjectfromtodateflagssize_bytes
read_email(uid, folder="INBOX")
Получает полное сообщение, не помечая его как прочитанное.
Возвращает:
декодированные заголовки
message_idin_reply_toreferencesattachmentsbody_plainbody_html
send_email(...)
Отправляет сообщение через SMTP.
Важные параметры:
reply_to_header— устанавливает заголовок Reply-Toin_reply_to— заголовок цепочкиreferences— заголовок цепочки
Для полноценного ответа используйте in_reply_to и, как правило, references.
Примечания по Yandex
Типичные настройки Yandex по умолчанию:
IMAP:
imap.yandex.com:993через SSL/TLSSMTP:
smtp.yandex.com:465через SSL/TLS
Используйте пароль приложения, а не основной пароль от учетной записи.
Следующие разумные улучшения
инструмент для скачивания вложений
инструменты перемещения/архивации/удаления с подтверждением
OAuth вместо учетных данных в переменных окружения
тесты с моками IMAP/SMTP-бэкендов
This server cannot be installed
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