g-guest
Book a table, appointment or class at a real local business. Instant confirmation, no API key.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"g-guest": {
"url": "https://g-guest.app/api/mcp"
}
}
}Puntos de conexión remotos
https://g-guest.app/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (8)
🟢search(query)
Search bookable businesses on G-Guest by name or slug. Returns ids you can pass to fetch or to the booking tools.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string"
}
},
"required": [
"query"
]
}🟢fetch(id)
Fetch full details for one business id returned by search: services, hours, timezone and how to book it.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}🟢get_business(slug)
Look up a business on G-Guest: services, opening hours, timezone and maximum party size. Call this first if you only know the slug.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Business identifier, e.g. \"demo\"."
}
},
"required": [
"slug"
]
}🟢check_availability(slug, date, party_size)
List bookable time slots for a business on a given date and party size. Offer the guest only slots where available is true.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"date": {
"type": "string",
"description": "YYYY-MM-DD, in the venue's local calendar."
},
"party_size": {
"type": "integer",
"minimum": 1
}
},
"required": [
"slug",
"date",
"party_size"
]
}🟡create_booking(slug, start, party_size, name, email, ...)
Create a real reservation. Use a start value returned by check_availability. Never invent guest details. Ask the person for their real name, email and phone first. If the result status is pending_confirmation, show the guest the confirmation_url.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"start": {
"type": "string",
"description": "The slot's `start` value, copied exactly as check_availability returned it."
},
"party_size": {
"type": "integer",
"minimum": 1
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"notes": {
"type": "string"
},
"idempotency_key": {
"type": "string",
"description": "Retry safety: pick any unique string for this booking attempt and reuse it on retries. The same key always returns the same booking, never a duplicate."
},
"language": {
"type": "string",
"description": "The guest's language as an ISO 639-1 code: en, nl, de, fr, es, it, id or bg. The confirmation, the reminders and the manage page are sent in it. Defaults to English."
},
"source": {
"type": "string",
"enum": [
"chatgpt",
"hermes",
"other_ai",
"proof_video"
],
"description": "Which assistant is booking. Defaults to other_ai. proof_video is our own channel: bookings made while filming a proof clip."
}
},
"required": [
"slug",
"start",
"party_size",
"name",
"email",
"phone"
]
}🟡check_booking(booking_id, manage_token)
Look up one existing booking so the guest can confirm when and where it is. Identify it with the booking_id and manage_token that create_booking returned; both also sit in the guest's confirmation email as the manage link, /booking/<booking_id>?token=<manage_token>. Returns the business, the local date and time with its timezone, party size, service and status: confirmed, pending_confirmation, cancelled, or for past bookings completed or no_show. Never returns the guest's name, email or phone. A wrong or missing token is refused without revealing whether the booking exists.
Esquema de entrada
{
"type": "object",
"properties": {
"booking_id": {
"type": "string",
"description": "The booking_id create_booking returned, or the id in the guest's manage link."
},
"manage_token": {
"type": "string",
"description": "The token from the same booking's manage link. If the guest only has the link, take the token from its ?token= parameter."
}
},
"required": [
"booking_id",
"manage_token"
]
}🔴cancel_booking(booking_id, manage_token)
Cancel an upcoming booking and release its slot to other guests. Identified like check_booking: booking_id plus manage_token. Confirm with the guest before calling; the cancellation is immediate and this server cannot undo it, the guest would simply book again. The venue is notified exactly as for a cancellation from the manage link. Safe to retry: cancelling a booking that is already cancelled returns the same result, not an error. A booking whose start time has passed cannot be cancelled and returns an error saying so. To move a booking to another time, cancel it and create a new one.
Esquema de entrada
{
"type": "object",
"properties": {
"booking_id": {
"type": "string",
"description": "The booking_id create_booking returned, or the id in the guest's manage link."
},
"manage_token": {
"type": "string",
"description": "The token from the same booking's manage link (its ?token= parameter)."
}
},
"required": [
"booking_id",
"manage_token"
]
}🟡request_listing(business_name, city, business_type, contact_email, contact_phone, ...)
Ask G-Guest to list a business that is not on it yet. Use it when the person you are helping runs a restaurant, cafe, bar, salon, spa, studio or clinic and wants reservations that assistants can make. Nothing is published by this call: the request reaches the G-Guest team as a lead, a person reviews it and contacts the business, and only then is anything set up. The owner's or manager's email is required, because the reply comes by email; a phone is optional extra. Do not call it for a guest who merely wants to book somewhere, and never submit a business without its owner's or manager's say-so. Returns a receipt with a reference id; no timeline is promised.
Esquema de entrada
{
"type": "object",
"properties": {
"business_name": {
"type": "string",
"description": "The business's own name, as its owner writes it."
},
"city": {
"type": "string",
"description": "City and country, e.g. \"Canggu, Indonesia\"."
},
"business_type": {
"type": "string",
"enum": [
"restaurant",
"cafe",
"bar",
"salon",
"barbershop",
"spa",
"studio",
"clinic",
"other"
],
"description": "The closest category."
},
"contact_email": {
"type": "string",
"description": "Email of the owner or manager who asked. The reply goes here."
},
"contact_phone": {
"type": "string",
"description": "Phone with country code, optional."
},
"contact_name": {
"type": "string",
"description": "Who asked, so the reply can address them by name."
},
"website": {
"type": "string",
"description": "The business website or Instagram page, if it has one."
},
"message": {
"type": "string",
"description": "Anything the owner wants the team to know: languages, seats, how bookings are taken today. Up to 500 characters."
}
},
"required": [
"business_name",
"city",
"business_type",
"contact_email"
]
}Prompts recomendados
searchsearchfetchfetchrequest_listingComunidad
Evidencia