TfL MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_line_statusB | Get the current status of a specific TfL line (tube, DLR, Elizabeth line etc) |
| get_all_lines_statusC | Get the current status of ALL TfL lines at once |
| get_station_infoA | Get information about a station including zone and transport modes |
| get_arrivalsA | Get next train arrivals at a station. NOTE: First call get_station_info to get the stationId, then pass that ID here. Do not pass the station name directly. |
| plan_journeyB | Plan a journey between two locations using TfL |
| get_journey_timeC | Get the fastest journey time between two locations |
| get_bus_arrivalsC | Get next bus arrivals at a bus stop |
| get_bus_routeC | Get the full route of a bus |
| get_fareC | Get the fare for a journey between two locations |
| search_stationC | Search for a station by name |
| get_nearby_stationsC | Find TfL stations near a postcode |
| get_disruptionsB | Get all current disruptions on the TfL network |
| get_planned_worksB | Get upcoming planned engineering works on TfL lines |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Most tools have clearly distinct purposes (line status vs all-line status, bus arrivals vs train arrivals, nearby vs search vs station info). However, get_disruptions, get_planned_works, and get_line_status have some conceptual overlap around service conditions, and search_station vs get_station_info could be confused when resolving station identifiers.
All tool names follow a consistent verb_noun or verb_noun_qualifier pattern using snake_case, such as get_line_status, get_bus_arrivals, plan_journey, and search_station. There are no mixed conventions or vague standalone verbs.
13 tools is well-scoped for a TfL transport server, covering lines, stations, arrivals, journeys, fares, buses, and disruptions without excessive sprawl. Each tool appears to earn its place.
The surface covers the core read-only TfL workflows: status, disruptions, planned works, station search/info, arrivals, journey planning, fares, and buses. Minor gaps exist, such as detailed line route/stop listings and potential ambiguity around how to obtain station IDs for arrivals, but agents can likely work around them.