Studio Natali – hair salon booking (Říčany, CZ)
Book a haircut with Vilma Strakatá, Studio Natali Říčany (CZ): prices, free times, SMS-verified.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"booking": {
"url": "https://studionatali-ricany.cz/mcp"
}
}
}Remote endpoints
https://studionatali-ricany.cz/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟢list_services
List all bookable hair services with id, price (price_type "starts_at" = starting price, CZK), duration in minutes, category and hairdresser id.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢list_hairdressers
List hairdressers who accept online bookings.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢find_available_times(date, serviceIds, hairdresserId)
Find free start times on a given day for the selected services. The salon works Monday–Friday; weekends and Czech public holidays are closed.
Input Schema
{
"type": "object",
"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."
}
},
"required": [
"date",
"serviceIds"
],
"additionalProperties": false
}⚪request_booking(date, time, serviceIds, hairdresserId, customerName, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "Start time from find_available_times."
},
"serviceIds": {
"type": "array",
"items": {
"type": "integer"
},
"minItems": 1
},
"hairdresserId": {
"type": "integer"
},
"customerName": {
"type": "string",
"minLength": 2
},
"customerPhone": {
"type": "string",
"description": "Mobile number, e.g. +420 777 123 456. The SMS code goes here."
},
"customerEmail": {
"type": "string",
"format": "email"
},
"note": {
"type": "string"
},
"termsAccepted": {
"type": "boolean",
"const": true,
"description": "Must be true: the customer agreed to the terms and privacy notice."
}
},
"required": [
"date",
"time",
"serviceIds",
"customerName",
"customerPhone",
"customerEmail",
"termsAccepted"
],
"additionalProperties": false
}⚪confirm_booking(verificationToken, smsCode)
Finish the booking with the 6-digit code the customer received by SMS. At most 3 attempts per verification.
Input Schema
{
"type": "object",
"properties": {
"verificationToken": {
"type": "string"
},
"smsCode": {
"type": "string",
"pattern": "^\\d{6}$"
}
},
"required": [
"verificationToken",
"smsCode"
],
"additionalProperties": false
}Community
Evidence