https://mcp2.getsales.io/mcp. It exposes more than 400 typed tools across the platform’s domains, so Claude, Cursor, ChatGPT or a custom agent runtime can build tables, enrich rows, run workflows, read and answer the inbox, and watch signals in a workspace you own.
MCP and REST are the same contract. Every tool maps 1:1 to an endpoint in the API reference: one Zod schema defines the tool, the endpoint and this documentation, so an agent and your backend code see identical shapes. If you can do it over REST, an agent can do it over MCP, under the same server-side rules.
One address, two ways to mount it
- The facade,
https://mcp2.getsales.io/mcp. Four meta-tools over the whole registry:search_toolsfinds tools by what they do (plain words, optionally narrowed to one toolset; withdetail: "full"it returns whole definitions),describe_toolgives one full definition,call_toolruns a tool by name, andlist_toolsetsis the map. The agent discovers what it needs instead of loading hundreds of definitions into its context. - A domain mount,
https://mcp2.getsales.io/mcp/<service>/<mount>. Every tool of one domain with its full schema, 25 tools at most, for a client that wants them in its tool list directly:playtables/tables,playtables/columns,playtables/people,playtables/pipeline,playtables/sources,playtables/stoplist,playtables/workflows,playtables/journeys,unibox/inbox,unibox/threads,unibox/sender-profiles,unibox/sender-profile-mailboxes,unibox/agent,unibox/agent-memory,unibox/knowledge,unibox/website,signals/website,signals/visits,id/identity,id/access,id/billing,id/partner,id/notifications,integrations/providers,integrations/webhooks.
https://mcp2.getsales.io/health lists the mounts and their tool counts without a token.
What the tools cover
What to ask
Once a client is connected, the agent picks the tools itself from a plain request. A few that work on day one:
Anything that changes state goes through the guardrails below; reads run straight away.
Guardrails that matter for agents
- Dangerous tools preview first. A delete, a cancel, a merge, a key or secret minted or rotated, a paid run, a subscription change: the first call answers a preview and a
commit_tokenand changes nothing; the same call with the same arguments plus the token executes. The token is single use and expires in 300 seconds. A plain write (a send, an approval, a pause) runs on the first call, on the user’s word. - Server-side limits. 600 calls and 120 writes a minute per workspace, a batch of at most 16 messages, 25 seconds per backend call, and answers trimmed to a 48,000-character budget with a note when they were. Sending budgets, warm-up and pacing are enforced under every tool call; an agent does not send faster by calling more often.
- Typed errors. A refused tool call is a tool result with
isError: trueand the same 16-code envelope as REST, withrecoverableand asuggestionwritten for an LLM to act on. See Envelopes and errors. - Every answer carries the trace.
_meta.trace_idon every tool result and theX-Trace-Idresponse header; quote it when reporting a problem.
Where to go
Connect a client
Claude, Cursor, ChatGPT, Claude Code, and anything else that speaks MCP.
Search these docs from AI tools
The documentation’s own MCP endpoint.