MOEX quotes MCP and a Telegram bot

MOEX1-mcp

An MCP server for MOEX quotes and order books via ISS+ and ISS REST, plus a Telegram bot that picks the right tool itself via OpenAI tool calling

  • 0 ★ on the repository
  • Last commit
MCP server

Extended access

Why this level

  • Uses a paid ALGOPACK subscription and OpenAI and Telegram keys, which are redacted in logs but stored in .env
  • Reads only public market data; it does not touch a brokerage account or trades
All reasons and checks
Russian stack

dreamscurator/moex1-mcp

Install

Manual install

python -m venv .venv && pip install -r requirements.txt && cp .env.example .env

Installs dependencies before filling in the MOEX, Telegram and OpenAI keys.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Uses a paid ALGOPACK subscription and OpenAI and Telegram keys, which are redacted in logs but stored in .env
  • Reads only public market data; it does not touch a brokerage account or trades

This is third-party code. Review the repository files before installing.

What it does

A monorepo of two services. A Python MCP server provides 11 market-data tools for MOEX: a security snapshot and order book over the ISS+ WebSocket (STOMP protocol), instrument search, a diagnostic subscription to an arbitrary channel, candles and trade tapes for TQBR shares and RFUD futures, a contract list, and a trading-suspension archive via ISS REST. A Telegram bot on aiogram 3 reads the user's message, picks the right MCP tool via OpenAI tool calling, and calls the server over HTTP with a key in the X-API-Key header; if no tool fits, the bot honestly replies that the request cannot be handled automatically. The ticker is validated to letters and digits before building the STOMP frame, as protection against selector injection. The bot explicitly does not trade or show a broker balance.

Who it is for. For people who want real-time public MOEX market data from Telegram or via MCP, with no brokerage account access.

Good fit when

  • You need real-time MOEX quotes, order book or candles for shares and futures
  • You want a Telegram bot that figures out what market query the user meant
  • You have an ALGOPACK subscription and want MCP access to the ISS+ WebSocket, not just public REST

Not a fit when

  • You need brokerage account or trade access: the bot explicitly does not trade or show a balance
  • You have no ALGOPACK subscription: the snapshot and order-book WebSocket tools need an ALGOPACK login and password, not just a REST token
  • You need the paid Super Candles, FUTOI, HI2 or Mega Alerts sections: in this environment they return HTML instead of JSON and are not implemented in the MCP

Example request

What is Sberbank's current share price, and show me the order book for GAZP

MCP

Transport
http
Authentication
API key

Environment variables

MOEX_LOGIN secret
ALGOPACK subscription login for the ISS+ WebSocket
MOEX_PASSCODE secret
ALGOPACK subscription password for the ISS+ WebSocket
MOEX_ALGOPACK_TOKEN secret
REST APIKEY for ISS REST; a short login:passcode also works
TELEGRAM_BOT_TOKEN required, secret
Telegram bot token from BotFather
OPENAI_API_KEY required, secret
OpenAI API key for tool calling in the bot
MCP_API_KEY required, secret
Shared secret between the bot and the MCP server in the X-API-Key header

Limitations

The repository has no license. The snapshot and order-book tools over the ISS+ WebSocket need an ALGOPACK subscription login and password, not just a REST key. The OpenAI model is set via OPENAI_MODEL with a default value the README explicitly says not to change without the client's request, and there is no automatic fallback to another model on API errors. The paid ALGOPACK REST sections return HTML instead of JSON in the described environment and do not work in the MCP.

How to disable. Run docker compose down or stop the mcp_server and telegram_bot processes, and revoke TELEGRAM_BOT_TOKEN and MCP_API_KEY.

FAQ

Can the bot show my broker balance?

No, the README states explicitly that the bot does not trade and does not show a broker balance, only MOEX market data.

Is an ALGOPACK REST token enough for all tools?

No, the snapshot and order-book tools go through the ISS+ WebSocket and need MOEX_LOGIN and MOEX_PASSCODE for the ALGOPACK subscription, not just a REST token.

How is the MCP for Moscow Exchange quotes with a Telegram bot different from other Moscow Exchange services?

A monorepo of two services: a Python MCP server with 11 market data tools (security snapshot, an order book over ISS+ WebSocket with STOMP, instrument search) and a Telegram bot that picks the right tool through OpenAI tool calling.

Can the bot show my brokerage balance and is the ALGOPACK REST token enough?

No, the server gives market data, not access to your brokerage account. Which tools work with your ALGOPACK token depends on the subscription, see the README. Install with a venv, pip install -r requirements.txt and copying .env.example.

Discussion

No questions or reviews yet.

Russian stack

MCP server over the Moscow Exchange API: security search, prices, history, metrics, comparison with an index and a schedule mode, no keys needed

MCP serverExtended access
Russian stack

An MCP server built on the official moexalgo library: 24 tools for candles, order book, trades and stats from MOEX ISS and ALGOPACK

MCP serverExtended access4Repository stars
Russian stack

A read-only MOEX ISS and T-Bank Invest market data MCP server: quotes, candles, a screener, and optional portfolio access

MCP serverBroad access

MOEX MCP Server 2026

moex_mcp_server_2026

Russian stack

Python MCP server for Moscow Exchange quotes: share price, history, security info, top gainers and losers, dividends and portfolio value

MCP serverExtended access
Russian stack

An MCP server for MOEX AlgoPack: trade flow, order book, futures open interest and ready derived metrics in plain language

MCP serverExtended access1Repository stars
Russian stack

A read-only Python MCP server for the official Moscow Exchange ISS API: stocks, bonds, FORTS futures and dividends

MCP serverExtended access

README in short

The Russian README gives an architecture diagram from Telegram through OpenAI tool calling to the MCP server and MOEX ISS+, a table of 11 tools with parameters and purpose, an environment-variable table with the source for each, local and Docker run instructions, example user messages with expected behavior, a logging section with secret redaction, and a security section covering ticker validation, a rate limit, and passing tool results to the model as untrusted data.

README badge

Report a problem