How to Connect Claude to Your CRM with MCP - Relaticle Blog             [  Back to blog ](https://relaticle.com/blog) 

 ![How to Connect Claude to Your CRM with MCP](https://relaticle.com/storage/ink/01M08TE5VRWJW8D4KS7PEWZ2D2.png)You can have Claude reading and writing your Relaticle CRM in about two minutes on Claude Code, or a few minutes more when connecting Claude.ai or Claude Desktop through OAuth. Once connected, Claude can search your companies, people, opportunities, tasks, and notes; read full record detail; and create, update, or delete records directly, using the same custom fields your team already configured. This is the setup guide: what the connection actually gives you, how to wire it up from each client, what the 37 tools can and can't do, and, the part most guides skip, exactly how writes behave once Claude has access.

The canonical reference for every detail below lives at [relaticle.com/developers/mcp](https://relaticle.com/developers/mcp). This post is the narrative walkthrough; that page is the one to bookmark for exact tool schemas and troubleshooting.

[](#what-the-connection-gives-you "Permalink")What the connection gives you
---------------------------------------------------------------------------

MCP (Model Context Protocol) is the open standard that lets an AI assistant call real tools against a real system, instead of you pasting data back and forth between a chat window and your CRM. Relaticle runs an MCP server at `mcp.relaticle.com` that exposes your workspace to any MCP-capable client.

Once you connect it, Claude can:

- Search and list companies, people, opportunities, tasks, and notes, with filtering, sorting, and pagination
- Fetch a single record with full detail and its relationships (a company's contacts, an opportunity's linked tasks, and so on)
- Create, update, and soft-delete records in any of those five entity types
- Read and write your team's custom fields, not just the built-in ones
- Attach or detach tasks and notes to companies, people, and opportunities, and assign tasks to team members
- Read a schema resource per entity so it knows your exact field codes and option values before it writes anything

Every one of those operations is scoped to a single workspace: the one you picked when you authorized the connection. Claude cannot see or touch a different team's data through the same token.

[](#connect-from-claude-web-and-desktop "Permalink")Connect from Claude (web and desktop)
-----------------------------------------------------------------------------------------

Relaticle's MCP server supports two authentication methods, and which one you use depends on the client.

**OAuth (recommended for Claude.ai and Claude Desktop).** Add Relaticle as a custom connector using the MCP endpoint URL, `https://mcp.relaticle.com`, or your own domain if you're self-hosting. Because the server supports OAuth 2.1 with Dynamic Client Registration, Claude registers itself automatically and walks you through a one-click consent screen: you pick the workspace this connector should use, approve access, and you're connected. There's no token to copy or paste.

That workspace choice is permanent for the connector. If you need it pointed at a different team, revoke the connector and reconnect rather than trying to switch it in place. Access tokens issued this way last 30 days and refresh tokens last 90; Claude refreshes them in the background, so you shouldn't notice the expiry once it's set up.

**Personal access token (an alternative for Claude Desktop, and the only option for clients without OAuth support).** Create one from Relaticle: log in, click your avatar in the top-right corner, select **Access Tokens**, click **Create**, and copy the token. It's shown once. Then add this to your Claude Desktop configuration file (`claude_desktop_config.json`):

```
{
  "mcpServers": {
    "relaticle": {
      "type": "streamable-http",
      "url": "https://mcp.relaticle.com",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      }
    }
  }
}

```

![The Access Tokens page in Relaticle settings with the Create form and AI Connectors list](https://relaticle.com/storage/ink/01M09FZ68X5A12WNH2DFGVRMKC.png)

Every connector you've authorized, OAuth or token-based, shows up under **Settings → Access Tokens → AI Connectors**, along with which workspace it's bound to and a Revoke button.

**ChatGPT**, briefly: its custom connectors also support OAuth Dynamic Client Registration, so the setup is the same shape as Claude.ai. Relaticle's `search` and `fetch` tools are built specifically to pair with ChatGPT's Company Knowledge feature. `search` returns canonical URLs, and `fetch` resolves one of those URLs back into a full record, which is the exact contract that feature expects.

[](#connect-from-claude-code "Permalink")Connect from Claude Code
-----------------------------------------------------------------

Claude Code doesn't need a config file edit. Create a personal access token the same way as above (**Settings → Access Tokens → Create**), then run:

```
claude mcp add relaticle \
  --transport streamable-http \
  https://mcp.relaticle.com \
  --header "Authorization: Bearer YOUR_TOKEN"

```

That's the whole setup. Claude Code will list `relaticle` among its available MCP servers, and the same 37 tools that work in Claude.ai and Desktop are available in your terminal sessions.

| Client | Connection method | Typical setup time |
|---|---|---|
| Claude.ai (web) | OAuth custom connector, Dynamic Client Registration | ~2 minutes |
| Claude Desktop | OAuth custom connector, or config file plus personal access token | ~2-5 minutes |
| Claude Code | `claude mcp add` CLI plus personal access token | ~2 minutes |
| ChatGPT | OAuth custom connector, Dynamic Client Registration | ~2 minutes |

[](#what-claude-can-do-the-tools "Permalink")What Claude can do (the tools)
---------------------------------------------------------------------------

The server exposes 37 tools. One is identity (`who-ami-tool`, which returns the authenticated user, current team, team members, and the token's abilities, a useful first call to sanity-check a new connection). Two are cross-entity discovery (`search` and `fetch`, described above). Five work at the workspace level rather than on a single record: `get-crm-schema-tool` and `list-custom-fields-tool` for field discovery, `get-crm-summary-tool` for record counts and pipeline totals, `aggregate-opportunities-tool` for pipeline amounts grouped by stage or company, and `list-activity-tool` for who changed which record and what the field-level difference was. The remaining 29 are CRUD and relationship management across five entities:

- **Companies**: list/search, get, create (requires `name`), update, delete
- **People (contacts)**: list/search, get, create (requires `name`, optional `company_id`), update, delete
- **Opportunities (deals)**: list/search, get, create (requires `name`, optional `company_id`/`contact_id`), update, delete
- **Tasks**: the standard five, plus `attach-task-to-entities-tool` and `detach-task-from-entities-tool` to link a task to companies, people, and opportunities, or assign/unassign team members, without clearing existing links
- **Notes**: the standard five, plus attach/detach to companies, people, and opportunities

List tools accept `search`, `filter` (including your custom fields, with operators like `eq`, `gt`, `contains`, and `in`), `sort`, `per_page`, and `page`. Create and update tools accept a `custom_fields` object for anything beyond the built-in fields. Relaticle's opportunity records, for example, ship with `stage`, `amount`, and `close_date` as custom fields out of the box, which is exactly the kind of thing a "review my pipeline" prompt needs to filter and sort on.

Custom fields are where the five schema resources come in. Before writing to an entity, Claude reads `relaticle://schema/company` (or `/people`, `/opportunity`, `/task`, `/note`) to learn the exact field codes and option values your team has configured. Get this wrong and the write is rejected outright: unknown field codes don't get silently dropped, they fail validation. There's also a built-in **CRM Overview** prompt that returns record counts and recently created companies and people, a reasonable way to start a session before asking for anything more specific.

![who-ami-tool JSON response showing user, team, team members and token abilities](https://relaticle.com/storage/ink/01M09E1XESK0RRWGZ0034YFEFJ.png)

[](#writes--safety "Permalink")Writes & safety
--------------------------------------------------

This is the part worth getting right before you connect anything with write access.

Relaticle has two different places an AI can write to your CRM, and they behave differently. Inside the app, the dashboard chat assistant proposes writes: when you ask it to create or update a record, it builds a proposal card and waits for you to click approve before anything is saved to the database. That's a `PendingAction`, a real row that sits in a pending state until a human acts on it.

MCP is not that. When Claude calls `create-company-tool`, `update-opportunity-tool`, or any other write tool, it runs through the same action class the rest of the app uses to make that change, and the change is committed the moment the tool call returns. There's no proposal, no card, no separate approval step sitting in between. The safety net for MCP writes is the same one you'd expect from any API you hand to an agent: validation, authorization checks against Relaticle's normal policies, and the scope of the token you gave it, not a human-in-the-loop gate baked into the protocol.

That distinction matters for how you think about connecting Claude at all. A few things soften it in practice:

- **Delete is soft.** Every delete tool soft-deletes; nothing is permanently gone, and records can be recovered. Delete tools are also flagged as destructive in their MCP metadata, which a well-behaved client can use to add its own confirmation step. Worth checking your client's settings if you want that extra prompt.
- **Every MCP write is attributed.** Records created or updated through MCP are tagged with a distinct source ("MCP Agent"), separately from ones made through the chat assistant, the API, or the web UI, so you can tell them apart later.
- **Token scope is where you actually control this.** OAuth connectors (Claude.ai, Claude Desktop's one-click flow, ChatGPT) get a single scope that authorizes the whole toolset. The finer control there is which workspace the connector can reach, chosen once at consent and fixed until you revoke it. Personal access tokens are more granular: when you create one, you check off which abilities it gets (read, create, update, delete), so a token meant for a read-only reporting workflow can be minted without write access at all, separately from a token you trust with full CRUD.

If you want Claude to have full read and write access to run real workflows, that's exactly what this is built for. If you'd rather it only look and never touch, create a token scoped to `read` only and use that instead. The same tools work; the write ones just get rejected.

[](#self-hosted-setup "Permalink")Self-hosted setup
---------------------------------------------------

None of this is cloud-only. A self-hosted Relaticle install runs the identical MCP server, the same tools, with no separate deploy step or feature to turn on. If you haven't set `MCP_DOMAIN`, the server is reachable at `{APP_URL}/mcp` right out of the Docker image; set that variable if you'd rather serve it at its own subdomain. Personal access tokens work exactly as described above, and OAuth runs the same Passport-backed flow against your own domain once you've configured it.

The only thing that changes on a self-hosted instance is which URL you point your client at. Swap `https://mcp.relaticle.com` for your own `{APP_URL}/mcp` in the config snippets above, or for your `MCP_DOMAIN` if you set one. Everything else, including the direct-write behavior described in the previous section, is identical to Relaticle's hosted plan. For the full deploy walkthrough, see the [self-hosting guide](https://relaticle.com/developers/self-hosting).

[](#example-workflows "Permalink")Example workflows
---------------------------------------------------

A few things worth trying once you're connected, all built from tools the server actually has:

1. **Pipeline review.** "Show me every opportunity in the Negotiation/Review stage, sorted by amount, and flag any that don't have a close date set." This is a single `list-opportunities-tool` call filtering on the `stage` custom field, sorting on `amount`, with `close_date` read back per record.
2. **Data entry after a call.** "I just got off a call with Acme Corp. Create the company, add Jane Doe as a contact with the job title VP of Sales, and log a note summarizing what we discussed." Three tool calls: `create-company-tool`, then `create-people-tool` with `company_id` and the `job_title` custom field, then `create-note-tool` with `company_ids` and `people_ids` set directly, since note creation accepts those links up front and no separate attach call is needed.
3. **Unblocking a stalled deal.** "Look at the notes on the Acme opportunity and tell me what's holding it up, then update the close date if we agreed on one in the call." Reads through `list-notes-tool`/`get-note-tool`, writes back through `update-opportunity-tool`.
4. **Weekly summary.** "Give me an overview of the CRM, then list any companies created this week and tasks that are overdue." Starts from the built-in CRM Overview prompt, follows up with filtered `list-companies-tool` and `list-tasks-tool` calls.
5. **Follow-up tasks.** "Create a task to follow up with John next week, assign it to me, and link it to the Acme company and opportunity." One `create-task-tool` call, then `attach-task-to-entities-tool` with `assignee_ids`, `company_ids`, and `opportunity_ids` in the same request.
6. **Reassigning overdue work.** "Find tasks that are more than a week overdue and move them from Sarah to me." A filtered `list-tasks-tool` call, then `detach-task-from-entities-tool` to remove the old assignee and `attach-task-to-entities-tool` to add the new one.

![A Claude conversation running a pipeline review through list-opportunities-tool](https://relaticle.com/storage/ink/01M09FZ7TGV628QD22MTKZER4N.png)

None of these need you to explain your schema first. Claude reads it from the schema resources the first time it needs a field code. If something doesn't work the way you expect, or you want the full tool reference, [relaticle.com/developers/mcp](https://relaticle.com/developers/mcp) has the complete list, and [relaticle.com/help](https://relaticle.com/help) covers general account and workspace questions that aren't MCP-specific.

 Tagged: [ #mcp ](https://relaticle.com/blog/tag/mcp) [ #claude ](https://relaticle.com/blog/tag/claude) 

 Related posts
-------------

 [  Guides   Aug 18, 2026  

 Self-Hosting an AI-Native CRM in 2026 
---------------------------------------

Deploy Relaticle with Docker, Coolify, or Dokploy, then connect a local Ollama model. The AI chat and the full MCP tool suite work without a cloud subscription.

 ![Self-Hosting an AI-Native CRM in 2026](https://relaticle.com/storage/ink/01M08TDZBVG6QTMR9VZNS1T91K.png) ](https://relaticle.com/blog/self-hosting-an-ai-native-crm-in-2026) 

   ###    On this page
