Booksy MCP Server and API by Cotlet
Server Details
Booksy MCP server for ChatGPT, Claude and any AI agent: list bookings, create booking, reschedule booking, reply to review and read reports in your own Booksy account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Booksy yourself; Cotlet does not store your password and you need no Booksy API key. About the official Booksy API: Booksy has no self-serve API for business owners (checked 11 Oct 2026). It runs a partner API whose docs at docs.booksy.com ask for a login, so you cannot get keys for your own account. Setup and FAQ: https://cotlet.dev/integrations/booksy-api-mcp-server
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- cotletdev/booksy-api-mcp-server
- GitHub Stars
- 6
- Server Listing
- Booksy MCP Server
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 31 tools
The five booksy_* tools are named like actions ('create_booking', 'list_bookings') but only return step-by-step instructions, while cotlet_app_guide explicitly 'covers these actions: List bookings, Create booking, Reschedule booking, Reply to review, Read reports' — so each booksy_* tool duplicates the guide and agents will plausibly call the wrong one expecting real data. Within the cotlet_browser_* family the boundaries are better (type vs fill_form vs select, read vs find vs screenshot) and descriptions help, but the instruction-vs-action split remains confusing.
All tool names are lowercase snake_case with a predictable domain prefix: 'booksy_*' for the app-specific tools and 'cotlet_browser_*' / 'cotlet_*' for the platform. The only minor deviation is that the platform-level tools mix verb_noun (report_issue, upload_file, get_call) with noun-only names (apps, balance, whoami, app_guide), but the grouping is still readable and consistent overall.
31 tools is heavy, though roughly 19 of them are granular browser primitives (click, type, scroll, drag, etc.) that genuinely need to be separate. The padding comes from five booksy_* instruction-only tools that largely restate what cotlet_app_guide already delivers, which is surface area that could be collapsed into one tool plus arguments.
The browser automation surface is close to complete for its purpose (navigation, tabs, forms, uploads/downloads, JS extraction, waiting), with minor gaps like frame switching and field clearing. The Booksy action list, however, has notable holes: no cancel booking, no get/view single booking, and no client or service management, which are core lifecycle operations for a booking system.
Publisher details
- Operator
- Cotlet.dev
- Operator website
- https://cotlet.dev
- Vendor relationship
- Independent
- Trust center
- https://cotlet.dev/security
- Restrictions
- Needs a Cotlet account (free trial, then credits). The user signs in to Booksy once in their own Cotlet Cloud Browser; no Booksy API key or paid Booksy plan is needed.
Available Tools
31 toolsbooksy_create_bookingCreate booking in BooksyARead-onlyIdempotentInspect
Create booking in the user's own Booksy account from ChatGPT, Claude or any AI agent. Returns how to do it in Booksy step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Booksy Cloud Browser. Booksy's official API: Booksy has no self-serve API for business owners (checked 11 Oct 2026).
Inputs: no named parameters.
booksy_list_bookingsList bookings in BooksyARead-onlyIdempotentInspect
List bookings in the user's own Booksy account from ChatGPT, Claude or any AI agent. Returns how to do it in Booksy step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Booksy Cloud Browser. Booksy's official API: Booksy has no self-serve API for business owners (checked 11 Oct 2026).
Inputs: no named parameters.
booksy_read_reportsRead reports in BooksyARead-onlyIdempotentInspect
Read reports in the user's own Booksy account from ChatGPT, Claude or any AI agent. Returns how to do it in Booksy step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Booksy Cloud Browser. Booksy's official API: Booksy has no self-serve API for business owners (checked 11 Oct 2026).
Inputs: no named parameters.
booksy_reply_to_reviewReply to review in BooksyARead-onlyIdempotentInspect
Reply to review in the user's own Booksy account from ChatGPT, Claude or any AI agent. Returns how to do it in Booksy step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Booksy Cloud Browser. Booksy's official API: Booksy has no self-serve API for business owners (checked 11 Oct 2026).
Inputs: no named parameters.
booksy_reschedule_bookingReschedule booking in BooksyARead-onlyIdempotentInspect
Reschedule booking in the user's own Booksy account from ChatGPT, Claude or any AI agent. Returns how to do it in Booksy step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Booksy Cloud Browser. Booksy's official API: Booksy has no self-serve API for business owners (checked 11 Oct 2026).
Inputs: no named parameters.
cotlet_app_guideCotlet: how to work in an appARead-onlyIdempotentInspect
How to work in an app by clicking in the user's Cloud Browser with Cotlet's browser tools: which browser to use for this workspace and the sign-in link, the method step by step, the app's screens, menus and actions, notes, and the app's dedicated tools when Cotlet has them. Call it before the first browser step in an app. Works for any web app; one outside Cotlet's catalog gets the general method. Free, no browser session. For Booksy it covers these actions: List bookings, Create booking, Reschedule booking, Reply to review, Read reports.
Inputs: app, task.
cotlet_appsCotlet: apps I can useBRead-onlyInspect
The apps of the user's workspace and whether each works now: the app account in the user's Cloud Browser (connected, signed out, signed in but not connected), and the one step the user has to take, with the console link. Free. Needs the user's Cotlet API key or sign-in.
Inputs: app.
cotlet_balanceCotlet: credit balanceARead-onlyInspect
The user's current credit balance. Free. Needs the user's Cotlet API key or sign-in.
Inputs: no named parameters.
cotlet_browser_clickClick on the pageADestructiveInspect
Clicks element element, or point x, y of the screenshot; double double-clicks, button: right right-clicks. Answers the page after it: the elements and text in view, with the same numbers. Says when nothing changed. A link that would open a new tab opens in this one. Buttons that pay or buy, and sign-in and account pages, are refused.
Inputs: x, y, app, button, +4 more.
cotlet_browser_closeClose the browserAIdempotentInspect
Ends the browser session when the task is done: the browser keeps its cookies and sleeps, and the per-minute charge stops. Answers the session's minutes and credits.
Inputs: app.
cotlet_browser_downloadDownload a fileADestructiveInspect
Gets the file that clicking element (a download link or button) or opening url starts, also an image or PDF it only opens: answers its name, type, size and a link valid 15 minutes; CSV, JSON and other text files also as text.
Inputs: app, url, element.
cotlet_browser_dragDrag on the pageADestructiveInspect
Drags from one element or point to another: a card between columns, a piece on a board, a slider's handle. Answers the page after it: the elements and text in view, with the same numbers.
Inputs: to (required), from (required), app, dialog, +1 more.
cotlet_browser_evaluateRun a script on the pageADestructiveInspect
Runs a JavaScript function body on the page and answers what it returns, as JSON. Use it to extract data the page holds (a table, a list, attributes); act with the other tools. It cannot send requests, click, submit, or read cookies or storage; a filled field's value reads [hidden by Cotlet]. Example: return [...document.querySelectorAll('h2')].map(h => h.innerText)
Inputs: script (required), app.
cotlet_browser_fill_formFill in a formADestructiveInspect
Fills several fields in one step: text fields take text, drop-downs an option's label, checkboxes, radios and switches true or false. Stops at the first field that fails and names those filled. Does not send the form: click its button after. Answers the page after it: the elements and text in view, with the same numbers.
Inputs: fields (required), app, dialog, dialog_text.
cotlet_browser_findFind on the pageARead-onlyIdempotentInspect
Finds text on the whole current page, frames included: the elements whose label holds it, with their numbers, and each line of text that holds it. Use it instead of reading or scrolling a long page for one thing.
Inputs: text (required), app, kind.
cotlet_browser_hoverPoint at the pageARead-onlyIdempotentInspect
Rests the pointer on an element or a point, to open a hover menu, a tooltip or a preview. Answers the page after it: the elements and text in view, with the same numbers.
Inputs: x, y, app, element.
cotlet_browser_openOpen the browserARead-onlyInspect
Starts the user's Cloud Browser (a real Chrome on Cotlet, where the user is signed in to their sites) and opens url. Call it first. The URL goes to the site's open tab, else to a new tab, so the user's own tabs stay. Answers the page after it: the elements and text in view, with the same numbers. In Booksy it serves these actions: List bookings, Create booking, Reschedule booking, Reply to review, Read reports.
Inputs: app, url.
cotlet_browser_pressPress a keyADestructiveInspect
Presses a key on the focused element: Enter to send, Tab to the next field, Escape to close a pop-up, arrows in a list or slider, or one character (a site's shortcut). Answers the page after it: the elements and text in view, with the same numbers.
Inputs: key (required), app, dialog, repeat, +1 more.
cotlet_browser_readRead the pageARead-onlyIdempotentInspect
The whole current page: its text (up to 20,000 characters) and a numbered list of its links, buttons, fields and other controls, open dialogs first. Use it on a new page or when a step's answer is not enough; element reads only inside one element (a dialog, a form, a list). Never returns field values, cookies or storage.
Inputs: app, element.
cotlet_browser_screenshotSee the pageARead-onlyIdempotentInspect
A JPEG of the visible part of the page. Use it for boards, canvases, maps, charts and layout that the text does not show, then click or drag by x, y of the image.
Inputs: app.
cotlet_browser_scrollScroll the pageARead-onlyIdempotentInspect
Scrolls with the mouse wheel: down or up by screens, to top or bottom, until element is in view, or inside a panel or list (inside). Content that loads on scroll appears. Answers the page after it: the elements and text in view, with the same numbers.
Inputs: app, inside, element, screens, +1 more.
cotlet_browser_selectChoose from a listADestructiveInspect
Chooses option (its label as listed, or its value) in drop-down element. For a home-made drop-down, click it, then click the option. Answers the page after it: the elements and text in view, with the same numbers.
Inputs: option (required), element (required), app, dialog, +1 more.
cotlet_browser_tabsBrowser tabsAInspect
The tabs of the user's web browser, where they keep their signed-in sites open. list (default) answers each tab's id, URL and title and which is shown; switch with tab shows that tab, and every later step acts on it; new with url opens a tab (at most 8); close with tab closes it. Work in the tab of the site the task is about and close only the tabs you opened.
Inputs: tab, url, action.
cotlet_browser_typeType on the pageADestructiveInspect
Types text into field element, replacing what it held; submit presses Enter after it. For several fields use fill_form. Without element the text goes where the focus is, as a person types after clicking: for spreadsheet cells and editors that read does not number (Google Sheets, Docs), click the place first; there a tab in text presses Tab and a line break Enter, so one call fills a table. Answers the page after it: the elements and text in view, with the same numbers. Password, card and one-time code fields are refused: the user types them.
Inputs: text (required), app, dialog, slowly, +3 more.
cotlet_browser_uploadUpload a fileADestructiveInspect
Puts files into file field or upload button element: each file is {"url": "https://..."} or {"file_id": "..."} of a file uploaded to Cotlet; up to 10 files, 20 MB each. Answers the page after it: the elements and text in view, with the same numbers.
Inputs: files (required), element (required), app.
cotlet_browser_waitWait for the pageARead-onlyIdempotentInspect
Waits until text shows on the page (at most seconds, default 5, up to 20), or just seconds: for results that load slowly. Says whether the text appeared. Answers the page after it: the elements and text in view, with the same numbers.
Inputs: app, text, seconds.
cotlet_get_callCotlet: check a callARead-onlyInspect
Status of an earlier Cotlet call, by its call_id: pending (waits for the owner's approval in the Cotlet console), approved, running, success, rejected, expired, blocked or failed. For a call that answered with status pending or running.
Inputs: call_id (required).
cotlet_report_issueCotlet: report a bug or a missing featureAInspect
Sends a report to the Cotlet team: a tool that failed or returned wrong data, an error you could not get past, or a step the browser could not do, with the page, the step and what you saw. A missing dedicated tool is not a problem to report: do the task in the browser. A feature the user asks for goes as feature_request. A report promises nothing: tell the user it was sent, never that something will be built or fixed, or when. The report carries the error text and call_id when there is one, never passwords or tokens. Needs the user's Cotlet API key or sign-in.
Inputs: kind (required), title (required), description (required), app, +3 more.
cotlet_upload_fileCotlet: upload a file for a toolAInspect
Returns a one-time upload_url and a file_id for a local file (an image for a post, an attachment). The file is sent to upload_url with an HTTP PUT; an argument that takes a file accepts {"file_id": "..."}. Up to 25 MB, the URL works once. Free. Needs the user's Cotlet API key or sign-in.
Inputs: name, content_type.
cotlet_whoamiCotlet: who am IARead-onlyInspect
The Cotlet account this connection acts as: email, workspace, access status, the API key or OAuth client in use with its scope, the apps the workspace may call and its credit balance. Free. Needs the user's Cotlet API key or sign-in.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Phorest MCP server for ChatGPT, Claude and any AI agent: book appointment, reschedule appointment, list clients, find free slots and add client note in your own Phorest account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Phorest yourself; Cotlet does not store your password and you need no Phorest API key. About the official Phorest API: Phorest has an API, but credentials come only through Phorest Support with your account number, and Phorest says integration needs your own development team (checked 8 Nov 2026). It has no webhooks and no official MCP server. Setup and FAQ: https://cotlet.dev/integrations/phorest-api-mcp-server
Fresha MCP server for ChatGPT, Claude and any AI agent: list appointments, create appointment, reschedule appointment, list clients and get sales summary in your own Fresha account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Fresha yourself; Cotlet does not store your password and you need no Fresha API key. About the official Fresha API: Fresha has no public API and no developer docs (checked 11 Oct 2026). Its only official data connection is the paid Data Connector add-on, which syncs your data out to reporting tools through a Snowflake database connection. Setup and FAQ: https://cotlet.dev/integrations/fresha-api-mcp-server
Appointy MCP server for ChatGPT, Claude and any AI agent: book appointment, reschedule appointment, find free slots, list customers and cancel appointment in your own Appointy account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Appointy yourself; Cotlet does not store your password and you need no Appointy API key. About the official Appointy API: Appointy lists private API access only on its top Enterprise plan (checked 8 Nov 2026). On other plans it connects through a Zapier app whose only action creates a customer. Setup and FAQ: https://cotlet.dev/integrations/appointy-api-mcp-server
Bokadirekt MCP server for ChatGPT, Claude and any AI agent: list bookings, create booking, move booking, cancel booking, find available times, list customers, send booking message and list waitlist in your own Bokadirekt account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Bokadirekt yourself; Cotlet does not store your password and you need no Bokadirekt API key. About the official Bokadirekt API: Yes, but it only reads. Bokadirekt has a Merchant API (checked 31 Oct 2026) that returns bookings, customers, sales, staff, services and locations and sends webhooks, but it cannot create, move or cancel a booking. Setup and FAQ: https://cotlet.dev/integrations/bokadirekt-api-mcp-server
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables ChatGPT, Claude and other AI agents to work inside a signed-in Eversports Studio Manager account through Cotlet — viewing studio activities and sign-in lists, signing participants in, pausing or resuming memberships, and emailing invoices, with user approval before any change is saved. It runs as a hosted connector or a local stdio server that forwards tool calls to Cotlet.7Elastic 2.0
- AlicenseCqualityCmaintenanceEnables AI assistants to read a salon's Booksy Biz calendar, staff schedules, clients, payments and reports through the user's own logged-in browser tab, without extracting session tokens or spoofing browser fingerprints.89MIT
- AlicenseAqualityCmaintenanceConnects a signed-in Mangomint account to Claude Code, ChatGPT, Cursor and other AI agents so they can book and move appointments, check daily schedules and stylist gaps, reply to client messages, and pull client lists using plain language. No Mangomint API key or public API is required, since the server works directly inside the user's own Mangomint account.7Elastic 2.0
- AlicenseAqualityBmaintenanceEnables AI agents and scripts to manage bookings, provider assignment, rescheduling, cancellations, customers, quotes, invoices, and dashboard data through a self-hosted API and MCP interface using your own Chrome session.217131 PyPI6Elastic 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.