Transport for London

live DataSports

Transport for London (TfL) Unified API MCP — keyless.

6 tools
0ms auth
free tier 50 calls/day

Tools

line_status

Current service status for London transport lines. Pass either a comma-separated list of modes (e.g. "tube,dlr") OR a specific lineId (e.g. "victoria", "central"). Returns each line with lineStatuses

No parameters required.

Try it
arrivals

Real-time predicted arrivals at a stop. Pass the naptanId from stop_search (e.g. "940GZZLUOXC"). Results are sorted by timeToStation (seconds away), nearest first.

No parameters required.

Try it
plan_journey

Plan a journey across London transport. from/to may be stop names, postcodes, or "lat,lon" coordinates. Returns journey options (legs, durations, modes). If a location is ambiguous, the API returns di

No parameters required.

Try it
bike_points

Santander Cycle docking stations with live availability (bikes, empty docks, total docks in additionalProperties). Pass an optional search to filter by name/area; omit it to list all docking stations.

No parameters required.

Try it
disruptions

Current disruptions for the given transport modes, with description and affected lines.

No parameters required.

Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/tfl/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/tfl/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"line_status","arguments":{}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("line_status", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("transport for london (tfl) unified api mcp — keyless");