mcp-tfl-journey
Provides real-time journey planning, route searches, service alerts, and disruption information for Transport for London stations and services.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-tfl-journeyplan a route from Kings Cross to Liverpool Street"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TFL Journey MCP Server
π A Model Context Protocol (MCP) server for Transport for London journey data. Get real-time routes, alerts, and disruptions via AI assistants like Claude.
Quick Start
# Demo mode (limited requests)
TFL_API_KEY="6674e72d9f3d4678a3539ffbb24d5c92" npx mcp-tfl-journey
# With your own API key
TFL_API_KEY="your-api-key" npx mcp-tfl-journeyGet your free API key: https://api-portal.tfl.gov.uk/signup
Related MCP server: TFL MCP Server for Poke
Claude Configuration
Add to your Claude MCP config:
{
"mcpServers": {
"tfl-journey": {
"command": "npx",
"args": ["mcp-tfl-journey"],
"env": {
"TFL_API_KEY": "6674e72d9f3d4678a3539ffbb24d5c92"
}
}
}
}Features
π Journey Search: Find routes between TFL stations
π¨ Real-time Alerts: Get service alerts and disruptions
π Stop Points: Detailed station information
π Journey Summaries: Duration, timing, and statistics
Usage
The search_journey tool accepts:
from: Source station code (e.g., "9400ZZLUKSX" for Kings Cross)to: Destination station code (e.g., "9400ZZLULVT" for Liverpool Street)
Local Development
npm install
export TFL_API_KEY="your-api-key"
npm startStation Codes
Code | Station |
9400ZZLUKSX | Kings Cross |
9400ZZLULVT | Liverpool Street |
9400ZZLUPAD | Paddington |
9400ZZLUVIC | Victoria |
Available Tools
1 toolsearch_journeyC
Search for journey information between two TfL stations
| Name | Required | Description | Default |
|---|---|---|---|
| from | Yes | From station code (e.g., 9400ZZLUKSX) | |
| to | Yes | To station code (e.g., 9400ZZLULVT) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description is the sole source of behavioral information. It implies a read-only search operation but fails to disclose any side effects, authentication requirements, rate limits, data freshness, or return format. A more thorough disclosure is expected for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that directly conveys the core function. There is no wasted content, though it could be slightly more informative without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (two required string parameters, no output schema), the description is minimally adequate. However, it omits output details, error handling, and any context about the results, which might be needed for complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, providing examples for 'from' and 'to' station codes. The description adds little beyond restating the schema ('between two TfL stations'), so it meets the baseline without adding extra meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('search for journey information') and the resources ('between two TfL stations'), making the tool's purpose immediately understandable. However, it lacks specificity about what 'journey information' includes (e.g., routes, timings, fares), which could be improved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any conditions or prerequisites. The description simply states the function without context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no possibility of confusion or overlap. The tool's purpose is unique.
The single tool uses a clear verb_noun pattern (search_journey), establishing a consistent naming convention by default.
One tool is too few for a journey planning domain, which typically requires multiple operations like station lookup or route details.
The tool surface is severely limited, covering only journey search and missing other essential TfL operations such as station information or service status updates.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Transport for London (TfL) Unified API MCP β keyless.
Provide real-time transportation data including bus arrivals, train service alerts, carpark availaβ¦
Give AI assistants access to real-time data. Search the web, compare flights, find hotels, and more.
UK refunds inside your AI assistant: train delays, flights, TfL, parking. Made in London.
Related MCP Servers
- AlicenseCqualityDmaintenanceProvides real-time access to Transport for London data, enabling users to check tube line statuses, get disruption details, and plan journeys between London locations. Uses the official TfL Unified API to deliver live transport information through AI assistants.330MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to access real-time Transport for London data, including tube/bus arrivals, line status, journey planning, and disruptions.1
- AlicenseNot gradedqualityDmaintenanceProvides real-time Transport for London data including line status, journey planning, and disruption information via the TfL Unified API.30MIT
- FlicenseNot gradedqualityCmaintenanceProvides live UK rail data including station search, departures, arrivals, service details, and pre-filled Trainline booking links.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/alisonborba/mcp-tfl-journey'
If you have feedback or need assistance with the MCP directory API, please join our Discord server