accueil / serveurs / Productivité / dev.hatchloop/appointment-booking
dev.hatchloop/appointment-booking
serveur MCP (Model Context Protocol) · appointment-booking 0.2.15
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que dev.hatchloop/appointment-booking est sûr ?
Au dernier audit MCP Hub, le serveur MCP « dev.hatchloop/appointment-booking » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 9 outils
- check_booking_link≈ 206 tokens
Free, instant pre-flight check for a booking URL. Classifies which booking platform a URL belongs to and tells you whether import_booking_url will accept it, WITHOUT fetching the page or spending money. Returns the platform, the exact smb_id import_booking_url would assign, the channels the booking will route through, and the inferred country. Use it to de-risk a paid booking BEFORE calling import_booking_url + schedule_appointment. [free, no key]
Paramètres, retour & exemple (1)
Paramètresurl· string · requis
Full http(s) URL to classify, e.g. 'https://cal.com/jane' or…
Exemple d'appel{"name": "check_booking_link", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_business≈ 538 tokens
Find real businesses near a place, sorted by distance (nearest of those examined; see result.search). Data: OpenStreetMap (ODbL, (c) OSM contributors); phone, website, hours only when mapped. Coverage varies; community-mapped, NOT verified by us; source=openstreetmap rows cannot be booked. Answers within about 5 s: status partial (search_in_progress) means repeat the call. If OSM is down: retriable 'temporarily unavailable', never invented rows. [free, no key] [beta]
Paramètres, retour & exemple (8)
Paramètrescity· string · optionnel
Instead of location: a city, e.g. 'Muscat, Oman'.region· string · optionnel
With city: a state or region.location· object · requis
City/town or ZIP, optionally with country ('Nizwa, Oman'). Geocoded by OSM.vertical· string · optionnel · personal_services | home_services | professional_servicescapability· string · optionnel
Kind of business: 'dentist', 'cafe', 'plumber'. Use it or vertical.price_band· object · optionnel
Supply-network rows only (OpenStreetMap has no prices).max_results· integer · optionnelavailability_window· object · optionnel
Accepted but NOT APPLIED: it does not narrow results (no live calendars). The…
Exemple d'appel{"name": "find_business", "arguments": {"location": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_outcome≈ 93 tokens
Retrieve the final OutcomeReceipt for a completed operation. [free, no key]
Paramètres, retour & exemple (1)
Paramètresoperation_id· string · requis
Exemple d'appel{"name": "get_outcome", "arguments": {"operation_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_status≈ 96 tokens
Query the current state of any in-flight async operation by operation_id. [free, no key]
Paramètres, retour & exemple (1)
Paramètresoperation_id· string · requis
Exemple d'appel{"name": "get_status", "arguments": {"operation_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - import_booking_url≈ 448 tokens
Turn a public booking URL into a callable smb_id for send_message and capture_lead. But schedule_appointment only completes on Cal.com bound to our one connected account — the other 11 always fail schedule_appointment honestly, uncharged. Detects 12 platforms (Cal.com, Calendly, Doctolib, Booksy, Fresha, OpenTable, Setmore, Square, Acuity, Schedulista, Squarespace, BookMyCity). Idempotent — calling twice returns the same smb_id. [free, requires key] [limited]
Paramètres, retour & exemple (8)
Paramètresvertical· string · optionnel · personal_services | home_services | professional_services | restaurants | retail | healthcare | fitness
If omitted, inferred from the booking platform.booking_url· string · requis
Full URL the user supplied. Must point at one of the 12 supported booking…capabilities· array · optionnel
Free-form capability tags (e.g., ['haircut','color','blowdry']).country_code· string · optionnel
ISO 3166-1 alpha-2 (e.g. 'US', 'FR'); routes compliance on later sends.business_name· string · optionnel
If omitted, auto-extracted from the page's <title> or og:title.contact_email· string · optionnelcontact_phone· string · optionnel
If omitted, the platform integration handles outreach.idempotency_key· string · optionnel
Retry key: a 24h replay returns the original receipt, not re-run or charged.
Exemple d'appel{"name": "import_booking_url", "arguments": {"booking_url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - preview_cost≈ 178 tokens
Return an expected cost estimate, latency estimate, and success-probability estimate for a proposed call before execution. Returns the exact price when it is fixed, and a min/max range when the cost depends on channel or outcome. It does not promise an accuracy percentage - check cost_range. [free, no key]
Paramètres, retour & exemple (2)
Paramètresparams· object · requis
The same request body you would pass to the operationoperation· string · requis
Exemple d'appel{"name": "preview_cost", "arguments": {"params": {}, "operation": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - schedule_appointment≈ 395 tokens
Check availability, book, or cancel via Cal.com. Only completes when the SMB's imported booking link is bound to this deployment's ONE connected Cal.com account; otherwise fails honestly (booking_destination_unmapped) with no charge. No working booking path exists yet for non-Cal.com platforms (voice AI, web form) — those SMBs fail honestly instead of a fabricated confirmation. [from $0.15/call, variable, not charged while no payment rail is on] [async→get_outcome] [limited]
Paramètres, retour & exemple (8)
Paramètresnotes· string · optionnelaction· string · requis · book | cancel | check_availabilitysmb_id· string · requisservice· string · optionnelcustomer· object · optionnelrequested_time· object · optionnelidempotency_key· string · optionnel
Retry key: a 24h replay returns the original receipt, not re-run or charged.existing_appointment_id· string · optionnel
Required for cancel
Exemple d'appel{"name": "schedule_appointment", "arguments": {"action": "book", "smb_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - self_test≈ 113 tokens
Service health probe: runs 6 internal checks and reports how many passed. Confirms the server is up and responding - it does NOT probe each tool individually. Use to verify connectivity before production use. [free, no key]
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "self_test", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - verify_business≈ 142 tokens
Look up what we know about a business in our supply network: contact channels, capabilities, last verification. A DIRECTORY LOOKUP - it does not contact the business. Supply-network ids only, not osm:... ids. [free, no key] [limited]
Paramètres, retour & exemple (2)
Paramètressmb_id· string · requiscapability_to_verify· string · optionnel
Exemple d'appel{"name": "verify_business", "arguments": {"smb_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».