Skoči na vsebino
Docs · strežnik MCP

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 seznam

Kaj 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.

ObsegKaj podeli
org:read

Branje organizacije

Ogled podatkov organizacije
menu:read

Branje menija

Ogled menijev, sklopov, jedi in ponudb dneva
menu:write

Urejanje menija

Ustvarjanje in urejanje menijev ter jedi in njihova objava
booking:read

Branje rezervacij

Ogled rezervacij, razpoložljivosti, virov in vrst storitev – brez prihodkov in marže
booking:write

Urejanje rezervacij

Ustvarjanje, potrjevanje, prestavljanje in preklic rezervacij
event:read

Branje dogodkov

Ogled dogodkov in prijav nanje
event:write

Urejanje dogodkov

Ustvarjanje, urejanje in objava dogodkov
contact:read

Branje stikov

Ogled stikov gostov in skupin
contact:write

Urejanje stikov

Ustvarjanje in urejanje stikov gostov ter njihovega članstva v skupinah
loyalty:read

Branje zvestobe

Ogled obiskov, točk in nagrad
staff:read

Branje ekipe

Ogled članov ekipe, razporeda in pokritosti – brez plač in stroškov dela
analytics:read

Branje 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 orodij

Ustvarjeno 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:read
  • list_propertiesSamo branjeGET /api/organizations/:organizationId/properties

    List the venues (properties) in an organization. Start here to get the propertyId that menu, booking, event and staff tools ask for.

Branje menija

menu:read
  • list_menusSamo branjeGET /api/menus

    List an organization's menus with their status (draft, published, archived). Supports a search term.

  • get_menuSamo branjeGET /api/menus/:menuId

    Read one menu in full: its categories, the items filed under each, prices, allergens and dietary tags.

  • list_menu_itemsSamo branjeGET /api/menu-items

    Search 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/specials

    List a menu's daily specials with the dates each one runs.

Spreminjanje menija

menu:write
  • create_menu_specialSpreminja podatkePOST /api/menus/:menuId/specials

    Add a daily special to a menu for a given date or date range.

  • set_menu_item_availabilitySpreminja podatkePATCH /api/menus/:menuId/categories/:assignmentId/items/:itemAssignmentId

    Change 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/publish

    Publish 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:read
  • get_booking_availabilitySamo branjeGET /api/public/bookings/availability/slots

    Free 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-resources

    List the bookable resources at a venue — tables, rooms, chairs, courts — with their capacities.

  • list_booking_service_typesSamo branjeGET /api/booking-service-types

    List the service types a venue takes bookings for (dinner service, treatment, rental) with their durations.

  • list_bookingsSamo branjeGET /api/bookings

    List 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/:bookingId

    Read one booking: guest, party size, time, assigned resources, status and notes.

Sprejemanje in spreminjanje rezervacij

booking:write
  • create_bookingSpreminja podatkePOST /api/bookings

    Take 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/confirm

    Confirm 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/reschedule

    Move 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/cancel

    Cancel 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:read
  • list_eventsSamo branjeGET /api/events

    List events, filterable by venue, status, category, search term, or upcoming-only.

  • get_eventSamo branjeGET /api/events/:eventId

    Read one event: schedule, venue, capacity, ticketing and whether it is published.

  • list_event_registrationsSamo branjeGET /api/events/:eventId/registrations

    List 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:write
  • create_eventSpreminja podatkePOST /api/events

    Create an event at a venue. It starts as a draft and is not public until publish_event runs.

  • publish_eventSpreminja podatkePOST /api/events/:eventId/publish

    Publish a draft event so it appears on the venue's public page and starts taking registrations.

Branje knjige gostov

contact:read
  • list_contactsSamo branjeGET /api/contacts

    Search 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/:contactId

    Read one guest: contact details, consent state, and the email and phone endpoints they can be reached on.

  • list_contact_groupsSamo branjeGET /api/contact-groups

    List 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:write
  • create_contactSpreminja podatkePOST /api/contacts

    Add 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/members

    Put a guest into a contact group. Groups are how this product tags people — there is no separate tag.

Branje obiskov in zvestobe

loyalty:read
  • list_visitsSamo branjeGET /api/loyalty/visits

    Visit history: recorded guest check-ins, filterable by guest, venue, status and date range. This answers "when was she last in".

Branje razporeda

staff:read
  • list_staff_membersSamo branjeGET /api/staff-members

    List the people on a venue's team, with their roles and employment state.

  • list_staff_shiftsSamo branjeGET /api/staff-shifts

    The 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/day

    Coverage 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:read
  • get_booking_analyticsSamo branjeGET /api/booking-analytics/summary

    Booking 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/covers

    Booked covers by day and service type over a date range.

  • get_labour_cost_reportSamo branjeGET /api/staff-reporting/labour-cost

    Rostered labour cost against booked covers for one venue over a date range, including cost per cover.