g-guest
Book a table, appointment or class at a real local business. Instant confirmation, no API key.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"g-guest": {
"url": "https://g-guest.app/api/mcp"
}
}
}원격 엔드포인트
https://g-guest.app/api/mcpstreamable-http할 수 있는 일
도구 목록
도구 (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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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"
]
}권장 프롬프트
searchsearchfetchfetchrequest_listing커뮤니티
증거