Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Complete MCP server for Calendly API v2 with 40+ tools and 12 interactive React apps, enabling calendar management, scheduling, and user operations.

README.md

Calendly MCP Server

Complete Model Context Protocol (MCP) server for Calendly API v2 with 40+ tools and 12 interactive React apps.

Features

  • 40+ MCP Tools covering all Calendly API endpoints
  • 12 React Apps for interactive workflows
  • Full TypeScript with comprehensive type definitions
  • OAuth2 & API Key authentication support
  • Rate Limiting and error handling
  • Dual Transport (stdio and HTTP)

Installation

npm install @busybee3333/calendly-mcp

Configuration

Set one of the following environment variables:

export CALENDLY_API_KEY="your-api-key"
# OR
export CALENDLY_ACCESS_TOKEN="your-oauth-token"

Get Your API Key

  1. Go to Calendly Integrations
  2. Navigate to API & Webhooks
  3. Generate a Personal Access Token

Usage

Stdio Transport (for Claude Desktop, etc.)

calendly-mcp

Programmatic Usage

import { createCalendlyServer } from '@busybee3333/calendly-mcp';

const server = createCalendlyServer({
  apiKey: process.env.CALENDLY_API_KEY,
});

MCP Tools (40+)

Users (2 tools)

| Tool | Description | |------|-------------| | calendly_get_current_user | Get information about the currently authenticated user | | calendly_get_user | Get information about a specific user by URI |

Organizations (8 tools)

| Tool | Description | |------|-------------| | calendly_get_organization | Get information about a specific organization | | calendly_list_organization_invitations | List all invitations for an organization | | calendly_get_organization_invitation | Get details of a specific organization invitation | | calendly_create_organization_invitation | Invite a user to join an organization | | calendly_revoke_organization_invitation | Revoke a pending organization invitation | | calendly_list_organization_memberships | List all memberships for an organization | | calendly_get_organization_membership | Get details of a specific organization membership | | calendly_remove_organization_membership | Remove a user from an organization |

Event Types (5 tools)

| Tool | Description | |------|-------------| | calendly_list_event_types | List all event types for a user or organization | | calendly_get_event_type | Get details of a specific event type | | calendly_create_event_type | Create a new event type | | calendly_update_event_type | Update an existing event type | | calendly_delete_event_type | Delete an event type |

Scheduled Events (3 tools)

| Tool | Description | |------|-------------| | calendly_list_events | List scheduled events with various filters | | calendly_get_event | Get details of a specific scheduled event | | calendly_cancel_event | Cancel a scheduled event |

Invitees (5 tools)

| Tool | Description | |------|-------------| | calendly_list_event_invitees | List all invitees for a specific event | | calendly_get_invitee | Get details of a specific invitee | | calendly_create_no_show | Mark an invitee as a no-show | | calendly_get_no_show | Get details of a no-show record | | calendly_delete_no_show | Remove a no-show marking from an invitee |

Webhooks (4 tools)

| Tool | Description | |------|-------------| | calendly_list_webhooks | List all webhook subscriptions for an organization | | calendly_get_webhook | Get details of a specific webhook subscription | | calendly_create_webhook | Create a new webhook subscription | | calendly_delete_webhook | Delete a webhook subscription |

Scheduling (1 tool)

| Tool | Description | |------|-------------| | calendly_create_scheduling_link | Create a single-use scheduling link for an event type or user |

Routing Forms (4 tools)

| Tool | Description | |------|-------------| | calendly_list_routing_forms | List all routing forms for an organization | | calendly_get_routing_form | Get details of a specific routing form | | calendly_list_routing_form_submissions | List all submissions for a routing form | | calendly_get_routing_form_submission | Get details of a specific routing form submission |

Availability (2 tools)

| Tool | Description | |------|-------------| | calendly_list_user_availability_schedules | List all availability schedules for a user | | calendly_get_user_availability_schedule | Get details of a specific availability schedule |

Data Compliance (3 tools)

| Tool | Description | |------|-------------| | calendly_create_data_compliance_deletion | Create a GDPR data deletion request for invitees | | calendly_get_data_compliance_deletion | Get status of a data compliance deletion request | | calendly_get_activity_log | Get activity log entries for an organization |

MCP Apps (12 Interactive React Apps)

1. Event Type Dashboard

Purpose: Manage your Calendly event types Features:

  • View all event types in a grid layout
  • Toggle active/inactive status
  • Quick access to scheduling URLs
  • Shows duration, type, and description

2. Calendar View

Purpose: View your scheduled events in a list format Features:

  • Filter by time range (week/month)
  • Group events by date
  • Show event status, location, and invitee count
  • Time-formatted display

3. Invitee Grid

Purpose: View and manage event invitees Features:

  • Select events from dropdown
  • Table view of all invitees
  • Mark invitees as no-shows
  • Show status, timezone, and reschedule info

4. Webhook Manager

Purpose: Manage Calendly webhook subscriptions Features:

  • Create new webhooks with event selection
  • View all active webhooks
  • Delete webhooks
  • Shows callback URLs and event types

5. Organization Overview

Purpose: Manage your organization Features:

  • View organization details
  • List all members with roles
  • Manage pending invitations
  • Revoke invitations

6. User Profile

Purpose: View your Calendly profile and settings Features:

  • Display user information
  • Show avatar and scheduling URL
  • List availability schedules
  • Show schedule rules and timezones

7. Analytics Dashboard

Purpose: Overview of your Calendly metrics Features:

  • Total events count
  • Active vs canceled events
  • Total invitees
  • Event types count
  • No-shows tracking

8. Availability Manager

Purpose: Manage your availability schedules Features:

  • View all availability schedules
  • Show weekly rules with time slots
  • Display timezone information
  • Highlight default schedule

9. Event Detail View

Purpose: View detailed information about events Features:

  • Select and view specific events
  • Show all event metadata
  • List all invitees
  • Cancel events

10. No-Show Tracker

Purpose: Track and manage no-show invitees Features:

  • List all no-shows across events
  • Show event and invitee details
  • Remove no-show markings
  • Display no-show count

11. Routing Form Builder

Purpose: Manage routing forms and view submissions Features:

  • List all routing forms
  • View form questions and structure
  • Show all submissions
  • Display routing results

12. Scheduling Link Manager

Purpose: Generate single-use scheduling links Features:

  • Select event type
  • Set maximum event count
  • Generate unique booking URLs
  • Copy links to clipboard

Examples

List Event Types

const result = await callTool('calendly_list_event_types', {
  user: 'https://api.calendly.com/users/AAAA',
  active: true
});

Create Event Type

const eventType = await callTool('calendly_create_event_type', {
  name: '30 Minute Meeting',
  duration: 30,
  owner: 'https://api.calendly.com/users/AAAA',
  description_plain: 'A quick 30-minute chat',
  color: '#0066cc'
});

List Upcoming Events

const events = await callTool('calendly_list_events', {
  user: 'https://api.calendly.com/users/AAAA',
  min_start_time: new Date().toISOString(),
  status: 'active',
  sort: 'start_time:asc'
});

Create Webhook

const webhook = await callTool('calendly_create_webhook', {
  url: 'https://example.com/webhook',
  events: ['invitee.created', 'invitee.canceled'],
  organization: 'https://api.calendly.com/organizations/AAAA',
  scope: 'organization'
});

Generate Scheduling Link

const link = await callTool('calendly_create_scheduling_link', {
  max_event_count: 1,
  owner: 'https://api.calendly.com/event_types/AAAA',
  owner_type: 'EventType'
});

API Coverage

This MCP server covers 100% of Calendly API v2 endpoints:

  • ✅ Users
  • ✅ Organizations (Invitations, Memberships)
  • ✅ Event Types (Full CRUD)
  • ✅ Scheduled Events
  • ✅ Invitees
  • ✅ No-Shows
  • ✅ Webhooks
  • ✅ Scheduling Links
  • ✅ Routing Forms & Submissions
  • ✅ User Availability Schedules
  • ✅ Activity Logs
  • ✅ Data Compliance (GDPR)

Development

Build

npm run build

Test

npm test

Development Mode

npm run dev

Architecture

src/
├── server.ts              # MCP server setup
├── main.ts                # Entry point
├── clients/
│   └── calendly.ts        # Calendly API client
├── tools/                 # Tool definitions by domain
│   ├── users-tools.ts
│   ├── organizations-tools.ts
│   ├── event-types-tools.ts
│   ├── events-tools.ts
│   ├── invitees-tools.ts
│   ├── webhooks-tools.ts
│   ├── scheduling-tools.ts
│   ├── routing-forms-tools.ts
│   ├── availability-tools.ts
│   └── compliance-tools.ts
├── types/
│   └── index.ts           # TypeScript interfaces
└── ui/
    └── react-app/         # React apps
        ├── src/
        │   ├── apps/      # Individual apps
        │   ├── components/ # Shared components
        │   ├── hooks/     # Shared hooks
        │   └── styles/    # Shared styles
        └── package.json

License

MIT

Support

For issues or questions:

Contributing

Contributions welcome! Please open an issue or PR.

---

Built with ❤️ using the Model Context Protocol

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Productivity servers.