App

How to connect OneCal Calendar MCP server to ChatGPT

OneCal exposes a Model Context Protocol (MCP) server that lets AI clients like ChatGPT read and manage your connected calendars on your behalf. Once connected, you can ask ChatGPT to list your calendars, check your availability, and create, update, or delete calendar events.

On ChatGPT, custom MCP connectors are called apps. Connecting OneCal involves switching between ChatGPT and OneCal: you start creating the app in ChatGPT to get its callback URL, use that URL to create the MCP client in OneCal, then come back to ChatGPT with the credentials OneCal gives you.


Prerequisites

Before starting make sure you have the following:

  • A OneCal account with either an active Free Trial or any paid plan.
  • At least one calendar connected to your OneCal account.
  • You are already logged in to your OneCal account.
  • A paid ChatGPT subscription. Creating custom apps is only available on ChatGPT's paid plans, not on the free plan.

Step 1: Start creating the app in ChatGPT and copy the callback URL

1. Open ChatGPT and go to Settings > Apps.

2. Under the Advanced settings section, click Create app.

Grainy Texture
ChatGPT App settings with the Create app button next to Advanced settings
Settings > Apps > Advanced settings > Create app

3. In the New App dialog, enter a Name for the app, for example: "OneCal MCP".

4. Under Connection, keep Server URL selected and enter the OneCal MCP server URL:

https://mcp-server.onecal.io/mcp

5. Set Authentication to OAuth, then click Advanced OAuth settings.

Grainy Texture
ChatGPT New App dialog with the OneCal MCP server URL, OAuth authentication, and Advanced OAuth settings
Enter the OneCal MCP server URL and open Advanced OAuth settings

6. In Advanced OAuth settings, set Registration method to User-Defined OAuth Client, then copy the Callback URL that ChatGPT shows. The callback URL is unique to this app, so copy it directly rather than typing it from memory. You will need it in the next step to create the MCP client in OneCal.

Grainy Texture
ChatGPT OAuth advanced settings showing the Registration method and the Callback URL to copy
Copy the Callback URL from ChatGPT's OAuth advanced settings

Keep this ChatGPT tab open, as you will come back to it in Step 3.


Step 2: Create an MCP client in OneCal

1. In a new tab, navigate to https://app.onecal.io/ and open Settings > MCP Config.

2. Click the New Client button.

3. Give the client a recognizable name, for example: "ChatGPT". This helps you identify which app the client belongs to later.

4. Leave Supports client-secret OAuth authentication enabled.

5. Choose the scopes you want to grant. Scopes control what ChatGPT can do through the MCP server. For full calendar access, enable Read your calendar events and Create and modify calendar events. Profile, email, and offline access are required and always included. Only grant the scopes you actually need.

6. In the Default Redirect URI field, paste the Callback URL you copied from ChatGPT's Advanced OAuth settings.

Grainy Texture
OneCal New MCP Client dialog with name, scopes, and default redirect URI
Create the MCP client in OneCal and paste ChatGPT's callback URL

7. Click Create Client. OneCal will generate your client credentials, including the Client ID, Client Secret, and other connection details.

8. Copy and securely store these values. Treat the Client Secret like a password. It is shown once and should never be shared publicly.


Step 3: Finish the app in ChatGPT

1. Go back to the ChatGPT app you started in Step 1, in the Advanced OAuth settings section.

2. Paste the Client ID and Client Secret from OneCal into their matching fields.

3. Acknowledge ChatGPT's custom MCP server warning by checking I understand and want to continue, then click Create.

4. ChatGPT shows an Add "{app name}" to ChatGPT prompt with a Sign in with "{app name}" button, where {app name} is the name you gave the app earlier. Click it to start the OAuth flow.

5. You will be redirected to OneCal. Sign in if prompted, review the access ChatGPT is requesting, and click Authorize to grant access.

Grainy Texture
OneCal Authorize ChatGPT screen listing the requested permissions
Authorize ChatGPT to access your OneCal account

6. After authorizing, ChatGPT redirects back and marks the app as connected.


Step 4: Use OneCal in ChatGPT

Once connected, you can call the OneCal app in a conversation by typing @ followed by the app's name (for example, @OneCal MCP) and then your request. For example, you can ask ChatGPT to:

  • List your connected calendars.
  • Check your availability for a given day or time range.
  • Create, update, or delete calendar events.

ChatGPT will only be able to perform actions allowed by the scopes you selected when creating the client.


Troubleshooting

  • Authorization fails or redirects to an error page: Make sure the redirect URI you added in OneCal exactly matches the Callback URL from ChatGPT's Advanced OAuth Settings. Even a trailing slash difference will cause the flow to fail.
  • App can read but cannot create or edit events: Confirm you granted the calendar write scope when creating the client. You can edit the client's scopes in Settings > MCP Config.
  • Invalid client errors: Double-check that the Client ID and Client Secret were copied correctly, with no extra spaces.