---
title: "MCP Server"
description: "Talk to OnePageCRM from AI agents via the Model Context Protocol."
canonical_url: https://developer.onepagecrm.com/mcp/overview/
source: Markdown mirror of https://developer.onepagecrm.com/mcp/overview/
---

The OnePageCRM MCP server exposes CRM data and actions to AI agents
through the [Model Context Protocol](https://modelcontextprotocol.io).
Once connected, the agent can read your contacts, deals, actions, notes,
calls, and meetings — and create or update them on your behalf.

![Connection map: an AI client such as Claude, ChatGPT, or Le Chat connects to the OnePageCRM MCP server at app.onepagecrm.com/mcp after a one-time OAuth consent in the browser, then uses the describe, context, query, create, and update tools against your CRM data — every call runs as the signed-in user](/assets/diagrams/mcp-connection.svg)

## Endpoint

```
https://app.onepagecrm.com/mcp
```

The server speaks MCP over HTTP and uses **OAuth 2.1** for authorization.
You never paste an API key into the AI client — instead the client
redirects you to OnePageCRM, you sign in, you approve the connection,
and tokens flow back to the client behind the scenes.

## Tools the server exposes

| Tool                                                  | Purpose                                                  |
| ----------------------------------------------------- | -------------------------------------------------------- |
| [`describe`](/mcp/tools/describe/)`(entity)`          | Per-field schema — types, query traits (filter/sort/group/aggregate), writable/required flags, lookups, and examples. |
| [`context`](/mcp/tools/context/)`()`                  | Account-specific reference data — statuses, pipelines, users, tags, custom fields. |
| [`query`](/mcp/tools/query/)`(oql)`                   | Read data via [OQL](/oql/overview/) — filters, ordering, aggregates. |
| [`create`](/mcp/tools/create/)`(entity, data)`        | Create a contact, deal, action, note, call, or meeting.  |
| [`update`](/mcp/tools/update/)`(entity, id, data)`    | Update an existing object.                               |

## Supported AI clients

These AI clients connect out of the box — every OnePageCRM user can wire
them up straight away, with no registration step on your end:

- **ChatGPT** (OpenAI)
- **Claude** (Anthropic — claude.ai, Claude Code)
- **Mistral** (Le Chat)
- **Grok** (xAI)
- **Perplexity**

Add the MCP endpoint URL as a connector, sign in, approve the consent
screen, and you're connected. The
[help-center guide](https://help.onepagecrm.com/article/1017-mcp) has
step-by-step screenshots for each client.

> **Don't see your client?** If it speaks MCP but doesn't connect out of
> the box, [get in touch](/support/) — we'll get it set up.

## First prompts to try

Once connected, the agent has a small toolbox: `describe`, `context`,
`query`, `create`, `update`. Drive it in plain language — it picks the
right tools for you, and it will chain several in one request.

- *"What's on my Action Stream today?"*
- *"Show me the deals I closed last quarter, grouped by owner."*
- *"Turn this call transcript into a note for Jane Doe and add a
  follow-up action."*
- *"Reschedule my overdue actions across next week, by priority."*
- *"Add this as a contact, tag them Trade Show, and set an action to
  call Tuesday."*

## Permissions

You pick the connection's permission level on the consent screen. The
`mcp` scope gates access to the server and its schema and reference
tools (`describe`, `context`); the data scope you approve alongside
it — `crm.readonly` or `crm` — decides whether the agent can read or
write your records:

| You approve            | The agent can use                 |
| ---------------------- | --------------------------------- |
| `mcp` only             | `describe`, `context`             |
| `mcp` + `crm.readonly` | …plus `query`                     |
| `mcp` + `crm`          | …plus `create` and `update`       |

A connection never gains scope later — refreshed tokens keep exactly
what you approved. To move from read-only to read-write (or back),
disconnect the client and connect again with the scope you want.

Within the approved scope, the agent acts as the user who authorized
it. If you can see a contact, the agent can see it; if you can edit a
deal, the agent can edit it.
