Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
The world railway atlas as MCP tools: notable train routes, night trains, journey times.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://trainrouter.com/mcpRun this in your terminal
claude mcp add --transport http atlas https://trainrouter.com/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"atlas": {
"url": "https://trainrouter.com/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"atlas": {
"type": "http",
"url": "https://trainrouter.com/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://trainrouter.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified against the domain trainrouter.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.0.4) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Starreel
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Turn a script into a finished, downloadable short-drama episode — via MCP or REST.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
961 train routes · 118 countries · ≈ 432,800 km of route, every route with its key facts and its geometry, from worldtrainmap.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: worldtrainmap.com 🤖 Use it from an AI assistant: free MCP server at https://worldtrainmap.com/mcp (how to connect), or run it from this repo: npm install && npm start (mcp/)
The site was renamed. It was TrainRouter at
trainrouter.comuntil 11 August 2026 and is now World Train Map atworldtrainmap.com. The old domain redirects path for path, so old links still work, andhttps://trainrouter.com/mcpstill answers directly rather than redirecting, because JSON-RPC clients do not follow redirects. Nothing you already had configured has broken. The repository, the Zenodo DOI and the MCP registry name (com.trainrouter/atlas) keep their old identifiers on purpose: renaming them would break more than it would tidy.
Several different route counts are in circulation for this atlas, so here is the honest map of them.
| Where | Routes | Cut | Note |
|---|---|---|---|
| The live site | 1,338 | today | worldtrainmap.com, always the newest |
| The MCP server | 1,247 | 11 August 2026 | deployed separately from the site, so it lags it a little |
data/ in this repo, and Hugging Face | 961 | 23 July 2026 | what you get by cloning or downloading here |
| Zenodo (the citable DOI) | 744 | 12 July 2026 | release v1.1.0, the last tagged one |
Why the download is behind the site, and it is deliberate. Since late July the route geometry has been progressively re-traced from OpenStreetMap railway relations, which makes it a derivative of OSM data under ODbL, while this package is licensed CC BY 4.0 throughout. Publishing a refresh before the licence is split per route would ship a licence violation with our name on it, so the exporter is blocked until that work lands. See *Sources, accuracy & provenance* below. If you want something fresher than the July cut without waiting, the MCP server is the closest available.
| File | Contents |
|---|---|
data/routes.csv | One row per route, all facts, no geometry |
data/routes.json | Same records with structured country objects |
data/routes.geojson | LineString per route (lon/lat waypoints) plus all facts as properties |
| Field | Type | Notes | |
|---|---|---|---|
id | string | Stable slug, e.g. glacier-express | |
name | string | Route/service name | |
from, to | string | Terminus cities | |
category | enum | In this cut: high-speed · classic · night · scenic · luxury. The live atlas adds mountain and heritage | |
train | string | Rolling stock, e.g. e320 · Class 374 | |
operator | string | Operating company | |
distance_km | number | Route length | |
top_speed_kmh | number | Service top speed | |
duration | string | Published journey time, e.g. 2 h 16 min | |
opened | number | Year the line/service entered service | |
pax_per_year | number\ | null | Approx. annual ridership where published, which is rare: 80 of the 961 rows carry one |
countries_iso / countries | string | `\ | `-separated, in travel order (CSV); structured objects in JSON |
highlight | string | One-line description of what makes the route legendary | |
fame_rank | number | 1 = most famous (the atlas's own renown ranking) | |
url | string | The route's page. These were written before the rename and still read trainrouter.com, which redirects to the same path on worldtrainmap.com; they will be rewritten in the next release |
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))
LineString began as hand-placed [lon, lat] waypoints following the corridor at map scale. From 23 July 2026 onward, alignments have progressively been re-traced from OpenStreetMap railway ways via Overpass so the lines sit on real track. The files currently in data/ are the 23 July refresh: nearly all of their geometry is still the hand-traced kind, but a handful of corridors (Brenner, Oslo–Göteborg, Oslo–Stockholm, Pustertalbahn) are already OSM-traced, and those lines are © OpenStreetMap contributors, ODbL — as any OSM-derived geometry must be. An earlier version of this README said the geometry was "not extracted from OSM or any geodata source"; that was true when written (v1.0, 12 July) and is no longer true, which is why this notice exists. The next release will mark the split per route: facts CC BY 4.0, geometry ODbL. On the live site that re-tracing has since gone much further, which is why the site's routes and this package's routes are no longer the same lines.highlights are the author's own wording.data/): CC BY 4.0, free to use, share and adapt, with attribution to [World Train Map](https://worldtrainmap.com). A link to https://worldtrainmap.com (or the specific route page in url) satisfies attribution. (full notice)LineString coordinates): hand-traced lines as above (CC BY 4.0); OSM-traced lines © [OpenStreetMap contributors](https://www.openstreetmap.org/copyright), [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/). If you reuse the geometry wholesale, treat it as ODbL and credit OpenStreetMap, which is the safe default, and will be made explicit per route in the next release.mcp/): MIT.data/ hereThe Kaggle mirror is new, and it is worth saying why it did not exist before: every earlier version of this README, and the site's own dataset page, linked one at kaggle.com/datasets/albanius/.... That account name has never been ours, and the same wrong id was hard-coded into the mirror-sync workflow, so the link was dead from the day it was written and the automation could not have fixed it. Both are corrected.
World Train Map Atlas: the world's legendary train routes (2026). worldtrainmap.com. DOI: 10.5281/zenodo.21322030. https://github.com/Flightmussy/trainrouter-atlas
The data is generated from the atlas source by an exporter that is currently blocked on purpose, pending the split-licence work described above. That block is why data/ has not moved since 23 July and why the last release is still v1.1.0. Once it is unblocked, new versions land here first, and publishing a GitHub release mints a fresh Zenodo DOI and pushes the mirrors via sync-mirrors.yml, whose jobs each skip themselves when their API token is not configured.
mcp/ — source of the World Train Map MCP server (live at https://worldtrainmap.com/mcp, listed in the Official MCP Registry as com.trainrouter/atlas), which serves the atlas as tools for Claude and other MCP clients. It is deployed from the site's own atlas rather than from data/, so it is well ahead of the files here, though it is redeployed on its own schedule and can sit a little behind the site itself. Its atlas_stats tool reports exactly what it is serving.