MCP для котировок Мосбиржи и Telegram-бот
MOEX1-mcp
MCP-сервер котировок и стаканов Мосбиржи через ISS+ и ISS REST плюс Telegram-бот, который сам выбирает нужный инструмент через OpenAI tool calling
Средний риск
Средний уровень ставим, когда инструмент запускает код, ходит в сеть или читает файлы проекта. Перед установкой посмотрите, что именно он делает.
Почему такой уровень
- Использует платную подписку ALGOPACK и ключи OpenAI и Telegram, которые редактируются в логах, но хранятся в .env
- Читает только публичные рыночные данные, брокерский счет и сделки не затрагивает
Установка
Ручная установка
python -m venv .venv && pip install -r requirements.txt && cp .env.example .envУстановка зависимостей перед заполнением ключей MOEX, Telegram и OpenAI.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Монорепозиторий из двух сервисов. MCP-сервер на Python дает 11 инструментов рыночных данных Мосбиржи: снепшот бумаги и стакан заявок через WebSocket ISS+ (протокол STOMP), поиск инструмента, диагностическую подписку на произвольный канал, свечи и ленту сделок акций TQBR и фьючерсов RFUD, список контрактов и архив приостановок торгов через ISS REST. Telegram-бот на aiogram 3 читает сообщение пользователя, через OpenAI tool calling выбирает нужный MCP-инструмент и вызывает сервер по HTTP с ключом в заголовке X-API-Key; если подходящего инструмента нет, бот честно отвечает, что запрос не может быть обработан автоматически. Тикер проверяется на буквы и цифры перед сборкой STOMP-кадра как защита от инъекции в selector. Бот прямо не торгует и не показывает брокерский баланс.
Для кого. Для тех, кому нужны публичные рыночные данные Мосбиржи в реальном времени из Telegram или через MCP, без доступа к брокерскому счету.
Подходит, если
- Нужны котировки, стакан заявок или свечи по акциям и фьючерсам Мосбиржи в реальном времени
- Нужен Telegram-бот, который сам понимает, какой рыночный запрос задал пользователь
- Есть подписка ALGOPACK и нужен MCP-доступ к ISS+ WebSocket, а не только к публичному REST
Не подходит, если
- Нужен доступ к брокерскому счету или сделкам: бот прямо не торгует и не показывает баланс
- Нет подписки ALGOPACK: WebSocket-инструменты снепшота и стакана требуют логин и пароль ALGOPACK, а не просто REST-токен
- Нужны платные разделы Super Candles, FUTOI, HI2 или Mega Alerts: в этой среде они отвечают HTML вместо JSON и в MCP не реализованы
Пример запроса к агенту
Какая сейчас цена акций Сбербанка и покажи стакан заявок по GAZPОграничения
Лицензии в репозитории нет. Инструменты снепшота и стакана заявок через ISS+ WebSocket требуют логин и пароль подписки ALGOPACK, а не просто REST-ключ. Модель OpenAI задана переменной OPENAI_MODEL со значением по умолчанию, которое README прямо просит не менять без запроса заказчика, при ошибке API автопереключения на другую модель нет. Платные разделы ALGOPACK REST в описанной среде возвращают HTML вместо JSON и в MCP не работают.
Как отключить. Остановите docker compose down или процессы mcp_server и telegram_bot и отзовите TELEGRAM_BOT_TOKEN и MCP_API_KEY.
MCP
- Транспорт
- http
- Авторизация
- API-ключ
| Переменные окружения | |
|---|---|
| MOEX_LOGIN секрет | Логин подписки ALGOPACK для ISS+ WebSocket |
| MOEX_PASSCODE секрет | Пароль подписки ALGOPACK для ISS+ WebSocket |
| MOEX_ALGOPACK_TOKEN секрет | REST APIKEY для ISS REST, короткий login:passcode тоже подходит |
| TELEGRAM_BOT_TOKEN обязательная, секрет | Токен Telegram-бота от BotFather |
| OPENAI_API_KEY обязательная, секрет | Ключ OpenAI API для tool calling в боте |
| MCP_API_KEY обязательная, секрет | Общий секрет между ботом и MCP-сервером в заголовке X-API-Key |
Проверка безопасности
- Использует платную подписку ALGOPACK и ключи OpenAI и Telegram, которые редактируются в логах, но хранятся в .env
- Читает только публичные рыночные данные, брокерский счет и сделки не затрагивает
Коротко о README
README на русском дает архитектурную схему от Telegram через OpenAI tool calling до MCP-сервера и MOEX ISS+, таблицу из 11 инструментов с параметрами и назначением, таблицу переменных окружения с источником для каждой, инструкции локального и Docker-запуска, примеры сообщений пользователя с ожидаемым поведением, раздел логирования с редактированием секретов и раздел безопасности с валидацией тикеров, лимитом запросов и передачей результатов инструментов модели как недоверенных данных.
Частые вопросы
Может ли бот показать мой брокерский баланс?
Нет, README прямо указывает, что бот не торгует и не показывает брокерский баланс, только рыночные данные Мосбиржи.
Хватит ли REST-токена ALGOPACK для всех инструментов?
Нет, снепшот и стакан заявок идут через ISS+ WebSocket и требуют MOEX_LOGIN и MOEX_PASSCODE подписки ALGOPACK, а не только REST-токен.
Похожие
Набор скиллов для инвестиционного исследования компаний в Claude Code и Codex по методологиям четырех инвесторов. Это исследовательский инструмент, не инвестици
Официальные MCP-сервер, плагины и скиллы Stripe: агент ищет по API и документации, читает и меняет данные аккаунта
Официальный MCP-сервер брокера Alpaca: заявки по акциям, ETF, крипте и опционам, управление позициями и рыночные данные на естественном языке
inn-check-ru: светофор риска по ИНН
inn-check-ru
Открытый скилл, который по ИНН сверяет ЕГРЮЛ, ФССП, суды, банкротства и санкции сразу по нескольким источникам и выдает светофор риска с датой и причиной