# Email MCP Server
HTTP/SSE wrapper для [nikolausm/imap-mcp-server](https://github.com/nikolausm/imap-mcp-server), обеспечивающий удалённый доступ через Claude Web и другие HTTP-клиенты MCP.
## Возможности
- 📧 **Полноценная работа с почтой**: чтение, поиск, отправка, ответ, пересылка
- 🔐 **Безопасное хранение**: AES-256 шифрование учётных данных
- 🌐 **Удалённый доступ**: HTTP/SSE транспорт для Claude Web
- 📱 **15+ провайдеров**: Gmail, Outlook, Yahoo, Yandex, Mail.ru и др.
- 🔄 **Multi-account**: Поддержка нескольких почтовых аккаунтов
## Архитектура
```
┌─────────────────────────────────────────────────────┐
│ HTTP/SSE Wrapper │
│ (Python/aiohttp) │
├─────────────────────────────────────────────────────┤
│ │
│ HTTP/SSE ←→ STDIO Bridge ←→ imap-mcp-server │
│ │
└─────────────────────────────────────────────────────┘
```
## Быстрый старт
### Локально для Claude Desktop
```bash
# Клонировать репозиторий
git clone https://github.com/nikolausm/imap-mcp-server.git
cd imap-mcp-server
# Установить и собрать
npm install
npm run build
# Настроить аккаунты через web wizard
npm run setup
```
Добавить в `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"imap-email": {
"command": "node",
"args": ["/path/to/imap-mcp-server/dist/index.js"]
}
}
}
```
### Удалённый сервер (Docker)
```bash
# Собрать и запустить
docker-compose up -d
# Проверить здоровье
curl http://localhost:3008/health
```
### Через Gateway (Claude Web)
URL для Custom Connector:
```
https://mcp.svsfinpro.ru/email/sse
```
## API Endpoints
| Endpoint | Метод | Описание |
|----------|-------|----------|
| `/` | GET | Информация о сервере |
| `/health` | GET | Health check |
| `/sse` | GET | SSE endpoint для установления соединения |
| `/mcp` | POST | Streamable HTTP endpoint |
| `/messages` | POST | Legacy SSE messages endpoint |
## MCP Инструменты
### Управление аккаунтами
- `imap_add_account` - Добавить почтовый аккаунт
- `imap_list_accounts` - Список аккаунтов
- `imap_remove_account` - Удалить аккаунт
- `imap_connect` - Подключиться к аккаунту
- `imap_disconnect` - Отключиться
### Работа с письмами
- `imap_search_emails` - Поиск писем
- `imap_get_email` - Получить письмо
- `imap_get_latest_emails` - Последние письма
- `imap_mark_as_read` / `imap_mark_as_unread` - Пометить как прочитанное
- `imap_delete_email` - Удалить письмо
### Отправка писем
- `imap_send_email` - Отправить письмо
- `imap_reply_to_email` - Ответить на письмо
- `imap_forward_email` - Переслать письмо
### Папки
- `imap_list_folders` - Список папок
- `imap_folder_status` - Статус папки
- `imap_get_unread_count` - Количество непрочитанных
## Настройка провайдеров
### Gmail
1. Включить 2FA
2. Создать App Password: https://myaccount.google.com/apppasswords
3. IMAP: `imap.gmail.com:993`
4. SMTP: `smtp.gmail.com:465`
### Yandex
1. Создать пароль приложения
2. IMAP: `imap.yandex.ru:993`
3. SMTP: `smtp.yandex.ru:465`
### Mail.ru
1. IMAP: `imap.mail.ru:993`
2. SMTP: `smtp.mail.ru:465`
## Deployment
### На сервер 217.199.253.8
```bash
./deploy.sh
```
### Добавить в nginx gateway
Скопировать `nginx-mcp-email.conf` в конфигурацию сервера.
## Безопасность
- ⚠️ **НИКОГДА** не используйте основной пароль - только App Passwords
- 🔐 Учётные данные шифруются AES-256
- 📁 Хранятся в Docker volume `email-mcp-accounts`
- 🔒 HTTPS через nginx gateway
## Переменные окружения
| Переменная | Описание | По умолчанию |
|------------|----------|--------------|
| `HOST` | Адрес сервера | `0.0.0.0` |
| `PORT` | Порт | `8080` |
| `IMAP_SERVER_PATH` | Путь к imap-mcp-server | `/app/imap-mcp-server/dist/index.js` |
| `LOG_LEVEL` | Уровень логирования | `INFO` |
## Troubleshooting
### Контейнер не запускается
```bash
docker logs email-mcp-server
```
### Проблемы с подключением к почте
- Проверьте App Password
- Убедитесь что IMAP включен в настройках почты
- Проверьте firewall
## License
MIT