NailMe – Book nail studios
Server Details
Find nail studios near you, see services, prices and free times, and prepare a booking to confirm.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool occupies a distinct step of the funnel: search_studios (discover by location/service), get_studio (details for one studio), find_free_slots (availability for a service), prepare_booking (reserve a chosen slot). The search/fetch split and slots/booking split are clearly delineated by descriptions that state inputs and outcomes.
All four names follow a strict snake_case verb_noun pattern (search_, get_, find_, prepare_) with nouns that match the domain objects. No camelCase or vague verbs like 'process' or 'handle'.
Four tools map exactly onto the required flow (discover → inspect → check availability → prepare booking), with no redundant or filler tools. The surface is small but fully justified by the narrow booking purpose.
The discover-to-booking lifecycle is covered end to end, including deposit/promotion handling via the external confirm_url. Gaps remain around post-booking operations (listing, cancelling or rescheduling an existing appointment), which agents cannot perform through this surface.
Available Tools
4 toolsfind_free_slotsFree timesARead-onlyInspect
Free start times for one service, in the studio's time zone. Days from tomorrow up to 90 days ahead, at most 14 days per call. A time with a promotion field has a discount of the studio (percent, discounted price); it applies automatically when booked.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days, default 7, at most 14 | |
| from_date | No | YYYY-MM-DD, default tomorrow | |
| studio_id | Yes | studio_id from search_studios (or the handle from a profile link) | |
| service_id | Yes | ||
| employee_id | No | Only this employee (group studios) | |
| latest_time | No | HH:mm, only times starting at or before | |
| earliest_time | No | HH:mm, only times starting at or after |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/non-destructive, and the description adds genuinely new behavior: results are in the studio's time zone, the searchable window starts tomorrow and caps at 90 days ahead with a 14-day-per-call limit. It also discloses that promotions are surfaced on returned times and applied automatically at booking, which is not derivable from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the core definition and then the window constraints. The promotion sentence is slightly awkwardly phrased ('discount of the studio (percent, discounted price)') but every sentence carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the necessary work of describing what comes back (start times, optionally a promotion with percent and discounted price) plus the timezone and window semantics. Only the ordering or count of returned slots is unstated, which is a minor gap for a 7-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 86%, so the schema already documents days, from_date, studio_id, employee_id and the time filters. The description largely restates the days limit and adds time-zone context, but says nothing about earliest_time/latest_time or the service_id/employee_id interaction beyond what the schema carries, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific resource ('free start times') scoped to one service and one time zone, which is enough to distinguish it from get_studio and search_studios. It never explicitly contrasts itself with prepare_booking, but the verb+resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the date window (tomorrow to 90 days, max 14 per call) tells the agent how to call it, and the promotion sentence hints this precedes booking, but there is no explicit 'use this before prepare_booking' or 'do not use this to check a specific employee's schedule outside the window' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_studioStudio details and servicesBRead-onlyInspect
Name, address, rating and the bookable services (id, duration, price) of one studio.
| Name | Required | Description | Default |
|---|---|---|---|
| studio_id | Yes | studio_id from search_studios (or the handle from a profile link) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description's useful addition is disclosing what comes back (bookable services with id, duration, price), which matters because no output schema exists, but it says nothing about error behavior for an unknown id or whether the services list is paginated or complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with no filler, and the identifying resource ('one studio') is placed at the end for emphasis. It is slightly under-formed as a sentence fragment rather than a statement of action, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description does the main extra work by enumerating the returned fields. Combined with 100% schema coverage and clear annotations, an agent has enough to call it correctly; only failure modes and result-completeness semantics are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the studio_id property description already explains provenance ('from search_studios (or the handle from a profile link)'). The description adds no parameter meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('one studio') and enumerates returned fields (name, address, rating, bookable services), which is more specific than the title alone. But it is a noun phrase with no verb and no explicit statement that this is a single-record lookup keyed by id, and it never contrasts with search_studios, the sibling an agent would most likely confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no named alternatives among find_free_slots, prepare_booking, or search_studios. The only hint at usage is the schema note that studio_id comes from search_studios, which is structured-field information rather than description guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_bookingPrepare a bookingARead-onlyInspect
Checks that the time is still free and returns a confirm_url. Nothing is booked yet: the user opens the link, signs in and confirms (deposit and terms of the studio apply there).
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | YYYY-MM-DD | |
| studio_id | Yes | studio_id from search_studios (or the handle from a profile link) | |
| service_id | Yes | ||
| start_time | Yes | HH:mm in the studio time zone | |
| employee_id | No | Optional, group studios |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this readOnly/non-destructive, and the description usefully explains the side-effect boundary: the tool only checks and returns a link, while sign-in, deposit and studio terms happen outside the tool. It doesn't mention failure behaviour when the slot is taken or any rate limits, so it stops short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core capability first and the crucial caveat second. Nothing is repeated and no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly discloses the return value (confirm_url) and the fact that booking is not final. For a small 5-parameter tool this is nearly sufficient, missing only what happens when the time is no longer free.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80% and the description adds no parameter-level detail such as date format, timezone handling or what employee_id means in group studios. Baseline 3 is appropriate since the schema largely does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a concrete verb and outcome: it re-checks availability for a specific time and returns a confirm_url. The 'Nothing is booked yet' clause clearly separates it from a real booking action, though it never names find_free_slots or get_studio directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: an agent can infer this is the step after choosing a studio, service and time, since it takes those exact parameters. There is no explicit 'use this when...' or comparison against find_free_slots, which is the closest alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_studiosSearch studiosARead-onlyInspect
Find bookable nail artist studios on NailMe near a location or in a city, nearest first. Optionally only studios with a matching service.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name, used when no coordinates are known | |
| limit | No | Max studios, default 10, at most 20 | |
| latitude | No | ||
| longitude | No | ||
| radius_km | No | Search radius around the coordinates, default 25 | |
| service_query | No | Words the service name must contain, e.g. "pedicure" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered; the description adds meaningful behavior beyond that — results are ordered 'nearest first' and can be narrowed to studios offering a matching service. It does not state pagination or what an empty-geography query returns, keeping it below 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences with the core action and the optional refinement front-loaded; no filler and no restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter read-only search with no output schema, the description conveys purpose, ordering, and the key optional filter. It leaves minor gaps around coordinate-vs-city precedence and return shape, but nothing an agent needs to make the call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the description explains that location or city drives the search and that service_query filters by service name, reinforcing those fields. However, latitude/longitude and radius_km carry no schema descriptions and the description does not explain their relationship, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Find bookable nail artist studios on NailMe') plus the geographic scope, which distinguishes it from get_studio (single studio) and find_free_slots (availability). It stops short of explicitly naming those siblings, so it earns a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly frames the use case: search by location or city, with an optional service filter. The 'bookable' qualifier implies it targets discoverable listings rather than a known studio, giving the agent context without naming an alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
find_free_slots - First observed
get_studio - First observed
prepare_booking - First observed
search_studios
Related MCP Connectors
Find US nail salons and book confirmed appointments: menus, prices, hours, live open times.
Find, compare, and book local service businesses: live availability, prices, reviews, booking.
Find trade businesses near you, see services, prices and free times, and prepare a booking.
41Search and book appointments at local businesses. Barbershops, salons, spas, and more.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to look up businesses, find free appointment slots, book, list and cancel appointments at salons, barbershops, nail and brow studios and clinics. Works read-only without a customer login by returning a pre-filled booking link, and can also run against a built-in demo with sample businesses.5MIT
- FlicenseNot gradedqualityDmaintenanceEnables users to query real-time reservation availability for Naver Booking places in Korea, including beauty salons, restaurants, and other categories.-
- AlicenseNot gradedqualityBmaintenanceEnables voice assistants to find nearby service providers, connect users to live video representatives for natural conversation, and handle appointment booking. It also returns confirmed bookings so the assistant can add them to its calendar.MIT
- AlicenseNot gradedqualityBmaintenanceEnables authenticated management of salon and clinic scheduling data, including appointments, customers, professionals, services, products, finances, loyalty, commissions, and subscription clubs across multiple business units.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.