# Claude and other AI clients

> Connect Claude, Claude Code, ChatGPT and other AI clients to your CustomerCatalyst data, choose what they may see and change, and revoke access.

import { Aside, Steps, Tabs, TabItem } from '@astrojs/starlight/components';

CustomerCatalyst runs an MCP server, a standard way for AI clients to work with outside data. Connect your AI client to it and you can ask about your customers ("which accounts renew next month and have open tickets?") or have it log a call or create a task for you.

- A connection acts **as you**, inside your organization only.
- You choose which data types it may use, and whether it may only read them or also create and update records.
- You can change or revoke a connection at any time.

The server URL is:

```
https://mcp.customercatalyst.io
```

You find it, and the steps for each client, under **Integrations › MCP servers**.

## Connect with your browser

Claude, Claude Code, ChatGPT, Codex CLI and Zed sign you in through your browser. There is no key to copy.

<Tabs>
<TabItem label="Claude">

<Steps>

1. In Claude, open **Settings → Connectors → Add custom connector**.
2. Paste the server URL.
3. Review the permissions in the CustomerCatalyst window that opens, and approve.

</Steps>

</TabItem>
<TabItem label="Claude Code">

<Steps>

1. Run:

   ```bash
   claude mcp add --transport http customercatalyst https://mcp.customercatalyst.io
   ```

2. In Claude Code, run `/mcp` and choose **Authenticate**.
3. Review the permissions in your browser and approve.

</Steps>

</TabItem>
<TabItem label="ChatGPT">

Available in ChatGPT's developer mode.

<Steps>

1. Turn on **Settings → Connectors → Developer mode**.
2. Add a connector and paste the server URL.
3. Review the permissions and approve.

</Steps>

</TabItem>
<TabItem label="Codex CLI">

<Steps>

1. Run both commands:

   ```bash
   codex mcp add customercatalyst --url https://mcp.customercatalyst.io
   codex mcp login customercatalyst
   ```

2. Approve the permissions in the browser window that opens.

</Steps>

</TabItem>
<TabItem label="Zed">

<Steps>

1. Open **Settings → AI → MCP Servers**.
2. Add a server and paste the server URL.
3. Review the permissions and approve.

</Steps>

</TabItem>
</Tabs>

The client menus above can change; if a step doesn't match, follow your client's own help for adding a remote MCP server.

### What you approve

The browser opens a CustomerCatalyst page. Sign in if asked. The page names the client that wants access and lists the data types, grouped as in the table below. Pick what the client may use and click **Allow**.

Once connected, the client stays signed in by itself. If you connect the same client again, the button reads **Reconnect** and the data types you granted before are already ticked.

## Connect with an API key

For clients that can't open a browser to sign in, use an API key.

<Steps>

1. Under **Integrations › MCP servers**, go to **Connect with an API key** and click **Create API key**.
2. Give it a label (up to 30 characters), for example the client's name.
3. Tick **Read** and, where offered, **Write** for each data type the client needs. Grant the least it needs.
4. Copy the key. **It is shown only once** and can't be retrieved later. Don't share it or commit it to a repository.
5. Add the server to your client with the key as an `Authorization` header. Most clients take this JSON:

   ```json
   {
     "mcpServers": {
       "customercatalyst": {
         "url": "https://mcp.customercatalyst.io",
         "headers": { "Authorization": "Bearer <YOUR_KEY>" }
       }
     }
   }
   ```

</Steps>

An API key doesn't expire. It works until you revoke it. If you lose it, revoke it and create a new one.

## Data types

| Group | Data type | What it covers | Write |
|---|---|---|---|
| Accounts & People | Customers | Accounts, their health scores and revenue | Yes |
| | Contacts | People at your customer accounts | Yes |
| | Team members | Your team members' names, to show who owns what | No |
| Engagement | Calls | Calls logged against customers | Yes |
| | Meetings | Meetings and who attended them | Yes |
| | Tasks | Tasks, their owners and due dates | Yes |
| Content | Notes | Notes and the comments written on playbooks | Yes |
| | Emails | Who emailed whom and when, including their email addresses. Message text is never read. | No |
| Commercial | Opportunities | Deals and the pipeline | Yes |
| | Revenue | Revenue events and the products behind them | No |
| Success Management | Playbooks | Playbooks in progress and the templates they come from | Yes |
| | Success plans | Success plans, their targets and stages | Yes |
| Metrics | Metrics | Metric definitions and their values over time | No |
| Support | Tickets | Support tickets and their status | Yes |

If you ask for something the connection wasn't granted, the client tells you it has no access to that data type. Add it under **Edit access**.

## What it can change

A new connection can read and, where the data type supports it, create and update records. You can turn write access off per connection.

- **You confirm each change.** Your AI client shows what it is about to do and asks you before it runs. The change is then made at once, not saved as a draft.
- **It acts as you.** Changes are made in your name, with the same notifications, reminders and activity as in the app. You need the **Edit** permission in CustomerCatalyst to make changes.
- **It doesn't delete.** The only removals are taking an attendee off a call or meeting, removing a member from a playbook, and stopping sharing a playbook with the customer.
- **Two actions send email** to people outside your team: replying to a support ticket, and sharing a playbook with the customer's contacts. Check the text and the recipients before you confirm.
- **CRM records.** Calls and meetings that came from your CRM can't be changed here; change them in the CRM. For other records from the CRM, the client warns you when a change would be replaced by the CRM's value at the next sync, and asks before going ahead.
- **CRM tickets** can get internal notes, but replies and status changes happen in the CRM.

## Manage and revoke connections

Under **Integrations › MCP servers**, the list shows every connection: browser sign-ins (**OAuth**) and API keys (**API key**), with the data types each one can read and how often it has been used.

- **Edit access** changes a connection's **Read** and **Write** ticks. The change applies immediately; the client keeps working without reconnecting.
- **Revoke server** ends the connection at once. The client can no longer reach your data.

Revoke a connection when you stop using a client, or if a key may have leaked.

<Aside>
Each person connects their own client. A connection only ever sees your own organization's data.
</Aside>

## Limits

- **Emails:** the client sees who emailed whom and when, never the message text.
- **Archived customers** count as deleted.
- **Speed:** up to 120 requests per minute per connection. Beyond that, the client is asked to wait briefly.

Technical details are in the [MCP reference](/developers/mcp/).
