Skip to main content

Connecting ChatGPT to CaptainBook via MCP

Learn how to generate an MCP connection token in CaptainBook, add it as a custom connector in ChatGPT, and publish it so your team can query CaptainBook data directly from a ChatGPT conversation.

Written by Luca Lattanzio

What this guide covers: how to create an MCP connection in CaptainBook, how to add that connection as a plugin in ChatGPT, how to authenticate it with your token, and how to publish it so it's available to your whole ChatGPT workspace.

MCP (Model Context Protocol) lets you connect CaptainBook directly to an AI assistant like ChatGPT, so you can ask questions about your revenue, bookings, occupancy, and customers in plain language, without exporting anything.

⚠️ Requires a ChatGPT Business account. Connecting a custom MCP connector is not available on ChatGPT's free or Plus plans. If you're not already on Business, you'll be prompted to upgrade, and ChatGPT will also start charging pay-as-you-go credits on top of your subscription for usage, so check your plan before you start.


Step 1: Open MCP Connections in CaptainBook

In CaptainBook, click your profile in the bottom left and choose MCP Connections from the account menu.


Step 2: Choose an integration

Select which part of CaptainBook you want the assistant to be able to query. Statistics gives read-only access to revenue, bookings, occupancy, and customer aggregates. Other options include Inventory, Inventory · Edit, and Inventory · Customer Service.


Step 3: Name the connection and pin it to a business unit

Give the connection a name that helps you identify which device or assistant is using it (for example, "Sarah's laptop, refunds"). Then choose which business unit to pin it to.

This matters: the connection will only ever return data for the business unit you select here, regardless of what the assistant is asked.


Step 4: Review and generate

Confirm the integration, connection name, and business unit, then click Generate.


Step 5: Save your token

CaptainBook shows you a Token and a Configuration section with tabs for different assistants. This first opens on the Claude Code tab by default, showing a JSON snippet.

⚠️ Save the token now. For security, it will not be shown again.

Click the ChatGPT tab to get the two values you actually need for this guide: the Server URL and the Authorization header.


Step 6: Open Plugins in ChatGPT

In ChatGPT, open the sidebar and go to Plugins.


Step 7: Add a new connector

On the Plugins page, click + to add a new connector.

Fill in the connector form:

  • Give it a name (doesn't need to match the CaptainBook name, but it's easier to keep them consistent).

  • Add a description (optional).

  • Paste the Server URL from CaptainBook into the Connection field.

  • Change Authentication to Access token / API key.

  • Tick I understand.

  • Click Create.


Step 8: Connect using your token

Creating the connector immediately prompts you to connect it. Paste the entire Authorization header value from CaptainBook (the full "Bearer ..." string) into the token field, then click Connect [your connection name].


Step 9: Confirm the connector settings

After connecting, you land on the connector's settings page, showing its Connection status and Information panel (created date, URL, authorization type, version).


Step 10: Publish the connector to your workspace

To make the connector available to everyone on your ChatGPT workspace, click the three dots in the top right of the settings page and choose Publish.

You'll be shown two risk reviews to acknowledge:

  • Unauthorized data access

  • Malicious app

Expand both, review them, and click Publish.


Step 11: Confirm it's live

This can take a moment to process. Once it's done, the connector appears in your Apps list as Enabled.


You're done

The connector is now live. In any ChatGPT conversation, you can ask questions that draw on the CaptainBook data you connected, for example, "Which products had the highest occupancy last weekend?" or "Which weekday is our busiest by booking count?"

Did this answer your question?