Book a haircut with Vilma Strakatá, Studio Natali Říčany (CZ): prices, free times, SMS-verified.
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.
Finish the booking with the 6-digit code the customer received by SMS. At most 3 attempts per verification.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Finish the booking with the 6-digit code the customer received by SMS. At most 3 attempts per verification.
| Argument | Type | Description |
|---|---|---|
| smsCode* | string | |
| verificationToken* | string |
{
"type": "object",
"required": [
"verificationToken",
"smsCode"
],
"properties": {
"smsCode": {
"type": "string",
"pattern": "^\\d{6}$"
},
"verificationToken": {
"type": "string"
}
},
"additionalProperties": false
}Find free start times on a given day for the selected services. The salon works Monday–Friday; weekends and Czech public holidays are closed.
| Argument | Type | Description |
|---|---|---|
| date* | string | Day in YYYY-MM-DD (Europe/Prague). |
| serviceIds* | array | Service ids from list_services. |
| hairdresserId | integer | Optional; defaults to the hairdresser offering the first service. |
{
"type": "object",
"required": [
"date",
"serviceIds"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Day in YYYY-MM-DD (Europe/Prague)."
},
"serviceIds": {
"type": "array",
"items": {
"type": "integer"
},
"minItems": 1,
"description": "Service ids from list_services."
},
"hairdresserId": {
"type": "integer",
"description": "Optional; defaults to the hairdresser offering the first service."
}
},
"additionalProperties": false
}List hairdressers who accept online bookings.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}List all bookable hair services with id, price (price_type "starts_at" = starting price, CZK), duration in minutes, category and hairdresser id.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Start a booking. Sends a 6-digit verification code by SMS to the customer. Call only after the customer explicitly agreed to the terms and privacy notice (see server instructions). Returns verificationToken for confirm_booking.
| Argument | Type | Description |
|---|---|---|
| date* | string | |
| note | string | |
| time* | string | Start time from find_available_times. |
| serviceIds* | array | |
| customerName* | string | |
| customerEmail* | string | |
| customerPhone* | string | Mobile number, e.g. +420 777 123 456. The SMS code goes here. |
| hairdresserId | integer | |
| termsAccepted* | boolean | Must be true: the customer agreed to the terms and privacy notice. |
{
"type": "object",
"required": [
"date",
"time",
"serviceIds",
"customerName",
"customerPhone",
"customerEmail",
"termsAccepted"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"note": {
"type": "string"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "Start time from find_available_times."
},
"serviceIds": {
"type": "array",
"items": {
"type": "integer"
},
"minItems": 1
},
"customerName": {
"type": "string",
"minLength": 2
},
"customerEmail": {
"type": "string",
"format": "email"
},
"customerPhone": {
"type": "string",
"description": "Mobile number, e.g. +420 777 123 456. The SMS code goes here."
},
"hairdresserId": {
"type": "integer"
},
"termsAccepted": {
"type": "boolean",
"const": true,
"description": "Must be true: the customer agreed to the terms and privacy notice."
}
},
"additionalProperties": false
}