4,500+ servers built on MCP Fusion
Vinkius

TfL MCP. Plan London journeys and track real-time arrivals.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
See Vinkius in Action

Works with every AI agent you already use

…and any MCP-compatible client

TfL MCP on Cursor AI Code Editor MCP Client TfL MCP on Claude Desktop App MCP Integration TfL MCP on OpenAI Agents SDK MCP Compatible TfL MCP on Visual Studio Code MCP Extension Client TfL MCP on GitHub Copilot AI Agent MCP Integration TfL MCP on Google Gemini AI MCP Integration TfL MCP on Lovable AI Development MCP Client TfL MCP on Mistral AI Agents MCP Compatible TfL MCP on Amazon AWS Bedrock MCP Support

Just plug in your AI agents and start using Vinkius.

TfL MCP Server gives your AI client real-time access to London transport data. You can track tube and bus arrivals, plan door-to-door journeys across multiple modes (bus, train, bike), check live line status, and monitor road disruptions—all from a single conversation.

What your AI agents can do

Get arrivals

Predicts the next arrival time for a specific Tube, bus, DLR, tram, or river vehicle at any known TfL stop point.

Get bike point

Provides detailed status and location data for one specific Santander Cycles docking station.

Get bike points

Lists all nearby bike docking stations, showing available bikes and empty docks across London coverage areas.

+ 9 more capabilities included
Plan Multimodal Journeys

The agent generates door-to-door itineraries combining walking, cycling, and all major transport lines, including total duration and transfer points.

Check Real-Time Arrivals

You get live predicted arrival times for any specific bus stop or Tube station point across the entire London network.

Monitor Line Status

The agent reports the current service status (Good Service, Minor Delays, Suspended) for any specified TfL line system-wide.

Search Locations & Stops

You find specific stop points or Points of Interest in London by searching names, categories, or geographical coordinates.

Check Road Conditions

The agent pulls current data on road closures and disruptions across specified routes in London.

Supported MCP Clients

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients
Free for Subscribers

Waiting for input…

AI Agent

TfL MCP Server: 12 Tools for London Transit Data

Use these tools to calculate routes, track real-time arrivals, and monitor service disruptions across the entire London transport network.

get019d7612

get arrivals

Predicts the next arrival time for a specific Tube, bus, DLR, tram, or river vehicle at any known TfL stop point.

get019d7612

get bike point

Provides detailed status and location data for one specific Santander Cycles docking station.

get019d7612

get bike points

Lists all nearby bike docking stations, showing available bikes and empty docks across London coverage areas.

get019d7612

get journey

Calculates multiple travel options between two points using a mix of tube, bus, walking, cycling, etc., providing full step-by-step instructions.

get019d7612

get line status

Checks the current service status and disruption details for any specific TfL line or transport mode system-wide.

get019d7612

get modes

Lists every available method of travel within the London network, like bus, tube, walking, and tram.

get019d7612

get place search

Finds specific places or points of interest in London by category (e.g., museum, park) using location data.

get019d7612

get road disruptions

Retrieves current information on road closures and disruptions, including the cause and affected road segments.

get019d7612

get road status

Checks the operational status of specific London roads or corridors (e.g., A40) for driving purposes.

get019d7612

get stop point details

Gives full metadata on a single TfL stop point, including accessibility, fare zone, and station type details.

get019d7612

get vehicle details

Checks if a specific vehicle registration number complies with ULEZ or Congestion Charge rules for driving in London.

search019d7612

search stop point

Locates and returns IDs for TfL stops based on a common name, street address, or desired transport mode.

Choose How to Get Started

Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.

Build Your Own

Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.

  • Import from OpenAPI, Swagger, or YAML specs
  • Create Agent Skills with progressive disclosure
  • Deploy to edge with MCPFusion framework
  • Built in DLP, auth, and compliance on every call
  • Real time usage dashboard and cost metering
  • Publish to catalog or keep private
Start building

Make Your AI Do More

Start with TfL, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.

  • Use this MCP plus 4,700+ others, all in one place
  • Add new capabilities to your AI anytime you want
  • Every connection is secured and compliant automatically
  • Track usage and costs across all your servers
  • Works with Claude, ChatGPT, Cursor, and more
  • New servers added to the catalog every week

What you can do with this MCP connector

TfL MCP Server - London Transport Data API

Man, this thing gives your AI client real-time access to every piece of data running through London's transit system. Forget jumping between half a dozen different apps or staring at physical arrival boards that are always wrong. Your agent acts like a dedicated transport analyst and journey planner, handling everything from complex door-to-door trips to checking if the Overground is even running today.

Planning Trips Across London

When you need someone to figure out how to get from point A to point B, your client uses get_journey, which calculates multiple travel options combining walking, cycling, tube, and bus into one full itinerary. It gives total duration and step-by-step instructions for the whole ride. To make sure it knows what modes are even available, it calls get_modes, listing every method of travel in the London network, like tram or underground.

If you're trying to get somewhere specific—whether it's a museum or just a weird corner—you can use get_place_search to locate Points of Interest across London by category or coordinates.

Tracking Movement and Stops

For live updates, your agent uses get_arrivals, which predicts the next arrival time for any specific Tube, bus, DLR, tram, or river vehicle at a known TfL stop point. If you're starting with just a name or an address, you gotta find the actual station ID first; that's where search_stop_point comes in, locating and returning IDs for stops based on common names or street addresses.

For bike commuters, it handles two things: get_bike_points lists all nearby docking stations across London coverage areas, showing exactly how many bikes are available and how many docks are empty. If you only care about one specific station, get_bike_point gives the detailed status and location data for that single Santander Cycles dock.

Checking System Health and Roads

To know if things are messed up, your agent checks multiple systems. It runs get_line_status, which reports the current service status—like Good Service or Minor Delays—for any specified TfL line system-wide. For road travel, it pulls fresh data on closures and disruptions using get_road_disruptions, telling you what caused a closure and which roads are affected.

If you're just checking if a specific artery like the A40 is open for driving, you use get_road_status. For general infrastructure knowledge, get_stop_point_details gives full metadata on one stop point, including its fare zone, accessibility features, and station type. Finally, if someone's driving into London, your client can check vehicle compliance by using get_vehicle_details, confirming if a specific registration number meets ULEZ or Congestion Charge rules.

This server lets you build complex logic right inside your agent. You don't need to manually query for arrivals, then check the line status, and then find the nearest station; all those steps happen automatically from one conversation.

How TfL MCP Works

  1. 1 Subscribe to the server, then input your TfL Application ID and Key from the developer portal.
  2. 2 Your AI client connects using these credentials. It establishes a live connection to the transport data stream.
  3. 3 You ask for directions or status updates in natural conversation; the agent runs the necessary tools and gives you a clear answer.

The bottom line is, your AI acts as a dedicated London transit expert that knows exactly which piece of data it needs to pull to answer your question.

Who Is TfL MCP For?

Logistics developers and travel tech engineers use this. They need accurate, real-time location data for applications that depend on movement—be it a ride-share service or a complex routing tool. If you're building anything that needs to know where people are going, this is what you need.

Travel App Developer

Builds frontends that require accurate journey planning, combining multiple modes and handling real-time delay messages.

Logistics Coordinator

Needs to check road disruptions (get_road_disruptions) or ULEZ compliance for delivery vehicles before sending a driver out.

Civic Tech Developer

Creates public-facing tools that track bus/tube arrivals in real time or list local points of interest using get_place_search.

What Changes When You Connect

  • Multimodal Trip Planning: Forget manual route building. The get_journey tool combines walking, cycling, bus, and tube into one itinerary, giving you total time and transfer instructions instantly.
  • Real-Time Service Awareness: Don't guess if a line is running. Use get_line_status to check the current operational status of every Tube or Overground line system-wide before planning anything.
  • Deep Location Context: Need more than just coordinates? get_stop_point_details provides essential metadata like accessibility, fare zone, and station type for accurate app design.
  • Bike & Walk Integration: The server handles bike share availability. Use get_bike_points to show users exactly how many bikes are docked at a specific location near their destination.
  • Driver Compliance Check: Before displaying routing options, use get_vehicle_details. This confirms if the user’s vehicle is ULEZ compliant or exempt from the Congestion Charge.
  • Comprehensive Search: Need to find an amenity? The get_place_search tool lets you search for things like 'Museum' or 'Park' near any given location, making your app richer.

Real-World Use Cases

01

The commuter needs a last-minute detour.

A user asks: 'What should I do if the Jubilee Line is delayed?' The agent first calls get_line_status to confirm delays. Then, it uses get_journey to plan an alternative route via Overground and walking, providing immediate alternatives.

02

The tourist needs a bike-to-bus path.

A user asks: 'How do I get from the central park entrance to the main station?' The agent uses get_bike_points for nearby docks, combines that with walking distance (via get_journey), and finishes by planning a bus leg.

03

The developer needs robust location data.

A service requires knowing the exact details of every stop. Instead of just using coordinates, the agent calls get_stop_point_details to confirm if the station is step-free and in which fare zone.

04

The logistics team plans a delivery route.

A driver needs directions: 'Drive from point A to B, checking for issues.' The agent first calls get_road_status to check the main routes and then checks get_road_disruptions to warn about unexpected closures.

The Tradeoffs

Only calling get_journey

The agent just calls get_journey('A', 'B') and assumes the route is fine. It ignores real-time disruptions or line failures.

Always check service reliability first. Run get_line_status for all key lines involved before running get_journey. If status shows 'Severe Delays,' prompt the user for alternatives.

Ignoring stop IDs

The developer passes a generic name like 'Westminster' to get_arrivals, which fails because it needs precise point identifiers.

First, always use search_stop_point with the location name. This gives you the required Stop ID format needed for accurate arrivals using get_arrivals.

Mixing road and transit data

Trying to plan a journey without checking vehicle compliance when the route requires driving through central London.

Before building any drive-based itinerary, call get_vehicle_details for the user's plate. This prevents giving them a non-compliant route.

When It Fits, When It Doesn't

Use this server if your application absolutely depends on real-time, multi-modal movement data within London (e.g., ticketing, ride-share, navigation). You need to know the status of buses and trains and bikes in one place.

Don't use it if you only need static information like 'What are the hours for King's College Museum?' — then get_place_search is enough. Also, don't rely solely on get_journey; always check get_line_status first. If a line is suspended, no journey planner can fix that problem.

Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by TfL. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.

VINKIUS INFRASTRUCTURE

Cloud Hosted

Managed infra

V8 Isolated

Sandboxed per request

Zero-Trust Proxy

No stored credentials

DLP Enforced

Policy on every call

GDPR Compliant

EU data residency

Token Compression

~60% cost reduction

How we secure it →

Works with Claude, ChatGPT, Cursor, and more

The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.

This server provides 12 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.

Available Capabilities

get_arrivals get_bike_point get_bike_points get_journey get_line_status get_modes get_place_search get_road_disruptions get_road_status get_stop_point_details get_vehicle_details search_stop_point

Checking London transit status used to mean opening five different apps.

Today, if you need to plan from Heathrow to the City, you're clicking through multiple screens: checking the Tube line on one tab, looking up bus times on another, then cross-referencing a separate site for road closures. It’s tedious copy-pasting and juggling conflicting data points.

With this MCP server, your agent handles the whole stack. You ask it to plan the trip; it calls `get_journey`, checks `get_line_status` in parallel, and synthesizes one answer that accounts for delays or service suspensions instantly.

TfL MCP Server: Get live transit data through your agent.

Manual checks for arrivals are slow. You have to search by station name, then wait for the API call, and then repeat that process for every stop on a multi-leg journey. It's repetitive and fragile.

Now, your agent uses `get_arrivals` at key points along the route, while simultaneously checking road conditions with `get_road_disruptions`. The result is not just data; it’s an actionable plan that respects current reality.

Common Questions About TfL MCP

How do I use get_journey to find a cycling route? +

The agent handles this automatically. Just ask for 'a trip from A to B,' and specify or let it know you want to cycle. It will run get_bike_points and factor the biking distance into the total time.

Does get_line_status tell me if a bus is running? +

No, get_line_status reports on the overall operational status of the entire line (e.g., 'Good Service'). For specific buses, you must use get_arrivals and provide a specific stop ID.

What's the difference between get_road_disruptions and get_road_status? +

get_road_status gives general operational info for a road (is it open?). get_road_disruptions is more specific, telling you why it's disrupted—like 'Roadworks' or 'Incident'.

Do I need to run search_stop_point before get_arrivals? +

Yes. The get_arrivals tool requires a precise Stop ID (e.g., 940GZZLUSCL). You must first use search_stop_point to find that specific ID using the location name.

How do I authenticate my agent when using the `get_arrivals` tool? +

You must provide your TfL Application ID and Key during setup. The server requires these credentials to make live API calls, ensuring authorized access to real-time data.

What specific accessibility information does the `get_stop_point_details` tool return? +

The tool returns detailed stop metadata including step-free access availability and lift status. This helps users plan journeys with mobility needs, going beyond just location coordinates.

How does the `get_vehicle_details` tool help me verify driving compliance in London? +

It checks vehicle registration against ULEZ and Congestion Charge rules. You input a license plate, and it verifies if the car can legally drive in central London zones.

If I need to query many docking stations, what are the best practices when using `get_bike_points`? +

Check the rate limit documentation. For large areas, process queries in batches rather than single calls. This prevents throttling and keeps your workflow running smoothly.

Can my AI check when the next Tube train is arriving at my station? +

Yes! First use search_stop_point with the station name (e.g., "Oxford Circus", "King's Cross") to find the stop ID. Then use get_arrivals with that stop ID to get real-time arrival predictions with line names, destinations, time to station in minutes, and platform information. This covers all TfL modes including Tube, bus, DLR, Overground, Elizabeth line, tram, river, and cable-car.

How do I plan a journey from Heathrow Airport to central London using public transport? +

Use the get_journey tool with "Heathrow Airport" as the origin and your destination (e.g., "Oxford Circus", "Tower Bridge"). The TfL Journey Planner will return multiple route options combining Elizabeth line, Piccadilly line, Heathrow Express, and connecting Tube/bus services. Each option includes total duration, fare estimates, walking distances, number of interchanges, and step-by-step instructions with station sequences. You can also specify preferences for accessibility or cycling options.

Are there any Tube line closures or major disruptions right now? +

Use get_line_status with modes="tube" to check all Tube line statuses, or call it without a mode filter for system-wide status across all transport modes. This returns each line's current status (Good Service, Minor Delays, Severe Delays, Part Suspended, Planned Work) with detailed descriptions and reasons. Always check this before planning any London journey to avoid unexpected disruptions.

You might also like

Built & Managed by Vinkius 30s setup 12 tools

We've already built the connector for TfL. Just plug in your AI agents and start using Vinkius.

No hosting. No infrastructure. No complex setup.
All 12 tools are live and waiting. You're up and running in seconds.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients

Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.

Zero hosting required Full MCP catalog included Enterprise-grade security Auto-updated by Vinkius

Built, hosted, and secured by Vinkius. You just connect and go.