
Mail.ru MCP: три сервера для почты Mail.ru и подключение к агентам
Подключает агента к ящику Почты Mail.ru по IMAP: найти и прочитать письма, разложить их по папкам, заархивировать старые и подготовить ответ. Вход по паролю для внешнего приложения.
Разбирает ящик: папки с кириллицей, перенос и архивация пачками с сухим прогоном, удаление только в Корзину, ответ в Черновики или отправка по белому списку адресов.
Как подключить
Что сделать до подключения
Python 3.10 или новее
Склонировать репозиторий и в его папке выполнить pip install . — появится команда mailru-mcp
Проверить вход: MAILRU_EMAIL=<адрес> MAILRU_PASSWORD=<пароль> python -m mailru_mcp --check выводит число писем и список папок
MAILRU_PASSWORDMail.ru → Настройки → Безопасность → Пароли для внешних приложений → Добавить; обычный пароль по IMAP не подходит
MAILRU_ALLOWED_RECIPIENTSАдреса или домены с @, на которые разрешена отправка; без переменной отправка выключена
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --env 'MAILRU_EMAIL=<ваш адрес @mail.ru>' --env 'MAILRU_PASSWORD=<пароль для внешнего приложения>' --env 'MAILRU_ALLOWED_RECIPIENTS=<адреса или @домены через запятую, можно пусто>' --transport stdio mail-ru \
-- mailru-mcpПроверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.mail-ru]
command = "mailru-mcp"
args = []
[mcp_servers.mail-ru.env]
MAILRU_EMAIL = "<ваш адрес @mail.ru>"
MAILRU_PASSWORD = "<пароль для внешнего приложения>"
MAILRU_ALLOWED_RECIPIENTS = "<адреса или @домены через запятую, можно пусто>"Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"mail-ru": {
"command": "mailru-mcp",
"args": [],
"env": {
"MAILRU_EMAIL": "<ваш адрес @mail.ru>",
"MAILRU_PASSWORD": "<пароль для внешнего приложения>",
"MAILRU_ALLOWED_RECIPIENTS": "<адреса или @домены через запятую, можно пусто>"
}
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"mail-ru": {
"type": "stdio",
"command": "mailru-mcp",
"args": [],
"env": {
"MAILRU_EMAIL": "<ваш адрес @mail.ru>",
"MAILRU_PASSWORD": "<пароль для внешнего приложения>",
"MAILRU_ALLOWED_RECIPIENTS": "<адреса или @домены через запятую, можно пусто>"
}
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"mail-ru": {
"command": "mailru-mcp",
"args": [],
"env": {
"MAILRU_EMAIL": "<ваш адрес @mail.ru>",
"MAILRU_PASSWORD": "<пароль для внешнего приложения>",
"MAILRU_ALLOWED_RECIPIENTS": "<адреса или @домены через запятую, можно пусто>"
}
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"mail-ru": {
"command": "mailru-mcp",
"args": [],
"env": {
"MAILRU_EMAIL": "<ваш адрес @mail.ru>",
"MAILRU_PASSWORD": "<пароль для внешнего приложения>",
"MAILRU_ALLOWED_RECIPIENTS": "<адреса или @домены через запятую, можно пусто>"
}
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"mail-ru": {
"type": "local",
"command": ["mailru-mcp"],
"environment": {
"MAILRU_EMAIL": "<ваш адрес @mail.ru>",
"MAILRU_PASSWORD": "<пароль для внешнего приложения>",
"MAILRU_ALLOWED_RECIPIENTS": "<адреса или @домены через запятую, можно пусто>"
}
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"mail-ru": {
"command": "mailru-mcp",
"args": [],
"env": {
"MAILRU_EMAIL": "<ваш адрес @mail.ru>",
"MAILRU_PASSWORD": "<пароль для внешнего приложения>",
"MAILRU_ALLOWED_RECIPIENTS": "<адреса или @домены через запятую, можно пусто>"
}
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"mail-ru": {
"command": "mailru-mcp",
"args": [],
"env": {
"MAILRU_EMAIL": "<ваш адрес @mail.ru>",
"MAILRU_PASSWORD": "<пароль для внешнего приложения>",
"MAILRU_ALLOWED_RECIPIENTS": "<адреса или @домены через запятую, можно пусто>"
}
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
list_foldersпоказывает папки ящикаcreate_folderсоздаёт папкуcount_emailsсчитает письма в папкеlist_emailsищет письма по дате и отправителюread_emailчитает письмо целикомmove_emailsпереносит письма в папкуarchive_old_emailsархивирует старые письма пачкойdelete_emailsубирает письма в Корзинуdraft_replyкладёт ответ в Черновикиsend_replyотправляет ответ по белому спискуПо умолчанию только читает: поиск и чтение писем без отметки «прочитано»; отправка одного текстового письма включается отдельно, пароль хранится в файле с правами 0600.
Как подключить
Что сделать до подключения
Node.js 24 и npm; в папке репозитория выполнить npm ci --ignore-scripts
Создать пароль внешнего приложения Mail.ru при включённой 2FA
Сохранить пароль в файл скриптом python3 scripts/store-app-password.py <путь к файлу>: он читает пароль скрыто и ставит права 0600
MAILRU_PASSWORD_FILEПуть к файлу с паролем внешнего приложения Mail.ru; основной пароль и одноразовые коды не подходят
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --env 'MAILRU_USER=<ваш адрес @mail.ru>' --env 'MAILRU_PASSWORD_FILE=<путь к файлу с паролем приложения>' --env 'MAILRU_FOLDERS_JSON=["INBOX"]' --env MAILRU_SEND_ENABLED=false --env MAILRU_ENABLE_HTTP=false --transport stdio mailru-mcp-connector \
-- node '<путь к mailru-mcp-connector>/src/index.js'Проверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.mailru-mcp-connector]
command = "node"
args = ["<путь к mailru-mcp-connector>/src/index.js"]
[mcp_servers.mailru-mcp-connector.env]
MAILRU_USER = "<ваш адрес @mail.ru>"
MAILRU_PASSWORD_FILE = "<путь к файлу с паролем приложения>"
MAILRU_FOLDERS_JSON = "[\"INBOX\"]"
MAILRU_SEND_ENABLED = "false"
MAILRU_ENABLE_HTTP = "false"Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"mailru-mcp-connector": {
"command": "node",
"args": ["<путь к mailru-mcp-connector>/src/index.js"],
"env": {
"MAILRU_USER": "<ваш адрес @mail.ru>",
"MAILRU_PASSWORD_FILE": "<путь к файлу с паролем приложения>",
"MAILRU_FOLDERS_JSON": "[\"INBOX\"]",
"MAILRU_SEND_ENABLED": "false",
"MAILRU_ENABLE_HTTP": "false"
}
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"mailru-mcp-connector": {
"type": "stdio",
"command": "node",
"args": ["<путь к mailru-mcp-connector>/src/index.js"],
"env": {
"MAILRU_USER": "<ваш адрес @mail.ru>",
"MAILRU_PASSWORD_FILE": "<путь к файлу с паролем приложения>",
"MAILRU_FOLDERS_JSON": "[\"INBOX\"]",
"MAILRU_SEND_ENABLED": "false",
"MAILRU_ENABLE_HTTP": "false"
}
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"mailru-mcp-connector": {
"command": "node",
"args": ["<путь к mailru-mcp-connector>/src/index.js"],
"env": {
"MAILRU_USER": "<ваш адрес @mail.ru>",
"MAILRU_PASSWORD_FILE": "<путь к файлу с паролем приложения>",
"MAILRU_FOLDERS_JSON": "[\"INBOX\"]",
"MAILRU_SEND_ENABLED": "false",
"MAILRU_ENABLE_HTTP": "false"
}
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"mailru-mcp-connector": {
"command": "node",
"args": ["<путь к mailru-mcp-connector>/src/index.js"],
"env": {
"MAILRU_USER": "<ваш адрес @mail.ru>",
"MAILRU_PASSWORD_FILE": "<путь к файлу с паролем приложения>",
"MAILRU_FOLDERS_JSON": "[\"INBOX\"]",
"MAILRU_SEND_ENABLED": "false",
"MAILRU_ENABLE_HTTP": "false"
}
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"mailru-mcp-connector": {
"type": "local",
"command": ["node", "<путь к mailru-mcp-connector>/src/index.js"],
"environment": {
"MAILRU_USER": "<ваш адрес @mail.ru>",
"MAILRU_PASSWORD_FILE": "<путь к файлу с паролем приложения>",
"MAILRU_FOLDERS_JSON": "[\"INBOX\"]",
"MAILRU_SEND_ENABLED": "false",
"MAILRU_ENABLE_HTTP": "false"
}
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"mailru-mcp-connector": {
"command": "node",
"args": ["<путь к mailru-mcp-connector>/src/index.js"],
"env": {
"MAILRU_USER": "<ваш адрес @mail.ru>",
"MAILRU_PASSWORD_FILE": "<путь к файлу с паролем приложения>",
"MAILRU_FOLDERS_JSON": "[\"INBOX\"]",
"MAILRU_SEND_ENABLED": "false",
"MAILRU_ENABLE_HTTP": "false"
}
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"mailru-mcp-connector": {
"command": "node",
"args": ["<путь к mailru-mcp-connector>/src/index.js"],
"env": {
"MAILRU_USER": "<ваш адрес @mail.ru>",
"MAILRU_PASSWORD_FILE": "<путь к файлу с паролем приложения>",
"MAILRU_FOLDERS_JSON": "[\"INBOX\"]",
"MAILRU_SEND_ENABLED": "false",
"MAILRU_ENABLE_HTTP": "false"
}
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
list_foldersпоказывает разрешённые папкиsearch_mailищет среди последних 500 писемread_mailчитает письмо без отметки прочтенияpreview_replyпроверяет адрес и цепочку ответаsend_mailотправляет одно текстовое письмоreply_mailотвечает на письмоsend_statusпоказывает состояние отправкиОдин бинарник на Go: почта по IMAP и SMTP плюс Облако Mail.ru по WebDAV; отправка, перенос и загрузка файлов выполняются только после подтверждения токеном.
Как подключить
Что сделать до подключения
Go 1.22 или новее
Собрать бинарник: make build или go build -o mailru-mcp-server .
MAILRU_APP_PASSПароль для внешнего приложения Mail.ru; без MAILRU_USERNAME и MAILRU_APP_PASS сервер не запускается
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --env 'MAILRU_USERNAME=<ваш адрес @mail.ru>' --env 'MAILRU_APP_PASS=<пароль для внешнего приложения>' --transport stdio mailru-mcp-server \
-- '<путь к бинарнику mailru-mcp-server>'Проверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.mailru-mcp-server]
command = "<путь к бинарнику mailru-mcp-server>"
args = []
[mcp_servers.mailru-mcp-server.env]
MAILRU_USERNAME = "<ваш адрес @mail.ru>"
MAILRU_APP_PASS = "<пароль для внешнего приложения>"Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"mailru-mcp-server": {
"command": "<путь к бинарнику mailru-mcp-server>",
"args": [],
"env": {
"MAILRU_USERNAME": "<ваш адрес @mail.ru>",
"MAILRU_APP_PASS": "<пароль для внешнего приложения>"
}
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"mailru-mcp-server": {
"type": "stdio",
"command": "<путь к бинарнику mailru-mcp-server>",
"args": [],
"env": {
"MAILRU_USERNAME": "<ваш адрес @mail.ru>",
"MAILRU_APP_PASS": "<пароль для внешнего приложения>"
}
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"mailru-mcp-server": {
"command": "<путь к бинарнику mailru-mcp-server>",
"args": [],
"env": {
"MAILRU_USERNAME": "<ваш адрес @mail.ru>",
"MAILRU_APP_PASS": "<пароль для внешнего приложения>"
}
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"mailru-mcp-server": {
"command": "<путь к бинарнику mailru-mcp-server>",
"args": [],
"env": {
"MAILRU_USERNAME": "<ваш адрес @mail.ru>",
"MAILRU_APP_PASS": "<пароль для внешнего приложения>"
}
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"mailru-mcp-server": {
"type": "local",
"command": ["<путь к бинарнику mailru-mcp-server>"],
"environment": {
"MAILRU_USERNAME": "<ваш адрес @mail.ru>",
"MAILRU_APP_PASS": "<пароль для внешнего приложения>"
}
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"mailru-mcp-server": {
"command": "<путь к бинарнику mailru-mcp-server>",
"args": [],
"env": {
"MAILRU_USERNAME": "<ваш адрес @mail.ru>",
"MAILRU_APP_PASS": "<пароль для внешнего приложения>"
}
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"mailru-mcp-server": {
"command": "<путь к бинарнику mailru-mcp-server>",
"args": [],
"env": {
"MAILRU_USERNAME": "<ваш адрес @mail.ru>",
"MAILRU_APP_PASS": "<пароль для внешнего приложения>"
}
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
mail_read_inboxчитает свежие письмаmail_get_bodyдостаёт текст письмаmail_search_threadищет по теме и текстуmail_send_draftсохраняет черновикmail_send_replyотправляет ответmail_send_with_attachmentотправляет письмо с вложениемmail_move_messageпереносит письмо в папкуdav_list_dirпоказывает папку в Облакеdav_download_fileскачивает файл из Облакаdav_upload_fileзагружает файл в Облакоdav_create_folderсоздаёт папку в Облакеdav_delete_fileудаляет файл в Облакеexecute_pending_actionвыполняет подтверждённое действиеЧто попросить агента
Для каких задач
Ограничения
Все три проекта частные и новые: у mailru-mcp 2 звезды, у сервера на Go 1, у Mail.ru MCP Connector 0; в npm и PyPI их нет, ставятся из исходников
Агент видит содержимое писем, а письмо может содержать команды для него; отправку держите выключенной или ограничьте белым списком адресов
После обрыва связи при массовом переносе в mailru-mcp возможны дубли писем: на 7 391 письме вышло около 1 200
Mail.ru MCP Connector ищет только среди последних 500 писем папки, не читает письма больше 2 МиБ и не умеет удалять и переносить; отправка не работает на Windows
Если не работает
Вход по IMAP не проходит с паролем от аккаунта
После массового переноса в папке появились дубли писем
Какую реализацию выбрать
| Реализация | Кто делает | Звёзды | Запуск | Ключ | Инструменты | Обновлён |
|---|---|---|---|---|---|---|
| mailru-mcp | braflovskikyle40-debug | 2 | локально | токен | 10 | 13 сентября 2026 |
| Mail.ru MCP Connector | vatosic | 0 | локально | токен | 7 | 10 ноября 2026 |
| Mail.ru MCP Server (Go) | TheNovaNodes | 1 | локально | токен | 13 | 8 ноября 2026 |