tfl-ts runs on your own machine — the client starts it, so there is no endpoint to ping. 258 installs a week from npm. Last commit 27 Oct 2026.
Read-only Transport for London data: line status, arrivals, journeys, stop lookup.
We read the source, 6 d ago · rules 995398eba69f
Things with no honest explanation: a promise that contradicts the code, code that runs at install time while hiding what it does, data leaving the machine.
execSync(`pnpm exec ts-node ${script}`, {
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
execSync(`pnpm exec ts-node ${script}`, {
const filePath = path.join(metaDir, fileName);
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
Code changes quietly between releases, and nobody reads the diff of a dependency. We do, on every release — watch tfl-ts and you get told the day something new turns up.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add tfl-ts -e 'TFL_APP_KEY=<TFL_APP_KEY>' -- npx -y tfl-ts
{
"mcpServers": {
"tfl-ts": {
"command": "npx",
"args": [
"-y",
"tfl-ts"
],
"env": {
"TFL_APP_KEY": "<TFL_APP_KEY>"
}
}
}
}
[mcp_servers.tfl-ts]
command = "npx"
args = ["-y", "tfl-ts"]
env = { TFL_APP_KEY = "<TFL_APP_KEY>" }
{
"mcpServers": {
"tfl-ts": {
"command": "npx",
"args": [
"-y",
"tfl-ts"
],
"env": {
"TFL_APP_KEY": "<TFL_APP_KEY>"
}
}
}
}
{
"servers": {
"tfl-ts": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"tfl-ts"
],
"env": {
"TFL_APP_KEY": "<TFL_APP_KEY>"
}
}
}
}
Put your own value in place of
<TFL_APP_KEY> (TfL API primary key. Live tools need it. Static tools (docs, resolve_line_id, get_supported_modes) do not).
The author’s registry entry marks it as required.
Optional settings from the registry entry, left out of the block above:
TFL_MCP_MIN_INTERVAL_MS (Minimum milliseconds between outbound TfL requests. Default 250. Cache hits do not count).
London transport line status from Transport for London. No key required.
TfL live data: line status across tube, DLR and rail, stop search and real-time arrivals - keyless.
Read-only Irish public data for AI assistants: stats, weather, transport, law, property and maps.
Transport for London (TfL) Unified API MCP — keyless.
TriMet MCP — live arrivals, stop lookup, vehicle positions and service alerts for Portland…
Read-only Garmin data for your AI: sleep, Body Battery, activities, laps, and training status.
Local MCP server for Weeek (stdio transport) — read-only by default, opt-in write tools.
Read-only market data, SEC filings and financial statements, on your own vendor keys.
Answers built from our own checks of this server.