Skip to content

Book MCP — tools

Three tools, in the order you call them: search → availability → book. All reads are safe; only book writes, and only ever creates.

Find restaurants on Forktime by location and cuisine. Returns each match with a slug you pass to the other tools. No internal ids, no private data.

Parameter Type Required Description
query string no Free-text search across name / city / cuisine.
city string no Filter to a city.
country string no Filter to a country.
cuisine string no e.g. “Italian”, “Thai”, “vegan”.
name string no Match a specific restaurant name.
// search_venues → { city: "Toronto", cuisine: "Italian" }
{
"venues": [
{ "slug": "il-caminetto", "name": "Il Caminetto", "city": "Toronto", "cuisine": "Italian", "address": "" }
]
}

Bookable times for a venue on a given day and party size. Only real, open slots come back — a guest can’t be quoted a table that isn’t there.

Parameter Type Required Description
venue string yes The slug from search_venues.
date string yes The day, YYYY-MM-DD.
partySize number yes Number of guests.
time string no A preferred time to sort around (e.g. 19:00).
// get_availability → { venue: "il-caminetto", date: "2026-08-15", partySize: 4 }
{
"venue": { "slug": "il-caminetto", "name": "Il Caminetto" },
"date": "2026-08-15",
"slots": [ { "time": "6:30 PM" }, { "time": "6:45 PM" }, { "time": "7:00 PM" } ]
}

Create the reservation. Requires the guest’s real phone — the confirmation and the manage/cancel link are texted there.

Parameter Type Required Description
venue string yes The venue slug.
date string yes YYYY-MM-DD.
time string yes A time returned by get_availability.
partySize number yes Number of guests.
name string yes The guest’s name.
phone string yes The guest’s phone — where the manage link is sent.
email string no For the confirmation email, if the guest has one.
notes string no Special requests (high chair, allergies, occasion).
// book → { venue: "il-caminetto", date: "2026-08-15", time: "7:00 PM",
// partySize: 4, name: "Alex", phone: "+14165551234" }
{
"confirmed": true,
"reservationCode": "ZNB6GPTX",
"message": "Booked. A text with a link to manage or cancel is on its way to the guest."
}