Skip to main content
Glama
minjaf

Email MCP Server

by minjaf

email-mcp

Небольшой персональный MCP-сервер для одного почтового ящика по протоколам IMAP + SMTP.

В первую очередь предназначен для частного использования:

  • один почтовый ящик

  • учетные данные передаются через переменные окружения

  • чтение почты по IMAP

  • отправка почты по SMTP

  • хорошо работает с настройками Yandex Mail по умолчанию, но может быть настроен для любого провайдера IMAP/SMTP

Что я изменил

Изначально этот репозиторий работал только в режиме stdio. Это подходит для локальных MCP-клиентов, но для интеграции с веб-версией ChatGPT требуется HTTP MCP-эндпоинт. Теперь сервер поддерживает:

  • stdio для локального использования и разработки

  • streamable-http для использования с веб-приложением ChatGPT

  • 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

Веб-версии 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.

Возвращает элементы, такие как:

  • 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