max-mcp

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Gecti
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

MCP server for MAX messenger (max.ru) — user session, 8 tools: read chats, dump channels, send messages

README.md

max-mcp

Локальный MCP-сервер для работы с пользовательской сессией MAX из OpenAI Codex CLI, Claude Code и других MCP-клиентов.

Возможности

Инструмент Назначение
list_chats Список диалогов, групп и каналов
get_chat Данные одного чата или канала
read_messages История сообщений с пагинацией
search_messages Поиск подстроки по истории выбранного чата
list_channel_posts Публикации канала, реакции и статистика
dump_channel Пакетная выгрузка канала до 1000 публикаций за вызов
send_message Отправка сообщения или ответа
send_file Отправка файла, фото или видео

[!WARNING]
Проект использует неофициальный клиент maxapi-python и пользовательскую сессию. Протокол MAX может измениться без предупреждения, а автоматизация может повлечь ограничения аккаунта. Для экспериментов лучше использовать отдельный аккаунт и не делать массовых рассылок.

Требования

  • macOS или Linux;
  • Python 3.11–3.13;
  • uv;
  • Codex CLI, Claude Code или другой клиент с поддержкой MCP stdio.

Быстрый запуск

1. Установка

git clone https://github.com/renosaza/max-mcp.git ~/max-mcp
cd ~/max-mcp
uv sync --frozen

2. Авторизация

По QR-коду:

uv run max-mcp-login login-qr

В мобильном приложении MAX откройте привязку нового устройства и отсканируйте QR-код из терминала.

По номеру телефона:

uv run max-mcp-login login-sms --phone +79991234567

Сессия хранится в ~/.max-mcp/. Каталог получает права 0700, файлы сессии — 0600.

Для входа по SMS используется профиль MAX Android 26.35.1 (актуальная версия в RuStore на 14.10.2026) и maxapi-python==2.4.1. Fingerprint версии 26.35.1 загружается из каталога PyMax при подключении к MAX, поэтому для SMS-клиента нужен доступ к этому HTTPS-адресу. Сохранённые сессии удалять не нужно.

Версию можно переопределить, если MAX обновился (передавайте одну и ту же переменную при SMS-входе и запуске сервера):

MAX_MCP_APP_VERSION=26.35.1 uv run max-mcp-login login-sms --phone +79991234567
MAX_MCP_APP_VERSION=26.35.1 uv run max-mcp

Если каталог недоступен, можно выбрать одну из встроенных в PyMax версий, например MAX_MCP_APP_VERSION=26.28.0, без дополнительного сетевого запроса за fingerprint. QR-вход использует отдельный WebClient и web-профиль, предоставленный PyMax.

3. Подключение к Codex CLI

codex mcp add max-mcp -- "$(command -v uv)" run --directory "$HOME/max-mcp" max-mcp
codex mcp list
codex mcp get max-mcp

Команда регистрирует локальный MCP-сервер в ~/.codex/config.toml. Конфигурация общая для Codex CLI и расширения Codex для IDE. В новом сеансе Codex можно запросить: «Покажи 20 последних чатов MAX через max-mcp, ничего не отправляй».

Если подключение обрывается по тайм-ауту, добавьте в существующую секцию [mcp_servers.max-mcp] файла ~/.codex/config.toml:

startup_timeout_sec = 45
tool_timeout_sec = 120

Удаление регистрации (сессия MAX при этом останется на диске):

codex mcp remove max-mcp

4. Подключение к Claude Code

claude mcp add max-mcp --scope user \
  -- uv run --directory "$HOME/max-mcp" max-mcp

Проверка:

claude mcp list

В уже открытой сессии Claude Code выполните /mcp и переподключите сервер либо начните новый чат.

Примеры запросов

Покажи последние 20 чатов MAX.
Найди в чате 123456 сообщения со словом «договор», просмотрев не больше 1000 сообщений.
Выгрузи публикации канала -69531237780213 частями и сохрани результат в JSON.
Отправь в чат 123456 файл /Users/me/Documents/report.pdf с подписью «Отчёт».

Перед операциями записи проверяйте chat_id, текст и путь к файлу.

Отправка файлов

По умолчанию разрешены файлы только из:

  • ~/Downloads;
  • ~/Documents;
  • /tmp.

Собственный список каталогов задаётся через MAX_MCP_SEND_ROOTS:

export MAX_MCP_SEND_ROOTS="$HOME/Desktop:/data/exports"

Пути внутри ~/.ssh, ~/.aws, ~/.max-mcp, /etc, /var и системного хранилища ключей macOS запрещены даже при расширенном списке. Конечный путь не должен быть символьной ссылкой.

Повторная авторизация

rm -f ~/.max-mcp/session.db \
      ~/.max-mcp/session.kind \
      ~/.max-mcp/session.phone

cd ~/max-mcp
uv run max-mcp-login login-qr

Документация

Ограничения

  • Совместимость с MAX 26.35.1 проверена по каталогу fingerprint и публичным API PyMax, но вход и отправка с реального аккаунта MAX не тестировались;
  • поиск сообщений выполняется локально последовательным чтением истории;
  • схема stats и reaction_info зависит от ответа MAX и не зафиксирована;
  • отправитель сообщения может возвращаться только числовым идентификатором;
  • полная выгрузка большого канала требует нескольких вызовов dump_channel;
  • после изменения внутреннего протокола MAX может потребоваться обновление maxapi-python или кода сервера.

Лицензия

MIT. См. LICENSE.

Yorumlar (0)

Sonuc bulunamadi