{"name":"app.g-guest/g-guest","slug":"g-guest","title":null,"description":"Book a table, appointment or class at a real local business. Instant confirmation, no API key.","url":"https://mcp.market/server/g-guest","rating":null,"grade":"C","score":60,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-20T19:41:05.788Z","last_ok_at":"2026-09-20T19:41:05.788Z","latency_ms":320},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://g-guest.app/ai","version":"1.0.1","remotes":[{"type":"streamable-http","url":"https://g-guest.app/api/mcp"}],"packages":[],"tools":[{"name":"cancel_booking","description":"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.","write_action":true,"price_micros":0,"input_schema":{"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"]}},{"name":"check_availability","description":"List bookable time slots for a business on a given date and party size. Offer the guest only slots where available is true.","write_action":false,"price_micros":0,"input_schema":{"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"]}},{"name":"check_booking","description":"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.","write_action":false,"price_micros":0,"input_schema":{"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"]}},{"name":"create_booking","description":"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.","write_action":true,"price_micros":0,"input_schema":{"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"]}},{"name":"fetch","description":"Fetch full details for one business id returned by search: services, hours, timezone and how to book it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}},{"name":"get_business","description":"Look up a business on G-Guest: services, opening hours, timezone and maximum party size. Call this first if you only know the slug.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"slug":{"type":"string","description":"Business identifier, e.g. \"demo\"."}},"required":["slug"]}},{"name":"request_listing","description":"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.","write_action":false,"price_micros":0,"input_schema":{"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"]}},{"name":"search","description":"Search bookable businesses on G-Guest by name or slug. Returns ids you can pass to fetch or to the booking tools.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string"}},"required":["query"]}}],"scan":{"score":60,"grade":"C","scanned_at":"2026-09-20T20:56:22.785Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T20:56:22.757Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 563ms"]},"poisoning":{"score":15,"max":15,"notes":["8 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 2 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://g-guest.app/api/mcp","reachable":true,"authRequired":false,"latencyMs":563,"serverInfo":{"name":"g-guest","version":"1.1.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://g-guest.app/apple-icon.png?apple-icon.0k52afdokwego.png?dpl=dpl_cjPzk4AK4pVrNFfNVrkBXzEhkqec","source":"site","width":180,"height":180},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}