> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useorbitcrm.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Server

> Connect AI assistants like Claude and ChatGPT to your OrbitForms account using the Model Context Protocol (MCP).

Orbit is the CRM your AI agents run on. Its built-in [Model Context Protocol](https://modelcontextprotocol.io) server makes Orbit the data layer for agentic sales: connect an assistant or agent once and it can read and update your contacts, companies, deals, tasks and notes, work your forms, meetings, scheduling pages and email sequences, email your contacts one to one, build and run workflows, configure the dialer and log call outcomes, and configure the CRM itself (custom fields, pipelines, settings, saved views and teams). Every call is scoped to your team and gated by the same scopes and rate limits as the REST API.

That last part means you don't have to build your CRM by hand. Describe how you sell and your agent sets up the pipelines, fields, settings and saved views, then changes them whenever you ask. See [Build your CRM](https://docs.useorbitcrm.ai/mcp/build-your-crm.md).

> [card] [Build your CRM](https://docs.useorbitcrm.ai/mcp/build-your-crm.md)
>
> Set up pipelines, fields, settings and saved views in one conversation, and reshape them later the same way.

> [card] [Available tools](https://docs.useorbitcrm.ai/mcp/tools.md)
>
> Every tool: what it does, the scope it needs, and whether it reads, writes or reaches outside Orbit.

> [card] [Use OrbitForms in Claude](https://docs.useorbitcrm.ai/mcp/claude.md)
>
> Connect from the Claude Connectors Directory, as a custom connector, or from Claude Code.

> [card] [Use OrbitForms in ChatGPT](https://docs.useorbitcrm.ai/mcp/chatgpt.md)
>
> Install the OrbitForms plugin from the ChatGPT directory or connect the server directly.

## Endpoints

| Endpoint | Use it from |
| - | - |
| `https://app.useorbitcrm.ai/api/mcp` | ChatGPT, Claude Code, Cursor, custom connectors, API-key agents, MCP Inspector |
| `https://app.useorbitcrm.ai/api/mcp/claude` | The Claude Connectors Directory listing (claude.ai, Claude Desktop, mobile) |

Both endpoints expose the same tools with the same permissions. The only difference is how they greet an unauthenticated client: the Claude endpoint asks for sign-in on the very first request, which is what Claude's connector dialog expects, while the general endpoint lets hosts list the available tools before you sign in.

The server uses the Streamable HTTP transport (the current MCP standard) and answers each request with plain JSON. SSE-only clients are not supported.

## Connect with OAuth (recommended)

The server supports the full MCP authorization flow — OAuth 2.1 with PKCE, Client ID Metadata Documents, dynamic client registration, and automatic discovery. Add the connector and your client walks you through login and consent in the browser; no keys to copy, tokens refresh automatically, and you can revoke access at any time.

> [tab] Claude
>
> Search for **OrbitForms** in **Customize → Connectors** and choose **Connect**, or add `https://app.useorbitcrm.ai/api/mcp/claude` as a custom connector. See [Use OrbitForms in Claude](https://docs.useorbitcrm.ai/mcp/claude.md).

> [tab] ChatGPT
>
> Install **OrbitForms** from the plugin directory, or open [chatgpt.com/plugins](https://chatgpt.com/plugins) and add `https://app.useorbitcrm.ai/api/mcp` as a custom MCP server. See [Use OrbitForms in ChatGPT](https://docs.useorbitcrm.ai/mcp/chatgpt.md).

> [tab] Claude Code
>
> ```bash theme={null}
> claude mcp add --transport http orbit https://app.useorbitcrm.ai/api/mcp
> ```
>
> Then run `/mcp` inside Claude Code and choose **Authenticate** — your browser opens to the OrbitForms consent screen.

> [tab] Cursor
>
> Add to `.cursor/mcp.json` — Cursor detects the OAuth server and prompts you to log in:
>
> ```json theme={null}
> {
>   "mcpServers": {
>     "orbit": {
>       "url": "https://app.useorbitcrm.ai/api/mcp"
>     }
>   }
> }
> ```

During consent you choose which team the assistant may access; every tool call is scoped to that team. The consent screen also shows where you will be sent back to after authorizing, so you can confirm it is the assistant you started from. Assistants that register themselves (Claude, ChatGPT and other MCP hosts) can never hold the `:delete` scopes, so they can't delete forms, submissions, contacts, companies, deals, meetings, scheduling pages or workflows, or remove contacts from sequences; only an OAuth app created in the Developer Portal, or an API key, can be granted those. No scope touches billing or invites or removes workspace members. With `emails:send` an assistant can email your contacts from your Orbit sending address (existing contacts only, within the same hourly caps as the contact page), and with `sequences:manage` it can write and activate sequences, which then email everyone enrolled. Within the write scopes you approve they can still remove or overwrite what those scopes cover: tasks, notes, custom fields, pipelines, stages, saved views, teams (member groups) and call scripts; merging contacts archives the duplicate; and with `dialer:write` an assistant can permanently delete a call's recording and transcript and remove numbers from the do-not-call list (both admin-only). `dialer:read` includes call transcripts, AI call feedback and calling costs. No tool or scope places a phone call or buys a number: a person always dials from the Dialer page. [App Permissions](https://docs.useorbitcrm.ai/apps/permissions.md) describes every scope.

## Connect with an API key

For headless use — scripts, CI, server-side agents — authenticate with an OrbitForms API key instead, created in **Settings → API keys**. Pass it either way:

```
Authorization: Bearer sk_live_...
```

```
X-API-Key: sk_live_...
```

For example, in Claude Code:

```bash theme={null}
claude mcp add --transport http orbit https://app.useorbitcrm.ai/api/mcp \
  --header "Authorization: Bearer sk_live_YOUR_KEY"
```

> [!TIP]
>
> If you use API keys, create a dedicated key for each assistant with only the scopes it needs — read-only scopes are a good default. You can revoke it any time from Settings → API keys without affecting other integrations.

## Scopes and permissions

Each tool requires a specific scope (for example `contacts:read` for `list_contacts`, `deals:write` for `create_deal`, `crm:write` for `create_pipeline`, `sequences:write` for `enroll_contacts_in_sequence`). With OAuth you approve scopes on the consent screen; with API keys you pick them at key creation. When an assistant calls a tool its credential does not cover, the server asks the assistant to request the missing permission — Claude shows a re-authorization prompt and ChatGPT opens its account-linking card — rather than failing silently.

Every tool declares MCP annotations (`readOnlyHint`, `destructiveHint`, `openWorldHint`) so hosts know which calls only read data and which send email, book or cancel meetings, or deliver data to an external endpoint. Hosts use these to decide when to ask you before running a tool.

See [Available Tools](https://docs.useorbitcrm.ai/mcp/tools.md) for the full tool list, required scopes, annotations, and the meeting-booking flow.

## Revoking access

Remove the connector in the assistant's own settings, or revoke the connected application or API key in OrbitForms. Revocation takes effect immediately for new requests. Data the assistant already received is subject to the assistant provider's retention practices; see our [Privacy Policy](https://useorbitcrm.ai/privacy).

## Testing the server yourself

[MCP Inspector](https://modelcontextprotocol.io/docs/tools/inspector) works against either endpoint:

```bash theme={null}
npx @modelcontextprotocol/inspector
```

Enter `https://app.useorbitcrm.ai/api/mcp`, choose Streamable HTTP, and connect — the Inspector discovers the OAuth server and opens the consent screen. Discovery documents are at `/.well-known/oauth-authorization-server` and `/.well-known/oauth-protected-resource/api/mcp`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.