Skip to main content
Glama

ERA Phuket Booking

Server Details

Services, prices, free slots and booking at ERA Barbershop & Beauty Space, Phuket

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

B3.4/5.0

Scored across 7 tools

Disambiguation3/5

list_services and search both query services/prices and their boundary is fuzzy (only 'returns ids for fetch' distinguishes them), and 'fetch' is a vague complement to both. create_booking versus get_booking_link are distinguishable by description, but an agent could reasonably pick either when a user says 'book me'.

Naming Consistency3/5

Four tools follow a clear verb_noun pattern (create_booking, find_available_slots, get_booking_link, get_salon_info, list_services), but 'fetch' and 'search' are bare verbs with no object, breaking the convention and adding no domain signal.

Tool Count4/5

Seven tools is a tight, well-scoped set for a salon booking flow. No tool feels purely decorative; the only redundancy is the overlapping search surface.

Completeness3/5

The pre-booking and create path is covered (services, slots, info, link, create), but there is no way to look up, cancel, or reschedule an existing booking, which are core lifecycle operations for a booking domain.

Available Tools

7 tools
create_bookingBook an appointmentAInspect

Creates a real appointment in the salon calendar. ONLY call after the user explicitly confirmed: services, master (or any), date and time, their name and phone. The salon may contact the client to confirm.

NameRequiredDescriptionDefault
langNo
commentNoWishes for the master, preferred language, etc.
datetimeYesStart time from find_available_slots, e.g. 2026-10-22T14:00:00+07:00
staff_idNo0 or omitted = any available master
client_nameYes
service_idsYes
client_emailNo
client_phoneYesInternational format, e.g. +66 81 234 5678

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and idempotentHint=false, so the write/idempotency profile is covered. The description adds non-obvious behavior beyond that: the booking is real, and the salon may contact the client to confirm. It does not warn about duplicate submissions or what happens if the slot was taken.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences: the effect first, then the prerequisite gate. Every clause carries information and nothing is repeated from the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating, open-world, non-idempotent tool with no output schema, the description covers the effect and the preconditions well. It leaves unstated what is returned (e.g. a booking id) and how conflicts or duplicate calls are handled, which is the main remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, with datetime and staff_id already documented in-schema. The description maps its confirmation checklist onto service_ids, staff_id, datetime, client_name and client_phone, which helps prioritize inputs, but adds no format or syntax meaning beyond the schema, and lang/client_email remain unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Creates a real appointment in the salon calendar'), and the word 'real' hints that this commits an actual booking rather than producing a link. It does not explicitly name sibling tools like find_available_slots or get_booking_link, so an agent must infer the division of labor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit gating precondition: 'ONLY call after the user explicitly confirmed' with an enumerated checklist of services, master, date/time, name and phone. That is clear when-to-call guidance, though it never names an alternative tool or a when-not-to-call case beyond the missing-confirmation gate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetchFetch ERA itemB
Read-onlyIdempotent
Inspect

Full details for an id returned by search.

NameRequiredDescriptionDefault
idYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered elsewhere. The description adds nothing behavioral on top: no not-found/expired-id behavior, no indication of what happens with a malformed id up to the 60-char limit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with no filler or repetition of the title. It is arguably under-specified rather than bloated, which is a separate concern from conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity, single-parameter read tool with annotations covering the safety profile, a minimal description is defensible. But with no output schema, the vague promise of 'full details' leaves the agent unaware of the return shape, which is the one thing that should have been spelled out.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description bears the burden for the single `id` parameter. It usefully states the id's provenance ('returned by search'), but gives no format, casing, or length guidance beyond the schema's maxLength of 60.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete operation (retrieve full details) on a specific resource (the item behind a search-result id), and ties it explicitly to the `search` sibling, so an agent can distinguish it from re-querying search. The resource itself ('ERA item') is only named in the title, which keeps it short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'an id returned by search' implies the workflow precondition (call `search` first, then fetch), which is genuinely useful routing. However there is no statement of when NOT to use it or how it relates to the other siblings such as `get_salon_info` or `get_booking_link`.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_available_slotsFree time slotsA
Read-onlyIdempotent
Inspect

Live free start times from the salon calendar for one or more services, optionally with a specific master (staff_id). Returns dates with times (Asia/Bangkok) and masters who do the service.

NameRequiredDescriptionDefault
dateNoFirst date to check, YYYY-MM-DD (default today)
daysNoHow many bookable days to return (default 3)
staff_idNoMaster ID; omit or 0 for any master
service_idsYesService IDs from list_services

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and openWorld. The description adds genuinely new context beyond that: the data is 'live' from the calendar, times are in Asia/Bangkok, and results include the masters who perform the service. No auth or rate-limit caveats are given, but the added return/timezone context is substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, zero waste, with the core action ('Live free start times...') front-loaded before the optional filter and return shape.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of describing return values and does so ('dates with times (Asia/Bangkok) and masters who do the service'). It could be slightly richer about the shape/grouping of results, but nothing essential for calling the tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (date, days, staff_id, service_ids) is already documented. The description reinforces the optional staff_id ('specific master (staff_id)') and the multi-service capability, but adds no format, constraint, or default detail beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Live free start times from the salon calendar') with the scope ('one or more services, optionally with a specific master'). It is clearly distinguishable from siblings like create_booking and list_services without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: this is the availability lookup you call before create_booking. But the description never explicitly says when to use it versus alternatives, nor does it state prerequisites (e.g. that services must come from list_services) or any when-not-to-use condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_salon_infoSalon infoB
Read-onlyIdempotent
Inspect

Address (English and Thai for taxi drivers), map links, opening hours, phone/WhatsApp/Telegram, languages spoken and booking options of ERA in Bang Tao, Phuket.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds useful content-level context (static venue metadata, Thai address for taxi drivers), but does not say the result is static/cacheable or what shape the response takes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence with every item earning its place, front-loading the most operationally useful facts (address, hours, contact). It is a fragment rather than a full sentence, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description effectively serves as the return-value contract by enumerating the fields returned. Combined with annotations covering safety and an empty input schema, an agent has enough to call it correctly; only the exact response format is unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly implies no inputs are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description enumerates exactly what the tool returns – address in English and Thai, map links, opening hours, contact channels, languages, booking options – for one specific venue (ERA in Bang Tao, Phuket). It is clear what the resource is, though it is phrased as a content list rather than a verb+resource statement, and it does not name a sibling it differs from.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to call this versus alternatives. The mention of 'booking options' overlaps with get_booking_link without stating which one to use for making or linking a booking, and no prerequisites or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_servicesServices & pricesA
Read-onlyIdempotent
Inspect

Search ERA services with current prices in THB, durations and master levels (ONE / PRO / PRIME). Use q for keywords in any language (e.g. "gel manicure", "балаяж", "beard").

NameRequiredDescriptionDefault
qNoSearch text
langNoLanguage for service names
audienceNoFilter by audience

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds real context beyond them: prices are in THB, results carry durations and master levels (ONE/PRO/PRIME), and keyword matching works across languages. It omits any note on result size, pagination, or empty-result behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly written sentences: the capability and returned fields come first, then the one actionable parameter hint. No filler, no repetition of the title, and the examples earn their space by showing multilingual matching.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description usefully names the shape of the response (prices, durations, master levels). All three parameters are documented and annotations carry the safety profile. It could be slightly more complete by indicating how results are ordered or bounded.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, and the description genuinely adds meaning: it explains that q accepts free-text keywords in any language and gives concrete examples ('gel manicure', 'балаяж', 'beard'), which is more than the schema's bare 'Search text'. It says nothing extra about lang or audience beyond their enum values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search ERA services') and even enumerates the returned attributes (current prices in THB, durations, master levels), which makes it clearly distinct from generic siblings like search or fetch. It never names a sibling tool explicitly, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete guidance for the q parameter ('use q for keywords in any language') with multi-language examples, which implies the browse-vs-search modes since no parameters are required. There is no explicit when-to-use/when-not or pointer to an alternative tool such as find_available_slots for booking.

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.

  1. 7 tool updates
    • First observedcreate_booking
    • First observedfetch
    • First observedfind_available_slots
    • First observedget_booking_link
    • First observedget_salon_info
    • First observedlist_services
    • First observedsearch

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables 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.
    5
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Self-hosted Fresha API and MCP server in Python: 17 Fresha tools for appointments, clients, services, team and reviews, on the session of your own Chrome. Personal use.
    2
    17
    150 PyPI
    6
    PolyForm Noncommercial 1.0.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    The owner-verified local business data + service & menu-price layer for AI agents. Owner-authored business profiles where every response carries provenance — verification level, completeness score, freshness timestamps, and upstream sources. * Search & profiles — find businesses by name, category, city, or geo-radius; full profiles with contacts, hours, media, ratings. * Price layer
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Surf Park live session availability for booking and cancellation. Made by surfers for wave pools worldwide
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources