rossbus — buses across Russia

Official registry E-commerce

Buses across Russia: routes, prices, departure times, stations, transfers, price-per-km index

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http rossbus-buses-across-russia 'https://rossbus.ru/mcp'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "rossbus-buses-across-russia": {
            "type": "http",
            "url": "https://rossbus.ru/mcp"
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. rossbus-mcp
  2. Connect
  3. Tools
  4. Buying tickets
  5. Run it yourself
  6. Also for agents

rossbus-mcp

MCP server for intercity bus travel across Russia — routes, partner prices, departure times, bus stations, transfers, road distances and a price‑per‑km index. 1 000+ cities, 4 500+ routes with tickets on sale.

Remote endpoint (no auth): https://rossbus.ru/mcp — Streamable HTTP. Docs & examples: https://rossbus.ru/agents/ · Site: https://rossbus.ru

Data is real and only real: a dated snapshot of a ticket aggregator's sales, schedules from the same snapshot, road geometry from OSRM. Nothing is estimated. If a route is not in the data it most likely does not exist — use find_transfer.

Connect

# Claude Code
claude mcp add --transport http rossbus https://rossbus.ru/mcp
// Cursor / VS Code — mcp.json
{ "mcpServers": { "rossbus": { "url": "https://rossbus.ru/mcp" } } }

Claude / ChatGPT: Settings → Connectors → Add custom connector → URL above, no auth.

Tools

toolwhat it returns
get_route(from, to, date?)min/max price, trips on sale, departure times, stations, carriers, road km, ₽/km, buy_url; if no direct bus — a transfer
search_routes(from, limit?)every destination from a city with price "from", trips and km
cheapest_destinations(from, max_price_rub?, limit?)destinations sorted by ticket price, optionally within a budget
city_departures(city, limit?)departure board: first/last time per direction
get_station(city)bus stations of a city (real names from schedules)
get_distance(from, to)road km (OSRM), drive minutes, whether a direct bus exists
find_transfer(from, to)cheapest one‑transfer option with both legs priced
price_per_km_stats(region?)price‑per‑km index: Russia median, cheapest/most expensive regions, a region's rank

Cities are accepted in Russian («Казань») or as slugs (kazan).

MCP Apps (interactive UI)

get_route, city_departures and cheapest_destinations ship an MCP Apps view (ui://rossbus/app.html): in hosts that support the extension (Claude, ChatGPT, VS Code, Goose) the route card, departure board or budget list renders inline in the chat — rows are clickable and open the route, the buy button opens the partner page. Text-only hosts get the same data as text. The view is a single self-contained HTML built with Vite (ui/).

Example
curl -X POST https://rossbus.ru/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"cheapest_destinations","arguments":{"from":"Казань","max_price_rub":700,"limit":3}}}'
{ "from": "Казань", "budget_rub": 700, "found": 8,
  "destinations": [
    { "to": "Сокуры", "min_rub": 444, "km": 29.2, "rub_per_km": 15.21, "trips": 21,
      "page": "https://rossbus.ru/buses/kazan/sokury/" } ] }

Buying tickets

rossbus does not sell tickets. buy_url is a partner deep link to the chosen route and date; the agent hands it to the human, the human buys on the partner's site. Ticket price is the same as on the partner. Past or empty dates default to tomorrow.

Run it yourself

The server is a thin wrapper (mcp.js transport, mcp-core.js pure functions) over data/mcp-data.json, a compact snapshot produced weekly by the site pipeline. See data/README.md. npm i && npm start runs it on your own machine, on localhost port 3012 (MCP_PORT to change it); put a reverse proxy in front for TLS. The public instance is https://rossbus.ru/mcp — use that one unless you want your own copy.

Also for agents

  • https://rossbus.ru/llms.txt, https://rossbus.ru/llms-full.txt
  • Open data: https://rossbus.ru/data/perkm.json / .csv (price‑per‑km index, weekly)
  • Discovery: https://rossbus.ru/.well-known/mcp.json

MIT © rossbus.ru

Frequently asked questions

What is rossbus — buses across Russia?

Buses across Russia: routes, prices, departure times, stations, transfers, price-per-km index

How do I install rossbus — buses across Russia?

It runs as a remote server. In Claude Code: claude mcp add --transport http rossbus-buses-across-russia 'https://rossbus.ru/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does rossbus — buses across Russia need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is rossbus — buses across Russia open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains rossbus — buses across Russia?

It is published by xpressmike. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.