Naj agent pogleda v knjigo rezervacij
Model Context Protocol je način, kako asistent prosi drug sistem za podatke. Ta stran opisuje strežnik, s katerim ga govorimo: kaj ga je mogoče vprašati, kaj sme ključ doseči, in kaj se zgodi, ko nekdo zahteva več.
Ključa še ni mogoče ustvariti
Ključi API so v produkciji izklopljeni. Spodnja končna točka teče in odgovori na rokovanje, torej se bo odjemalec povezal in našteje orodja, nato pa vsak klic vrne 401, ker ni ključa, s katerim bi se overil. Nič na tej strani danes ni uporabno za lepljenje. Pustite nam ime in sporočimo vam, ko se to spremeni.
Na čakalni seznamKaj je to
Tanek posrednik pred istim vmesnikom REST, ki ga uporablja nadzorna plošča.
Nima povezave do baze in sam ne odloča o ničemer. Ločevanje najemnikov, omejitve paketa, validacijo in omejevanje zahtevkov uveljavlja API, ker je to edino mesto, kjer se to lahko uveljavi enkrat. Vsako spodnje orodje kaže na pot, ki že obstaja, in na dovoljenje, ki se že preverja.
MCP je odprt protokol, zato deluje vsak odjemalec, ki ga govori. Nimamo priljubljenca.
Kaj je ključ
Eno poverilo, ena organizacija, in naprej toliko dosega, kolikor mu ga pustite.
Pripet na eno organizacijo
Organizacija se izbere ob izdaji ključa in se pozneje ne da spremeniti. Klic, ki navede drugo, dobi 403, ki ga nobeno dovoljenje ne razširi. Agent, ki dela za dve podjetji, potrebuje dva ključa.
Zožljiv na posamezne lokale
Organizacija ima lahko šest restavracij in ključu ni treba doseči vseh. Označite lokale, kjer sme delati, vse drugo pa je zavrnjeno, tudi klic seznama, ki lokala sploh ne navede.
Zožljiv na posamezna dejanja
Branje jedilnika v obeh lokalih, sprejemanje rezervacij samo v centru. Dejanja se podelijo po lokalu, zato je zožitev mreža in ne eno stikalo.
Zapisano in povrnljivo
Kar ključ spremeni, se zapiše pred spremembo, skupaj z argumenti, zadetim zapisom in njegovim stanjem prej. Če tega zapisa ni mogoče shraniti, se klic ne izvede. Večino sprememb lahko človek povrne v nastavitvah.
Obsegi
Obseg je groba pravica, ki jo nosi ključ. Pisalni obseg vključuje svojega bralnega, zato izberite najožjega, ki opravi delo. Poslovne številke stojijo za svojim obsegom in jih ne vključuje noben drug.
| Obseg | Kaj podeli |
|---|---|
org:readBranje organizacije | Ogled podatkov organizacije |
menu:readBranje menija | Ogled menijev, sklopov, jedi in ponudb dneva |
menu:writeUrejanje menija | Ustvarjanje in urejanje menijev ter jedi in njihova objava |
booking:readBranje rezervacij | Ogled rezervacij, razpoložljivosti, virov in vrst storitev – brez prihodkov in marže |
booking:writeUrejanje rezervacij | Ustvarjanje, potrjevanje, prestavljanje in preklic rezervacij |
event:readBranje dogodkov | Ogled dogodkov in prijav nanje |
event:writeUrejanje dogodkov | Ustvarjanje, urejanje in objava dogodkov |
contact:readBranje stikov | Ogled stikov gostov in skupin |
contact:writeUrejanje stikov | Ustvarjanje in urejanje stikov gostov ter njihovega članstva v skupinah |
loyalty:readBranje zvestobe | Ogled obiskov, točk in nagrad |
staff:readBranje ekipe | Ogled članov ekipe, razporeda in pokritosti – brez plač in stroškov dela |
analytics:readBranje analitike | Ogled prihodkov, marže, pogrinjkov, deleža neprihodov in stroškov dela |
Skrbniškega obsega ni na izbiro. Pokril bi vsako orodje, tudi tista, ki pridejo po izdaji ključa, in temu nihče ne more privoliti z eno kljukico.
Povezava, ko bodo ključi vklopljeni
Dve vrstici v nastavitvah vašega odjemalca. Končna točka je gostovan prenos streamable HTTP, torej ni ničesar za namestiti in ničesar za vzdrževati v teku.
Če to prekopirate danes, se bo odjemalec povezal, naštel orodja in pri prvem klicu dobil 401. To je pričakovano in ne napačna nastavitev.
{
"mcpServers": {
"guestavo": {
"type": "http",
"url": "https://mcp.guestavo.com/mcp",
"headers": { "Authorization": "Bearer gvsk_your_key_here" }
}
}
}Kako izgleda zavrnitev
Manjkajoče dovoljenje se vrne kot 403, ki pove, katero je hotel, tako da lahko oseba, ki je ključ izdala, to popravi v nastavitvah brez branja te strani. Ključ, uperjen v napačno organizacijo ali napačen lokal, dobi 403, ki ga nobeno dovoljenje ne popravi.
Orodja
34 orodijUstvarjeno iz istega registra, ki ga bere strežnik, zato ta seznam ne more odstopati od tega, kar vidi odjemalec. Združeno tako, kot združuje zaslon z dovoljenji, torej tako, kot se odloča lastnik.
Nobeno od teh orodij ne piše gostu. Orodja za rezervacije, ki bi sicer poslala potrditev ali odpoved, tečejo z zadržanim pošiljanjem, kadar kliče ključ, saj je pošta pravemu človeku edina stvar, ki je noben gumb za razveljavitev ne prikliče nazaj.
Poišči naše lokale
org:readlist_propertiesSamo branjeGET /api/organizations/:organizationId/propertiesList the venues (properties) in an organization. Start here to get the propertyId that menu, booking, event and staff tools ask for.
Branje menija
menu:readlist_menusSamo branjeGET /api/menusList an organization's menus with their status (draft, published, archived). Supports a search term.
get_menuSamo branjeGET /api/menus/:menuIdRead one menu in full: its categories, the items filed under each, prices, allergens and dietary tags.
list_menu_itemsSamo branjeGET /api/menu-itemsSearch the dish catalogue by name across the whole organization. Items live independently of the menus they appear on, so use this to find a dish when the menu is unknown.
list_menu_specialsSamo branjeGET /api/menus/:menuId/specialsList a menu's daily specials with the dates each one runs.
Spreminjanje menija
menu:writecreate_menu_specialSpreminja podatkePOST /api/menus/:menuId/specialsAdd a daily special to a menu for a given date or date range.
set_menu_item_availabilitySpreminja podatkePATCH /api/menus/:menuId/categories/:assignmentId/items/:itemAssignmentIdChange the availability note or price override of one item as it appears on one menu. This is how a dish comes off tonight, or goes lunch-only, without being deleted.
publish_menuSpreminja podatkePOST /api/menus/:menuId/publishPublish a menu so the venue's public page and QR code serve it. Draft edits are invisible to guests until this runs.
Branje rezervacij
booking:readget_booking_availabilitySamo branjeGET /api/public/bookings/availability/slotsFree booking slots at a venue on one date, optionally narrowed by party size, service type or resource. Call before create_booking. Name the venue by propertyId or by propertySlug.
list_booking_resourcesSamo branjeGET /api/booking-resourcesList the bookable resources at a venue — tables, rooms, chairs, courts — with their capacities.
list_booking_service_typesSamo branjeGET /api/booking-service-typesList the service types a venue takes bookings for (dinner service, treatment, rental) with their durations.
list_bookingsSamo branjeGET /api/bookingsList bookings for an organization, filterable by venue, date range, status and guest name. This answers "who is coming in tonight".
get_bookingSamo branjeGET /api/bookings/:bookingIdRead one booking: guest, party size, time, assigned resources, status and notes.
Sprejemanje in spreminjanje rezervacij
booking:writecreate_bookingSpreminja podatkePOST /api/bookingsTake a booking for a guest at a venue on a date and time. Check get_booking_availability first; an identical repeat is answered from the first call, not booked twice. The guest is not emailed; the venue confirms.
confirm_bookingSpreminja podatkePOST /api/bookings/:bookingId/confirmConfirm a pending booking. The guest is not emailed by this call; the venue tells them. Do not report to the caller that the guest has been notified.
reschedule_bookingSpreminja podatkePOST /api/bookings/:bookingId/rescheduleMove an existing booking to a different date or time, keeping the guest and party size. The guest is not emailed about the change; the venue tells them.
cancel_bookingSpreminja podatkePOST /api/bookings/:bookingId/cancelCancel a booking, with an optional reason recorded against it. The reason does not reach the guest and no cancellation email is sent; the venue tells them.
Branje dogodkov
event:readlist_eventsSamo branjeGET /api/eventsList events, filterable by venue, status, category, search term, or upcoming-only.
get_eventSamo branjeGET /api/events/:eventIdRead one event: schedule, venue, capacity, ticketing and whether it is published.
list_event_registrationsSamo branjeGET /api/events/:eventId/registrationsList who has registered for an event, with party sizes and check-in state. This answers "how many are coming to the quiz".
Ustvarjanje in objava dogodkov
event:writecreate_eventSpreminja podatkePOST /api/eventsCreate an event at a venue. It starts as a draft and is not public until publish_event runs.
publish_eventSpreminja podatkePOST /api/events/:eventId/publishPublish a draft event so it appears on the venue's public page and starts taking registrations.
Branje knjige gostov
contact:readlist_contactsSamo branjeGET /api/contactsSearch guests by name, email or phone, optionally within one contact group. Use it to resolve a name to a contactId.
get_contactSamo branjeGET /api/contacts/:contactIdRead one guest: contact details, consent state, and the email and phone endpoints they can be reached on.
list_contact_groupsSamo branjeGET /api/contact-groupsList contact groups (segments), static and rule-based, with member counts. Use it to find the groupId for add_contact_to_group.
Dodajanje in razvrščanje gostov
contact:writecreate_contactSpreminja podatkePOST /api/contactsAdd a guest to the contact book. Creating a contact is not a marketing opt-in — consent is recorded separately.
add_contact_to_groupSpreminja podatkePOST /api/contact-groups/:groupId/membersPut a guest into a contact group. Groups are how this product tags people — there is no separate tag.
Branje obiskov in zvestobe
loyalty:readlist_visitsSamo branjeGET /api/loyalty/visitsVisit history: recorded guest check-ins, filterable by guest, venue, status and date range. This answers "when was she last in".
Branje razporeda
staff:readlist_staff_membersSamo branjeGET /api/staff-membersList the people on a venue's team, with their roles and employment state.
list_staff_shiftsSamo branjeGET /api/staff-shiftsThe rota over a date range: who is on, when, in what role, and which shifts are still open. Requires from and to dates.
get_staff_coverage_daySamo branjeGET /api/staff-coverage/dayCoverage for one venue on one date: rostered hours against expected demand, hour by hour, so a gap is visible. This answers "are we short on Saturday".
Branje poročil, vključno z denarjem
analytics:readget_booking_analyticsSamo branjeGET /api/booking-analytics/summaryBooking trend, capacity use, no-show rate, revenue and margin over a date range. The general "how did we do" number.
get_covers_reportSamo branjeGET /api/booking-reporting/coversBooked covers by day and service type over a date range.
get_labour_cost_reportSamo branjeGET /api/staff-reporting/labour-costRostered labour cost against booked covers for one venue over a date range, including cost per cover.