<!--
OrangeChat docs, machine-readable surface:
This page (markdown): https://orangechat.ai/docs/connect-your-ai-assistant.md
Index of all pages: https://orangechat.ai/llms.txt
Full docs corpus: https://orangechat.ai/llms-full.txt
-->

# Connect your AI assistant

> Connect Claude, ChatGPT, Codex, Cursor, or any MCP-capable assistant to OrangeChat, so it can set up your receptionist, keep its details current, and read your calls, transcripts, customers, appointments, and messages.

Video walkthrough: https://www.youtube.com/watch?v=lQLcA0JXzJQ

OrangeChat runs a remote MCP server. Add it to your AI assistant, sign in with your OrangeChat account, pick your business, and approve. The assistant can then answer questions like "who called today and what did they want?" from your real call data, and make changes like "we're closed Monday" without you opening the dashboard.

New to OrangeChat? Create an account on the sign-in page; your assistant can set up the business for you.

**Server URL:** `https://orangechat.ai/mcp`

Sign-in uses OAuth: you approve the connection on an orangechat.ai page, and the assistant never sees your password. Each connection is limited to the one business you pick.

## Claude (claude.ai and the desktop app)

**Settings → Connectors → Add custom connector**, name it OrangeChat, and paste the server URL. Claude opens the OrangeChat sign-in page the first time you use it.

## Claude Code

```bash
claude mcp add --transport http orangechat https://orangechat.ai/mcp
```

Then run `/mcp` in Claude Code and choose **Authenticate**.

## ChatGPT

On ChatGPT plans that allow custom connectors, add a new connector, paste the server URL, and choose OAuth as the authentication method.

## Codex

Add to `~/.codex/config.toml`:

```toml
[mcp_servers.orangechat]
url = "https://orangechat.ai/mcp"
```

## Cursor and other MCP clients

Add a remote (Streamable HTTP) MCP server with the URL `https://orangechat.ai/mcp` and OAuth sign-in.

## What the assistant can do

You choose on the sign-in page. **Read** is always on; **change settings** is a checkbox.

| Tool | Permission | What it does |
|---|---|---|
| `get_business` | read | The receptionist's settings and whether it is live |
| `list_calls` | read | Recent calls: caller, time, length, summary |
| `get_call_transcript` | read | The full transcript of one call |
| `list_customers` | read | Customers and leads, with status and call count |
| `list_appointments` | read | Appointments in a date range |
| `get_messages` | read | SMS, email, and chat history with one customer |
| `setup_business` | change settings | Creates your business from details you confirm (only if you don't have one yet) |
| `update_business` | change settings | Changes hours, greeting, services, transfers, notifications, languages, booking link, or custom questions |

Changes to a live receptionist apply from its next call. Every change your assistant makes is logged with what it was before.

The assistant **cannot** pay, choose a plan, buy or release a phone number, see your API keys, send messages, or place calls. To make the receptionist live, you pick a plan and a phone number in the dashboard.

## Disconnect

**Integrations → Your AI assistant** in the OrangeChat dashboard lists every connected assistant. **Disconnect** stops its access immediately.

## For developers

- Protected resource metadata: `https://orangechat.ai/.well-known/oauth-protected-resource/mcp`
- Authorization server metadata: `https://orangechat.ai/.well-known/oauth-authorization-server`
- OAuth 2.1 with PKCE (S256), public clients. Clients register with a Client ID Metadata Document URL or Dynamic Client Registration.
- Access tokens last one hour; refresh tokens are rotated on every use.
