Connect Claude Desktop
Connect Claude Desktop (or claude.ai) to Pact's MCP server — OAuth custom connector or claude_desktop_config.json via mcp-remote.
There are two ways to give Claude your Pact workspace: the custom connector
flow (OAuth — no pasted key, recommended) or a config-file entry bridged
through mcp-remote. Both end in the same place: Claude can call Pact's tools,
with every call consent-filtered, tenant-scoped, and audited.
Option A — custom connector (OAuth, recommended)
Pact's MCP server publishes standard OAuth discovery metadata and supports Dynamic Client Registration, so Claude connects without a pre-shared key.
- 1
Add the connector
In Claude Desktop (or claude.ai), open Settings → Connectors → Add custom connector and enter
https://api.pact.place/mcp/. - 2
Sign in
Claude redirects you to Pact. Sign in and approve the requested read scopes — the grant is tied to your user and your permissions, nothing broader.
- 3
Verify
Ask Claude: "Using the Pact tools, what does our pipeline look like this quarter?" You should see a
query_pipeline_healthcall in the tool activity.
Option B — claude_desktop_config.json via mcp-remote
Versions of Claude Desktop that only launch stdio servers can bridge to Pact's
remote server with mcp-remote.
You'll need a scoped API key from Settings → API keys.
Edit the config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"pact": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.pact.place/mcp/",
"--header",
"Authorization: Bearer pact_live_xxx"
]
}
}
}
Then quit and reopen Claude Desktop — config-file changes are read at startup only. The Pact tools appear under the tools icon in the chat input.
Warning
Keep the trailing slash on /mcp/. A request to /mcp redirects, and HTTP clients drop the
Authorization header across the redirect — which surfaces as a 401.
Troubleshooting
| Symptom | Likely cause |
|---|---|
| Connector shows "disconnected" | OAuth grant revoked — remove and re-add the connector |
| No tools icon after config edit | Claude Desktop wasn't fully restarted, or the JSON has a syntax error |
| Calls fail with a scope error | The API key (option B) lacks that tool's scope |
| A record you expected is missing | Consent filtering — the response's consent_filtered count says how many records were withheld |