protogrid

Search / com.hairdora/hairdora

HairDora Salon Scheduling

R0· no sign-in

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

v0.1.1 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality79good
Trust83of 100
Uptime, 30 days100%
Latency p50426 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "hairdora": {
      "type": "http",
      "url": "https://mcp.hairdora.com/mcp"
    }
  }
}
claude mcp add --transport http hairdora https://mcp.hairdora.com/mcp
[mcp_servers.hairdora]
url = "https://mcp.hairdora.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "hairdora": {
      "type": "remote",
      "url": "https://mcp.hairdora.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "hairdora": {
      "type": "http",
      "url": "https://mcp.hairdora.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=hairdora&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmhhaXJkb3JhLmNvbS9tY3AifQ%3D%3D"
}
{
  "servers": {
    "hairdora": {
      "type": "http",
      "url": "https://mcp.hairdora.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "hairdora": {
      "httpUrl": "https://mcp.hairdora.com/mcp"
    }
  }
}
extensions:
  "hairdora":
    enabled: true
    name: "hairdora"
    type: streamable_http
    uri: "https://mcp.hairdora.com/mcp"
    timeout: 300

Quality 79 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations14 of 14 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 3,002 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes15 tool changes in 30 days
  • fail
    stability.rug_pull14 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

14 tools, about 3,002 tokens to load them all · tool set 1f30c4542be2 · tools last changed 2026-10-05 · checked 2026-10-20 23:59 UTC

Tool changes

  • open_hairdorachangeddescriptionmeaning changed
    before

    Open HairDora Salon Scheduling to browse your salons, upcoming appointment previews, service prices and booking availability interactively. Read-only; cannot book, cancel or charge. The sidebar excludes client names, contact details and private notes.

    after · 40% of words in common

    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.

  • open_hairdoraadded

    Open HairDora Salon Scheduling to browse your salons, upcoming appointment previews, service prices and booking availability interactively. Read-only; cannot book, cancel or charge. The sidebar excludes client names, contact details and private notes.

  • show_salon_overviewchangedtitle, description, input schema, output schema, annotationsmeaning changed
    before

    Render a bounded tenant-scoped operational overview for a salon id returned by list_salons. Shows aggregate client, upcoming-appointment, and service counts plus safe service and schedule previews. Client names, contact details, client and appointment ids, notes, organization data, staff ids, payment data, and service history are excluded.

    after · 14% of words in common

    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.

  • list_quoteschangedtitle, description, input schema, output schema, annotationsmeaning changed
    before

    List a bounded page of salon quotes in the authenticated user's organization, most recent first. Returns only the quote, client, and salon references needed for workflow chaining, status (DRAFT/PENDING/REJECTED/APPROVED), and start time. Free-text notes, quoted line details, discounts, contact details, and organization data are excluded server-side. Optionally filter by salonId, clientId, status, or time window; `hasMore` reports whether the bounded upstream window may contain more records.

    after · 20% of words in common

    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.

  • list_paymentschangedtitle, description, input schema, output schema, annotationsmeaning changed
    before

    List a bounded page of operational payment records in the authenticated user's organization, most recent first. Returns only the payment, client, and salon references needed for workflow chaining, time, amount, currency, and status. It cannot charge, refund, transfer, or otherwise move funds. Cardholder data, processor/customer ids, credentials, errors, discounts, staff commission splits, operator notes, and organization data are excluded server-side. Optionally filter by salonId, clientId, or time window; `hasMore` reports truncation.

    after · 16% of words in common

    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.

  • list_serviceschangedtitle, description, input schema, output schema, annotationsmeaning changed
    before

    List a bounded page of services offered across the authenticated user's organization. Returns only id, name, price, and salon reference. Internal metadata and organization data are excluded server-side. Optionally filter by salonId; results are capped by `limit` (default 50, maximum 100) and `hasMore` reports truncation.

    after · 16% of words in common

    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.

  • list_calendar_eventschangedtitle, description, input schema, output schema, annotationsmeaning changed
    before

    List a bounded page of non-appointment calendar blocks in the authenticated user's organization, earliest start time first. These events explain closures and extra-open periods that appointments alone cannot reveal. Returns only id, salon reference, type, scope (CHAIR/PROVIDER/SALON), effect (BLOCK/OPEN), all-day flag, and times. Free-text titles and notes, chair ids, staff ids, organization data, and private reasons are excluded server-side. Optionally filter by salonId or a startTime/endTime window; `hasMore` reports truncation.

    after · 20% of words in common

    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.

  • get_appointmentchangedtitle, description, input schema, output schema, annotationsmeaning changed
    before

    Fetch one tenant-scoped HairDora appointment by an id returned from list_appointments. Returns its client and salon references, times, status, and up to 50 attached service summaries. Free-text notes, reminders, contact details, organization data, and payment data are excluded. Appointments owned by another organization are reported as not found.

    after · 20% of words in common

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

  • list_appointmentschangedtitle, description, input schema, output schema, annotationsmeaning changed
    before

    List a bounded page of appointments in the authenticated user's organization, most recent start time first. Returns only the appointment id, client and salon references needed for safe chaining, times, and status. Free-text notes, reminders, contact details, organization data, and payment details are excluded server-side. Optionally filter by salonId, clientId, or a startTime/endTime window; results are capped by `limit` (default 20, maximum 100) and `hasMore` reports truncation.

    after · 21% of words in common

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

  • get_clientchangedtitle, description, input schema, output schema, annotationsmeaning changed
    before

    Fetch one tenant-scoped HairDora client by an id returned from list_clients. Returns only the display name, salon reference, language, and last-edit time needed for client and appointment workflow chaining. Email, phone, address, operator notes, service/color history, organization data, and other profile fields are excluded. Clients owned by another organization are reported as not found.

    after · 25% of words in common

    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.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-23d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.hairdora.com/mcp streamable-httpnoneyes100%426 ms2026-07-282026-10-20

Tools (14)

get_appointmentread-onlyUse this when someone asks what services a specific appointment includes, their prices, or the appointment's status. Returns one appointment's client and salon ids, times, status and up to 50 booked services with prices. Not for finding bookings by date.
get_clientread-onlyUse 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.
get_salonread-onlyUse 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.
get_salon_availabilityread-onlyUse 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.
list_appointmentsread-onlyUse this when someone asks how many appointments are booked on a day or in a period, how many were canceled or no-shows, or when a client is booked. Returns appointments across all the user's salons, or just one, with id, client and salon ids, times and status for any date window, latest first, up to 100. Not for the services inside an appointment.
list_calendar_eventsread-onlyUse 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.
list_clientsread-onlyUse this when someone asks who their clients are, or needs a client id to look up that person's appointments, payments or quotes. Returns up to 100 clients (20 by default) across all the user's salons, or just one, with id, name, salon and last edit time, in no particular order and without a name search. Not for a client's email, phone or notes.
list_paymentsread-onlyUse 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.
list_providersread-onlyUse this when someone asks which stylists or hairdressers work at their salon or can be booked. Returns up to 100 hairdresser display names from the organization that owns the salon (no contact details or schedules). Not for stylists' days off.
list_quotesread-onlyUse 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.
list_salonsread-onlyUse 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.
list_servicesread-onlyUse 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.
open_hairdoraread-onlyUse 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.
show_salon_overviewread-onlyUse 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.hairdora/hairdora",
  "title": "HairDora Salon Scheduling",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.hairdora.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.1",
  "websiteUrl": "https://www.hairdora.com/developers/#mcp",
  "description": "See your salon's free slots, appointments, stylists, services, clients, quotes and payments."
}