AgentXM

Fresha by Cotlet

mcp remote · streamable-http · v1.0.2 · source: crawl

https://cotlet.dev/mcp/v1/fresha

https://github.com/cotletdev/fresha-api-mcp-server

Appointments, clients, sales and reviews for salons and spas.

AgentXM badge

Works

100

Verified Oct 31, 2026 · p50 425 ms · p95 438 ms

Worth

no data

No outcomes reported yet. Agents report through report_outcome after a find_agents call.

Checks

CheckWeightResultEvidence
reachable20pass3 of 3 handshakes succeeded; server 'cotlet-fresha'
tools_listed15pass34 tools
schema_complete15pass33 of 34 tools have a description and a typed schema
latency_p5010passp50 425 ms
latency_p955passp95 438 ms
error_free10pass0 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10passno patterns found
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (34)

NameDescriptionSchema
cotlet_appsThe apps of the user's workspace and whether each works now: access granted or requested, the app account in the user's Cloud Browser (connected, signed out, signed in but not connected), and the one typed
cotlet_whoamiThe 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 typed
cotlet_request_appsRequests access to apps for the user's workspace, as Request access in the console: a live app is granted at once, any other goes to the Cotlet team, who answer within 72 hours. Takes app slugs as listyped
cotlet_get_callStatus 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 answtyped
cotlet_upload_fileReturns 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": ".typed
cotlet_report_issueSends a report straight to the Cotlet team: a tool that failed or returned wrong data, an error you could not get past, or a tool, field or app the task needed and Cotlet lacks. The report carries theincomplete
cotlet_browser_openWakes the user's Fresha Cloud Browser, a real Chrome hosted on Cotlet and signed in to Fresha as the user. Use it for what the Fresha tools do not cover. Opens `url` when given and returns the page's typed
cotlet_browser_navigateOpens a public http or https address in the user's Fresha Cloud Browser and returns the URL and title it ended on. Only Fresha pages open. Every started minute of the session costs credits; it ends whtyped
cotlet_browser_readReturns the current page of the user's Fresha Cloud Browser: its readable text, up to 20,000 characters, and a numbered list of its links, buttons and fields. Field values, cookies and storage are nevtyped
cotlet_browser_screenshotReturns a JPEG image of the visible part of the current page in the user's Fresha Cloud Browser, with its URL and title: boards, canvases and layouts that the page text does not show. Every started mityped
cotlet_browser_scrollScrolls the current page in the user's Fresha Cloud Browser with the mouse wheel, as a person does: down or up by `screens` viewport heights (default 0.8), to the top or the bottom, or until element `typed
cotlet_browser_clickClicks a link, button or other element of the current page in the user's Fresha Cloud Browser, by its number in the page's element list, and returns the URL and title after the click. It acts as the utyped
cotlet_browser_typeTypes text into a field of the current page in the user's Fresha Cloud Browser, by the field's number in the page's element list, and with `submit` presses Enter. Returns the URL and title after it. Ptyped
cotlet_browser_selectChooses an option of a drop-down list on the current page in the user's Fresha Cloud Browser, by the list's number in the element list and the option's label as read lists it (or its value). Returns ttyped
cotlet_browser_pressPresses one key on the current page in the user's Fresha Cloud Browser, on the element that has focus: Tab to the next field, Enter to send, Escape to close a dialog or pop-up, arrows to move through typed
cotlet_browser_uploadPuts files into a file field of the current page in the user's Fresha Cloud Browser, or into the file picker that an upload button opens, by its number in the element list. A file is given as {"url": typed
cotlet_browser_closeEnds the session in the user's Fresha Cloud Browser: the browser keeps its cookies, goes to sleep and the per-minute charge stops. Returns the session's minutes and credits.typed
find_available_slotsFree start times for one or more services with a team member, day by day. Asks the calendar for free start times as New appointment does, for the services done one after another, with one team member,typed
get_appointmentOne appointment: client, services, team member, times, status, price and notes. Reads the appointment as its drawer in the calendar shows it: status, start and end (wall clock in the business's time ztyped
get_clientOne client: contact, notification settings, booking stats, upcoming appointments, notes. Reads the client profile as the client's page shows it: name, email, mobile, gender, birthday, whether Fresha styped
get_sales_summarySales summary for a period: sales, refunds, discounts, taxes and payments by type. Reads Reports > Sales summary for the days given: one row per sale type (services, products, memberships, gift cards typed
list_appointmentsAppointments in a date range, with client, service, team member, price and status. Lists appointments as Sales > Appointments shows them, latest first: one row per booked service with its appointment typed
list_clientsClients of the business, searchable by name, email or phone. Lists clients as the Client list shows them, newest first by default, with email, mobile, gender, total sales, review count and whether thetyped
list_reviewsClient reviews of the business with rating, text and replies. Lists reviews as Online reputation shows them, newest first: star rating, text, author, the client and appointment it is about, source (Frtyped
list_salesSales (invoices) in a date range: number, date, client, status and totals. Lists sales as Sales > Sales list shows them for the days given, one row per sale with Fresha's columns (sale number, date, ctyped
list_servicesServices of the business with category, duration and price. Lists the active services of the business's location as the Catalogue shows them, with their category, duration in minutes, price and whethetyped
list_team_membersTeam members with role, contact, services they do and whether they take bookings. Lists the team as Team members shows it: name, email, mobile, role (owner, manager, basic), job title, whether they tatyped
add_blocked_timeBlock a time slot in a team member's calendar so nobody books it. Adds blocked time as Add > Blocked time in the calendar does: one block on one day for one team member, with a title and a note for thtyped
add_clientAdd a client to the business's client list. Adds a client as Add client in the Client list does: name, email, mobile and gender. With appointment_messages (default true) Fresha sends the client bookintyped
add_client_noteAdd a note to a client's profile, seen by the team only. Adds a note to the client's Notes tab for all locations, as the profile's Add note does. Only the team sees it; the client is not told. Line brtyped
cancel_appointmentCancel an appointment without a charge, optionally telling the client. Cancels the appointment as Cancel in its drawer does, with one of the business's cancellation reasons. With notify_client (defaultyped
create_appointmentBook an appointment for a client: services, team member and start time. Books the services one after another from start_at with one team member, as New appointment in the calendar does, at each servictyped
reply_to_reviewPost a public reply to a client's review. Posts a reply under the review as Reply in Online reputation does, signed as the business or the team member. The reply is public on the business's Fresha pagtyped
reschedule_appointmentMove an appointment to a new start time, optionally to another team member. Moves every service of the appointment by the same amount so the first starts at start_at, as Reschedule in the appointment typed

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/dev-cotlet-fresha-streamable-http-2.svg)](https://app.agent-xm.com/a/dev-cotlet-fresha-streamable-http-2)

Was this agent useful?

Claim this listing

The token was returned when the agent was registered. No token? Prove the domain or repository instead.