mcp.json is the same thing in a file.
The first connection cannot write. That is deliberate.
1
What you need
Cursor, and a Sailer account whose email belongs to a workspace. You do
not need an API token, and you do not need a Client ID.
2
Add the CRM server
UIThat is the whole file. No
- Open Customize in the sidebar.
- Open MCP.
- Add a new server.
- Paste
https://mcp.chatsailer.com/mcp/crm. - Save. Cursor treats a
urlas Streamable HTTP.
mcp.jsonProject-only (commit this if the whole team should get it):
.cursor/mcp.json. Every project: ~/.cursor/mcp.json.headers, no auth block, no command.3
Authenticate
Cursor prompts you to authenticate. Your browser opens.Three screens, in this order:
- Auth0 sign-in — your Sailer email and password. Already signed in? This step is skipped.
- “Cursor wants to connect” — one workspace is confirmed text; several is a dropdown. The permission list matches the workspace you pick.
- Click Approve. Close the tab.
4
Prove it
Open a new Agent chat (not a plain Ask that cannot call tools) and
type:
Which Sailer workspace am I connected to?Cursor will call
whoami and name the workspace, the parent organization,
who authorized the connection, and the scopes you granted.5
Do something real
How many contacts are in this workspace?
Describe the CRM schema — what custom fields does this workspace have?
Find contacts created in the last 7 days.CRM tools is the catalogue. Writes need a reconnect — Authentication.
Add Studio too
Same UI, or a second entry inmcp.json:
This client
Too many tools in the picker. Toggle Studio off in Customize when you are doing CRM work, and the other way around. Two servers exist so you can do that. Connection failed. Output panel (Cmd+Shift+U / Ctrl+Shift+U) →
MCP Logs. Almost always a typo in the URL. Confirm the server is up:
200 means Sailer is fine and the problem is the config.
Cloud Agents / CI. OAuth in a browser will not run there. Use a workspace
token via interpolation — never a literal sk_ in a committed file:
whoami will report credential: api_token and reads_company_wide: true.
See Authentication.
Switch workspace, or grant writes. Remove the server in Customize (or
delete the mcp.json entry), add it again, pick at consent.
Shared failures (wrong URL, unknown email, missing scope) are on
Troubleshooting.