How to connect Fresha to Claude Code, ChatGPT and any AI agent
Yes, Claude, ChatGPT and other AI agents can work in your Fresha account. Fresha's official ChatGPT and Claude apps help customers find and book appointments, not run your business. Cotlet.dev connects your own signed-in Fresha account to any AI agent, so the AI books, reschedules and looks up clients for you.
What you can ask
Book Maria Lopez for a gel manicure with Chloe on Thursday at 11 am.
Move all of Tom's Monday appointments to Wednesday at the same times.
How busy are we next week? Show which team member has the most free slots.
Which clients haven't visited in 60 days? List them with their last service and phone number.
Add a note to Priya Shah's client profile: allergic to latex, prefers afternoon slots.
Connect in 2 minutes
Get your API key at https://cotlet.dev/app and export it as COTLET_API_KEY.
Claude Code
claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1 --header "Authorization: Bearer $COTLET_API_KEY"
ChatGPT
Settings → Apps → add connector URL https://cotlet.dev/mcp/v1, then sign in with Cotlet.dev. No API key needed.
Cursor
Copy .cursor/mcp.json from this repo into your project:
{
"mcpServers": {
"cotlet": {
"url": "https://cotlet.dev/mcp/v1",
"headers": {
"Authorization": "Bearer ${COTLET_API_KEY}"
}
}
}
}
Run it locally (stdio)
This repo is a real MCP server. It speaks MCP over stdio, lists its Fresha tools without any key, and forwards every tool call to the hosted Cotlet.dev server. The hosted URL above stays the recommended way. Use this when your client only starts local servers.
{"mcpServers":{"fresha":{"command":"uvx","args":["fresha-mcp"],"env":{"COTLET_API_KEY":"your-key"}}}}
Or with Docker:
docker build -t fresha-mcp .
docker run -i --rm -e COTLET_API_KEY fresha-mcp
Tools: fresha_guide, fresha_status, fresha_open, fresha_read, fresha_click, fresha_type, fresha_close. Without COTLET_API_KEY a tool call answers: "Set COTLET_API_KEY. Get a key at https://cotlet.dev/app".
Command line
Python 3.10+, nothing else to install. From PyPI:
pip install fresha-mcp # or run it once: uvx fresha-mcp connect
fresha-mcp connect
Or straight from this repo:
export COTLET_API_KEY="your-key"
python3 fresha_agent.py connect # ready config for Claude Code, Cursor, ChatGPT
python3 fresha_agent.py status # is Fresha ready in your Cotlet.dev account
python3 fresha_agent.py guide # Fresha screens and sign-in link
python3 fresha_agent.py read # open Fresha, read the page, close the browser
python3 fresha_agent.py tools # list Cotlet.dev tools
python3 fresha_agent.py serve # start the stdio MCP server (same as no argument)
Questions from Fresha users
Does Fresha have an API or data connector?
You don't need one. Cotlet.dev works in your own signed-in Fresha account, so your AI agent can read and change appointments and client records without a Fresha API key.
How do I connect Fresha to ChatGPT?
Fresha's own ChatGPT app is for customers finding appointments. To manage your business, add Cotlet.dev as an app in ChatGPT (Settings → Apps, connector URL https://cotlet.dev/mcp/v1), sign in to Fresha once in your Cotlet.dev Cloud Browser, and ask ChatGPT in plain words. No code and no Fresha API key.
Is there a way to use Claude with Fresha?
Yes. In Claude Code run the one-line claude mcp add command above; in the Claude app add https://cotlet.dev/mcp/v1 as a custom connector. Claude then works in your own Fresha account, not just the customer booking connector.
Is there a Fresha MCP server?
Fresha's official ChatGPT and Claude integrations are customer-facing: they show availability, prices and venues, then send people to Fresha to book. Cotlet.dev is a hosted MCP server that works in your Fresha business account for you, 24/7, with Claude, ChatGPT, Cursor, Codex, n8n, Make and Zapier.
Find it on
Also works with
- Mangomint MCP
- Wanderlog MCP
- SmugMug MCP
- Garmin Connect MCP
- Housecall Pro MCP
- Medium MCP
- Crexi MCP
- DistroKid MCP
- LinkedIn MCP
- EstimateOne MCP
- Google Search Console MCP
- Lichess MCP
- Strava MCP
- StreamElements MCP
- Meetup MCP
- AccuRanker MCP
- GetYourGuide MCP
- Idealista MCP
- Riverside MCP
- Udemy MCP
- Faire MCP
- Teachable MCP
- Vagaro MCP
- Buildertrend MCP
- Zoopla MCP
- Dribbble MCP
- Hostelworld MCP
- Mashvisor MCP
- Rent Manager MCP
- ThriveCart MCP
- Booksy MCP
- BookingKoala MCP
- Milanote MCP
- Partiful MCP
- Contractor Foreman MCP
- Pixieset MCP
- GlossGenius MCP
- ZenMaid MCP
- AroFlo MCP
- Simpro MCP
- Workiz MCP
- Kickserv MCP
- Service Autopilot MCP
- Boulevard MCP
- Mindbody MCP
- Meevo MCP
- DaySmart MCP
- Acuity Scheduling MCP
- Jane App MCP
- FieldEdge MCP
- Phorest MCP
- DINGG MCP
- Invoice Simple MCP
- PhotoShelter MCP
- RazorSync MCP
- ShootProof MCP
- Invoice2go MCP
- Appointy MCP
- Contractor+ MCP
- Petpooja MCP
- All apps connected through Cotlet.dev
Start free: https://cotlet.dev/signup?app=fresha&utm_source=github&utm_medium=readme&utm_campaign=fresha
Metadata
Release files for fresha-mcp 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| fresha_mcp-1.1.0.tar.gz | 9.3 kB | Without provenance | Details for fresha_mcp-1.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fresha_mcp-1.1.0-py3-none-any.whl | Python 3 | none | any | Details for fresha_mcp-1.1.0-py3-none-any.whl |
Total release size: 18.7 kB
Release files / fresha_mcp-1.1.0.tar.gz
| Download URL | fresha_mcp-1.1.0.tar.gz |
|---|---|
| Size | 9.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d3a220ee189449fcfaa0d7d10b443df1bb2fefa676b817b4eb61ce61e25a9df7
|
|
BLAKE2b-256 checksum How to use checksums |
d190c0dd3b390eb6560aaabdc285a1a1276e42146ba8721266b5d1baba40cc8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / fresha_mcp-1.1.0-py3-none-any.whl
| Download URL | fresha_mcp-1.1.0-py3-none-any.whl |
|---|---|
| Size | 9.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d9d3c080c64219b38612385bcdac83f70ea44f54bdbd1f56b830f6e55f62fc2a
|
|
BLAKE2b-256 checksum How to use checksums |
93f74b7b6571f4b3b3a01095e926cbc9f9fdcd9794f6084d1c77eed5a084c061
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for fresha-mcp 1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.