Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Manage Calendesk bookings, customers, employees and services from AI assistants. OAuth sign-in.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mcp.calendesk.comRun this in your terminal
claude mcp add --transport http calendesk https://mcp.calendesk.comPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"calendesk": {
"url": "https://mcp.calendesk.com"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"calendesk": {
"type": "http",
"url": "https://mcp.calendesk.com"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://mcp.calendesk.comMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 10, 2026
The registry name was verified against the domain calendesk.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 94 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.0.0) reached the registry today.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Simpro MCP Server and API by Cotlet
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Simpro MCP server: list jobs, create quote, convert quote to job, update job status.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.
No installation or API keys needed. Uses OAuth for secure authentication.
https://claude.calendesk.comAdd 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 mcp add calendesk https://mcp.calendesk.com \
--transport http \ --header "X-Api-Key: your-key" \ --header "X-Tenant: your-tenant"
For clients that don't support HTTP transport:
pip install calendesk-mcp-server
{
"mcpServers": { "calendesk": { "command": "uvx", "args": ["calendesk-mcp-server"], "env": { "CALENDESK_API_KEY": "your-api-key", "CALENDESK_TENANT": "your-tenant-id" } } } }
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 slotsearch_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 customerlist_employees - List all employees/staff membersget_employee - Get employee detailsdelete_employee - Delete an employeelist_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 tagsget_stats - Business analytics: dashboard KPIs, revenue, bookings, employee performance, services, customers, patterns, payments, subscriptions, locations, products, forecast. Use type parameter to select report.get_settings - Get business settings (timezone, currency, company info)get_me - Get current user profile and employee informationsend_notification - Send email, SMS, or push notificationAccess 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.
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 collection and retention are described in the Calendesk Privacy Policy.
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 |
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
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%).
You: "Find me the contact info for customer Kowalska"
The assistant calls search_users:
Found 2 matches:
1. Maria Kowalska — maria@example.com, +48 512 345 678 (last visit: March 5)
2. Ewa Kowalska — ewa.k@example.com, +48 601 234 567 (last visit: February 12)
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.
| Variable | Required | Description |
|---|---|---|
CALENDESK_API_KEY | Yes | API key from Calendesk admin panel |
CALENDESK_TENANT | Yes | Your tenant ID |
CALENDESK_GATEWAY_URL | No | Gateway URL (defaults to https://mcp.calendesk.com) |
git clone https://github.com/calendesk/calendesk-mcp-server.git
cd calendesk-mcp-server
.env file: cp .env.example .env
pip install -e .
mcp dev calendesk_mcp/server.py:mcp
Opens a web UI at http://localhost:6274 where you can test tools interactively.
For questions or issues with the MCP server integration, contact us at support@calendesk.com.