Skip to main content
GetSales ships a managed MCP server at 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_tools finds tools by what they do (plain words, optionally narrowed to one toolset; with detail: "full" it returns whole definitions), describe_tool gives one full definition, call_tool runs a tool by name, and list_toolsets is 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_token and 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: true and the same 16-code envelope as REST, with recoverable and a suggestion written for an LLM to act on. See Envelopes and errors.
  • Every answer carries the trace. _meta.trace_id on every tool result and the X-Trace-Id response 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.