Skip to main content
Glama
00thies-blip

mail-mcp-oauth

by 00thies-blip

mail-mcp-oauth

Самостоятельно развертываемый, с поддержкой OAuth 2.1, IMAP/SMTP MCP-сервер для Claude.ai — форк maxx3250/claude-mail-mcp со встроенным слоем OAuth 2.1 + Dynamic Client Registration + PKCE и адаптированным запуском в виде одного процесса без состояния на Render (без VPS, без nginx, без systemd, без постоянного диска).

Мультиаккаунт: один инстанс обслуживает несколько почтовых ящиков (Gmail, собственные домены, ...), каждый из которых доступен через IMAP/SMTP. Каждый MCP-инструмент принимает необязательный параметр account, чтобы выбрать почтовый ящик для работы.

Что изменилось по сравнению с апстримом

  • Встроенный OAuth 2.1 (src/oauth.ts): /register (DCR), /authorize (PKCE + однопользовательская форма входа), /token. Отдельного OAuth-shim-процесса нет: апстрим ссылается на него, но он не опубликован, поэтому этот форк реализует его прямо в том же Express-приложении.

  • По замыслу — без состояния: access/refresh токены — подписанные JWT (без БД); зарегистрированные OAuth-клиенты и активные коды авторизации хранятся в памяти (перезапуск просто заставляет Claude.ai молча зарегистрироваться заново, а его MCP-клиент это уже умеет).

  • Учётные записи через переменную окружения: ACCOUNTS_JSON вместо файла на диске, так как файловая система Render эфемерна. Файловый вариант ACCOUNTS_FILE по-прежнему работает для локального использования и VPS.

  • CalDAV/календарные инструменты удалены — они не нужны для этого развертывания, и это сокращает количество зависимостей (tsdav, ical.js).

Related MCP server: IMAP MCP Server

Архитектура

Claude.ai (web)
    │  HTTPS + OAuth 2.1 (DCR, PKCE, JWT)
    ▼
Render (TLS terminated automatically, custom domain mcp-mail.<domain>)
    ▼
this process (single Node service)
    ├── /.well-known/oauth-authorization-server, /register, /authorize, /token   (src/oauth.ts)
    ├── /mcp  (Bearer-gated MCP Streamable HTTP transport)
    │     ├── ImapClient   ──▶ imapflow   ──▶ IMAP server (993/143) per account
    │     └── SmtpClient   ──▶ nodemailer ──▶ SMTP server (465/587) per account
    └── /health

Локальная настройка

npm install
cp .env.example .env
# fill in PUBLIC_URL, ACCOUNTS_JSON (see docs/ACCOUNTS.md), OAUTH_USER,
# OAUTH_PASS, and JWT_SECRET (openssl rand -hex 32)
npm run dev

Деплой на Render

Полная пошаговая инструкция (push в GitHub, Render web service, собственный домен, DNS Netcup, подключение Claude Desktop) — в docs/DEPLOY_RENDER.md.

Учётные записи

Схема accounts.json и настройка для каждого провайдера (пароли приложений Gmail, Netcup Webhosting IMAP/SMTP,DNS и почему Hotmail/Outlook.com требует отдельного OAuth2-fume) — в docs/ACCOUNTS.md.

Инструменты, доступные Claude

Tool

Purpose

list_accounts

Список настроенных почтовых ящиков (id, label, default, From) — никогда не учётные данные

list_folders

Перечисление IMAP-папок

list_messages

Последние N писем в папке

search_messages

Поиск на стороне IMAP-сервера

get_message

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

send_message

Отправка через SMTP (при желании копия отправляется в Sent)

create_draft

Сформировать письмо в формате RFC-822 и добавить его в Drafts (APPEND)

mark_read

Переключить флаг \Seen

move_message

Переместить сообщение между папками

delete_message

Удалить (необратимо — лучше переместить в Trash)

Лицензия

MIT — см. LICENSE. Оригинальная работа — Markus Stöger (maxx32535/claude-mail-mcp).

A
license - permissive license
Not graded
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
    A
    quality
    A
    maintenance
    Enables Claude to interact with email accounts via IMAP and SMTP, providing tools for searching, reading, sending, and managing emails across multiple providers.
    40
    417
    76
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables Claude to read, search, send, label, and trash emails in any Gmail account via Google's Gmail API, using OAuth2 authentication with automatic token refresh.
    67
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables searching, reading, moving, tagging, and linking emails in MailMate via MCP tools, allowing Claude to manage email without leaving the conversation.
    3
    GPL 3.0

View all related MCP servers

Related MCP Connectors

  • Read, search, send, organize, draft and schedule email across your inboxes from any MCP client.

  • Manage Gmail end-to-end: search, read, send, draft, label, and organize threads. Automate workflow…

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

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/00thies-blip/mail-mcp-oauth'

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