{
  "markdown": "# rossbus-mcp\n\nMCP server for intercity **bus travel across Russia** — routes, partner prices,\ndeparture times, bus stations, transfers, road distances and a price‑per‑km index.\n1 000+ cities, 4 500+ routes with tickets on sale.\n\n**Remote endpoint (no auth):** `https://rossbus.ru/mcp` — Streamable HTTP.\nDocs & examples: https://rossbus.ru/agents/ · Site: https://rossbus.ru\n\nData is real and only real: a dated snapshot of a ticket aggregator's sales,\nschedules from the same snapshot, road geometry from OSRM. Nothing is\nestimated. If a route is not in the data it most likely does not exist —\nuse `find_transfer`.\n\n## Connect\n\n```bash\n# Claude Code\nclaude mcp add --transport http rossbus https://rossbus.ru/mcp\n```\n\n```json\n// Cursor / VS Code — mcp.json\n{ \"mcpServers\": { \"rossbus\": { \"url\": \"https://rossbus.ru/mcp\" } } }\n```\n\nClaude / ChatGPT: *Settings → Connectors → Add custom connector* → URL above, no auth.\n\n## Tools\n\n| tool | what it returns |\n|---|---|\n| `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 |\n| `search_routes(from, limit?)` | every destination from a city with price \"from\", trips and km |\n| `cheapest_destinations(from, max_price_rub?, limit?)` | destinations sorted by ticket price, optionally within a budget |\n| `city_departures(city, limit?)` | departure board: first/last time per direction |\n| `get_station(city)` | bus stations of a city (real names from schedules) |\n| `get_distance(from, to)` | road km (OSRM), drive minutes, whether a direct bus exists |\n| `find_transfer(from, to)` | cheapest one‑transfer option with both legs priced |\n| `price_per_km_stats(region?)` | price‑per‑km index: Russia median, cheapest/most expensive regions, a region's rank |\n\nCities are accepted in Russian («Казань») or as slugs (`kazan`).\n\n### MCP Apps (interactive UI)\n\n`get_route`, `city_departures` and `cheapest_destinations` ship an\n[MCP Apps](https://github.com/modelcontextprotocol/ext-apps) view\n(`ui://rossbus/app.html`): in hosts that support the extension (Claude,\nChatGPT, VS Code, Goose) the route card, departure board or budget list\nrenders inline in the chat — rows are clickable and open the route, the buy\nbutton opens the partner page. Text-only hosts get the same data as text.\nThe view is a single self-contained HTML built with Vite (`ui/`).\n\n### Example\n\n```bash\ncurl -X POST https://rossbus.ru/mcp \\\n  -H 'content-type: application/json' \\\n  -H 'accept: application/json, text/event-stream' \\\n  -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\n       \"params\":{\"name\":\"cheapest_destinations\",\"arguments\":{\"from\":\"Казань\",\"max_price_rub\":700,\"limit\":3}}}'\n```\n\n```json\n{ \"from\": \"Казань\", \"budget_rub\": 700, \"found\": 8,\n  \"destinations\": [\n    { \"to\": \"Сокуры\", \"min_rub\": 444, \"km\": 29.2, \"rub_per_km\": 15.21, \"trips\": 21,\n      \"page\": \"https://rossbus.ru/buses/kazan/sokury/\" } ] }\n```\n\n## Buying tickets\n\nrossbus does not sell tickets. `buy_url` is a partner deep link to the chosen\nroute and date; the agent hands it to the human, the human buys on the\npartner's site. Ticket price is the same as on the partner. Past or empty\ndates default to tomorrow.\n\n## Run it yourself\n\nThe server is a thin wrapper (`mcp.js` transport, `mcp-core.js` pure\nfunctions) over `data/mcp-data.json`, a compact snapshot produced weekly by\nthe site pipeline. See `data/README.md`. `npm i && npm start` runs it on your own machine, on localhost port 3012\n(`MCP_PORT` to change it); put a reverse proxy in front for TLS.\nThe public instance is `https://rossbus.ru/mcp` — use that one unless you\nwant your own copy.\n\n## Also for agents\n\n- `https://rossbus.ru/llms.txt`, `https://rossbus.ru/llms-full.txt`\n- Open data: `https://rossbus.ru/data/perkm.json` / `.csv` (price‑per‑km index, weekly)\n- Discovery: `https://rossbus.ru/.well-known/mcp.json`\n\nMIT © rossbus.ru\n",
  "bytes": 3904,
  "sha": "3de9faf5c02a274339dd32dff074079a47977ca539f75887c6bb9675c296ca4b",
  "repo_slug": "xpressmike/rossbus-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_ru_rossbus_rossbus_mcp_e4c582fe/readme"
}