Skip to content

Transport & travel

by fourzerotwo.si · remote · no sign-in to list tools · v1.0.0 · published by si.fourzerotwo

Airports, runways and frequencies worldwide, tides, UK road collisions and London transport.

Final · 1Changes · 24

31 tools: 1 do something that can't be undone, 24 change things and 6 only read.

Scanned Oct 21, 2026

10 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http transport https://fourzerotwo.si/mcp/v/transport

Findings

Matches of fixed checks, with the text they matched.

10 warn
  • The server marks "airports__airport" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for
  • The server marks "airports__runways" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for
  • The server marks "airports__frequencies" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for
  • The server marks "london-transport__stop-arrivals" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "london-transport__stop-arrivals" says "stop": a word for a change.

    What this check looks for
  • The server marks "london-transport__stop-search" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "london-transport__stop-search" says "stop": a word for a change.

    What this check looks for
  • The server marks "london-transport__stop" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "london-transport__stop" says "stop": a word for a change.

    What this check looks for
Show 4 more findings
  • The server marks "london-transport__stops-near" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "london-transport__stops-near" says "stop": a word for a change.

    What this check looks for
  • The server marks "london-transport__journey" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
  • The server marks "uk-road-safety__local-authority" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for
  • The server marks "uk-road-safety__lsoa" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

31 tools

Can't be undone 1Claude Code: ask
  • london-transport__journeyJourney options between two places (postcodes, stop ids or "lat,lon").Reads text others writeCan send data out1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a destination (input.to): what the tool writes goes there.

    Findings

    • Warn

      The server marks "london-transport__journey" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Journey options between two places (postcodes, stop ids or "lat,lon"). A few free samples a day, then $0.003 USDC per call via x402.

    Annotations the server declares

    • title: London Transport: Plan a journey
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Changes things 24Claude Code: ask
  • airports__airportAn airport by ICAO, IATA or ident: name, type, town, country and region, location, elevation, runways and frequencies.Reads text others write1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "airports__airport" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    An airport by ICAO, IATA or ident: name, type, town, country and region, location, elevation, runways and frequencies. Free within the daily allowance, then $0.001 USDC per call via x402.

    Annotations the server declares

    • title: Airports Worldwide: Airport by code
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • airports__countryAirport counts by type, the large airports and the regions for a country.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Airport counts by type, the large airports and the regions for a country. Free within the daily allowance, then $0.001 USDC per call via x402.

    Annotations the server declares

    • title: Airports Worldwide: Airports in a country
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • airports__frequenciesAn airport's radio frequencies (tower, ground, ATIS, approach…) in MHz.Reads text others write1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "airports__frequencies" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    An airport's radio frequencies (tower, ground, ATIS, approach…) in MHz. Free within the daily allowance, then $0.001 USDC per call via x402.

    Annotations the server declares

    • title: Airports Worldwide: Radio frequencies
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • airports__navaids-nearVORs, NDBs, DMEs and other navaids within a radius of a point, with frequency and associated airport.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    VORs, NDBs, DMEs and other navaids within a radius of a point, with frequency and associated airport. Free within the daily allowance, then $0.002 USDC per call via x402.

    Annotations the server declares

    • title: Airports Worldwide: Navaids near a point
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • airports__nearAirports (large/medium/small by default) within a radius of a point or UK postcode, nearest first.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Airports (large/medium/small by default) within a radius of a point or UK postcode, nearest first. Free within the daily allowance, then $0.002 USDC per call via x402.

    Annotations the server declares

    • title: Airports Worldwide: Airports near a point
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • airports__runwaysAn airport's runways: length, width, surface, lighting and each end's identifier, heading and elevation.Reads text others write1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "airports__runways" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    An airport's runways: length, width, surface, lighting and each end's identifier, heading and elevation. Free within the daily allowance, then $0.001 USDC per call via x402.

    Annotations the server declares

    • title: Airports Worldwide: Runways
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • london-transport__air-qualityLondon air quality forecast for today and tomorrow.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    London air quality forecast for today and tomorrow. A few free samples a day, then $0.001 USDC per call via x402.

    Annotations the server declares

    • title: London Transport: Air quality forecast
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • london-transport__bike-pointLive bikes, e-bikes and empty docks at one station.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Live bikes, e-bikes and empty docks at one station. A few free samples a day, then $0.001 USDC per call via x402.

    Annotations the server declares

    • title: London Transport: Cycle dock
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • london-transport__bike-pointsEvery Santander Cycles docking station with live bike and space counts.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Every Santander Cycles docking station with live bike and space counts. A few free samples a day, then $0.002 USDC per call via x402.

    Annotations the server declares

    • title: London Transport: Cycle docks
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • london-transport__line-arrivalsLive arrival predictions for every stop on a line.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Live arrival predictions for every stop on a line. A few free samples a day, then $0.002 USDC per call via x402.

    Annotations the server declares

    • title: London Transport: Line arrivals
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • london-transport__road-disruptionCurrent disruption on a road corridor, e.g.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Current disruption on a road corridor, e.g. "a2", "a406". A few free samples a day, then $0.002 USDC per call via x402.

    Annotations the server declares

    • title: London Transport: Road disruptions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • london-transport__stopLines, modes, facilities and child stops of a station.Reads text others write1 finding

    Why it is in this group

    • The name "london-transport__stop" says "stop": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "london-transport__stop" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "london-transport__stop" says "stop": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Lines, modes, facilities and child stops of a station. A few free samples a day, then $0.001 USDC per call via x402.

    Annotations the server declares

    • title: London Transport: Stop details
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • london-transport__stop-arrivalsLive arrival predictions at a stop or station.Reads text others write1 finding

    Why it is in this group

    • The name "london-transport__stop-arrivals" says "stop": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "london-transport__stop-arrivals" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "london-transport__stop-arrivals" says "stop": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Live arrival predictions at a stop or station. A few free samples a day, then $0.002 USDC per call via x402.

    Annotations the server declares

    • title: London Transport: Stop arrivals
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • london-transport__stops-nearStations and stops within a radius of a point.Reads text others write1 finding

    Why it is in this group

    • The name "london-transport__stops-near" says "stop": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "london-transport__stops-near" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "london-transport__stops-near" says "stop": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Stations and stops within a radius of a point. A few free samples a day, then $0.002 USDC per call via x402.

    Annotations the server declares

    • title: London Transport: Stops near a point
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • tides__conditionsLatest water temperature, air temperature, wind and air pressure reported at a station (whichever it measures).Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Latest water temperature, air temperature, wind and air pressure reported at a station (whichever it measures). Free within the daily allowance, then $0.002 USDC per call via x402.

    Annotations the server declares

    • title: US Tides & Water Levels: Station conditions now
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • tides__predictionsPredicted high and low tide times (local) and heights for up to 7 days from today.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Predicted high and low tide times (local) and heights for up to 7 days from today. Free within the daily allowance, then $0.002 USDC per call via x402.

    Annotations the server declares

    • title: US Tides & Water Levels: High and low tides
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • tides__stationA station's location, time zone, products offered and tidal datums.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    A station's location, time zone, products offered and tidal datums. Free within the daily allowance, then $0.001 USDC per call via x402.

    Annotations the server declares

    • title: US Tides & Water Levels: Tide station details
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • tides__stations-nearNOAA tide-prediction stations within a radius (default 50 km) of a point, nearest first.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    NOAA tide-prediction stations within a radius (default 50 km) of a point, nearest first. Free within the daily allowance, then $0.001 USDC per call via x402.

    Annotations the server declares

    • title: US Tides & Water Levels: Tide stations near a point
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • tides__water-levelObserved 6-minute water levels for the last hours (default 6, max 72) with the latest reading.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Observed 6-minute water levels for the last hours (default 6, max 72) with the latest reading. Free within the daily allowance, then $0.002 USDC per call via x402.

    Annotations the server declares

    • title: US Tides & Water Levels: Observed water level
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • uk-road-safety__collisionOne reported collision by its STATS19 index: date, time, severity, vehicles, casualties, road and conditions.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One reported collision by its STATS19 index: date, time, severity, vehicles, casualties, road and conditions. A few free samples a day, then $0.001 USDC per call via x402.

    Annotations the server declares

    • title: UK Road Collisions: Collision by id
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • uk-road-safety__local-authorityFive-year (or one-year) collision totals for a local authority district by severity and year, road class, speed limit, light, weather, surface and urban/rural.Reads text others write1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "uk-road-safety__local-authority" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    Five-year (or one-year) collision totals for a local authority district by severity and year, road class, speed limit, light, weather, surface and urban/rural. A few free samples a day, then $0.003 USDC per call via x402.

    Annotations the server declares

    • title: UK Road Collisions: Collisions in a local authority
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • uk-road-safety__lsoaCollisions in a 2021 LSOA (neighbourhood of ~1,500 people) over five years, with the 50 most recent.Reads text others write1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "uk-road-safety__lsoa" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    Collisions in a 2021 LSOA (neighbourhood of ~1,500 people) over five years, with the 50 most recent. A few free samples a day, then $0.002 USDC per call via x402.

    Annotations the server declares

    • title: UK Road Collisions: Collisions in a small area
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • uk-road-safety__nearReported collisions within a radius (default 500 m, max 2 km) of a UK postcode or point over the last five years: totals by severity and year, and the most recent collisions with r…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Reported collisions within a radius (default 500 m, max 2 km) of a UK postcode or point over the last five years: totals by severity and year, and the most recent collisions with road, speed limit, light and weather. A few free samples a day, then $0.003 USDC per call via x402.

    Annotations the server declares

    • title: UK Road Collisions: Collisions near a point
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 6Claude Code: allow
  • london-transport__line-statusLive status and disruption for one line.Reads text others writeNo findings

    Why it is in this group

    • The name "london-transport__line-status" says "status": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Live status and disruption for one line. A few free samples a day, then $0.001 USDC per call via x402.

    Annotations the server declares

    • title: London Transport: Line status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • london-transport__mode-statusLive status of every line for a mode (tube, overground, elizabeth-line, dlr, tram, bus).Reads text others writeNo findings

    Why it is in this group

    • The name "london-transport__mode-status" says "status": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Live status of every line for a mode (tube, overground, elizabeth-line, dlr, tram, bus). A few free samples a day, then $0.001 USDC per call via x402.

    Annotations the server declares

    • title: London Transport: Status by mode
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • london-transport__road-statusLive status of major London road corridors.Reads text others writeNo findings

    Why it is in this group

    • The name "london-transport__road-status" says "status": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Live status of major London road corridors. A few free samples a day, then $0.001 USDC per call via x402.

    Annotations the server declares

    • title: London Transport: Road corridor status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • london-transport__tube-statusLive status of every Tube line.Reads text others writeNo findings

    Why it is in this group

    • The name "london-transport__tube-status" says "status": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Live status of every Tube line. A few free samples a day, then $0.001 USDC per call via x402.

    Annotations the server declares

    • title: London Transport: Tube status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Can send data out1
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http transport https://fourzerotwo.si/mcp/v/transport

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__transport__airports__search",
      "mcp__transport__london-transport__tube-status",
      "mcp__transport__london-transport__mode-status",
      "mcp__transport__london-transport__line-status",
      "mcp__transport__london-transport__road-status",
      "mcp__transport__tides__search"
    ],
    "ask": [
      "mcp__transport__airports__airport",
      "mcp__transport__airports__near",
      "mcp__transport__airports__runways",
      "mcp__transport__airports__frequencies",
      "mcp__transport__airports__country",
      "mcp__transport__airports__navaids-near",
      "mcp__transport__london-transport__line-arrivals",
      "mcp__transport__london-transport__stop-arrivals",
      "mcp__transport__london-transport__stop-search",
      "mcp__transport__london-transport__stop",
      "mcp__transport__london-transport__stops-near",
      "mcp__transport__london-transport__journey",
      "mcp__transport__london-transport__bike-points",
      "mcp__transport__london-transport__bike-point",
      "mcp__transport__london-transport__road-disruption",
      "mcp__transport__london-transport__air-quality",
      "mcp__transport__uk-road-safety__near",
      "mcp__transport__uk-road-safety__local-authority",
      "mcp__transport__uk-road-safety__lsoa",
      "mcp__transport__uk-road-safety__collision",
      "mcp__transport__tides__stations-near",
      "mcp__transport__tides__station",
      "mcp__transport__tides__predictions",
      "mcp__transport__tides__water-level",
      "mcp__transport__tides__conditions"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as transport. Review it before you use it.

Capability tags behind 31 rules
  • mcp__transport__airports__airport untrusted-input
  • mcp__transport__airports__search untrusted-input
  • mcp__transport__airports__near untrusted-input
  • mcp__transport__airports__runways untrusted-input
  • mcp__transport__airports__frequencies untrusted-input
  • mcp__transport__airports__country untrusted-input
  • mcp__transport__airports__navaids-near untrusted-input
  • mcp__transport__london-transport__tube-status untrusted-input
  • mcp__transport__london-transport__mode-status untrusted-input
  • mcp__transport__london-transport__line-status untrusted-input
  • mcp__transport__london-transport__line-arrivals untrusted-input
  • mcp__transport__london-transport__stop-arrivals untrusted-input
  • mcp__transport__london-transport__stop-search untrusted-input
  • mcp__transport__london-transport__stop untrusted-input
  • mcp__transport__london-transport__stops-near untrusted-input
  • mcp__transport__london-transport__journey untrusted-input, outbound
  • mcp__transport__london-transport__bike-points untrusted-input
  • mcp__transport__london-transport__bike-point untrusted-input
  • mcp__transport__london-transport__road-status untrusted-input
  • mcp__transport__london-transport__road-disruption untrusted-input
  • mcp__transport__london-transport__air-quality untrusted-input
  • mcp__transport__uk-road-safety__near untrusted-input
  • mcp__transport__uk-road-safety__local-authority untrusted-input
  • mcp__transport__uk-road-safety__lsoa untrusted-input
  • mcp__transport__uk-road-safety__collision untrusted-input
  • mcp__transport__tides__stations-near untrusted-input
  • mcp__transport__tides__search untrusted-input
  • mcp__transport__tides__station untrusted-input
  • mcp__transport__tides__predictions untrusted-input
  • mcp__transport__tides__water-level untrusted-input
  • mcp__transport__tides__conditions untrusted-input