Salonist MCP server Let your AI agent run the Salonist front desk.

Your AI agent books appointments from messages, finds free slots, covers a therapist's day off and finds clients who owe money or have sessions left. Sign in to Salonist once in your own Cloud Browser. No Expert plan, no developer.

  • Free 7-day trial, no card
  • Unofficial, not affiliated with Salonist
Salonist logo Salonist Cloud Browser

11 tools Read and write

Message to booking

What can your AI agent do in Salonist? The front desk work between the message and the chair.

  • Book appointments from messages

  • Find free slots for a service

  • Cover a therapist's day off

  • Find clients who owe money

  • Use up package sessions

  • Bill finished appointments

API on Expert

Does Salonist have an MCP server or an API? An API on Expert only, and no MCP server.

Salonist has no MCP server and no ChatGPT or Claude app. It lists API access only on its top Expert plan, and the public API docs cover mainly booking widget calls such as services, staff and free times (checked 8 Nov 2026). Cotlet runs 11 Salonist tools hosted, over MCP for agents and REST for scripts, in your own Salonist login on any plan.

  • Salonist's pricing shows "Custom Integrations & API Access" only under Expert.
  • Salonist has no Zapier app.
  • Salonist has no connector in the ChatGPT apps directory or in Claude.
The Salonist API, other options and Cotlet compared
What you need Salonist APIBy handCotlet
Services, staff and free times Expert plan Yes, one by one Yes
Book or move a booking Book only, Expert Yes, one by one Yes, after your OK
Clients, packages, what is owed Not documented Yes, one by one Yes
Ask in ChatGPT or Claude No No Yes
Developer needed Yes No No

Checked 8 Nov 2026. Sources: Salonist help: Does Salonist have an API for developers? · Salonist pricing · Salonist API docs

Set up once

How does the Salonist MCP server work? Your agent works in your own Salonist login.

  1. 1Sign in to Salonist

    Once, in a browser we host for you.

  2. 2Connect your AI agent

    One address in its settings.

  3. 3Hand it the busywork

    It drafts the work, you OK what customers get.

We never keep your Salonist password, and no booking, move, bill or package goes through until you approve it. Who can see your session

Any MCP client

How to connect Salonist to your AI agent

  1. 1

    Sign in to Salonist in a Cloud Browser. Create a Cotlet account, open Salonist in its Cloud Browser, sign in with your Salonist partner login on salonist.io and press Enable for agents.

  2. 2

    Add the Cotlet address. Enter https://cotlet.dev/mcp/v1 as the MCP server or connector URL in your agent.

  3. 3

    Let the agent in. Chat apps open a Cotlet sign-in page. Editors, n8n and scripts send an API key made in the console.

Salonist shares the address https://cotlet.dev/mcp/v1 with every other app you enable, so one connector covers them all. Turned Salonist on after connecting? Refresh the connector and the 11 tools appear.

Claude
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
ChatGPT
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
Cursor
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
Codex
# ~/.codex/config.toml
[mcp_servers.cotlet]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
n8n
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: salonist_read
Make, Zapier
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: salonist_write
5 read, 6 write

All 11 Salonist MCP tools

Appointments5

Free slots come from the calendar and blocked time. Bookings and moves wait for your OK; your notification settings decide what the client hears. Blocked time reaches no one, so it runs at once.

  • list_appointments Appointments for a day or range, by staff member. read

    Returns appointments with client, service, staff member, start time and status, in calendar order, online bookings included.

    MCP callsalonist_read → list_appointments

    REST endpointGET https://cotlet.dev/api/v1/salonist/appointments

    Parameters

    Parameters: list_appointments
    NameTypeDescription
    date_from string required string ISO date.
    date_to string string ISO date. Default: date_from.
    staff string string Staff member name.
    page integer integer Page number. Default: 1.

    Example input

    {
      "date_from": "date from"
    }

    Example response

    {
      "appointments": [
        {
          "appointment_id": "AP-55102",
          "client": "Fatima Al Mansoori",
          "service": "Hydrafacial",
          "staff": "Rania",
          "start": "2026-11-12T11:00",
          "status": "Confirmed"
        }
      ],
      "page": 1
    }
  • find_free_slots Open times for a service, optionally with one staff member. read

    Reads the calendar, blocked time included, and returns start times where the service fits.

    MCP callsalonist_read → find_free_slots

    REST endpointGET https://cotlet.dev/api/v1/salonist/free-slots/find

    Parameters

    Parameters: find_free_slots
    NameTypeDescription
    service string required string Service name as in your menu.
    date string required string ISO date.
    staff string string Staff member name.

    Example input

    {
      "service": "service",
      "date": "date"
    }

    Example response

    {
      "service": "Gel manicure",
      "slots": [
        {
          "staff": "Joy",
          "start": "2026-11-13T15:00"
        },
        {
          "staff": "Rania",
          "start": "2026-11-13T17:30"
        }
      ]
    }
  • book_appointment Books a service for a client with a staff member. writeasks first

    Creates the appointment on the calendar, the way New Booking does. Your Salonist notification settings decide whether the client gets a message. By default you confirm each call; you can switch that off for this tool.

    MCP callsalonist_write → book_appointment

    REST endpointPOST https://cotlet.dev/api/v1/salonist/clients/{client_id}/appointments

    Parameters

    Parameters: book_appointment
    NameTypeDescription
    client_id string required string Client ID from list_clients.
    service string required string Service name.
    staff string required string Staff member name.
    start string required string ISO date and time from find_free_slots.
    note string string Booking note.

    Example input

    {
      "client_id": "CL-8853",
      "service": "Gel manicure",
      "staff": "Joy",
      "start": "2026-11-13T15:00"
    }

    Example response

    {
      "appointment_id": "AP-55160",
      "client": "Layla Haddad",
      "service": "Gel manicure",
      "staff": "Joy",
      "start": "2026-11-13T15:00",
      "status": "Confirmed"
    }
  • reschedule_appointment Moves an appointment to a new time or staff member. writeasks first

    Edits the appointment on the calendar. Your notification settings decide whether the client hears about it. By default you confirm each call; you can switch that off for this tool.

    MCP callsalonist_write → reschedule_appointment

    REST endpointPOST https://cotlet.dev/api/v1/salonist/appointments/{appointment_id}/reschedule

    Parameters

    Parameters: reschedule_appointment
    NameTypeDescription
    appointment_id string required string Appointment ID from list_appointments.
    start string required string New ISO date and time.
    staff string string New staff member. Default: unchanged.

    Example input

    {
      "appointment_id": "appointment_8c41d2",
      "start": "start"
    }

    Example response

    {
      "appointment_id": "AP-55102",
      "start": "2026-11-14T12:00",
      "staff": "Rania",
      "status": "Confirmed"
    }
  • block_time Blocks time on a staff calendar. write

    Adds blocked time, for example a break or training, so no one books into it. Reaches no client, so it runs at once.

    MCP callsalonist_write → block_time

    REST endpointPOST https://cotlet.dev/api/v1/salonist/time/block

    Parameters

    Parameters: block_time
    NameTypeDescription
    staff string required string Staff member name.
    from string required string ISO date and time.
    to string required string ISO date and time.
    reason string string Reason shown on the calendar.

    Example input

    {
      "staff": "staff",
      "from": "from",
      "to": "to"
    }

    Example response

    {
      "staff": "Joy",
      "from": "2026-11-15T13:00",
      "to": "2026-11-15T14:00",
      "reason": "Training"
    }

Clients3

Search matches name, phone and email, so a returning client is found before a duplicate is made. Outstanding payments and package sessions come with each client.

  • list_clients Clients, searchable by name, phone or email. read

    Returns clients with ID, contact details, last visit and outstanding balance.

    MCP callsalonist_read → list_clients

    REST endpointGET https://cotlet.dev/api/v1/salonist/clients

    Parameters

    Parameters: list_clients
    NameTypeDescription
    query string string Name, phone or email.
    not_visited_days integer integer Only clients with no visit in this many days.
    with_outstanding boolean boolean Only clients who owe money.
    page integer integer Page number. Default: 1.

    Example response

    {
      "clients": [
        {
          "client_id": "CL-8841",
          "name": "Fatima Al Mansoori",
          "phone": "+971 50 555 0142",
          "last_visit": "2026-10-21",
          "outstanding": "0.00"
        }
      ],
      "page": 1
    }
  • get_client One client with visits, packages and outstanding payments. read

    Returns the client record: contact details, notes, past services, active packages with sessions left, and what they owe.

    MCP callsalonist_read → get_client

    REST endpointGET https://cotlet.dev/api/v1/salonist/clients/{client_id}

    Parameters

    Parameters: get_client
    NameTypeDescription
    client_id string required string Client ID from list_clients.

    Example input

    {
      "client_id": "client_8c41d2"
    }

    Example response

    {
      "client_id": "CL-8841",
      "name": "Fatima Al Mansoori",
      "packages": [
        {
          "name": "Hydrafacial x6",
          "sessions_left": 3
        }
      ],
      "outstanding": "0.00",
      "history": [
        {
          "service": "Hydrafacial",
          "staff": "Rania",
          "date": "2026-10-21"
        }
      ]
    }
  • create_client Adds a new client. write

    Creates the client record. Search list_clients first so a returning client does not become a duplicate. Reaches no one, so it runs at once.

    MCP callsalonist_write → create_client

    REST endpointPOST https://cotlet.dev/api/v1/salonist/clients

    Parameters

    Parameters: create_client
    NameTypeDescription
    name string required string Full name.
    phone string string Mobile number.
    email string string Email.

    Example input

    {
      "name": "Jane Doe"
    }

    Example response

    {
      "client_id": "CL-8907",
      "name": "Sara Khan",
      "phone": "+971 55 555 0199"
    }

Billing and packages3

Bills and packages wait for your OK. Taking the payment stays with your front desk.

  • create_bill Raises the bill for a completed appointment. writeasks first

    Generates the invoice for the services done, the way the calendar does after an appointment. Taking the payment stays with your front desk. By default you confirm each call; you can switch that off for this tool.

    MCP callsalonist_write → create_bill

    REST endpointPOST https://cotlet.dev/api/v1/salonist/appointments/{appointment_id}/bills

    Parameters

    Parameters: create_bill
    NameTypeDescription
    appointment_id string required string Appointment ID from list_appointments.
    products array array Retail products sold with the visit.

    Example input

    {
      "appointment_id": "appointment_8c41d2"
    }

    Example response

    {
      "bill_id": "B-30418",
      "client": "Fatima Al Mansoori",
      "total": "650.00",
      "currency": "AED",
      "status": "Unpaid"
    }
  • assign_package Assigns a package to a client. writeasks first

    Adds the package from your package list to the client, ready to bill at the front desk. By default you confirm each call; you can switch that off for this tool.

    MCP callsalonist_write → assign_package

    REST endpointPOST https://cotlet.dev/api/v1/salonist/clients/{client_id}/package/assign

    Parameters

    Parameters: assign_package
    NameTypeDescription
    client_id string required string Client ID from list_clients.
    package string required string Package name as in your list.

    Example input

    {
      "client_id": "client_8c41d2",
      "package": "package"
    }

    Example response

    {
      "client_id": "CL-8907",
      "package": "Laser hair removal x8",
      "status": "Assigned"
    }
  • list_services Your service menu with durations and prices. read

    Returns services by category with duration and price, so the agent books the exact service name.

    MCP callsalonist_read → list_services

    REST endpointGET https://cotlet.dev/api/v1/salonist/services

    Parameters

    Parameters: list_services
    NameTypeDescription
    category string string Service category.

    Example response

    {
      "services": [
        {
          "name": "Gel manicure",
          "category": "Nails",
          "duration_min": 45,
          "price": "120.00"
        }
      ]
    }
Encrypted, revocable

Who can see my Salonist session, and how do I revoke it?

  • What we store

    Your signed-in Salonist profile, AES-256-GCM encrypted, in Finland. No password.

  • What your agent gets

    The 11 Salonist tools, never the session cookie.

  • What the session sees

    What your login sees: calendar, clients, bills, packages, services.

  • What no tool touches

    Taking payments, refunds, payroll, marketing sends, deletes.

  • If Salonist signs you out

    You sign in again yourself, in the same Cloud Browser.

  • How to cut access

    Disable for agents, reset the browser, or change your Salonist password.

Cotlet never types your password: you sign in yourself, and the agent only uses the session. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results).

Tested every 12 h

What happens when Salonist changes? We repair the tool; your prompts stay the same.

between tests of the Salonist reads
12 h
between tests of sends a customer would notice
24 h
for a call to a Salonist tool paused for repair
$0

When Salonist moves a button on the calendar or renames a billing screen, we fix the tool and your agent calls it the same way. status.cotlet.dev checks the site, console and API every 3 minutes.

4 tools ask first

Approvals, undo and mistakes Customers get nothing until you say so.

  1. 01 Reads Saturday's appointments For the therapist who is off.
  2. 02 Finds free slots With others who do the same service.
  3. 03 Proposes the moves And lists what does not fit.
  4. 04 Waits, then moves The batch shows up in your Cotlet console first.
Which Salonist actions can be undone
ActionUndo
Book an appointmentYes, cancel it
Move an appointmentMove it back; a message already sent stays sent
Create a bill or assign a packageYes, void it in Salonist before payment
Add a client or blocked timeYes, edit it in Salonist

4 of 11 tools ask first: book_appointment, reschedule_appointment, create_bill, assign_package. New clients and blocked time reach no customer, so they run at once. You can turn the wait off per tool once you trust a routine.

MCP call
{
  "name": "book_appointment",
  "arguments": {
    "client_id": "CL-8853",
    "service": "Gel manicure",
    "staff": "Joy",
    "start": "2026-11-13T15:00"
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/salonist/clients/CL-8853/appointments \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"service":"Gel manicure","staff":"Joy","start":"2026-11-13T15:00"}'
Response
{
  "appointment_id": "AP-55160",
  "client": "Layla Haddad",
  "service": "Gel manicure",
  "staff": "Joy",
  "start": "2026-11-13T15:00",
  "status": "Confirmed"
}

A cron job or n8n flow can call the same tools over REST at /api/v1/salonist with the same key and price, in JSON. Failed calls are free. Each tool row above shows its REST path.

Pay per call

How much does the Salonist MCP server cost?

About $54 a monthfor a beauty studio with 6 therapists, 9,370 credits. Your Salonist plan stays as it is.

A month of Salonist front desk work for a 6-therapist studio, in credits
JobCallsCredits
Booking from a message3 × 1504,500
Appointment moved3 × 451,350
Bills for finished visits, daily5 × 261,300
Outstanding payments, weekly8 × 4320
Unused package sessions, weekly10 × 4400
Cloud Browser, 30 days1,500
Total9,370
  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • Works on any Salonist plan, no Expert needed

Salonist publishes no booking counts, so the month is our example. Dollars at the $29 pack rate.

Cotlet credit packs: price, credits and calls at 10 credits each
Credits Price, one time Calls at 10 credits Per 1,000 credits
5,000 $29 500 $5.80
15,000 $79 1,500 $5.27
32,000 $149 3,200 $4.66
60,000 $249 6,000 $4.15

Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.

Other options

Salonist MCP server on GitHub, Zapier or hosted: which to use The API needs Expert and a developer.

Other ways to connect Salonist, checked 8 Nov 2026
OptionWhat it doesWhere it stops
Salonist APIBooking widget calls for your own developer.Expert plan only; little beyond services, staff and bookings.
Salonist AI receptionistSalonist's own add-on that answers clients on WhatsApp.Works inside Salonist; not your ChatGPT or Claude.
By handEvery screen of Salonist, one booking at a time.Your front desk's time.

If you are on Expert and have a developer, the API is enough for a booking widget. To book, reschedule and follow up from ChatGPT or Claude this week, Cotlet works in the Salonist account you already have.

EU company, since 2019

Who runs Cotlet A company you can look up.

Take Group sp. z o.o. runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), in business since 2019, led by its founders Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the Salonist tools go to contact@cotlet.dev.

Salonist MCP server: questions

How do I get access?

Sign up free at https://cotlet.dev, open Salonist under Integrations in the console and sign in to Salonist in its Cloud Browser. The trial starts with your first app and asks for no card.

How do I connect Salonist to ChatGPT or Claude?

Sign up at cotlet.dev, log in to Salonist once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your Salonist account through Cotlet, in their phone apps too.

What can ChatGPT do in Salonist?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Salonist: book appointments from WhatsApp messages; cover a staff member's day off; chase outstanding payments. You ask in plain words, and anything that reaches other people waits for your OK first.

Is there an official ChatGPT or Claude app for Salonist?

No. Salonist has no ChatGPT or Claude connector of its own and Salonist has no official MCP server (checked 8 Nov 2026). Cotlet is an independent one that works in ChatGPT, Claude, Cursor and any MCP client, on your signed-in account.

Can ChatGPT book appointments in Salonist?

Yes, with Cotlet. ChatGPT finds the client, checks free slots for the service and books it with the staff member you name. Booking waits for your OK by default.

Can ChatGPT reschedule appointments in Salonist?

Yes, with Cotlet. ChatGPT moves appointments to a new time or another staff member, for example when someone is off, after your OK.

Can ChatGPT find clients who owe money in Salonist?

Yes, with Cotlet. ChatGPT lists clients with outstanding payments or unused package sessions, with their last visit, so your front desk knows whom to call.

Do I need the Salonist Expert plan to use Cotlet?

No. Cotlet works through your own Salonist login on any plan, so you do not need Expert plan API access or a developer. It can do what your login can do in Salonist.

Does it work with Salonist's AI receptionist?

Yes. The receptionist answers clients inside Salonist; Cotlet lets ChatGPT or Claude work in the same account. A booking it makes shows up for your agent like any other.

Is the MCP server different from the REST API?

Only in how it is called. Both carry the same 11 tools, inputs, answers, API key and price. Agents use MCP; scripts and HTTP steps use REST.

Is Cotlet affiliated with Salonist?

No. Cotlet is independent and not affiliated with Salonist.

Hand the Salonist front desk to your agent.

Free 7-day trial with 2,000 credits, no card needed.