mail-mcp
mail-mcp
Самодостаточная почтовая служба, не зависящая от провайдера. Подключите её к учётным данным IMAP/SMTP любого почтового ящика, и она предоставит:
REST API, отражающий стандартные операции с почтовыми ящиками: список папок, список/получение/поиск сообщений, отправка, установка флагов, перемещение, удаление, квота (по возможности).
Webhooks (
message.received) через постоянный наблюдатель IMAP IDLE — отправляет HTTP POST (с секретным ключом Bearer для каждого вебхука) при поступлении новой почты, с повторными попытками с экспоненциальной задержкой (до 6 попыток) в случае сбоя принимающей конечной точки.MCP server (Streamable HTTP,
POST /mcp) с теми же операциями в виде инструментов, так что любой MCP-совместимый агент может использовать их напрямую.
Мультипочтовость с самого начала: добавляйте столько учётных записей, сколько нужно, в config/accounts.json.
Тела запросов в REST API проверяются с помощью Zod (lib/schemas.js) — недопустимые данные получают ответ 422 ERR_VALIDATION_FAILED с ошибками на уровне полей, не доходя до почтового слоя. Подписки на вебхуки хранятся в SQLite (config/webhooks.sqlite, через better-sqlite3) вместо плоского JSON-файла. Сообщения размером больше MAIL_MCP_MAX_MESSAGE_SIZE (по умолчанию 25 МБ) возвращаются с bodyTruncated: true и без разобранного тела/вложений, чтобы избежать загрузки огромных сообщений в память.
Setup
npm install
cp .env.example .env # fill in MAIL_MCP_API_TOKEN and one MAILMCP_PASS_<ID> per accountСкопируйте config/accounts.json.example в config/accounts.json (добавлен в .gitignore — паролей в этом файле тоже нет, они хранятся только в .env):
[
{
"id": "example",
"user": "user@example.com",
"imap": { "host": "imap.example.com", "port": 993, "secure": true },
"smtp": { "host": "smtp.example.com", "port": 465, "secure": true }
}
]Пароль для учётной записи с id: "example" считывается из MAILMCP_PASS_EXAMPLE.
node index.jsПо умолчанию работает на 127.0.0.1:4900 (см. MAIL_MCP_PORT). Если нужен доступ извне хоста, поместите его за обратный прокси-сервер с TLS.
Related MCP server: Agent Email
systemd
Пример блока находится в deploy/mail-mcp.service — скопируйте его в /etc/systemd/system/, настройте пути, и он будет загружать секреты из /root/mail-mcp/.env через EnvironmentFile.
Auth
Каждый REST и MCP запрос требует Authorization: Bearer <MAIL_MCP_API_TOKEN>.
Tests
npm test # run once
npm run test:coverage # run with coverage reportПокрытие тестами охватывает чистые/логические модули (lib/schemas.js, lib/accounts.js, lib/webhooks-store.js). lib/mailclient.js и lib/idle-watcher.js взаимодействуют с реальными IMAP/SMTP-серверами и проверяются через ручное сквозное тестирование, а не модульными тестами — они исключены из значка покрытия, чтобы он не вводил в заблуждение.
This server cannot be deployed
Maintenance
Related MCP Connectors
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
Email inboxes for AI agents: send, receive, reply, search, and manage threaded email over MCP.
Your IMAP mailbox as an MCP server: read, search and (if you allow it) organize mail. Open source.
Hosted email for AI agents: create inboxes, send, receive, and reply over MCP with scoped API keys
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA generic IMAP and SMTP MCP server that enables AI agents to interact with email accounts for reading, searching, and sending messages. It provides high-level tools for managing email workflows like daily digests and folder organization across any standard email provider.1MIT
- AlicenseNot gradedqualityBmaintenanceAn open-source MCP server that provides AI agents with secure access to read, search, and manage emails via Microsoft 365 and Gmail. It features security-first defaults like recipient allowlists and markdown content conversion to facilitate safe agent interaction with mailboxes.6Apache 2.0
- AlicenseAqualityDmaintenanceProvider-agnostic email MCP server that connects any IMAP mailbox to AI assistants, enabling email management through natural language.8AGPL 3.0
- AlicenseBqualityCmaintenanceAn MCP server that exposes IMAP operations as tools for AI assistants, enabling email management including listing mailboxes, reading, searching, moving, flagging emails, and creating drafts.722 npmMIT