- Calendly API v2 client with auth, pagination, error handling - 27 MCP tools across 6 categories (events, event types, scheduling, users, orgs, webhooks) - 12 React MCP apps with dark theme and client-side state - Both stdio and HTTP modes supported - Full TypeScript types and documentation
Calendly MCP Server
Complete Model Context Protocol (MCP) server for Calendly API v2 with 27 tools and 12 React UI apps.
Features
🛠️ 27 MCP Tools
Events (8 tools)
calendly_list_scheduled_events- List events with filterscalendly_get_event- Get event detailscalendly_cancel_event- Cancel an eventcalendly_list_event_invitees- List invitees for an eventcalendly_get_invitee- Get invitee detailscalendly_list_no_shows- List no-showscalendly_mark_no_show- Mark invitee as no-showcalendly_unmark_no_show- Remove no-show status
Event Types (3 tools)
calendly_list_event_types- List event typescalendly_get_event_type- Get event type detailscalendly_list_available_times- List available time slots
Scheduling (3 tools)
calendly_create_scheduling_link- Create single-use scheduling linkcalendly_list_routing_forms- List routing formscalendly_get_routing_form- Get routing form details
Users (3 tools)
calendly_get_current_user- Get current user infocalendly_get_user- Get user by URIcalendly_list_user_busy_times- List user busy times
Organizations (6 tools)
calendly_get_organization- Get organization detailscalendly_list_organization_members- List memberscalendly_list_organization_invitations- List invitationscalendly_invite_user- Invite user to organizationcalendly_revoke_invitation- Revoke invitationcalendly_remove_organization_member- Remove member
Webhooks (4 tools)
calendly_list_webhook_subscriptions- List webhookscalendly_create_webhook_subscription- Create webhookcalendly_get_webhook_subscription- Get webhook detailscalendly_delete_webhook_subscription- Delete webhook
🎨 12 React MCP Apps
All apps feature dark theme and client-side state management:
- Event Dashboard (
src/ui/react-app/event-dashboard) - Overview of scheduled events - Event Detail (
src/ui/react-app/event-detail) - Detailed event information - Event Grid (
src/ui/react-app/event-grid) - Calendar grid view - Event Type Manager (
src/ui/react-app/event-type-manager) - Manage event types - Availability Calendar (
src/ui/react-app/availability-calendar) - View available times - Invitee List (
src/ui/react-app/invitee-list) - Manage event invitees - Scheduling Links (
src/ui/react-app/scheduling-links) - Create scheduling links - Organization Members (
src/ui/react-app/org-members) - Manage team members - Webhook Manager (
src/ui/react-app/webhook-manager) - Manage webhooks - Booking Flow (
src/ui/react-app/booking-flow) - Multi-step booking interface - No-Show Tracker (
src/ui/react-app/no-show-tracker) - Track no-shows - Analytics Dashboard (
src/ui/react-app/analytics-dashboard) - Metrics and insights
Installation
npm install
npm run build
Configuration
Set your Calendly API key as an environment variable:
export CALENDLY_API_KEY="your_api_key_here"
Get your API key from: https://calendly.com/integrations/api_webhooks
Usage
Stdio Mode (Default for MCP)
npm start
Use in your MCP client configuration:
{
"mcpServers": {
"calendly": {
"command": "node",
"args": ["/path/to/calendly/dist/main.js"],
"env": {
"CALENDLY_API_KEY": "your_api_key"
}
}
}
}
HTTP Mode
npm run start:http
Server runs on http://localhost:3000
Endpoints:
GET /health- Health checkPOST /- MCP requests (tools/list, tools/call, resources/list, resources/read)
API Client
The Calendly client (src/clients/calendly.ts) provides:
- ✅ Full Calendly API v2 support
- ✅ Bearer token authentication
- ✅ Automatic pagination handling
- ✅ Error handling with detailed messages
- ✅ Type-safe responses
Architecture
src/
├── clients/
│ └── calendly.ts # Calendly API v2 client
├── tools/
│ ├── events-tools.ts # Event management tools
│ ├── event-types-tools.ts # Event type tools
│ ├── scheduling-tools.ts # Scheduling & routing tools
│ ├── users-tools.ts # User management tools
│ ├── organizations-tools.ts # Organization tools
│ └── webhooks-tools.ts # Webhook tools
├── types/
│ └── index.ts # TypeScript definitions
├── ui/
│ └── react-app/ # 12 React MCP apps
├── server.ts # MCP server setup
└── main.ts # Entry point (stdio + HTTP)
Development
Build
npm run build
Watch Mode
npm run dev
Run React Apps
Each app is standalone:
cd src/ui/react-app/event-dashboard
npm install
npm run dev
Resources
- Calendly API Documentation: https://developer.calendly.com/api-docs
- Model Context Protocol: https://modelcontextprotocol.io
- MCP SDK: https://github.com/modelcontextprotocol/typescript-sdk
License
MIT