Skip to main content
Glama
Maksim061994

Mail Digest MCP Server

by Maksim061994

Mail digest — сбор и обработка рабочей почты

Инструмент из двух слоёв:

  1. fetch_mail.py — Python-скрипт. Забирает письма за вчера по IMAP и складывает в output/mail_<дата>.json и output/mail_<дата>.md. Никаких LLM, только выгрузка.

  2. Слой обработки (Claude) — читает свежий mail_*.json и делает дайджест, извлекает задачи и дедлайны, группирует письма и готовит черновики ответов на письма, которые их требуют. Правила обработки задаются локально и в репозиторий не входят.

Быстрый старт

cd mail_digest
cp config.example.ini config.ini      # впиши доступы к почте
python3 fetch_mail.py                  # заберёт письма за вчера

Результат появится в output/. Дальше попроси меня в чате: «разбери почту за вчера» — я прочитаю выгрузку и подготовлю дайджест, задачи и черновики ответов.

Related MCP server: Email MCP Server

Параметры запуска

python3 fetch_mail.py                  # за вчера (по умолчанию)
python3 fetch_mail.py --date 2026-07-06   # за конкретную дату
python3 fetch_mail.py --days 3         # за последние 3 дня

Доступы и безопасность

  • Доступы читаются из config.ini или переменных окружения (IMAP_HOST, IMAP_PORT, IMAP_USER, IMAP_PASSWORD, IMAP_FOLDER, IMAP_SSL). Переменные окружения имеют приоритет.

  • config.ini содержит пароль — не коммить его, не пересылай. В .gitignore уже добавлен.

  • Если у почты включена 2FA, используй пароль приложения, а не основной пароль.

  • Скрипт открывает ящик в режиме readonly — письма не помечаются прочитанными.

Где взять IMAP-сервер

Посмотри в почтовом клиенте (Outlook/Thunderbird → настройки учётной записи → сервер входящей почты IMAP) или спроси у ИТ-отдела адрес IMAP-сервера и порт.

MCP-сервер (интерактивный доступ из Claude Cowork)

fetch_mail.py — это пакетная выгрузка. Для живого доступа есть отдельный слой mcp_server.py — MCP-сервер, к которому Claude Cowork подключается по HTTP и может сам запрашивать письма и готовить ответы. Он не меняет fetch_mail.py, а переиспользует его функции.

Что умеет (инструменты)

Инструмент

Что делает

list_emails(period)

Письма за hour / today / day / yesterday / week (карточки без полного тела)

get_email(message_id)

Полный текст одного письма

search_emails(query, days)

Поиск по отправителю / теме / телу

reply_email(message_id, body, cc)

Черновик ответа .eml (тема Re:, заголовки треда)

send_email(to, subject, body, cc)

Черновик нового письма .eml

list_drafts()

Список готовых черновиков

⚠️ Сервер ничего не отправляет. reply_email/send_email только создают файл .eml в output/drafts/ — письмо отправляет человек вручную. Это согласуется с правилом «черновики НЕ отправлять» из PROCESSING.md. Ящик открывается readonly — письма не помечаются прочитанными.

Запуск на сервере

Сервер поднимают на машине, у которой есть доступ к корпоративному IMAP. Доступы к почте — те же, что у fetch_mail.py (config.ini или переменные окружения).

# Вариант 1: uv сам поставит зависимости (Python 3.10+ подтянется автоматически)
uv run mcp_server.py

# Вариант 2: обычный venv
python3.11 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python mcp_server.py

Настройки HTTP-сервера (env): MCP_HOST (по умолч. 0.0.0.0), MCP_PORT (8765), MCP_PATH (/mcp).

Запуск в контейнере (рекомендуется для сервера)

В образ попадают только fetch_mail.py, mcp_server.py и requirements.txt (см. .dockerignore) — пароль и output/ внутрь не запекаются. Доступы к почте передаются через .env, черновики пишутся в ./output на хосте (том).

cp .env.example .env         # впиши IMAP-доступы (файл не коммитится)
docker compose build         # собрать образ
docker compose up -d         # запустить в фоне
docker compose logs -f       # смотреть логи
docker compose down          # остановить

По умолчанию порт слушается только на 127.0.0.1:8765 — наружу выставляй через reverse-proxy/VPN, а не в открытый интернет. Без compose то же самое вручную:

docker build -t mail-mcp:latest .
docker run -d --name mail-mcp --env-file .env \
  -p 127.0.0.1:8765:8765 -v "$PWD/output:/app/output" mail-mcp:latest

Подключение Claude Cowork

Пропиши адрес сервера в конфиг MCP-клиента (см. mcp.client.example.json):

{ "mcpServers": { "mail": { "type": "http", "url": "http://АДРЕС-СЕРВЕРА:8765/mcp" } } }

Что дальше (идея автоматизации)

Когда убедимся, что сбор работает, можно повесить ежедневную задачу: утром скрипт забирает письма за вчера, а я готовлю дайджест + черновики ответов к твоему приходу.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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/Maksim061994/mcp_samoware'

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