TrainRouter Atlas
The TrainRouter Atlas server lets you explore a curated dataset of the world's most legendary train routes through the following tools:
Search train routes: Free-text search across route names, cities, train names, operators, and countries, with optional filters by category (high-speed, classic, night, scenic) or country.
Get full route details: Retrieve the complete record for a specific route by ID, including distance, journey time, top speed, operator, rolling stock, opening year, ridership, highlights, and a link to its TrainRouter page.
Browse the most famous routes: Get a ranked list of the world's most famous train journeys (e.g. Trans-Siberian, Glacier Express, Shinkansen) in order of renown.
Find routes in a country: List all atlas routes that pass through a given country, sorted by renown, along with the country's TrainRouter hub URL.
Find night trains / sleepers: Browse sleeper and overnight train routes, optionally filtered by departure or arrival city.
Look up city-to-city journey facts: Get planning-level journey information between two cities (European coverage), including duration, direct services, fewest changes, operators, and legendary routes on that corridor.
Get atlas statistics: Retrieve a snapshot of total routes, countries, combined distance, categories, and links to key browse pages.
TrainRouter Atlas — the world's legendary train routes, as open data
961 train routes · 118 countries · ≈ 432,800 km of route — every route with its key facts and hand-traced geometry, from trainrouter.com, the interactive world railway map.
High-speed spines (Eurostar, TGV, Shinkansen, AVE), classic long-distance runs (Trans-Siberian, California Zephyr), night trains (Nightjet, the Ghan) and the scenic lines people fly in just to ride (Glacier Express, Bernina Express, the Jacobite).
🗺️ Explore it interactively: trainrouter.com
🤖 Use it from an AI assistant: free MCP server at https://trainrouter.com/mcp (how to connect) — or run it from this repo: npm install && npm start (mcp/)
Files
File | Contents |
| One row per route — all facts, no geometry |
| Same records with structured country objects |
|
|
Related MCP server: db-mcp
Schema
Field | Type | Notes |
| string | Stable slug, e.g. |
| string | Route/service name |
| string | Terminus cities |
| enum |
|
| string | Rolling stock, e.g. |
| string | Operating company |
| number | Route length |
| number | Service top speed |
| string | Published journey time, e.g. |
| number | Year the line/service entered service |
| number|null | Approx. annual ridership where published |
| string |
|
| string | One-line description of what makes the route legendary |
| number | 1 = most famous (TrainRouter renown ranking) |
| string | The route's page on trainrouter.com |
Quick start
import pandas as pd
routes = pd.read_csv("data/routes.csv")
routes.nsmallest(10, "fame_rank")[["name", "from", "to", "distance_km"]]
import geopandas as gpd
gdf = gpd.read_file("data/routes.geojson")
gdf.plot(column="category", figsize=(16, 8))Sources, accuracy & provenance
No upstream dataset. This atlas is hand-built — not derived from OpenStreetMap, Overpass, Wikidata, Natural Earth or any other licensed dataset — so it carries no third-party licensing obligations and the CC BY 4.0 licence is the author's to grant.
Geometry is hand-traced at map scale: each route's
LineStringis a set of hand-placed[lon, lat]waypoints following the line's real corridor through its stops — deliberately schematic (smoothed for display), not survey-grade alignment, and not extracted from OSM or any geodata source.Facts are approximate published values: distance, top speed, journey time, operator, opening year and approximate ridership are compiled from public references (operators' own figures, timetables, press material, encyclopaedic articles). Individual facts like these aren't copyrightable; the licence covers the curated compilation. Good for exploration and visualization, not operations.
Curated, not exhaustive: the world's notable routes, not every line on earth. Route names and the one-line
highlights are the author's own wording.Deliberately excluded (they live only on the site, to keep provenance clean): per-route stories and sights, photos (Wikimedia Commons, separately licensed), and the city-to-city journey guides (derived from public schedule feeds).
Basemap ≠ data: the interactive site renders these routes over OpenFreeMap (OpenStreetMap) tiles, but those tiles are not part of this dataset — the geometry here is the author's own hand-traced lines. OSM © OpenStreetMap contributors.
License & attribution
Data (
data/): CC BY 4.0 — free to use, share and adapt, with attribution to TrainRouter. A link tohttps://trainrouter.com(or the specific route page inurl) satisfies attribution. (full notice)Code (the MCP server in
mcp/): MIT.
Also available on
Kaggle: kaggle.com/datasets/albanius/world-train-routes-trainrouter-atlas
Hugging Face: huggingface.co/datasets/Flightmussy/trainrouter-atlas
Zenodo (archived, DOI): doi.org/10.5281/zenodo.21322030 — always resolves to the latest version
Citing
TrainRouter Atlas: the world's legendary train routes (2026). trainrouter.com. DOI: 10.5281/zenodo.21322030. https://github.com/Flightmussy/trainrouter-atlas
Updating
The data is generated from the TrainRouter atlas source. New versions land here first; publishing a GitHub release mints a fresh Zenodo DOI and (once the repo's KAGGLE_API_TOKEN/HF_TOKEN secrets are configured) syncs the Kaggle and Hugging Face mirrors automatically via sync-mirrors.yml.
Also in this repo
mcp/— source of the TrainRouter MCP server (live athttps://trainrouter.com/mcp, listed in the Official MCP Registry ascom.trainrouter/atlas), which serves this atlas as tools for Claude and other MCP clients.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceAn MCP server for Swiss Federal Railways (SBB) open data, enabling AI models to query real-time disruptions, passenger frequencies, station details, and more without an API key.Last updated101MIT
- AlicenseAqualityBmaintenanceAn MCP server that exposes the Deutsche Bahn public transport API to any MCP-compatible client (Claude Desktop, Cursor, Cline, Continue, etc.). Five tools cover station search, departures, journey planning, trip details, and nearby stations.Last updated6MIT
- Flicense-qualityDmaintenanceMCP server for querying French railway services (SNCF) via the Navitia API, enabling station search, journey planning, and departure board retrieval.Last updated
- Flicense-qualityDmaintenanceMCP server for querying Belgian railway data (SNCB/NMBS) via the iRail API, enabling station search, liveboard, and journey planning.Last updated
Related MCP Connectors
Read-only MCP server for wafergraph.com's semiconductor & AI supply-chain data: 30 tools, no auth.
OpenStreetMap Overpass MCP — programmatic queries against the OSM database
Transitland MCP — global GTFS aggregator
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Flightmussy/trainrouter-atlas'
If you have feedback or need assistance with the MCP directory API, please join our Discord server