Calendesk MCP: connect your AI assistant to Calendesk

Supported clients: ChatGPT, Claude.ai, Claude Desktop, Claude Code, Cursor and other MCP-compatible clients.
This article covers the Calendesk integration built on MCP (Model Context Protocol). ChatGPT is one of the supported clients which is the quickest way to connect it is via the app in the ChatGPT store but the same integration also works with Claude and other MCP-compatible tools. Below you will find everything you need: what the integration can do, how to enable it in each client, and how to use it safely.
What is MCP? The Model Context Protocol is an open standard that lets an AI assistant connect to external systems. The Calendesk MCP server makes your Calendesk account available to the assistant, so instead of clicking through the panel, you ask in natural language and the assistant retrieves and, where you allow it, modifies your data in real time.
What you can do
Once connected, the assistant gains access to the following groups of Calendesk tools. The tool names are given for reference. In conversation you use natural language and the assistant picks the right tool itself.
Bookings and events
Viewing the calendar, creating, changing and cancelling appointments, checking for conflicts, and blocking time as unavailable.
Tools: list_events, get_booking, create_booking, update_booking, delete_booking, check_event_overlaps, create_unavailable_slot, update_unavailable_slot, delete_unavailable_slot.
Customers
Searching for customers, viewing their details and history, and creating, editing and deleting accounts.
Tools: search_users, get_user, list_users, create_user, update_user, delete_user.
Employees
A list of employees and their details.
Tools: list_employees, get_employee, delete_employee.
Services and availability
Checking services, free slots and availability, as well as products, tags and groups.
Tools: list_services, get_service, get_available_slots, list_availability, list_service_types, list_products, list_tags, list_user_groups.
Analytics
Dashboard metrics: revenue, number of bookings, trends and performance data.
Tools: get_stats.
Settings and notifications
Viewing settings and account details, and sending notifications to customers.
Tools: get_settings, get_me, send_notification.
Before you start
An active Calendesk account on a plan that includes API/MCP access.
An MCP-compatible client: Claude.ai (recommended OAuth, no installation), Claude Desktop, Claude Code, Cursor or another MCP client, or ChatGPT (the app in the store).
For the API-key variants: an API key and Tenant ID from the panel (Admin panel → Settings → API).
How to connect Calendesk to your AI assistant
Choose the variant that matches your client. Whichever tool you use, the Calendesk server address is the same: https://mcp.calendesk.com
Option A — ChatGPT (app in the store)
The quickest route for ChatGPT users. You connect once, via OAuth login. This solution doesn't require keys nor configuration.
Open the Calendesk app in the ChatGPT directory.
Click Connect — the “Add Calendesk to ChatGPT” window will appear.
Select Sign in with Calendesk and log in with your Calendesk credentials (OAuth).
You will see the “Calendesk is now connected” confirmation, and the button will change to Start chat.
Alternative for ChatGPT. If your client lets you add a connector manually, you can point it to the MCP server at
https://mcp.calendesk.cominstead of installing the app from the store.
Option B — Claude.ai (recommended)
Uses OAuth; requires no installation or API-key handling.
Log in at claude.ai.
Go to Settings → Connectors.
Click Add custom connector and enter the name
Calendeskand the server addresshttps://mcp.calendesk.com.Save, click Connect and complete the OAuth login with your Calendesk credentials.
Once connected, the Calendesk tools are available in every conversation.
Option C — Claude Desktop (API key)
In the Calendesk panel, go to Admin panel → Settings → API and generate an API key. Copy the key and your Tenant ID.
Open Claude Desktop → Settings → Developer → Edit Config.
Add the snippet below to the
claude_desktop_config.jsonfile, save it and restart Claude Desktop.
{ "mcpServers": { "calendesk": { "url": "https://mcp.calendesk.com", "headers": { "X-Api-Key": "your-api-key", "X-Tenant": "your-tenant-id" } } }
}Option D — Claude Code (command line)
Generate an API key in Settings → API, then run the command:
claude mcp add calendesk https://mcp.calendesk.com \ --transport http \ --header "X-Api-Key: your-api-key" \ --header "X-Tenant: your-tenant-id"Option E — other MCP clients (STDIO mode)
For clients that require a local STDIO server, install the Python package and set the environment variables, then point your client at the local STDIO process as described in its documentation.
pip install calendesk-mcp-server
# or, without installing:
uvx calendesk-mcp-serverVariable | Required | Purpose |
|---|---|---|
| Yes | API key from Settings → API |
| Yes | Your Tenant ID in Calendesk |
| Optional | Overrides the server address (defaults to |
Verify the connection
In any client, ask the assistant: “Are you connected to Calendesk? List the available tools.”
You should see Calendesk tools such as list_events, get_booking, search_users or get_stats. If they are missing, see the “Troubleshooting” section.
Usage examples
Write the way you would speak — the assistant will pick the right tool itself. The more specific you are about the time range, the faster and more accurate the response.
Goal | Example prompt | Tool |
|---|---|---|
Today’s schedule | “Show all of today’s events, grouped by employee.” |
|
Find a customer | “Find the customer [email protected] and show her recent bookings.” |
|
Free slots | “What slots are free tomorrow 10:00–16:00 for the ‘60-min Massage’ service?” |
|
Conflicts | “Does employee X’s event on Friday at 14:00 overlap with anything?” |
|
Revenue | “How much revenue did we record in April 2026 vs. March 2026?” |
|
Configuration audit | “Which services have no employee assigned?” |
|
Block time | “Mark Anna as unavailable on Friday 12:00–14:00.” |
|
Tip. Always give a time range (“the last 7 days”, “April 2026”) to avoid searching through huge amounts of data and to speed up the response.
Example conversation: cancelling an appointment and notifying the customer
Operations that change or send something always end with a request for confirmation so you have full control over what reaches the customer.
You: What bookings do I have today?
Assistant: Today you have 8 confirmed bookings of the “Online consultation” type (60 min each), from 09:00 to 17:00 — the day is fully booked with no breaks.
You: Send a notification to the customer from the 15:00 appointment that, for health reasons, the meeting will not take place.
Assistant: I have prepared a message for the customer from the 15:00–16:00 appointment: “Hello, unfortunately, for health reasons, today’s meeting will not be able to take place. Apologies for the inconvenience. I will be in touch to arrange a new date.” Confirm “send” and I will send the notification to this customer.
Best practices
Use OAuth wherever possible (Claude.ai or the ChatGPT app). This avoids storing long-lived API keys on devices.
One API key per device or integration. Easier to identify and revoke if it leaks.
Be deliberate with write operations. The integration can create, change and delete bookings, customers and time blocks — confirm destructive operations before you approve them.
Do not paste API keys into chats, screenshots or shared documents.
Combine the integration with the panel; do not replace it. MCP works best for ad-hoc questions and quick operations; run recurring reports in the Reports module.
Important ! Write and delete permissions. Calendesk MCP exposes both read tools and write/delete tools (e.g.
create_booking,update_booking,delete_booking,create_user,delete_user,send_notification). Anyone with a valid API key or an active OAuth connection can perform these operations via the assistant. Treat the API key as a high-privilege credential.
Troubleshooting
Symptom | Likely cause | Solution |
|---|---|---|
The assistant says the Calendesk tools are unavailable | Configuration error, or the client was not restarted | Verify the entry (e.g. the JSON), restart the client, start a new conversation |
| API key revoked, expired or wrong tenant | Generate a new key in Settings → API; check |
| Role/account without permission for this operation | Verify the role’s permissions in Calendesk |
Empty result for data that exists | Wrong tenant, wrong time zone or too narrow a filter | Confirm the tenant; state the time zone and range explicitly in your prompt |
Slow responses | Too broad a query | Narrow it down by date, status or service |
STDIO server will not start | Missing environment variables | Set both |
Revoking access
To revoke an API key, go to Admin panel → Settings → API, find the key and delete it. For OAuth connections (Claude.ai, ChatGPT), disconnect the connector or app in the settings of the relevant assistant. Revoke access immediately if a device is lost, an employee leaves, or you suspect a credential has leaked.
Support
If something is not working as described, check the latest changes in the github.com/calendesk/calendesk-mcp-server repository, or contact our support team. In your ticket, state which client you are using, the connection method (OAuth / API key / STDIO) and the exact error message. Never share the API key itself.