Skip to main content
Glama
MauricioPerera

mail-mcp

mail-mcp

CI Coverage Version Node.js Version License: MIT PRs Welcome

Самодостаточная почтовая служба, не зависящая от провайдера. Подключите её к учётным данным 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-серверами и проверяются через ручное сквозное тестирование, а не модульными тестами — они исключены из значка покрытия, чтобы он не вводил в заблуждение.

A
license - permissive license
-
quality - not tested
B
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.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    A 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.
    1
    MIT
  • A
    license
    -
    quality
    A
    maintenance
    An 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.
    4
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Provider-agnostic email MCP server that connects any IMAP mailbox to AI assistants, enabling email management through natural language.
    8
    AGPL 3.0
  • A
    license
    -
    quality
    C
    maintenance
    An 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.
    47
    MIT

View all related MCP servers

Related MCP Connectors

  • Hosted email MCP for AI agents with inboxes, send/receive, memory, recovery, and credits.

  • Shipmail MCP server for AI agent custom-domain email inboxes with REST API and webhooks.

  • Self-hosted multi-domain email as MCP tools - register domains, real mailboxes, send/read mail.

View all MCP Connectors

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/MauricioPerera/mail-mcp'

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