Sint Maarten day spa: treatments, prices, live free times and booking requests.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Free start times for one treatment on one day, or on up to 7 days (date_from to date_to), from the spa's live booking system. Times are on Sint Maarten time (UTC−4). Bookings open up to 60 days ahead.
An id from list_services
YYYY-MM-DD
1 or 2. Couples treatments are always 2.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http sunset-spa https://sxmspa.com/mcp
Tool list last changed Nov 7, 2026.
Free start times for one treatment on one day, or on up to 7 days (date_from to date_to), from the spa's live booking system. Times are on Sint Maarten time (UTC−4). Bookings open up to 60 days ahead.
| Argument | Type | Description |
|---|---|---|
| date | string | YYYY-MM-DD |
| guests | integer | 1 or 2. Couples treatments are always 2. |
| date_to | string | |
| date_from | string | |
| service_id* | string | An id from list_services |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"service_id"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD"
},
"guests": {
"type": "integer",
"maximum": 2,
"minimum": 1,
"description": "1 or 2. Couples treatments are always 2."
},
"date_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"date_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"service_id": {
"type": "string",
"format": "uuid",
"description": "An id from list_services"
}
},
"additionalProperties": false
}The state of a booking (pending_payment, confirmed, confirmed_by_spa, unpaid_time_released, cancelled, no_show) and its time. Needs the booking reference and the phone number it was made with.
| Argument | Type | Description |
|---|---|---|
| customer_phone | string | |
| booking_reference | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"customer_phone": {
"type": "string",
"maxLength": 20,
"minLength": 7
},
"booking_reference": {
"type": "string",
"maxLength": 20,
"minLength": 1
}
},
"additionalProperties": false
}Address, phone, WhatsApp, opening hours, time zone, service charge, cancellation policy, parking, rating, and what the sauna, steam room and jacuzzi cost.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Every bookable treatment with its id (needed for check_availability and request_booking), category, minutes, price in USD before the service charge, and whether it is for couples. Categories: massage, couples, facial, body, nails, waxing, package, add-on, facility, other. Couples treatments are massages, so they are also returned under "massage". With for_couples true, the category only narrows the list when something matches; otherwise all couples treatments are returned. Add-ons are listed too but are not booked on their own.
| Argument | Type | Description |
|---|---|---|
| category | string | Only this category ("massage" includes couples massages) |
| for_couples | boolean | true: only treatments for two; false: only for one |
| max_price_usd | number | Only treatments at or under this price |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"enum": [
"massage",
"couples",
"facial",
"body",
"nails",
"waxing",
"package",
"add-on",
"facility",
"other"
],
"type": "string",
"description": "Only this category (\"massage\" includes couples massages)"
},
"for_couples": {
"type": "boolean",
"description": "true: only treatments for two; false: only for one"
},
"max_price_usd": {
"type": "number",
"minimum": 0,
"description": "Only treatments at or under this price"
}
},
"additionalProperties": false
}Books a treatment for the guest, the same way the spa's website does. The booking is confirmed only when the guest pays by card on the returned pay_url: show it to the guest. Ask the guest first and only call this with customer_consent true. If the time is no longer free, nothing is booked and up to 3 other free times are returned.
| Argument | Type | Description |
|---|---|---|
| date | string | YYYY-MM-DD, Sint Maarten |
| time | string | HH:MM, Sint Maarten (UTC−4) |
| notes | string | e.g. pressure preference, allergies, occasion |
| guests | integer | Couples treatments are always 2 |
| language | string | Language of the pay page and email |
| service_id* | string | An id from list_services |
| start_time | string | ISO 8601 with offset, e.g. 2026-11-20T15:00:00-04:00. Or give date and time. |
| customer_name* | string | |
| customer_email | string | If given, the guest also gets the pay link by email |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 7, 2026.
What changed in this server's tools since we started watching, newest first. Each change is scanned again.
Every bookable treatment with its id (needed for check_availability and request_booking), category, minutes, price in USD before the service charge, and whether it is for couples. Categories: massage, couples, facial, body, nails, waxing, package, add-on, facility, other. Couples treatments are massages, so they are also returned under "massage". With for_couples true, the category only narrows the list when something matches; otherwise all couples treatments are returned. Add-ons are listed too but are not booked on their own.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"enum": [
"massage",
"couples",
"facial",
"nails",
"waxing",
"package",
"body",
"facility",
"other",
"add-on"
],
"type": "string",
"description": "Only this category"
},
"for_couples": {
"type": "boolean",
"description": "true: only treatments for two; false: only for one"
},
"max_price_usd": {
"type": "number",
"minimum": 0,
"description": "Only treatments at or under this price"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"enum": [
"massage",
"couples",
"facial",
"body",
"nails",
"waxing",
"package",
"add-on",
"facility",
"other"
],
"type": "string",
"description": "Only this category (\"massage\" includes couples massages)"
},
"for_couples": {
"type": "boolean",
"description": "true: only treatments for two; false: only for one"
},
"max_price_usd": {
"type": "number",
"minimum": 0,
"description": "Only treatments at or under this price"
}
},
"additionalProperties": false
}| customer_phone | string | E.164, e.g. +17215551234 |
| idempotency_key | string | Repeating a request with the same key within 24 hours returns the same booking |
| customer_consent* | boolean | Must be true: the guest asked for this booking and agrees to be contacted about it |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"service_id",
"customer_name",
"customer_consent"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD, Sint Maarten"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "HH:MM, Sint Maarten (UTC−4)"
},
"notes": {
"type": "string",
"maxLength": 500,
"description": "e.g. pressure preference, allergies, occasion"
},
"guests": {
"type": "integer",
"maximum": 2,
"minimum": 1,
"description": "Couples treatments are always 2"
},
"language": {
"enum": [
"en",
"fr"
],
"type": "string",
"description": "Language of the pay page and email"
},
"service_id": {
"type": "string",
"format": "uuid",
"description": "An id from list_services"
},
"start_time": {
"type": "string",
"description": "ISO 8601 with offset, e.g. 2026-11-20T15:00:00-04:00. Or give date and time."
},
"customer_name": {
"type": "string",
"maxLength": 80,
"minLength": 2
},
"customer_email": {
"type": "string",
"format": "email",
"description": "If given, the guest also gets the pay link by email"
},
"customer_phone": {
"type": "string",
"description": "E.164, e.g. +17215551234"
},
"idempotency_key": {
"type": "string",
"maxLength": 100,
"description": "Repeating a request with the same key within 24 hours returns the same booking"
},
"customer_consent": {
"type": "boolean",
"description": "Must be true: the guest asked for this booking and agrees to be contacted about it"
}
},
"additionalProperties": false
}