The Pact blog · Explainer
What is MCP? A practical explainer for revenue teams
MCP (Model Context Protocol) lets AI agents call the same functions your CRM UI calls. Here's what that actually means for sales, marketing, and CS teams — no jargon.
The two-sentence version
MCP is a protocol that lets an AI agent call the same functions your CRM UI calls, with the same permissions and the same audit trail. When a sales rep drags a deal to Stage 3 in Pact, that's an MCP tool call under the hood — and so is the equivalent action when Claude Desktop, Cursor, or a custom agent drives it.
That's it. The rest of this post is why that matters.
What MCP actually is
MCP is Model Context Protocol — an open specification published by Anthropic in November 2024 and now supported by every major LLM client. It defines a shared vocabulary for one thing: how an AI agent asks a piece of software to do work on its behalf.
Think of it the way JSON-RPC or REST are shared vocabularies for two machines to exchange work. Neither JSON-RPC nor REST is a product — they're the wire format everyone agrees on so that any client can talk to any server without a bespoke integration for each pair.
MCP is the same kind of thing for the specific problem of an LLM using a tool. Before MCP, every AI app that wanted an agent to update a Salesforce record wrote its own custom function-calling wrapper. After MCP, Salesforce (hypothetically) ships an MCP server, Claude Desktop reads its manifest, and the agent can call it without another line of integration code.
What that looks like in practice
Concrete example. A sales lead comes in and gets scored 92 out of 100 by Pact's enrichment. A rep opens Claude Desktop and types:
“Add the new lead from Alta Steel to the North America pipeline, put them at Stage 1, assign to Jordan, and draft a personalized outreach email that references the fact they just raised a Series B.”
Behind the scenes, Claude calls four MCP tools on Pact — one to create the account, one to attach the contact, one to score and route the deal, one to draft the email — each with the same permission checks, consent enforcement, cost telemetry, and audit trail that would apply if the rep had done it in the Pact UI. The rep sees the draft email, edits it, hits send.
The lead exists in Pact. The email is in the outbox. Compliance wasn't bypassed. The audit log shows exactly which tools were called, by which user, at what time.
Why not just use a REST API for that?
You could. Salesforce, HubSpot, Marketo, and every other CRM has a REST API. Three practical problems with using that API from an LLM:
- The LLM doesn't know the API. Which of the 200 endpoints does it need for this task? Which fields are required? Which enum values are valid this quarter? MCP fixes this by shipping a machine-readable manifest that lists every tool with its schema — the LLM discovers the tool at connect time and knows exactly how to call it.
- The REST API isn't the same permission model as the UI. Most CRMs give the API an admin-scoped token that bypasses the UI's per-user permissions, which is worse than the human sitting next to the LLM can do. MCP sits on top of the same auth as the UI — an agent operating on a rep's behalf can only do what the rep can do.
- The REST API doesn't report cost. An agent that fires 400 API calls to answer one question runs up a bill nobody predicted. MCP tools carry cost metadata; a good MCP host caps spend before the query starts.
None of these are theoretical. They're the reasons every “let's put an AI on top of our CRM” project over the last two years stalled at proof-of-concept. MCP is the protocol answer.
Where consent, BYOK, and cost fit
These aren't part of the MCP spec itself — they're what the server chooses to enforce. Three properties that matter for a CRM specifically:
- Consent enforcement. If a contact revoked marketing consent last Tuesday, the MCP tool that drafts a nurture email should refuse to draft it. Not error at send time — refuse to draft. The consent state is checked before the tool runs, not after, so the agent doesn't waste tokens generating something that will be blocked downstream.
- BYOK (bring your own LLM key). Every MCP call on Pact runs against the tenant's own Anthropic / OpenAI / Google / Mistral / Cohere key. We don't proxy tenant prompts through our own account. That means the tenant sees exactly what their AI vendor sees, controls their own rate limits, and owns their own compliance boundary.
- Per-tool cost and quota. An expensive tool (voice call, enrichment, deep search) has a per-call cost attached to its manifest entry. The agent sees the cost before it calls. A tenant admin can cap per-tool spend, per-user spend, or per-workflow spend and every tool respects the cap without additional code.
What we ship as MCP tools today
150+ MCP tools live on Pact right now, covering:
- Sales pipeline — create accounts, contacts, opportunities; move deals through stages; score, route, and enrich; run competitive intel; generate quotes.
- Marketing automation — draft nurture emails, enroll contacts in sequences, manage segments, launch campaigns, close the loop on attribution.
- Customer success — open and triage support cases, apply SLAs, run health scoring, capture and analyze call sentiment.
- ETL and data centralization — pull from any source connector, transform, materialise, and route to any downstream destination.
- Voice — place outbound calls, route inbound, enforce TCPA and DNC gates, redact PHI, transcribe, and summarise.
- Consent — read and write consent state, run DSARs, apply retention policies, generate audit reports.
The live count sits at api.pact.place/v1/mcp/public-count — the number moves up every wave. The machine-readable manifest is at /.well-known/mcp.json.
Getting started
The Pact MCP endpoint is https://api.pact.place/v1/mcp. To connect Claude Desktop, drop this into your claude_desktop_config.json:
{
"mcpServers": {
"pact": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.pact.place/v1/mcp"],
"env": {
"PACT_API_KEY": "your_pact_api_key_here"
}
}
}
}Generate your API key at pact.place/settings/api-keys (you'll need to sign in first). Restart Claude Desktop, and the Pact tools show up in the tools list.
For Cursor, Windsurf, Continue.dev, and other MCP clients, the config shape is the same — same endpoint, same auth header. See the developer hub for per-client walkthroughs and the MCP playground for a live, no-signup demo you can hit right now.
The bet
Pact was built assuming an LLM will do more work than a human by 2027. Not because we think humans are going away — because the work volume in a modern revenue org is already past what a team of humans can absorb, and agents can absorb the delta. That means the CRM has to be readable, writable, and governable by an agent with the same fidelity a human has.
MCP is the protocol that makes that possible without every AI client writing a bespoke integration for every CRM. It's not a product, it's not a marketing angle — it's a shared vocabulary that shortens the distance between an agent and a real system.
If any of that resonates, the fastest way to feel it is to open the MCP playground and drive a real tool call, no signup required.