TRANSPORT BINDINGv0.1-draft

MCP binding

Three tools, the same schemas, and the rules a well-behaved booking agent follows.

Spec → MCP binding

How do tool-using assistants call UKLSP? Through three MCP tools that map 1:1 onto the REST endpoints: uklsp_discover, uklsp_get_slots and uklsp_create_booking. Tool input schemas are the published JSON Schemas, unchanged — one source of truth across both bindings.

Tools

ToolInputReturns
uklsp_discoverservice_code, postcode_districtRanked providers with pricing, credentials, certification level and demo flag.
uklsp_get_slotsprovider_id, service_codeOpen AvailabilitySlots.
uklsp_create_bookingA full booking_requestA booking_confirmation or a canonical error.

Rules for agent implementers

Agents MUST surface demo:true and MUST NOT call uklsp_create_booking against demo listings. Agents MUST confirm price, slot window and cancellation policy with their human principal before booking, and MUST pass on_behalf_of_human=true only when that is genuinely the case. On SLOT_TAKEN, re-fetch slots and re-confirm with the principal rather than silently rebooking a different window. Agents SHOULD prefer providers whose statutory credentials are verified_by_operator=true and MAY present the public register link alongside.

Server discovery

An MCP server advertising UKLSP tools SHOULD also serve /.well-known/uklsp.json over HTTP so non-MCP agents find the same inventory. The reference server exposes both from one Worker.