Meevo has a Public API, but only after you send the request form with your Meevo Tenant ID and Millennium Systems reaches out with credentials (checked 11 Oct 2026). Cotlet is a hosted MCP server and REST API for Meevo with 14 endpoints (9 read, 5 write): your AI agent signs in as you and does the work.
Meevo has a Public API, but only after you send the request form with your Meevo Tenant ID and Millennium Systems reaches out with credentials (checked 11 Oct 2026). It can create, update and delete appointments and client profiles, but memberships, packages and gift cards are read-only, there is no Register checkout and no reports.
What Meevo's own tools do compared with Cotlet
Task
Meevo official
Cotlet
List a day's appointments
PartlyAppointments are retrievable; the Daily Data Stream add-on sends changes from the last 7 days
Yes
Find open slots for a service
PartlyNot on the capability list of the developer tools page
Yes
Book an appointment
YesAfter API access is granted
Yes
Reschedule or cancel an appointment
YesUpdate and delete, after API access is granted
Yes
Find a client and read their profile
YesAfter API access is granted
Yes
See a client's memberships, packages and gift cards
YesRead-only (client liabilities)
Yes
Sell a package in the Register
No
Yes
Pull the Register Summary for a day
PartlyRaw sale changes via the Daily Data Stream, no reports
Cotlet is best for salon and spa owners and managers who want an AI agent to handle bookings, schedule changes, package sales and daily Register totals in Meevo without running or fixing a server.
Daily appointment schedule for each stylist Runs: Daily
What does tomorrow look like for Alex? Flag any gap longer than an hour. Your agent calls list_staff and list_appointments.
Jamie Doe texted last night asking for a balayage with toner on Saturday or Sunday, before noon, with anyone but Chris. Find her in Meevo, check what fits and book it, or give me two options to send back. Your agent calls find_client, get_client, list_services, find_open_slots and book_appointment.
Alex called in sick for today and tomorrow. Move each of her clients to another stylist who does the same services at the same time, or the closest time that day, and show me the plan before you move anyone. Your agent calls list_staff, list_appointments, find_open_slots and reschedule_appointment.
Sell a package at the Register
Sell Jamie the 5 blowout package, paid in cash at the front desk. Your agent calls find_client, list_packages and sell_package.
Every night at 9, send me the Register Summary for both salons in one message, with each location against the same weekday last week, and flag anything that does not add up. Your agent calls list_locations and get_register_summary.
Endpoints
What is the Meevo API?
Cotlet's Meevo API exposes 14 endpoints for your own Meevo account: list locations, list services, list staff, list appointments, find open slots, find client, get client, list packages, get Register Summary, add visit note, book appointment, reschedule appointment, cancel appointment and sell package. The list_locations endpoint returns locations your login can reach, with address and time zone. Each endpoint takes simple JSON inputs like location_id, staff_id or client_id and works both as an MCP tool for agents and as a REST call for scripts.
Locations your login can reach, with address and time zone.
read
Returns every Meevo location your staff login can reach. Use location_id from each item as the location_id parameter of the other tools. Time zone is the one set on the location.
POST /api/v1/meevo/list_locations
Input
No parameters.
Example response
{
"locations": [
{
"location_id": "201",
"name": "Maple Street Salon",
"address": "12 Maple St, Hoboken, NJ",
"time_zone": "America/New_York"
},
{
"location_id": "202",
"name": "Harbor Spa",
"address": "88 Harbor Rd, Jersey City, NJ",
"time_zone": "America/New_York"
}
]
}
POST
list_services
Service menu of a location by category, with duration, price and add-ons.
read
Lists the service menu of one location grouped by category. Each service has its duration, price and add-ons. Use service_id with find_open_slots and book_appointment.
POST /api/v1/meevo/list_services
Input
Input: list_services
Parameter
Type
Description
location_id
string
Location ID from list_locations. Default: the location you signed in to.
Employees of a location with title and the services each one performs.
read
Lists the employees of one location with their title and the services each performs. Use staff_id to narrow list_appointments and find_open_slots, or to book with a specific employee.
POST /api/v1/meevo/list_staff
Input
Input: list_staff
Parameter
Type
Description
location_id
string
Location ID from list_locations. Default: the location you signed in to.
Appointments in the Appointment Book for a date range, with client, services, employee and confirmation status.
read
Returns appointments from the Appointment Book for one location, oldest start first. Canceled appointments are left out unless include_canceled is true. Confirmation status is the one Meevo shows on the appointment. Use appointment_id with reschedule_appointment and cancel_appointment.
POST /api/v1/meevo/list_appointments
Input
Input: list_appointments
Parameter
Type
Description
location_id
string
Location ID from list_locations. Default: the location you signed in to.
from required
date
First day, inclusive.
to
date
Last day, inclusive. Default: same as from.
staff_id
string
Only this employee.
include_canceled
boolean
Also return canceled appointments. Default: false.
Open times for a service in a date range, with the employees who can perform it.
read
Returns open start times for one service in a date range, earliest first, each with the employees free at that time. Without staff_id it searches every employee who performs the service. Use a start and staff_id from the result with book_appointment.
POST /api/v1/meevo/find_open_slots
Input
Input: find_open_slots
Parameter
Type
Description
location_id
string
Location ID from list_locations. Default: the location you signed in to.
service_id required
string
Service ID from list_services.
from required
date
First day to search.
to required
date
Last day to search.
staff_id
string
Only this employee. Default: anyone who performs the service.
Search clients by name, email or phone; returns contact details and client type.
read
Searches client profiles by name, email or phone and returns the matches with contact details and client type. Use client_id with get_client, book_appointment and sell_package. If several clients match, your agent should ask which one before it books.
Client profile with upcoming appointments, visit notes, memberships, packages, gift cards and points.
read
Returns one client profile with upcoming appointments, visit notes, memberships, packages, gift cards and points. Use it before booking or selling, so your agent sees what the client already owns.
Package and membership definitions of a location with price and included services.
read
Lists the packages and memberships you sell at one location, with price and included services. kind narrows the list. Use package_id with sell_package.
POST /api/v1/meevo/list_packages
Input
Input: list_packages
Parameter
Type
Description
location_id
string
Location ID from list_locations. Default: the location you signed in to.
The end-of-day Register Summary: sales by type, payment methods, membership sales, returns and deposits.
read
Returns the Register Summary of one location for one business day: sales by type, payments by method, membership sales, returns and deposits. Sales by type add up to total_sales, and payments add up to the same total. Reads one location per call.
POST /api/v1/meevo/get_register_summary
Input
Input: get_register_summary
Parameter
Type
Description
location_id
string
Location ID from list_locations. Default: the location you signed in to.
Adds an internal visit note to a client profile, for example a color formula. The note is visible to staff, not to the client. note_type must be one set up at your location. By default you confirm each call; you can switch that off for this tool.
Book one or more services for a client with an employee; Meevo sends your usual confirmation.
asks first write
Books one or more services in order for a client with one employee, starting at the time you give. Meevo sends your usual confirmation to the client. The call fails if the time is no longer free. By default you confirm each call; you can switch that off for this tool.
POST /api/v1/meevo/book_appointment
Input
Input: book_appointment
Parameter
Type
Description
client_id required
string
Client ID from find_client.
location_id
string
Location ID from list_locations. Default: the location you signed in to.
Moves one appointment to a new start time, a new employee, or both. The services stay the same. Meevo sends your usual confirmation for the changed appointment. By default you confirm each call; you can switch that off for this tool.
Cancel an appointment with one of your cancellation reasons.
asks first write
Cancels one appointment and records the reason you give. reason must be one set up at your location. Canceling affects the client's booking, so confirm it. By default you confirm each call; you can switch that off for this tool.
Ring up a package for a client in the Register and record the payment.
asks first write
Rings up one package for a client in the Register and records the payment. payment_type must match a payment type named in your Register. It moves money, so confirm it. By default you confirm each call; you can switch that off for this tool.
POST /api/v1/meevo/sell_package
Input
Input: sell_package
Parameter
Type
Description
client_id required
string
Client ID from find_client.
location_id
string
Location ID from list_locations. Default: the location you signed in to.
package_id required
string
Package ID from list_packages.
payment_type required
string
Payment type as named in your Register, e.g. Cash or Visa.
How do I connect Meevo to Claude Code, Codex or Cursor?
Connecting Meevo takes three steps: request access, sign in to Meevo once, then add one MCP server or call the REST API with the same key.
Connect Meevo over MCP
1
Create an account
Sign up and add Meevo in the console. Your API key is there too.
2
Sign in to Meevo once
Open the connect page from the console and sign in to Meevo the way you always do. We keep the session, never your password, and you can revoke it anytime.
Paste the snippet for your client. The same server and key serve every app you connect, so you do this once.
4
Ask your agent
Prompt
What does tomorrow look like for Alex? Flag any gap longer than an hour.
Ask in plain words. Your agent finds the Meevo tools on the server and calls them for you; anything that reaches other people waits for your OK unless you switch that off for a tool.
Call Meevo over REST
1
Export your API key
Shell
export COTLET_API_KEY="cotlet_..."
Your scripts use the same API key as your agent. Keep it in an environment variable, never in your code.
You get plain JSON back, ready for your script. A failed call costs nothing.
Why Cotlet
Why use Cotlet for Meevo? Hosted, safe and kept working.
Built for agents
One MCP server for every app you connect.
The same tools as a REST API for scripts and cron jobs.
Works with Claude Code, Codex and Cursor.
Your login stays yours
You sign in to Meevo yourself. We keep only the session, encrypted with AES-256.
The model never sees a login.
No stored passwords, no CAPTCHA solving, no MFA bypass.
You stay in control
Pick read only, or read and write.
Anything that reaches other people waits for your OK, unless you switch it off per tool.
Revoke access in one click.
Kept working for you
We test every integration daily.
When Meevo changes, the tool pauses until we fix it.
Failed calls cost nothing.
Alternatives
Is there a Meevo MCP server on GitHub?
No maintained community MCP server exists for Meevo; the alternative is requesting Meevo Public API access and building your own integration on it.
Cotlet compared with a Meevo Public API
Meevo Public API
Cotlet
Setup
Send the request form with your Tenant ID, wait for Millennium to reach out, then build against the docs
Request access, sign in to Meevo once in your browser
What it covers
Appointments and client profiles; memberships, packages and gift cards read-only
Calendar, clients, Register package sales and the Register Summary
Your Meevo session
App credentials you keep in your own code
Encrypted in an EU vault, limited to the actions you allow, revoked in one click
When the session expires
You renew credentials in your code
We keep it alive; if Meevo logs you out, your agent gets a link to sign in again
When Meevo changes
You update your code
Our team tests it daily and fixes it for you; failed calls are free
Where it runs
Your own server and code
Hosted: Claude Code, Codex, Cursor, n8n and scripts, also on a schedule
Price
Terms set by Millennium; overage charges above 1,000 calls a day per location
Free 7-day trial with 5,000 credits, then credits per call
Which one fits you
Pick Cotlet if
you are not a developer, or you do not want to maintain a server
you need it to keep working when Meevo changes, without checking it yourself
your agent or a script should run it on a schedule, also while your computer is off
Pick an open-source server if
you are comfortable installing, updating and fixing it yourself
you want the session to stay on your own computer
you only need it now and then, from one MCP client
For AI agents
Cotlet for Meevo in plain text The facts on this page in one block: status, endpoints, access, pricing, contact.
Endpoint health
verified 2h ago
list_locationspassing
list_servicespassing
list_staffpassing
list_appointmentspassing
find_open_slotspassing
+ 9 more endpoints
14/14 passing latest checkself-healing
meevo.txt
Meevo has a Public API, but only after you send the request form with your Meevo Tenant ID and Millennium Systems reaches out with credentials (checked 11 Oct 2026). It can create, update and delete appointments and client profiles, but memberships, packages and gift cards are read-only, there is no Register checkout and no reports.
Cotlet provides a hosted MCP server and REST API for Meevo: 14 tools (9 read, 5 write).
Access Request access at https://cotlet.dev/app/signup?app=meevo; we email the API key.
MCP server https://cotlet.dev/mcp/v1
REST base https://cotlet.dev/api/v1/meevo
Auth Authorization: Bearer <COTLET_API_KEY>. Listing endpoints and schemas needs no key; calling an endpoint needs one.
Tools list_locations, list_services, list_staff, list_appointments, find_open_slots, find_client, get_client, list_packages, get_register_summary, add_visit_note, book_appointment, reschedule_appointment, cancel_appointment, sell_package
Confirm add_visit_note, book_appointment, reschedule_appointment, cancel_appointment, sell_package (by default the user approves each call; the user can switch this off per tool, e.g. for scheduled automations)
Markdown https://cotlet.dev/integrations/meevo-api-mcp-server.md
How access works:
1. The user requests access at https://cotlet.dev/app/signup?app=meevo (Meevo is pre-selected). Each request is reviewed and the API key is sent by email.
2. The user signs in to Meevo once in a browser. An agent cannot do this step.
3. The API key goes into the MCP client or the REST call as a bearer token.
Fits: people who want a hosted Meevo server that someone else maintains, including non-developers.
Policy: Cotlet never stores passwords, never solves CAPTCHAs, never bypasses MFA.
Company: legal details in the Terms of service at https://cotlet.dev/terms. Contact contact@cotlet.dev.
Session: the user signs in to Meevo in a browser; Cotlet keeps only the session, AES-256 encrypted, revocable in the dashboard at any time.
Terms: the user stays responsible for following Meevo's terms; Cotlet is not affiliated with Meevo.
Can Meevo automations run on a schedule in n8n, Make or Zapier?
Yes. Cotlet does not replace your automation platform: it gives it a Meevo connection it does not have, with the same API key as your agent. Write actions ask for your OK by default; switch that off in your dashboard for the tools you choose, for example to daily appointment schedule for each stylist, and the schedule runs on its own. Cotlet runs in the cloud, so it keeps going while your computer is off.
Where to run Meevo automations through Cotlet, and how to schedule them
Where
How to connect
How to schedule
Your AI agent
Add https://cotlet.dev/mcp/v1 with your API key.
A scheduled agent run, for example a Claude Code routine.
n8n
MCP Client node with https://cotlet.dev/mcp/v1, or an HTTP Request node to https://cotlet.dev/api/v1/meevo/{tool}.
Schedule Trigger node.
Make
HTTP module: POST https://cotlet.dev/api/v1/meevo/{tool} with an Authorization: Bearer header and a JSON body.
Scenario schedule.
Zapier
Webhooks by Zapier: POST https://cotlet.dev/api/v1/meevo/{tool} with the same header and body.
Schedule by Zapier trigger.
Your own script
POST https://cotlet.dev/api/v1/meevo/{tool} with your API key.
cron or GitHub Actions.
Pricing & limits
How much does the Meevo API cost?
Free 7-day trial with 5,000 credits, no card needed. After that, the Meevo API comes with the Cotlet plan, from $29 a month for 3,000 credits, with no limit on apps. Each month's credits stay valid for 3 months, so unused credits add up.
Cotlet plan sizes: price, monthly credits and price per credit
Size
Price
Credits / month
Per credit
Solo
$29/mo
3,000
about $0.0097
Pro
$99/mo
12,000
about $0.0083
Agency
$299/mo
40,000
$0.0075
Each successful call uses credits for the work it takes; failed calls and timeouts cost nothing. A hard spend cap is on by default. Authenticate with the Authorization: Bearer header.
About Cotlet
How Cotlet holds your access
Cotlet hosts MCP servers and REST APIs for apps with no usable API. Your agent works in your own Meevo account.
Company details
The legal name, address and registration numbers of the company behind Cotlet are in the Terms of service. Terms
Your session
You sign in to Meevo yourself, in your browser. We keep only the session, never your password: encrypted with AES-256 in an EU vault, isolated to your account and used only when your agent calls a Meevo tool you allowed. When it expires, your agent gives you a link to sign in again. Security
Revoking access
Disconnect Meevo in your dashboard: the session is deleted and access ends at once. Actions that reach other people wait for your OK unless you switch that off per tool.
What we never do
Store passwords, solve CAPTCHAs or bypass MFA.
Meevo's terms
You use your own Meevo account and stay responsible for following Meevo's terms. Cotlet is independent and not affiliated with Meevo. Terms
Request access and pick Meevo. Cotlet reviews each request and emails you your API key.
Do I need to be technical?
No. You sign in to Meevo once in your browser and paste one command into your agent, or one URL into n8n. Your agent can walk you through it. There is no server to install, update or fix.
Is a hosted server safe? My Meevo session would leave my computer.
Cotlet keeps your Meevo session encrypted with AES-256 in an EU vault, isolated to your account and used only for the tools you allow: read only, or read and write. The AI model never sees it, and you revoke it in one click. A local server keeps the same session in a file on your computer, readable by any program you run, and needs a fresh sign-in whenever it expires.
Do I need Meevo API access to use Cotlet?
No. Cotlet works in your own Meevo account through your staff login, so you do not send the Meevo API request form or wait for Millennium. Your login needs security access to the areas your agent uses, for example the Register for package sales.
Does Cotlet hit the Meevo API call limits?
No. Cotlet does not use the Meevo Public API, so its per-location limit of 1,000 calls a day with overage charges and 60 calls a minute does not apply (checked 11 Oct 2026, docs.meevoapi.com).
Can my agent post or send messages in Meevo without asking me?
No. Every call to add_visit_note, book_appointment, reschedule_appointment, cancel_appointment or sell_package waits for your OK by default. For scheduled automations you can switch confirmation off per tool in your dashboard, for example only for approvals.
Can I use the Meevo API in n8n?
Yes. Add https://cotlet.dev/mcp/v1 with your API key in n8n's MCP Client node, or call https://cotlet.dev/api/v1/meevo/{tool} from the HTTP Request node.