transitradar
Registry code: e4788bc7d237329b
Live and historic GB rail and bus data from the industry's open feeds (Network Rail, National Rail Darwin, the Bus Open Data Service). search_stations resolves a place to a station; find_train finds a specific train and get_train returns its calling points. Headcodes are not unique nationally. Results carry a url to the matching page on transitradar.co.uk. TransitRadar is independent and not an official source; station screens and operators are the source of record.
- endpoint
- https://transitradar.co.uk/mcp
- protocol
- http-sse ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is transitradar live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 98% of checks over the last 30 days.
- Is transitradar free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does transitradar have?
- 11 tools: station_info, train_history, find_unit, plan_journey, get_train, bus_stop_departures, find_train, search_stations, ….
- Is transitradar safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 98.8%· all time 98.8%
last good check
of 11 tools
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- live → degraded· HTTP 502
- degraded → live
- used for
- get live train departures for a uk station
- find a specific train and its calling points
- get bus stop departures
- check rail disruptions
- takes → gives
- text → data
- tools
- 9 reads
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
disruptions reads open 5h ago
Current GB rail incidents and planned engineering work from National Rail's KnowledgeBase: what is affected, the operators, the dates and a link to National Rail's notice. Optionally filter by operator (name or two-letter code) or by any text, such as a station, line or reason.
{ "type": "object", "properties": { "text": { "type": [ "string", "null" ], "default": null, "description": "Text to match in the notice, e.g. 'Whitehaven', 'signalling'." }, "limit": { "type": "integer", "default": 15, "description": "Maximum notices to return, 1-30." }, "operatorName": { "type": [ "string", "null" ], "default": null, "description": "Operator name or code, e.g. 'Northern' or 'NT'." } } }arguments 26 linesstation_info reads unknown 7h ago
Details of a GB railway station: address, managing operator, facilities, step-free access, industry codes (CRS, TIPLOC, STANOX, NLC) and, where Network Rail publishes it, the live status of each public lift. Lift status is 'In service', 'Out of service' or 'Data not available'; the last means the status is not known, and Network Rail's wording for it advises checking before travel. A station with no lifts listed is not necessarily a station without lifts; it may not report live status yet.
{ "type": "object", "required": [ "station" ], "properties": { "station": { "type": "string", "description": "Station name, CRS code (KGX) or TIPLOC." } } }arguments 12 linestrain_history unknown 7h ago
How one timetabled train has actually run over recent days, by its planning ID (from find_train, station_departures or get_train): each day's delay at its final destination, cancellations and any reason given, plus the share on time. Delay is measured where the train ends, not at any station along the way. History follows the planning ID, which changes when the timetable changes, so a newly timetabled train has little history; days the train did not run are simply absent.
{ "type": "object", "required": [ "planningId" ], "properties": { "days": { "type": "integer", "default": 28, "description": "How many days back to look, 1-60." }, "planningId": { "type": "string", "description": "Planning ID / UID, e.g. 'P24061'." } } }arguments 17 linesfind_unit reads unknown 13h ago
Look up a GB passenger train unit or carriage by the five- or six-digit number painted on it (e.g. '360107'): which service it is working now, the other services it is booked to work today, and the last calling point it was reported at. This comes from the operator's rolling-stock allocation, which is a plan and may be wrong during disruption. The position is the last calling point reported, not a live GPS fix — the train is somewhere beyond it.
{ "type": "object", "required": [ "number" ], "properties": { "date": { "type": [ "string", "null" ], "default": null, "description": "Date, yyyy-MM-dd. Defaults to today (UK time)." }, "number": { "type": "string", "description": "Five- or six-digit unit or vehicle number, e.g. '360107'." } } }arguments 20 linesplan_journey unknown 13h ago
Plan a GB rail journey between two stations from the timetable, including changes: the next few ways to get there after a time, each with departure, arrival, number of changes and every train to catch with where to board and alight. This is the timetable, not live running; for live times on a direct train use station_departures with 'to', and for one train's progress use get_train with its planning ID.
{ "type": "object", "required": [ "from", "to" ], "properties": { "to": { "type": "string", "description": "Station to travel to: name or CRS code." }, "date": { "type": [ "string", "null" ], "default": null, "description": "Date, yyyy-MM-dd. Defaults to today (UK time)." }, "from": { "type": "string", "description": "Station to travel from: name or CRS code." }, "time": { "type": [ "string", "null" ], "default": null, "description": "Leave after this time, HH:mm UK time. Defaults to now." }, "results": { "type": "integer", "default": 3, "description": "How many journeys to return, 1-5." } } }arguments 38 linesget_train reads unknown 13h ago
Full details of one train by its planning ID (UID, e.g. 'C04207'): every public calling point with booked, expected and actual times, platforms and per-stop cancellations, plus — for today's trains — where it was last reported and how late. A cancellation can apply to only some stops. 'lastReport' is the last place signalling or movement data placed the train, not a GPS position. Reasons are National Rail's own words.
{ "type": "object", "required": [ "planningId" ], "properties": { "date": { "type": [ "string", "null" ], "default": null, "description": "Date the train runs, yyyy-MM-dd. Defaults to today (UK time). Past dates return recorded times where the archive holds them (about 14 days of per-stop detail)." }, "planningId": { "type": "string", "description": "Planning ID / UID, e.g. 'C04207'. Get one from find_train or station_departures." } } }arguments 20 linesbus_stop_departures reads unknown 5h ago
Next buses from a bus stop anywhere in Great Britain. Takes a stop name with its town or area; many stops share a name across the country, so 'Trafalgar Square' alone can land in Greater Manchester while 'Trafalgar Square London' finds Charing Cross. A stop letter can follow, e.g. 'Trafalgar Square London stop X'. A stop's ATCO/NaPTAN code also works. Live predictions in London (TfL); elsewhere the timetable, so a 'scheduled' time is not a live estimate. Other matching stops are returned alongside.
{ "type": "object", "required": [ "stop" ], "properties": { "stop": { "type": "string", "description": "Stop name with town, optionally a stop letter, or a stop code: e.g. 'Trafalgar Square London stop X', '490015196OF'." } } }arguments 12 linesfind_train reads unknown 5h ago
Search the GB rail timetable for specific trains. The query combines terms: an operator and a headcode ('LNER 1S09', 'EMR 1H26'), a time and a station ('12:19 from Corby' — matched within about ten minutes either side), two stations ('Corby to St Pancras', which also finds trains calling at both), or a planning ID / UID ('C12345', or its first few characters). A headcode alone is not unique: the same four characters run in several parts of the country at once, so results for one headcode can be different trains, told apart by origin and destination. Returns planning IDs to pass to get_train.
{ "type": "object", "required": [ "query" ], "properties": { "date": { "type": [ "string", "null" ], "default": null, "description": "Date to search, yyyy-MM-dd. Defaults to today (UK time)." }, "query": { "type": "string", "description": "Search text, e.g. 'GWR 1A20', '09:45 from Bath Spa', 'York to Leeds'." } } }arguments 20 linessearch_stations reads unknown 10h ago
Find GB railway stations by name or code. Returns each station's three-letter CRS code (e.g. KGX), its TIPLOC and whether it has step-free access. The CRS code is what the other station tools accept.
{ "type": "object", "required": [ "query" ], "properties": { "query": { "type": "string", "description": "Station name or code, e.g. 'kings cross', 'Leeds', 'MAN'." }, "includeJunctions": { "type": "boolean", "default": false, "description": "Also return junctions, yards and other non-station timing points." } } }arguments 17 linesstation_departures reads unknown 10h ago
Live departure or arrival board for a GB railway station, from National Rail's Darwin feed: booked time, expected time, actual time once reported, platform, operator and any delay or cancellation reason. With 'to', only trains that also call at that station are listed, each with its booked, expected and actual time there: the live answer to 'next train from Bolton to Darwen'. On an arrivals board, 'to' is where the train came from. An expected time equal to the booked one means no revision has been published, which usually means running to plan. A missing expected time is not a statement that the train is on time. Reasons are National Rail's own wording.
{ "type": "object", "required": [ "station" ], "properties": { "to": { "type": [ "string", "null" ], "default": null, "description": "Optional second station (name or CRS): only trains that call there after this one on departures, or before it on arrivals." }, "rows": { "type": "integer", "default": 10, "description": "How many trains to return, 1-30." }, "type": { "type": "string", "default": "departures", "description": "'departures' (default) or 'arrivals'." }, "station": { "type": "string", "description": "Station name, CRS code (KGX) or TIPLOC." }, "includeNonPassenger": { "type": "boolean", "default": false, "description": "Include empty stock, freight and staff trains." } } }arguments 35 linesdaily_performance reads unknown 10h ago
TransitRadar's own record of one completed day on GB passenger rail: how many trains ran, how many were cancelled, the share of recorded arrivals within five minutes at their destination, the same share counting each cancellation as a failure, per-operator figures, and the commonest delay and cancellation reasons. Measured at the destination, so it is stricter than, and not comparable with, the industry's published PPM. Available from 2026-08-06 up to yesterday; where fewer than half of arrivals were recorded, no punctuality figure is given.
{ "type": "object", "required": [ "date" ], "properties": { "date": { "type": "string", "description": "Completed date, yyyy-MM-dd, e.g. '2026-09-26'." }, "operators": { "type": "integer", "default": 12, "description": "How many operators to include, largest first, 1-40." } } }arguments 17 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's ide4788bc7d237329b.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/e4788bc7d237329b/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/e4788bc7d237329b?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.