tfl.transit.journey_plan
Plan a multi-modal journey between any two London locations using the TfL journey planner. Accepts free-text addresses, NAPTAN stop IDs, ICS station codes, or lat/lon coordinates as origin and destination. Returns up to 3 journey options with legs, modes (tube, bus, walking, overground, etc.), de...
This record as markdown: /tools/io-github-whiteknightonhorse-apibase/tfl.transit.journey-plan.md
What tfl.transit.journey_plan does on Apibase
AI agents use tfl.transit.journey_plan to create or update resources in Apibase, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Apibase environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
to | string | Yes | Journey destination — accepts NAPTAN IDs, ICS codes, lat/lon pairs, or free-text location names (e.g. Heathrow Terminal 5, Canary Wharf, Waterloo). |
date | string | — | Journey date in YYYYMMDD format (e.g. 20250710). Defaults to today. Used together with time to find departures or arrivals at that datetime. |
from | string | Yes | Journey origin — accepts NAPTAN IDs (940GZZLUKSX), ICS codes (1000008), lat/lon pairs (51.509,-0.128), or free-text location names (e.g. Kings Cross, Victoria, |
mode | string | — | Comma-separated preferred transport modes for the journey (e.g. tube,bus,walking or tube,overground,elizabeth-line). Defaults to all available TfL modes includi |
time | string | — | Journey time in HHMM 24-hour format (e.g. 0830, 1730). Defaults to current time. Interpreted as departure time unless time_is is set to Arriving. |
limit | integer | — | Maximum number of journey options to return (1–5). Defaults to 3. |
time_is | string | — | Whether the time parameter represents a departure or arrival time (Departing or Arriving). Defaults to Departing. |
Parameters from the server's own tool schema.
Why tfl.transit.journey_plan is rated Medium
An AI agent can call tfl.transit.journey_plan faster than any human can review: one bad instruction and it creates or modifies resources in Apibase by the hundred, each call as confident as the last.
Attacks that exploit this kind of access
The rule that runs tfl.transit.journey_plan safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Apibase, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For tfl.transit.journey_plan, this is the rule to start with:
tfl.transit.journey_plan stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Apibase, apply this rule, and every tfl.transit.journey_plan call is checked against it from then on.
Questions about tfl.transit.journey_plan
Plan a multi-modal journey between any two London locations using the TfL journey planner. Accepts free-text addresses, NAPTAN stop IDs, ICS station codes, or lat/lon coordinates as origin and destination. Returns up to 3 journey options with legs, modes (tube, bus, walking, overground, etc.), departure/arrival times, and turn-by-turn summaries. Optionally specify preferred modes (e.g. tube,bus), date (YYYYMMDD), and time (HHMM) for departing or arriving at a specific time. Covers all TfL services: Tube, Overground, Elizabeth line, DLR, bus, tram, river bus, and walking. Source: TfL Unified API — api.tfl.gov.uk. No auth required, TfL Open Data CC-BY. It is categorised as a Write tool in the Apibase MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
tfl.transit.journey_plan accepts 7 parameters: to, date, from, mode, time, limit, time_is. Required: to, from. The full parameter table on this page comes from the server's own tool schema.
Register the Apibase MCP server in PolicyLayer and add a rule for tfl.transit.journey_plan: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Apibase. Nothing to install.
tfl.transit.journey_plan is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the tfl.transit.journey_plan rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for tfl.transit.journey_plan. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
tfl.transit.journey_plan is provided by the Apibase MCP server (apibase-mcp-client). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Apibase, and thousands of servers like it.
This server
Across the catalogue