MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Payments & trading

HairDora Salon Scheduling

See your salon's free slots, appointments, stylists, services, clients, quotes and payments.

Checks passed
13 / 22

1 failed · 8 not measured

Median response
1548 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
21

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Outdated check

Last connection measurement is over 24 hours old. Current availability is unknown.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 1548 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name hairdora-mcp.

  • Pass
    Lists tools

    tools/list returned 21 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 1548 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 1548 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    64 of 64 parameters have a description (100%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-09-27T17:03:34.514076Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using HairDora Salon Scheduling

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http hairdora-salon-scheduling https://mcp.hairdora.com/mcp

Capabilities

Tools 21

book_appointment

Use this when someone asks to book a client in at their salon. Returns the new appointment with its time, stylist and services; it takes the salon's usual length, chair and reminders, so the salon's reminder messages go to the client. Not for finding free slots.

Discovered
cancel_appointment

Use this when someone asks to cancel a client's appointment. Returns the appointment as canceled, kept rather than deleted, and whether the salon's cancellation message goes to the client. Not for moving an appointment to another time.

Discovered
create_client

Use this when someone asks to add a new client to a salon. Returns the client's id, name, salon and language; the phone and email given are saved but never returned. Not for changing an existing client.

Discovered
get_appointment

Use this when someone asks what services a specific appointment includes, their prices, or the appointment's status. Returns one appointment's client, salon and stylist ids, times, status and up to 50 booked services with prices. Not for finding bookings by date.

Discovered
get_client

Use this when someone asks about one salon client, such as their preferred language or which salon they belong to. Returns the client's name, salon, language and last edit time. Not for the client's email, phone or booking history.

Discovered
get_salon

Use this when someone asks for one salon's opening hours, address, phone, website, timezone or default appointment length. Returns that salon's business settings with up to 14 opening-hour rows, Monday first. Not for free booking slots.

Discovered
get_salon_availability

Use this when someone asks when their hair salon has free appointment slots or the next opening. Returns, per day, how many online-booking slots are open plus the first start and last end time, for the next 14 days that have openings (no client or stylist names). Not for making a booking.

Discovered
list_appointments

Use this when someone asks how many appointments are booked on a day or in a period, how many were canceled or no-shows, when a client is booked, or which bookings a stylist has. Returns appointments across all the user's salons, or just one, with id, client, salon and stylist ids, times and status for any date window, latest first, up to 100. Not for the services inside an appointment.

Discovered
list_calendar_events

Use this when someone asks when their salon is closed or has extra opening hours, or when a stylist or chair is blocked for holidays, vacations, sick days, training or meetings. Returns blocks and extra openings with salon, type, scope, effect, all-day flag and times for all salons unless one is given, earliest first (no titles or notes). Not for client appointments.

Discovered
list_clients

Use this when someone asks who their clients are, or needs a client's id to book them or to look up their appointments, payments or quotes. Returns up to 100 clients (20 by default) across all the user's salons or one, with id, name, salon and last edit time, optionally only those whose name matches. Not for a client's email, phone or notes.

Discovered
list_inventory_items

Use this when someone asks how much of a product is left in the salon's stock or what is running low. Returns up to 100 stock items with unit, quantity, minimum and a low-stock flag. Not for retail prices.

Discovered
list_payments

Use this when someone asks what payments their salon took, whether a client paid, or how much came in over a period. Returns payment records with id, client and salon ids, date, amount, currency and status for any date window and all salons unless one is given, newest first, up to 100 (no card details). Not for charging or refunding a client.

Discovered
list_providers

Use this when someone asks which stylists or hairdressers work at their salon or can be booked, or which stylist to book a client with. Returns up to 100 hairdresser ids and display names from the organization that owns the salon (no contact details or schedules). Not for stylists' days off.

Discovered
list_quotes

Use this when someone asks about price quotes given to salon clients, such as which are pending, approved or rejected. Returns quotes with id, client and salon ids, status and date for all salons unless one is given, newest first, up to 100; the status filter applies within that page. Not for quote amounts or line items.

Discovered
list_salons

Use this when someone asks which hair salons they run in HairDora, or a salon's id is needed. Returns up to 100 salons with id, name, currency, default language and last edit time. Not for a salon's address, phone or opening hours.

Discovered
list_services

Use this when someone asks what their salon charges for a cut, colour, blow-dry or other service, or what services it offers. Returns services with id, name, price and salon for all their salons unless one is given, 50 by default and up to 100. Not for what a particular client had done.

Discovered
open_hairdora

Use this when someone wants to open HairDora and browse their salons, upcoming appointment previews, service prices and booking availability in an interactive sidebar. Returns up to 100 salons to start from (no client names, contact details or private notes). Not for booking, cancelling or charging for appointments.

Discovered
reschedule_appointment

Use this when someone asks to move an appointment to another day or time. Returns the moved appointment; its client, stylist, services and length stay the same and the client's reminders move with it. Not for cancelling an appointment.

Discovered
set_inventory_quantity

Use this when someone asks to correct or update how much of a stock item the salon has. Returns the item with its previous and new quantity; the number given replaces the stored one. Not for adding a new stock item.

Discovered
show_salon_overview

Use this when someone wants a quick overview or dashboard of one hair salon. Returns an overview card with the salon's details, a client count, the next 8 upcoming appointments with time, status and number of services, and up to 12 services with prices (no client names or contact details). Not for one specific booking.

Discovered
update_client

Use this when someone asks to change a client's name, phone, email or language. Returns the client's id, name, salon and which fields changed; contact details are never returned. Not for adding a new client.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected1548 ms21