Calendly MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Calendly MCP or direct API to manage event types, find open times, generate scheduling links, and book or cancel meetings through natural language.

Calendly MCP logoCalendly MCP
Dcr Oauth

Calendly is an appointment scheduling platform that manages event types, availability, and invites. Use it to automate booking, reduce back-and-forth, and surface open times quickly.

36 Tools

Try Calendly MCP now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Calendly MCP
Try asking
TOOLS

Supported Tools

Every Calendly MCP action and event your agent gets out of the box.

Availability-get user availability schedule

Use: Fetch details for one named availability schedule.

Availability-list user availability schedules

Use: List all named availability schedules for the connected user.

Availability-list user busy times

Use: List a user's busy time blocks within a date range.

Event types-create event type

Use: Create a new event type on the connected account.

Event types-get event type

Use: Fetch full details for one event type by URI.

Event types-list event type availability schedule

Use: Read the current availability schedule (rules) for an event type.

Event types-list event type available times

Use: List bookable time slots for an event type within a date range.

Event types-list event types

Use: List all event types for the connected user or org.

Event types-update event type

Use: Update fields on an existing event type.

Event types-update event type availability schedule

Use: Overwrite the availability schedule for an event type.

List calendly skills

List or search available Calendly skill guides.

Load calendly skill

Load a Calendly skill guide that provides domain-specific context, recommended queries, and best practices for working with Calendly tools.

Locations-list user meeting locations

Use: List allowed meeting location kinds for a user.

Meetings-cancel event

Use: Cancel a scheduled meeting on behalf of the connected host When: User confirms they want to cancel a specific meeting.

Meetings-create invitee

Use: Book a meeting slot for an invitee on a Calendly event type.

Meetings-create invitee no show

Use: Mark an invitee as a no-show for a past meeting.

Meetings-delete invitee no show

Use: Remove a no-show mark from an invitee.

Meetings-get event

Use: Fetch details for a single scheduled meeting.

Meetings-get event invitee

Use: Fetch details for a single meeting invitee.

Meetings-get invitee no show

Use: Fetch the no-show record for a meeting invitee.

Meetings-list event invitees

Use: List all invitees for a scheduled meeting.

Meetings-list events

Use: List scheduled meetings for user/org.

Organizations-create organization invitation

Use: Invite a user to the organization by email.

Organizations-get organization

Use: Fetch details for the connected user's organization.

Organizations-get organization membership

Use: Fetch details for a single org membership.

Organizations-list organization invitations

Use: List pending invitations for the organization.

Organizations-list organization memberships

Use: List all members of an organization.

Organizations-revoke organization invitation

Use: Revoke a pending organization invitation.

Routing forms-get routing form

Use: Fetch details for a single routing form.

Routing forms-get routing form submission

Use: Fetch details for a single routing form submission.

Routing forms-list routing forms

Use: List routing forms for the org.

Routing forms-list routing form submissions

Use: List submissions for a routing form.

Scheduling links-create single use scheduling link

Use: Create a single-use scheduling link using the event type's settings unchanged.

Shares-create share

Use: Create a single-use share link for a one-on-one event type with per-link overrides When: User wants a single-use link with any customization (duration, scheduling window, location, or availability).

Users-get current user

Use: Resolve the connected host account and canonical user URI.

Users-get user

Use: Fetch profile for a specific user by URI.

SETUP GUIDE

Connect Calendly MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
Install the Composio SDK and your agent framework
2

Create a session with MCP enabled

typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["calendly_mcp"],
  mcp: true,
});
Create a session scoped to Calendly MCP and read its MCP URL and headers
3

Connect your agent to the MCP server

typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "Find next available time for client",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
Pass the session's MCP URL and headers to your agent and run a Calendly MCP request
SETUP GUIDE

Connect Calendly MCP API Tool with your Agent

1

Install Composio

typescript
npm install @composio/core @composio/openai openai
Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
2

Create a Composio session

typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["calendly_mcp"] });
const tools = await session.tools();
Initialize Composio with the OpenAI Responses provider and create a session scoped to Calendly MCP
3

Run Calendly MCP tools with your agent

typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "Find next available time for client" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
Send a request, execute the Calendly MCP tool calls through the session, and print the final answer

Why Use Composio?

AI Native Calendly MCP Integration

  • Supports both Calendly MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Calendly data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke Calendly access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Calendly
  • Scoped, least privilege access to Calendly resources
  • Full audit trail of agent actions to support review and compliance
FRAMEWORKS

Use Calendly MCP with any AI Agent Framework

Choose a Framework you want to connect Calendly MCP with

Rolling this out across your team?

Give your team centralized access control across every framework with Composio’s MCP Gateway.

EXPLORE MCP GATEWAY
FAQ

Frequently asked questions

Yes, Calendly MCP requires you to configure your own Dcr Oauth credentials. Once set up, Composio handles secure credential storage and management for you.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Yes. Composio is SOC 2 Type II compliant and is built to keep your Calendly connection and credentials secure. OAuth tokens and API keys are encrypted, and sensitive customer data is protected at rest and in transit.

Composio also undergoes independent security testing and continuously monitors its systems for security threats. You can review the latest reports and policies in the Composio Trust Center.

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

When you connect a Calendly account through Composio, every action runs under that account, so anything the agent creates, sends, or changes shows up in Calendly as done by you. Keep an approval step in your prompt for actions with side effects, such as sending or deleting, and have the agent draft first.

Whatever the credentials you connect allow inside Calendly. If Calendly lets you scope a key to specific permissions, create a scoped one so the agent can only do what you intend. You can revoke the key inside Calendly at any time.

Yes. Composio supports multiple connected accounts for the same app, and that works in Claude, ChatGPT, or any other assistant you connect through Composio. Give each Calendly connection a name such as work or personal, and the assistant uses the one you mention in the request. Each account keeps its own credentials and nothing is merged.

Composio's free Hobby plan includes 100,000 tool calls per month with no credit card, which covers most personal Calendly use. Paid plans add higher limits and team features. Your Calendly plan and its API limits still apply as usual.

Built-in connectors usually give one AI access to a limited set of apps. Many people use Composio because it lets their AI connect to more apps than it normally supports, or connect to multiple accounts for the same app (e.g. connect Claude to multiple Calendly accounts).

With Composio, you connect Calendly once and then use it across different AI assistants without setting it up separately in each one. Connect your apps to Composio once, then connect Composio to whichever AI you use, whether that's Claude, ChatGPT, Hermes, or your own custom assistant.

Start with Calendly MCP.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Calendly MCP tool your agent needs.Free to start.

Start building