Server definition
- Hash
- sha256:89976eeb692b3451235cbc1b4b6350de7cd94c8c4da75a71e1e2cfe7e1a340d4
- What it is
- What a remote MCP server returned when asked what it offers: 7 tools
The blob, as servednamed by its sha256
{
"instructions": "RIED.TAXI: pre-booked private airport and long-distance transfers in one Tesla\nModel X (max 5 passengers) driven by the owner, Ronald. Based near Ried im\nInnkreis, Upper Austria. Main routes: Innviertel, Salzburg, Linz, Wels <-> Munich\nAirport, Salzburg Airport, Linz, Vienna. Not a local town taxi. Timezone\nEurope/Vienna for every date and time.\n\nRequired flow for a booking - never skip or reorder:\n1. Collect pickup address, destination, date, pickup time and passengers.\n2. ried_taxi_get_quote. Only ever state the price it returns. Never use a\n remembered or calculated price. If status is manual_quote_required or\n not_offered, say so and give the WhatsApp contact; do not book.\n3. ried_taxi_check_availability. If unavailable, offer the alternatives.\n4. ried_taxi_hold_booking to hold the day (15 min) while you collect the rest:\n first and last name, mobile phone (international format), email\n (recommended), large suitcases, pickup instructions. Flight number and\n landing time ONLY when the pickup is at an airport (see\n flight_number_required in the quote). For trips without an airport never\n ask for a flight number.\n5. Show the customer the complete booking (route as resolved by the quote,\n date, pickup time, passengers, luggage, flight, name, phone, price) and ask:\n \"Shall I book this?\" Also tell them their details go to RIED.TAXI to carry\n out the ride (privacy: https://ried.taxi/en/privacy/, terms:\n https://ried.taxi/en/terms/), that cancellation is free of charge, and ask\n whether RIED.TAXI may contact\n them on WhatsApp.\n6. Only after an explicit yes: ried_taxi_create_booking with\n customer_confirmed=true, accepted_terms=true and a fresh idempotency_key.\n Reuse the SAME idempotency_key if you retry that same booking.\n7. Give the customer the booking reference AND the access code. Both are\n needed to view, change or cancel later.\n\nA price question alone must never lead to a booking. Maximum 5 passengers.\nNo roof box or trailer. Stops and child seats: manual quote via WhatsApp\n+43 7754 8009. Changes and cancellations: always preview/confirm with the\ncustomer first.\n",
"tools": [
{
"description": "Cancels a booking, free of charge, any time before the pickup. Requires reference, access code, customer_confirmed=true after the customer explicitly confirmed, and an idempotency_key. Cannot be undone.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"access_code": {
"description": "8-character access code given at booking time.",
"maxLength": 8,
"minLength": 8,
"type": "string"
},
"booking_reference": {
"description": "Public booking reference, e.g. RT-K7QM.",
"pattern": "^RT-[A-Z0-9]{4,10}$",
"type": "string"
},
"customer_confirmed": {
"const": true,
"type": "boolean"
},
"idempotency_key": {
"description": "Unique key for this one intended action. Reuse it only when retrying the same action.",
"maxLength": 80,
"minLength": 8,
"pattern": "^[A-Za-z0-9._:-]+$",
"type": "string"
},
"reason": {
"maxLength": 200,
"type": "string"
}
},
"required": [
"booking_reference",
"access_code",
"idempotency_key",
"customer_confirmed"
],
"type": "object"
},
"name": "ried_taxi_cancel_booking",
"outputSchema": {
"additionalProperties": true,
"properties": {
"booking_id": {
"type": "string"
},
"booking_reference": {
"type": "string"
},
"cancellation_fee_eur": {
"type": "number"
},
"cancelled_at": {
"type": "string"
},
"confirmation_url": {
"type": [
"string",
"null"
]
},
"currency": {
"type": "string"
},
"destination": {
"type": "string"
},
"error": {
"type": "string"
},
"flight_number": {
"type": [
"string",
"null"
]
},
"free_cancellation_until": {
"type": "string"
},
"message": {
"type": "string"
},
"ok": {
"type": "boolean"
},
"passengers": {
"type": [
"integer",
"null"
]
},
"pickup_address": {
"type": "string"
},
"pickup_at": {
"type": "string"
},
"pickup_date": {
"type": "string"
},
"pickup_time": {
"type": "string"
},
"price_eur": {
"type": [
"number",
"null"
]
},
"status": {
"type": "string"
},
"timezone": {
"type": "string"
}
},
"required": [
"ok"
],
"type": "object"
}
},
{
"description": "Checks RIED.TAXI's real calendar (bookings, the owner's own calendar and other customers' temporary holds). One car, one driver: availability depends on the whole day including driving to the pickup and back, not only the minute. Read-only; a free result is NOT a reservation. Returns alternatives when unavailable.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"destination_address": {
"maxLength": 200,
"type": "string"
},
"passengers": {
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"pickup_address": {
"maxLength": 200,
"type": "string"
},
"pickup_date": {
"description": "YYYY-MM-DD (Europe/Vienna).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"pickup_time": {
"description": "HH:MM, 24h, Europe/Vienna.",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$",
"type": "string"
}
},
"required": [
"pickup_date",
"pickup_time"
],
"type": "object"
},
"name": "ried_taxi_check_availability",
"outputSchema": {
"additionalProperties": true,
"properties": {
"alternative_dates": {
"items": {
"type": "string"
},
"type": "array"
},
"alternative_times": {
"items": {
"type": "object"
},
"type": "array"
},
"availability_ref": {
"type": "string"
},
"available": {
"type": "boolean"
},
"error": {
"type": "string"
},
"message": {
"type": "string"
},
"ok": {
"type": "boolean"
},
"pickup_at": {
"type": "string"
},
"reason": {
"enum": [
"free",
"fits_around_existing_ride",
"unavailable",
"too_short_notice",
"in_the_past"
],
"type": "string"
},
"timezone": {
"type": "string"
}
},
"required": [
"ok"
],
"type": "object"
}
},
{
"description": "Creates a REAL, CONFIRMED booking in RIED.TAXI's booking system and blocks the day. Only call after the customer has seen the complete trip and price and explicitly said yes. Requires the quote_id, customer_confirmed=true, accepted_terms=true and an idempotency_key (retrying with the same key never creates a second booking). Returns the booking reference and an access code for the customer.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"accepted_terms": {
"const": true,
"description": "Customer accepted that RIED.TAXI processes their details to carry out the ride (https://ried.taxi/en/privacy/) and the booking terms (https://ried.taxi/en/terms/; cancellation is free of charge).",
"type": "boolean"
},
"child_seats": {
"description": "Not bookable online; must be empty.",
"maxLength": 0,
"type": "string"
},
"customer_confirmed": {
"const": true,
"description": "Customer saw the full booking summary and explicitly said to book it.",
"type": "boolean"
},
"destination_address": {
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"email": {
"maxLength": 160,
"type": "string"
},
"first_name": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"flight_arrival_time": {
"description": "Scheduled landing time (local) - required for airport pickups.",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$",
"type": "string"
},
"flight_departure_time": {
"description": "Scheduled departure time for rides TO the airport (optional).",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$",
"type": "string"
},
"flight_number": {
"description": "Required when picking up at an airport.",
"maxLength": 12,
"type": "string"
},
"hand_luggage": {
"maximum": 10,
"minimum": 0,
"type": "integer"
},
"hold_id": {
"maxLength": 40,
"type": "string"
},
"idempotency_key": {
"description": "Unique key for this one intended action. Reuse it only when retrying the same action.",
"maxLength": 80,
"minLength": 8,
"pattern": "^[A-Za-z0-9._:-]+$",
"type": "string"
},
"language": {
"enum": [
"en",
"de"
],
"type": "string"
},
"large_suitcases": {
"maximum": 10,
"minimum": 0,
"type": "integer"
},
"last_name": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"notes": {
"maxLength": 600,
"type": "string"
},
"passengers": {
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"phone": {
"description": "Mobile number in international format, e.g. +43 660 1234567.",
"pattern": "^\\+[1-9][0-9 ()/-]{6,22}$",
"type": "string"
},
"pickup_address": {
"description": "Exact pickup address (street + number + town, hotel, or airport + terminal).",
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"pickup_date": {
"description": "YYYY-MM-DD (Europe/Vienna).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"pickup_instructions": {
"maxLength": 300,
"type": "string"
},
"pickup_time": {
"description": "Requested DRIVER PICKUP time, HH:MM Europe/Vienna. For an airport arrival this is normally the scheduled landing time; the driver monitors the flight.",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$",
"type": "string"
},
"quote_id": {
"maxLength": 40,
"type": "string"
},
"stops": {
"description": "Not bookable online; must be empty.",
"items": {
"type": "string"
},
"maxItems": 0,
"type": "array"
},
"whatsapp_opt_in": {
"description": "True only if the customer agreed to WhatsApp messages about this ride.",
"type": "boolean"
}
},
"required": [
"idempotency_key",
"quote_id",
"first_name",
"last_name",
"phone",
"language",
"pickup_date",
"pickup_time",
"pickup_address",
"destination_address",
"passengers",
"large_suitcases",
"whatsapp_opt_in",
"accepted_terms",
"customer_confirmed"
],
"type": "object"
},
"name": "ried_taxi_create_booking",
"outputSchema": {
"additionalProperties": true,
"properties": {
"access_code": {
"type": "string"
},
"booking_id": {
"type": "string"
},
"booking_reference": {
"type": "string"
},
"confirmation_url": {
"type": [
"string",
"null"
]
},
"currency": {
"type": "string"
},
"destination": {
"type": "string"
},
"error": {
"type": "string"
},
"flight_number": {
"type": [
"string",
"null"
]
},
"free_cancellation_until": {
"type": "string"
},
"message": {
"type": "string"
},
"ok": {
"type": "boolean"
},
"passengers": {
"type": [
"integer",
"null"
]
},
"pickup_address": {
"type": "string"
},
"pickup_at": {
"type": "string"
},
"pickup_date": {
"type": "string"
},
"pickup_time": {
"type": "string"
},
"price_eur": {
"type": [
"number",
"null"
]
},
"replayed": {
"type": "boolean"
},
"status": {
"type": "string"
},
"timezone": {
"type": "string"
}
},
"required": [
"ok"
],
"type": "object"
}
},
{
"description": "Returns status, pickup time, addresses, price and flight of ONE booking. Requires the booking reference and the access code the customer received when booking. Read-only.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"access_code": {
"description": "8-character access code given at booking time.",
"maxLength": 8,
"minLength": 8,
"type": "string"
},
"booking_reference": {
"description": "Public booking reference, e.g. RT-K7QM.",
"pattern": "^RT-[A-Z0-9]{4,10}$",
"type": "string"
}
},
"required": [
"booking_reference",
"access_code"
],
"type": "object"
},
"name": "ried_taxi_get_booking",
"outputSchema": {
"additionalProperties": true,
"properties": {
"booking_id": {
"type": "string"
},
"booking_reference": {
"type": "string"
},
"confirmation_url": {
"type": [
"string",
"null"
]
},
"currency": {
"type": "string"
},
"destination": {
"type": "string"
},
"error": {
"type": "string"
},
"flight_number": {
"type": [
"string",
"null"
]
},
"free_cancellation_until": {
"type": "string"
},
"message": {
"type": "string"
},
"ok": {
"type": "boolean"
},
"passengers": {
"type": [
"integer",
"null"
]
},
"pickup_address": {
"type": "string"
},
"pickup_at": {
"type": "string"
},
"pickup_date": {
"type": "string"
},
"pickup_time": {
"type": "string"
},
"price_eur": {
"type": [
"number",
"null"
]
},
"status": {
"type": "string"
},
"timezone": {
"type": "string"
}
},
"required": [
"ok"
],
"type": "object"
}
},
{
"description": "Returns RIED.TAXI's current price for one journey, calculated by the ried.taxi backend (the only valid price source). Read-only: it never books or reserves anything. Returns quote_id (valid 30 min), status priced | manual_quote_required | not_offered, and the resolved pickup/destination - show those names to the customer. If the result is ambiguous_place, ask the customer which place they mean and resend with the postcode.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"child_seats": {
"description": "Ages of children needing a seat. Means manual_quote_required.",
"maxLength": 100,
"type": "string"
},
"destination_address": {
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"flight_number": {
"maxLength": 12,
"type": "string"
},
"large_suitcases": {
"maximum": 10,
"minimum": 0,
"type": "integer"
},
"passengers": {
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"pickup_address": {
"description": "Street address, hotel, town with postcode, or airport name/code (MUC, SZG, LNZ, VIE).",
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"pickup_date": {
"description": "YYYY-MM-DD (Europe/Vienna).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"pickup_time": {
"description": "HH:MM, 24h, Europe/Vienna.",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$",
"type": "string"
},
"special_requirements": {
"maxLength": 300,
"type": "string"
},
"stops": {
"description": "Intermediate stops. Any stop means manual_quote_required.",
"items": {
"maxLength": 200,
"type": "string"
},
"maxItems": 3,
"type": "array"
}
},
"required": [
"pickup_address",
"destination_address",
"passengers"
],
"type": "object"
},
"name": "ried_taxi_get_quote",
"outputSchema": {
"additionalProperties": true,
"properties": {
"candidates": {
"type": "array"
},
"currency": {
"type": "string"
},
"destination_resolved": {
"properties": {
"country": {
"type": "string"
},
"is_airport": {
"type": "boolean"
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"match": {
"type": "string"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"error": {
"type": "string"
},
"included": {
"items": {
"type": "string"
},
"type": "array"
},
"message": {
"type": "string"
},
"ok": {
"type": "boolean"
},
"pickup_resolved": {
"properties": {
"country": {
"type": "string"
},
"is_airport": {
"type": "boolean"
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"match": {
"type": "string"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"price_eur": {
"type": [
"number",
"null"
]
},
"price_type": {
"enum": [
"fixed_published",
"fixed_calculated",
null
],
"type": [
"string",
"null"
]
},
"promotion": {
"type": "null"
},
"quote_id": {
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"priced",
"manual_quote_required",
"not_offered"
],
"type": "string"
},
"valid_until": {
"type": "string"
},
"waiting_rules": {
"type": "string"
}
},
"required": [
"ok"
],
"type": "object"
}
},
{
"description": "Temporarily reserves the quoted date for THIS customer for 15 minutes so nobody else (website or another assistant) can take it while the customer confirms. Expires automatically. Not a booking. Call after availability is confirmed and the customer wants to proceed.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"pickup_date": {
"description": "YYYY-MM-DD (Europe/Vienna).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"pickup_time": {
"description": "HH:MM, 24h, Europe/Vienna.",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$",
"type": "string"
},
"quote_id": {
"maxLength": 40,
"type": "string"
}
},
"required": [
"quote_id",
"pickup_date",
"pickup_time"
],
"type": "object"
},
"name": "ried_taxi_hold_booking",
"outputSchema": {
"additionalProperties": true,
"properties": {
"error": {
"type": "string"
},
"expires_at": {
"type": "string"
},
"expires_in_minutes": {
"type": "integer"
},
"hold_id": {
"type": "string"
},
"message": {
"type": "string"
},
"ok": {
"type": "boolean"
},
"pickup_date": {
"type": "string"
}
},
"required": [
"ok"
],
"type": "object"
}
},
{
"description": "Changes a booking. Always call first with mode='preview' and show the result to the customer; then call with mode='apply', customer_confirmed=true and an idempotency_key. Same-day time changes, flight number, passengers (max 5), notes and new addresses with the same price apply immediately; a new date or a different price is sent to Ronald for approval (status change_requested).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"access_code": {
"description": "8-character access code given at booking time.",
"maxLength": 8,
"minLength": 8,
"type": "string"
},
"booking_reference": {
"description": "Public booking reference, e.g. RT-K7QM.",
"pattern": "^RT-[A-Z0-9]{4,10}$",
"type": "string"
},
"changes": {
"additionalProperties": false,
"minProperties": 1,
"properties": {
"destination_address": {
"maxLength": 200,
"type": "string"
},
"flight_number": {
"maxLength": 12,
"type": "string"
},
"notes": {
"maxLength": 400,
"type": "string"
},
"passengers": {
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"pickup_address": {
"maxLength": 200,
"type": "string"
},
"pickup_date": {
"description": "YYYY-MM-DD (Europe/Vienna).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"pickup_time": {
"description": "HH:MM, 24h, Europe/Vienna.",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$",
"type": "string"
}
},
"type": "object"
},
"customer_confirmed": {
"type": "boolean"
},
"idempotency_key": {
"description": "Unique key for this one intended action. Reuse it only when retrying the same action.",
"maxLength": 80,
"minLength": 8,
"pattern": "^[A-Za-z0-9._:-]+$",
"type": "string"
},
"mode": {
"enum": [
"preview",
"apply"
],
"type": "string"
}
},
"required": [
"booking_reference",
"access_code",
"mode",
"changes"
],
"type": "object"
},
"name": "ried_taxi_update_booking",
"outputSchema": {
"additionalProperties": true,
"properties": {
"booking_id": {
"type": "string"
},
"booking_reference": {
"type": "string"
},
"changes": {
"type": "object"
},
"confirmation_url": {
"type": [
"string",
"null"
]
},
"currency": {
"type": "string"
},
"destination": {
"type": "string"
},
"error": {
"type": "string"
},
"flight_number": {
"type": [
"string",
"null"
]
},
"free_cancellation_until": {
"type": "string"
},
"handled": {
"enum": [
"automatic",
"needs_ronald"
],
"type": "string"
},
"message": {
"type": "string"
},
"ok": {
"type": "boolean"
},
"passengers": {
"type": [
"integer",
"null"
]
},
"pickup_address": {
"type": "string"
},
"pickup_at": {
"type": "string"
},
"pickup_date": {
"type": "string"
},
"pickup_time": {
"type": "string"
},
"price_eur": {
"type": [
"number",
"null"
]
},
"status": {
"type": "string"
},
"timezone": {
"type": "string"
},
"updated_fields": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"ok"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:89976eeb692b3451235cbc1b4b6350de7cd94c8c4da75a71e1e2cfe7e1a340d4 | sha256sum