Airport Pickups London
by airport-pickups-london.com · remote · no sign-in to list tools · v1.1.0 · published by com.airport-pickups-london
Quote, book, track and see live cars near UK airports. Fixed prices; no signup to start.
11 tools: 1 can delete or cancel things, 3 do something that can't be undone, 2 change things and 5 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone3Claude Code: ask: see these tools
- Changes things2Claude Code: ask: see these tools
- Only reads5Claude Code: allow: see these tools
3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http london-airport-transfers https://mcp.airport-pickups-london.com/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "london_airport_transfer_quote" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "london_airport_transfer_quote" says "transfer": a word for a change that another call does not undo.
The server marks "eu_transfer_quote" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "eu_transfer_quote" says "transfer": a word for a change that another call does not undo.
The description is 2,313 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...ng later), and callers without an account may create at most 5 bookings per hour."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
11 tools
Deletes or cancels 1Claude Code: deny
cancel_bookingCancel an existing booking.No findings
Why it is in this group
- The name "cancel_booking" says "cancel": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Cancel an existing booking. Free cancellation 12+ hours before pickup — no fee, full refund. Under 12 hours the booking cannot be cancelled online: call +44 20 8688 7744 (6–12 hours before pickup 50% of the fare is charged, under 6 hours there is no refund). Under 12 hours before pickup this tool cannot cancel; the office handles it by phone. Identity is the booking reference plus the email address used on the booking (the same login as the website manage-booking page); the API rejects a mismatch. The tool refuses without customer_confirmed: true.
Annotations the server declares
- title: Cancel Booking
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
Can't be undone 3Claude Code: ask
book_london_airport_transferCreate a reservation for a London airport or cruise-port transfer to or from any UK address.1 finding
Why it is in this group
- The name "book_london_airport_transfer" says "transfer": a word for a change that another call does not undo.
Findings
- Info
The description is 2,313 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...ng later), and callers without an account may create at most 5 bookings per hour."
Description, as the server wrote it Create a reservation for a London airport or cruise-port transfer to or from any UK address. This creates a REAL booking in the APL dispatch system. Required inputs: pickup and drop-off (airport name with terminal, full UK postcode with building number or name, or full street address; a bare city, town or area name such as "Windsor", "Manchester" or "central London" is not a valid location because the driver needs the exact door), transfer date and time, the exact passenger and suitcase counts (operational data for seat allocation, child seats and dispatch, whatever the car size), the car type chosen from the quote, passenger full name, phone with country code, email (with the booking reference it is the customer's key to manage the booking later) and the WhatsApp opt-in answer. Transport detail by route: airport pickup = flight number plus airport_wait_minutes (the tool refuses an airport pickup without the wait time); airport drop-off = flight number optional; cruise port = cruise or ship name; train station = train number or origin; other routes need none. Special requests (child seats with the child's age: baby seat 0-12 months, child seat 1-4 years, booster 4-12 years, limits Saloon 1 / People Carrier 2 / 8 Seater 3; extra luggage; wheelchair; pet; an extra stop) go in special_requests. An extra stop is not in the quoted price: the booking covers one pickup to one drop-off and the office confirms the cost of a stop before the trip. Payment: the booking is created as cash to the driver; online payment (all major cards including Amex, Apple Pay, Google Pay, PayPal, Revolut, WeChat Pay, AliPay) is available through the manage-booking link. Prices are the final prices returned by the quote; no discounts exist. Returns: reservation_id (the numeric customer-facing reference that appears on the confirmation email and that the manage-booking page accepts), manage_booking_url (tracking, booking details, online payment), the price, and meeting_point with the terminal or location name. booking_reference (APL-xxxxxx) is an internal tag, not the customer's reference. BOOKINGS WITHOUT AN ACCOUNT: passenger_email is REQUIRED (the booking reference + this email is how the customer manages the booking later), and callers without an account may create at most 5 bookings per hour.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
eu_transfer_quoteFixed prices for a European / cross-Channel transfer from London or the UK to a continental city (e.g.1 finding
Why it is in this group
- The name "eu_transfer_quote" says "transfer": a word for a change that another call does not undo.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "eu_transfer_quote" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "eu_transfer_quote" says "transfer": a word for a change that another call does not undo.
Description, as the server wrote it Fixed prices for a European / cross-Channel transfer from London or the UK to a continental city (e.g. Ghent, Bruges, Paris, Brussels, Amsterdam, Cologne, Milan, Barcelona), i.e. for destinations outside the UK. Returns per-car-type prices, fixed per vehicle and final, including the Eurotunnel crossing. If the city is not configured, the result has found:false and lists the available EU destinations; the office confirms a price for other cities on request.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
london_airport_transfer_quoteFixed prices for a transfer between a UK airport or cruise port and any UK address or postcode: all London airports (Heathrow, Gatwick, Stansted, Luton, City Airport), Edinburgh Ai…1 finding
Why it is in this group
- The name "london_airport_transfer_quote" says "transfer": a word for a change that another call does not undo.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "london_airport_transfer_quote" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "london_airport_transfer_quote" says "transfer": a word for a change that another call does not undo.
Description, as the server wrote it Fixed prices for a transfer between a UK airport or cruise port and any UK address or postcode: all London airports (Heathrow, Gatwick, Stansted, Luton, City Airport), Edinburgh Airport, the cruise ports Southampton, Dover and Portsmouth, and any UK postcode nationwide. Returns every car type with its final price (GBP, per vehicle), passenger and suitcase capacity and a photo (photo_url = full-size HTTPS image; car_photos at the end of the result = small inline images by car type, for clients that cannot load external images). When passenger and suitcase counts are supplied, the result also marks which cars fit and which one is recommended (capacity_assessed). Every price includes Meet & Greet in the arrivals hall (driver with a name board; at Heathrow Terminal 4 the driver meets the customer outside at Zone 1 during the car-park works), flight monitoring, waiting time, airport parking and tolls. Prices are final: APL offers no discounts and nothing is added beyond what is returned. The price depends on the travel date (seasonal and peak-date pricing) and, for same-day pickups, on the time (rush-hour rules; 20% last-minute surcharge under 3 hours). Accepted locations: airport and cruise-port names, full UK postcodes, street addresses, London neighbourhoods, landmarks, stations and uniquely identifiable hotels (Mayfair, Canary Wharf, Kings Cross, The Shard, Hilton Paddington). A bare city or town name ("Windsor", "Manchester", "central London") is not a valid location, because UK place names cover wide areas and the price and pickup point depend on the exact place. One pickup to one drop-off; extra stops are not priced.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
Changes things 2Claude Code: ask
amend_bookingModify an existing booking: passenger name or phone, date or time, flight number, passenger count or special requests.No findings
Why it is in this group
- The description's first verb is "modify": a word for a change.
Description, as the server wrote it Modify an existing booking: passenger name or phone, date or time, flight number, passenger count or special requests. Identity is the booking reference plus the email address used on the booking (the same login as the website manage-booking page); the API rejects a mismatch. The email on a booking cannot be changed by this tool: it is the customer's key to the booking. A change request goes to info@aplcars.com from the original address, quoting the booking reference.
Annotations the server declares
- title: Amend Booking
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
track_driverLive status of the driver on an existing booking: assignment state (no driver yet / assigned without GPS / live position), the driver's position, vehicle details, photo and ETA, an…No 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.
Description, as the server wrote it Live status of the driver on an existing booking: assignment state (no driver yet / assigned without GPS / live position), the driver's position, vehicle details, photo and ETA, and the journey (pickup, drop-off, pickup time). On hosts with UI the result renders as a tracking card that keeps updating on its own. GPS updates every 2 minutes with tunnel interpolation. Identity is the booking reference plus the email address used on the booking (the same login as the website manage-booking page); the API rejects a mismatch.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
Only reads 5Claude Code: allow
find_nearest_driversLive availability of APL cars near a location, from fleet GPS.No findings
Why it is in this group
- The name "find_nearest_drivers" says "find": a word for reading.
Description, as the server wrote it Live availability of APL cars near a location, from fleet GPS. The target is an airport or cruise-port code (LHR, LGW, STN, LTN, LCY, EDI, SOU, BHX, MAN), a UK postcode, or lat+lng. Returns the free cars (online, not on a job) grouped by car class with a drive ETA rounded to 5 minutes; on hosts with UI the result renders as the 'Cars near you' card. With `destination` the result also carries the final fixed fare of every car class for that trip (same pricing engine as the quote; pickup = now plus the nearest car's ETA unless transfer_date / transfer_time are given, so a pickup under 3 hours away already includes the 20% last-minute surcharge) and the card shows a Book button per car. min_pax limits the result to vehicles of at least that size. Customer and partner callers receive an availability view only: car class (Saloon / People Carrier / 8 Seater, executive flag), seats and ETA for up to 5 cars, never a driver name, vehicle, plate, position, distance or fleet size (driver details are shared after a booking is confirmed). Staff callers see full detail and can include busy drivers.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
get_driver_routeThe driver's recorded GPS route (breadcrumb trail) for a booking's trip: the path actually driven, with a distance and duration summary, for route playback or attendance checks.No findings
Why it is in this group
- The name "get_driver_route" says "get": a word for reading.
Description, as the server wrote it The driver's recorded GPS route (breadcrumb trail) for a booking's trip: the path actually driven, with a distance and duration summary, for route playback or attendance checks. The trail is recorded only while the driver is on the job and kept for 30 days. Identity is the booking reference plus the passenger email; staff callers may use the numeric reservation ID alone.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
get_service_infoInformation about Airport Pickups London services and policies: vehicles, pricing rules, cancellation, payment, child seats, pets, accessibility, meet and greet, airport waiting, c…No findings
Why it is in this group
- The name "get_service_info" says "get": a word for reading.
Description, as the server wrote it Information about Airport Pickups London services and policies: vehicles, pricing rules, cancellation, payment, child seats, pets, accessibility, meet and greet, airport waiting, cruise ports, corporate accounts and other frequently asked questions, answered from the APL knowledge base (the same source as the website).
Annotations the server declares
- title: Get Service Info
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
lookup_bookingDetails of an existing booking: status, route, pickup time, price, payment, driver information once assigned, and the manage-booking URL.No findings
Why it is in this group
- The name "lookup_booking" says "lookup": a word for reading.
Description, as the server wrote it Details of an existing booking: status, route, pickup time, price, payment, driver information once assigned, and the manage-booking URL. Identity is the booking reference plus the email address used on the booking (the same login as the website manage-booking page); the API rejects a mismatch. The booking reference is the numeric reservation ID from the confirmation email; the same number in APL-<id> form also works.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
validate_flightFlight details for a flight number and date from the airline schedule: airline name, arrival airport, terminal, scheduled arrival time and status.No findings
Why it is in this group
- The name "validate_flight" says "validate": a word for reading.
Description, as the server wrote it Flight details for a flight number and date from the airline schedule: airline name, arrival airport, terminal, scheduled arrival time and status. verified:false means the flight was not found in the schedule for that date. Works for future scheduled flights; confirms a flight and its arrival terminal for an airport pickup.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- 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.
Install
Pinned to version 1.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http london-airport-transfers https://mcp.airport-pickups-london.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__london-airport-transfers__validate_flight",
"mcp__london-airport-transfers__lookup_booking",
"mcp__london-airport-transfers__get_driver_route",
"mcp__london-airport-transfers__find_nearest_drivers",
"mcp__london-airport-transfers__get_service_info"
],
"ask": [
"mcp__london-airport-transfers__london_airport_transfer_quote",
"mcp__london-airport-transfers__eu_transfer_quote",
"mcp__london-airport-transfers__book_london_airport_transfer",
"mcp__london-airport-transfers__amend_booking",
"mcp__london-airport-transfers__track_driver"
],
"deny": [
"mcp__london-airport-transfers__cancel_booking"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as london-airport-transfers. Review it before you use it.