Calendesk MCP Server
OfficialThis server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:
Calendesk MCP Server
Connect your Calendesk booking platform to Claude, Claude Desktop, Claude Code, and other MCP-compatible AI tools. Manage bookings, customers, employees, services, and view business analytics — all through natural language. 32 tools, OAuth sign-in, no data leaves your Calendesk account.
Prerequisites
A Calendesk account
Related MCP server: @aiwerk/mcp-server-cal
Setup
Claude.ai (recommended)
No installation or API keys needed. Uses OAuth for secure authentication.
Go to Settings → Connectors in Claude.ai
Click Add custom connector
Enter:
Name: Calendesk
Remote MCP server URL:
https://claude.calendesk.com
Click Add
Log in with your Calendesk credentials when prompted (OAuth — no API keys to copy)
Claude Desktop
Add to your config file (~/.config/claude/claude_desktop_config.json on macOS/Linux, %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"calendesk": {
"url": "https://mcp.calendesk.com",
"headers": {
"X-Api-Key": "your-api-key",
"X-Tenant": "your-tenant-id"
}
}
}
}Generate your API key in Admin Panel → Settings → API.
Claude Code
claude mcp add calendesk https://mcp.calendesk.com \
--transport http \
--header "X-Api-Key: your-key" \
--header "X-Tenant: your-tenant"Other MCP clients (STDIO proxy)
For clients that don't support HTTP transport:
pip install calendesk-mcp-server
# or: uvx calendesk-mcp-server{
"mcpServers": {
"calendesk": {
"command": "uvx",
"args": ["calendesk-mcp-server"],
"env": {
"CALENDESK_API_KEY": "your-api-key",
"CALENDESK_TENANT": "your-tenant-id"
}
}
}
}Supported Tools
Events & Bookings
list_events- List calendar events (bookings, blocks/vacation, group bookings) with filtersget_booking- Get details of a specific booking by IDcreate_booking- Create a new booking/appointmentupdate_booking- Update an existing bookingdelete_booking- Delete a bookingget_group_booking- Get details of a group bookingcheck_event_overlaps- Check for scheduling conflictsget_unavailable_slot- Get details of a block/vacation slotcreate_unavailable_slot- Create a block/vacation for an employeeupdate_unavailable_slot- Update a block/vacation slotdelete_unavailable_slot- Delete a block/vacation slot
Customers
search_users- Search customers by name, email, or phoneget_user- Get customer details by IDlist_users- List all customers with optional filteringcreate_user- Create a new customerupdate_user- Update customer informationdelete_user- Delete a customer
Employees
list_employees- List all employees/staff membersget_employee- Get employee detailsdelete_employee- Delete an employee
Services & Availability
list_services- List all available servicesget_service- Get service details including duration, price, and locationsget_available_slots- Get available time slots for bookinglist_availability- Get availability schedules/working hoursget_availability- Get a specific availability schedulelist_service_types- Get all service categories with their serviceslist_products- Get all products available for salelist_tags- Get all available tags
Analytics & Statistics
get_stats- Business analytics: dashboard KPIs, revenue, bookings, employee performance, services, customers, patterns, payments, subscriptions, locations, products, forecast. Usetypeparameter to select report.
Settings & Notifications
get_settings- Get business settings (timezone, currency, company info)get_me- Get current user profile and employee informationsend_notification- Send email, SMS, or push notification
Permissions and access
Access mirrors your Calendesk role and permissions — the connector can only do what your own Calendesk user can do in the admin panel. An employee who connects their account sees exactly what they'd see when they log in, and nothing more.
Read tools (listing, viewing, search, analytics) run without extra prompts.
Write tools (create/update/delete bookings, customers, and blocks; send notifications) are marked as destructive, so Claude asks for your confirmation before each one.
If your email belongs to more than one Calendesk company, you choose which one to connect during sign-in. Every tool call is scoped to that single tenant.
Data handling and security
First-party only. Every tool call goes to Calendesk's own API over HTTPS. No third-party services are involved, and no data is sold or shared.
Your account data only. The server reads and writes bookings, customers, employees, services, settings, and analytics within your Calendesk account. It never touches data outside your tenant.
OAuth, no shared keys. Claude.ai connects with OAuth 2.1 (authorization code + PKCE, with Dynamic Client Registration). Access and refresh tokens are issued by Calendesk and used only to call the Calendesk API on your behalf. Self-hosted setups use an API key and tenant id you generate yourself.
No conversation storage. The server processes each tool call and returns the result. It does not store, log, or forward your conversation, chat history, or messages.
You stay in control. Disconnect the connector at any time from Claude.ai Settings → Connectors, or revoke the API key in your Calendesk admin panel.
Data collection and retention are described in the Calendesk Privacy Policy.
Examples
Check today's schedule
You: "What does my schedule look like today?"
The assistant calls list_events with today's date and returns:
You have 4 appointments today:
Time
Service
Customer
Status
09:00–10:00
Haircut
Maria Kowalska
Approved
10:30–11:30
Hair Coloring
Anna Wiśniewska
Approved
13:00–14:00
Haircut
Jan Nowak
Approved
15:00–16:00
Beard Trim
Tomasz Zieliński
Approved
Find available slots and book an appointment
You: "When can I schedule a 60-minute consultation with Dr. Kowalski next week?"
The assistant calls get_available_slots for the service and employee, then responds:
Dr. Kowalski has these openings next week:
Monday: 09:00, 11:00, 14:00 Tuesday: 10:00, 13:00, 15:00 Thursday: 09:00, 11:00
Would you like me to book one of these?
You: "Book Monday at 11:00 for customer anna@example.com"
The assistant calls search_users to find the customer, then check_event_overlaps to verify no conflicts, and finally create_booking:
Booking confirmed:
Service: Consultation (60 min)
Employee: Dr. Kowalski
Customer: Anna Wiśniewska (anna@example.com)
When: Monday, March 17 at 11:00–12:00
Booking ID: #4521
View business performance
You: "How did the business do last month compared to the month before?"
The assistant calls get_stats (dashboard report) with the date range:
February 2026 vs January 2026:
Metric
February
Change
Revenue
€12 500
+8.5%
Bookings
285
+12
New customers
18
+5
Cancellation rate
3.5%
−0.8pp
Revenue is trending up, driven mainly by an increase in Hair Coloring bookings (+22%).
Search for a customer
You: "Find me the contact info for customer Kowalska"
The assistant calls search_users:
Found 2 matches:
Maria Kowalska — maria@example.com, +48 512 345 678 (last visit: March 5)
Ewa Kowalska — ewa.k@example.com, +48 601 234 567 (last visit: February 12)
Send a notification
You: "Send Maria Kowalska an email reminder about her appointment tomorrow"
The assistant calls send_notification:
Email sent to Maria Kowalska (maria@example.com) with a reminder about her Haircut appointment tomorrow at 09:00.
Environment Variables (STDIO mode only)
Variable | Required | Description |
| Yes | API key from Calendesk admin panel |
| Yes | Your tenant ID |
| No | Gateway URL (defaults to |
Development
Clone the repository:
git clone https://github.com/calendesk/calendesk-mcp-server.git cd calendesk-mcp-serverCreate
.envfile:cp .env.example .env # Edit .env with your CALENDESK_API_KEY and CALENDESK_TENANTInstall dependencies:
pip install -e .Start the MCP Inspector (requires Node.js):
mcp dev calendesk_mcp/server.py:mcpOpens a web UI at
http://localhost:6274where you can test tools interactively.
Privacy Policy
Support
For questions or issues with the MCP server integration, contact us at support@calendesk.com.
This server cannot be deployed
Maintenance
Related MCP Connectors
Manage an EasyWeek business from AI: bookings, availability, customers, services, orders, messaging.
Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.
Read Appointo bookings, availability and subscriptions; create, reschedule and cancel bookings.
Find open slots, book, move and cancel Easy!Appointments bookings, with OAuth and a call log.
Related MCP Servers
AlicenseBqualityDmaintenanceEnables interaction with the Kalendis scheduling API to manage users, availability, bookings, and generate TypeScript clients and API routes. Supports comprehensive scheduling operations including recurring availability, exceptions, and booking management through natural language.4248 npmMIT
@aiwerk/mcp-server-calofficial
AlicenseAqualityCmaintenanceConnects AI assistants to Cal.com for managing bookings, event types, and availability through natural language.1250 npmMIT- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to book meetings, check availability, and manage Cal.com scheduling through natural conversation.MIT
- FlicenseNot gradedqualityDmaintenanceEnables natural language interaction with SimplyBook.me API to manage bookings, services, and performers through MCP.2-