# Claude

# Add the Cronofy MCP Server to Claude
You can add the Cronofy MCP Server to both [Claude Code](#claude-code) and [Claude Desktop](#claude-desktop-as-a-connector).

First enable the Cronofy Developer Tools.

![](https://docs.cronofy.com/connect/integrations/claude-code/enable-cronofy-developer-tools.1e7a693bc09cb5a05ec64cc8742a4d06e6570f1a21498b3951ecb9936331912e.png)
Then create an [Application](https://docs.cronofy.com/developers/application-management/index.md) in the Developer section of the Cronofy dashboard. Your Application has a `client_id` and `client_secret` that you'll use to connect.

While you're investigating the service, an [Internal Application](https://docs.cronofy.com/developers/application-management/internal-applications/index.md) is the simplest option — it automatically grants access to all members of your Organizational Unit. As you move towards production you can swap it out for a standard multi-tenant [Application](https://docs.cronofy.com/developers/application-management/index.md).

The Cronofy MCP Server supports an OAuth 2.0 authorization flow (with PKCE), which is the recommended way to connect. You provide your `client_id` and `client_secret` once, and Claude takes you through a browser sign-in to authorize access. A fixed [API Key](#connecting-with-an-api-key) approach is also available for single-tenant usage.

Throughout this page the server URL is `https://api.cronofy.com/v1/mcp_server`. If you're using a [Data Center](https://docs.cronofy.com/developers/data-centers/index.md) other than the US one, change the host to match the appropriate API Host.

# Claude Code
Run the following in your terminal, replacing `{client_id}` with the `client_id` of your Application:

```bash
claude mcp add --transport http --client-id {client_id} --client-secret cronofy https://api.cronofy.com/v1/mcp_server
```

You'll be prompted to enter your `client_secret` (the input is masked).

Then, inside Claude Code, run the `/mcp` command, select `cronofy`, and choose **Authenticate**. This opens your browser to complete the OAuth sign-in and authorize access to your Cronofy Organizational Unit.

## Connecting with an API Key
For single-tenant usage you can instead use the `client_secret` of an [Internal Application](https://docs.cronofy.com/developers/application-management/internal-applications/index.md) as a fixed Bearer token:

```bash
claude mcp add --transport http cronofy https://api.cronofy.com/v1/mcp_server --header "Authorization: Bearer {client_secret}"
```

# Claude Desktop (as a Connector)
You can also add Cronofy to Claude Desktop (and the Claude web and mobile apps) as a custom connector, using the same OAuth flow.

- Open **Settings** and go to **Connectors**.

- Click **Add custom connector**.

- Enter the server URL `https://api.cronofy.com/v1/mcp_server`.

- Open **Advanced settings** and enter your **OAuth Client ID** (`client_id`) and **OAuth Client Secret** (`client_secret`).

- Save the connector, then connect to it to complete the browser sign-in and authorize access to your Cronofy Organizational Unit.

On Team and Enterprise plans, an Owner needs to add the custom connector from **Organization settings > Connectors** before it's available to members.

# Usage
Adding the MCP server will add the Cronofy Tools to the capabiliies of Claude. Here's an example of an interaction.

```
> find times for doc@evenitron.com to meet with dave@example.com about Partnerships

⏺ I can help you find meeting times between doc@evenitron.com and dave@example.com for a Partnerships discussion.

  To suggest available times, I need to know what timezone you'd like the results displayed in. What timezone should I use? (e.g., America/New_York, Europe/London, America/Chicago, etc.)

> London

⏺ cronofy - suggest_times_to_meet (MCP)(host_email: "doc@evenitron.com", recipient_email: "dave@example.com", summary: "Partnerships", time_zone: "Europe/London")
  ⎿  {
       "scheduling_token_id": "4D99Gou0",
       "scheduling_link": "https://scheduling.evenitron.com/rts/4D99Gou0",
     … +2 lines (ctrl+o to expand)

⏺ I found available meeting times for doc@evenitron.com and dave@example.com to discuss Partnerships. Here are the suggested times in London timezone:

  Available Times:
  - Wednesday, Nov 6, 2025 at 6:00 AM
  - Wednesday, Nov 6, 2025 at 6:30 AM
  - Thursday, Nov 7, 2025 at 6:30 AM
  - Thursday, Nov 7, 2025 at 7:00 AM
  - Monday, Nov 10, 2025 at 7:30 AM

  Scheduling Link: https://scheduling.evenitron.com/rts/4D99Gou0

  Dave can use this link to select a time, or if you'd like me to book a specific time slot, let me know which one you prefer and I can schedule it directly.

> Choose Thurs at 7am

⏺ cronofy - choose_suggested_time (MCP)(scheduling_token_id: "4D99Gou0", time_zone: "Europe/London", chosen_suggested_time: "2025-11-07T10:00:00+03:00")
  ⎿  {
       "scheduling_token": "4D99Gou0",
       "selected_time": "2025-11-07T10:00:00+03:00",
     … +2 lines (ctrl+o to expand)

⏺ Perfect! I've scheduled the Partnerships meeting for:

  Thursday, November 7, 2025 at 7:00 AM (London time)

  Between:
  - doc@evenitron.com (host)
  - dave@example.com

  If you need to reschedule, you can use this link: https://scheduling.evenitron.com/rts/4D99Gou0```

---
[Read in HTML](https://docs.cronofy.com/connect/integrations/claude-code/)

## In this section

