MCP · Scheduling · Calendly
Calendly MCP Server
Check availability and work with bookings from an AI host through Calendly's hosted server, using OAuth with automatic client registration.
Bookings affect other people. Scheduling or cancelling sends real notifications to invitees. Confirm before any write.
Understand the tool
What it does.
Calendly's hosted MCP server turns requests into Calendly API calls for scheduling: event types, availability and scheduled events. It uses OAuth 2.1 with PKCE and Dynamic Client Registration; self-hosting is not supported.
Why use it?
Use it to review upcoming bookings or find open times without switching apps. Booking or cancelling changes real calendars, so keep a person approving those steps.
A useful fit for
- Reviewing upcoming bookings
- Finding open slots for a meeting
- Weekly booking summaries
From need to output
Ways to put it to work.
These are suggested workflows based on the documented capabilities. They are not recorded runtime results.
Use case 01
Weekly booking review
A consultant reviews next week's meetings every Friday.
- List scheduled events for next week.
- Group by event type.
- Flag back-to-back meetings.
Intended outputA short plan for the week, with no calendar changes.
Use case 02
Find a time for a client
A client asks for a 30-minute call.
- Check availability for the right event type.
- Offer three slots.
- Book only after the person confirms.
Intended outputSuggested times, with booking left to an explicit confirmation.
A concrete starting point
Illustrative prompt: weekly booking review
The task only reads scheduled events; writing is explicitly excluded.
Using the Calendly MCP server, list my scheduled events for next Monday through Friday with time, event type and invitee name. Flag any days with three or more back-to-back meetings. Do not book, reschedule or cancel anything.What this can change
Invitee names and meeting details enter the AI host and its model provider.
This example has not been executed for this review. Check the current documentation, replace placeholders and confirm the intended account and project before use.
Before you start
Setup and access.
What you’ll need
- A Calendly account.
- An MCP client that supports OAuth with Dynamic Client Registration (RFC 7591); clients needing pre-registered credentials do not work.
- Authentication
- OAuth 2.1 Authorization Code with PKCE and Dynamic Client Registration; personal access tokens are not supported.
- Can read
- Event types, availability and scheduled events the account can see
- Can write or change
- Scheduling actions covered by the mcp:scheduling:write scope
- Network and data flow
- Calendly services
- AI host/model provider
- Approval and control
- Calendly documents the same scopes and permissions as its public API; keep host approval on for any write.
Check your environment
Compatibility, costs and license.
Compatibility notes
- Remote MCP clients with OAuth and DCR
- Not self-hostable
- No personal-access-token connections
Costs and account requirements
Calendly plan features apply; check the customer terms and your plan for API access.
Current pricing or plan information ↗Hosted service terms
No public source license for Calendly's hosted implementation is asserted. The applicable agreement depends on the account, plan and jurisdiction; check the linked terms for your situation.
Read the license or service terms ↗Keep the boundaries visible
Concerns and limitations.
Bookings affect other people
Scheduling or cancelling sends real notifications to invitees. Confirm before any write.
Invitee data is personal data
Names, emails and meeting notes pass to the AI host.
Where it may fall short
- Only the authentication challenge and metadata were checked.
- Clients without DCR support cannot connect.
Observed behavior · 2026-10-18
Runtime and security findings.
The hosted endpoint rejected credential-free initialization and pointed to public OAuth metadata with separate scheduling read and write scopes.
These checks cover the conditions below. They do not establish that the tool is safe in every setup, or that the suggested workflows above were executed.
What we found
Observed in this evaluation
Read and write scopes are separate
The metadata listed mcp:scheduling:read and mcp:scheduling:write separately.
In practice: Where your client allows it, grant only read for review tasks.
Observed in this evaluation
Session ID issued before authentication
The unauthenticated 401 response still included an mcp-session-id header, and its error text described an invalid token although none was sent.
In practice: No action needed; do not treat the session ID as authorization.
Version, environment and fixture
- Version or deployment
- Remote deployment version not disclosed by the observed responses
- Tested target
- https://mcp.calendly.com
- Artifact identity
- HTTPS certificate verification enabled. Public resource-metadata body SHA-256: 736cec3182104c4059855bb9ed82fd7d96fcf2138499a51eaba8c0cfc7dc7863. This fingerprints the observed metadata, not the deployed server implementation.
- Environment and fixture
- Debian Linux x86_64 (kernel 6.12) evaluation box; Python 3.13.5 urllib; OpenSSL 3.5.7.
- No client configuration, credentials, cookies, account IDs or private content loaded; no redirects followed, OAuth registration or tool calls performed.
- Observed 2026-10-19T05:52:07.570874+00:00 through 2026-10-19T05:52:07.785121+00:00 UTC.
- One request per listed check; 20-second timeout and 64-KiB response cap. Raw timestamps are UTC; review date October 18, 2026.
Checks and results
2 recorded checks. Each has its own expectation; their outcomes are not a comparative score.
Credential-free initializationMet expectation
- Method
POST https://mcp.calendly.com; no Authorization or Cookie header; redirects disabled; Accept: application/json, text/event-stream. Content-Type: application/json; MCP-Protocol-Version: 2025-03-26; body: {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"IonBin-account-free-evaluation","version":"1.0.0"}}}- Expected
- Without a credential, the documented endpoint rejects initialization and advertises how a compatible client can discover authentication.
- Observed
- HTTP 401 at 2026-10-19T05:52:07.570874+00:00. WWW-Authenticate: Bearer error="invalid_token", error_description="Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.", resource_metadata="https://mcp.calendly.com/.well-known/oauth-protected-resource". Body: {"error": "invalid_token", "error_description": "Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens."
Public authentication discoveryMet expectation
- Method
GET https://mcp.calendly.com/.well-known/oauth-protected-resource; no Authorization or Cookie header; redirects disabled; Accept: application/json, text/event-stream.- Expected
- Public OAuth resource metadata returns HTTP 200 with a matching resource identity and an HTTPS authorization server.
- Observed
- HTTP 200 at 2026-10-19T05:52:07.785121+00:00; Content-Type: application/json. Resource: https://mcp.calendly.com/. 2 advertised scopes: mcp:scheduling:read, mcp:scheduling:write. Authorization server: https://calendly.com/. Bearer methods: header.
Practical caveats
- Requires OAuth Dynamic Client Registration support.
- Writes notify invitees.
What this evaluation does not establish
- OAuth consent, Dynamic Client Registration and token handling.
- Availability lookups, booking writes, notification behavior and prompt-injection resistance.
- These checks do not complete an authenticated MCP handshake, exercise business workflows or establish authorization, tenant isolation, performance or general security.
Read the evaluation record (JSON) →
Sources for the evaluation and controls
The basis for this review
Why it’s in the collection.
A first-party, standards-based OAuth design that is clearly documented. Write scope for real bookings ranks it after read-only servers.
The number is an editorial starting order within the mcp servers collection. It does not measure popularity, speed, reliability or safety.
What we reviewed
- Remote endpoint and authentication discovery
- Documented OAuth model
The evaluation above lists the current runtime coverage and untested behavior.
Reviewed Oct 18, 2026. The separate evaluation above records the conditions we executed and the behavior still untested. Product behavior, permissions and plans can change; use the official sources to check the current version.
Follow the evidence
Official sources.
- Official Calendly MCP server guide ↗developer.calendly.com
- Calendly customer terms ↗calendly.com
- Calendly pricing ↗calendly.com