4,500+ servers built on MCP Fusion
Vinkius
Transport for London logo
Vinkius
LangChain logo

How to Use the Transport for London MCP in LangChain

Build multi-step reasoning agents with LangChain and the Transport for London MCP Server.

See Vinkius in Action

Works with every AI agent you already use

…and any MCP-compatible client

Transport for London MCP on Cursor AI Code Editor MCP Client Transport for London MCP on Claude Desktop App MCP Integration Transport for London MCP on OpenAI Agents SDK MCP Compatible Transport for London MCP on Visual Studio Code MCP Extension Client Transport for London MCP on GitHub Copilot AI Agent MCP Integration Transport for London MCP on Google Gemini AI MCP Integration Transport for London MCP on Lovable AI Development MCP Client Transport for London MCP on Mistral AI Agents MCP Compatible Transport for London MCP on Amazon AWS Bedrock MCP Support
MCP Servers - Free for Subscribers
LangChain

Connect Transport for London MCP to LangChain

Create your Vinkius account to connect Transport for London to LangChain and route execution through our secure gateway. The platform manages server hosting, runtime updates, and security layers. Configuration requires no manual server provisioning.

GDPR Free for Subscribers

Multi-Step Journey Planning with LangChain

Plan complex routes using `get_journey`. The agent can take a start point, call this tool to get multiple options, and then use the resulting route data (like estimated duration or changes) as input for another step. You'll build chains that decide which combination of tools makes sense based on intermediate results. This allows your AI client to go beyond simple lookups. For instance, it can first call `search_stop` to confirm a stop ID, and then pass that precise ID into `get_arrivals` for real-time bus predictions.

Real-Time Status Checks via MCP Server

Check the status of major lines using `get_line_status`. This tool tells your agent immediately if a line is experiencing Minor Delays or Severe Delays. Since this output is structured, LangChain can pass that status data to another function—like calling `get_road_disruptions`—to build a holistic picture of the city's operational status. The MCP Server gives you access to several transport layers: tube lines (`get_line_status`), major roads (`get_road_status`), and local bus movements (`get_arrivals`). The agent decides which tool is needed, when it needs it, and what order to run them in.

Cycling and Stop Identification for LangChain

The `search_stop` tool lets your client find the precise IDs for any bus stop or station by name. Once you have that ID, you can feed it into `get_arrivals` to pull accurate predictions. For cycling trips, use `get_bike_points` and `get_bike_point_detail`. The agent combines these tools: first finding nearby stations, then checking the availability metrics (dock/bike counts), all before suggesting a full route via `get_journey`.

Setup guide

Set up Transport for London MCP in LangChain

Prerequisites

  • Python 3.10+ installed
  • langchain-mcp-adapters + langgraph packages
  • Active Vinkius subscription with a valid endpoint token
  1. 1

    Install dependencies

    Run pip install langchain-mcp-adapters langgraph langchain-openai. The MCP adapters package converts MCP tools into native LangChain BaseTool objects.

  2. 2

    Connect via HTTP transport

    Use MultiServerMCPClient with "transport": "http" pointing to your Vinkius endpoint. Replace [YOUR_TOKEN_HERE] with your token from cloud.vinkius.com.

  3. 3

    Create a ReAct agent

    Pass the discovered tools to create_react_agent() from LangGraph. The agent automatically routes Transport for London tool calls through the MCP protocol.

  4. 4

    Run with any LLM

    Swap ChatOpenAI for ChatAnthropic, ChatGoogleGenerativeAI, or any LangChain-compatible model. The MCP tools work identically across all providers.

agent.py
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
from langchain_openai import ChatOpenAI

async with MultiServerMCPClient({
    "transport-for-london-mcp": {
        "transport": "http",
        "url": "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp",
    }
}) as client:
    tools = client.get_tools()

    agent = create_react_agent(
        ChatOpenAI(model="gpt-4o"),
        tools,
    )
    result = await agent.ainvoke({
        "messages": "List recent Transport for London transactions"
    })
    print(result["messages"][-1].content)

Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Transport for London. 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.

Why Choose Vinkius

Vinkius connects your tools to AI with real-time monitoring and automatic cost savings — all from one dashboard.

Real-time monitoring

Live

visibility into every interaction

Connect your favorite tools to your AI and see exactly what's happening — every request, every response, in real time.

Built-in savings

60%

lower AI costs

Vinkius compresses data between your apps and your AI automatically. Lower bills every month — no configuration required.

Single dashboard

One

place for every integration

Every tool your AI connects to, managed from a single screen. One account, complete control.

Common questions about Transport for London MCP in LangChain

LangChain's ReAct agent handles the complexity. It doesn't just pick one tool; it reasons through the process, deciding if it needs to call `get_journey` first, or if checking `get_line_status` is a necessary prerequisite for the user's request.
Yes. You can combine data from several tools. The client can first call `get_road_disruptions` to check major roads, then follow up with `get_line_status` to see if the tube lines are affected by the same incident.
LangChain supports persistent context via client.session(). This means that if you call `search_stop` once to get a location ID, the agent remembers it and can use that same ID when calling subsequent tools like `get_arrivals`, without needing to pass the input again.
This server touches live operational data, including predicted arrival times (from `get_arrivals`), current road congestion status (from `get_road_status`), and station identifiers (from `search_stop`).
Absolutely. The agent can combine results from cycling tools (`get_bike_points`) with rail planning tools (`get_journey`), providing a comprehensive, step-by-step itinerary that crosses different transport modes.

Start using the Transport for London MCP today

We host it, we monitor it, we maintain it. You just paste one token.

Built & Managed by Vinkius 30s setup 11 tools

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

No hosting. No infrastructure. No complex setup.
All 11 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.