PPactDocs
MCP & AI agents

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.

Pact's MCP server publishes standard OAuth discovery metadata and supports Dynamic Client Registration, so Claude connects without a pre-shared key.

  1. 1

    Add the connector

    In Claude Desktop (or claude.ai), open Settings → Connectors → Add custom connector and enter https://api.pact.place/mcp/.

  2. 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. 3

    Verify

    Ask Claude: "Using the Pact tools, what does our pipeline look like this quarter?" You should see a query_pipeline_health call 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
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

SymptomLikely cause
Connector shows "disconnected"OAuth grant revoked — remove and re-add the connector
No tools icon after config editClaude Desktop wasn't fully restarted, or the JSON has a syntax error
Calls fail with a scope errorThe API key (option B) lacks that tool's scope
A record you expected is missingConsent filtering — the response's consent_filtered count says how many records were withheld