Documentation

xCLAUDE docs

Install in two minutes. Read your AI’s receipts. Stay informed.

Getting started

xCLAUDE runs on macOS 13 or later, on Apple Silicon (M1 or newer). You'll need Claude Desktop, Claude Code, or both — Claude in the browser (claude.ai) is not covered, because it reaches your tools from Anthropic's servers and that traffic never passes through your Mac. No password. No telemetry. No Node.js required — it's bundled with the app.

Installation steps

  1. Download the .dmg from the releases page.
  2. Open the .dmg and drag xCLAUDE Gateway.app into Applications. Eject the disk image.
  3. Launch xCLAUDE Gateway from Applications or Spotlight.

Tip

Using Claude Code (no Claude Desktop)? Skip steps 4–5: open the Sources tab → + Add source → Claude Code → Install hook instead. See the Claude Code section below.
  1. Open Settings (the gear icon, top right) and click Install. This wraps your existing MCP servers so xCLAUDE can audit them.
  2. Quit Claude Desktop (Cmd + Q — not just the window) and reopen it.
  3. The xCLAUDE icon icon in your menu bar means xCLAUDE is running.

Tip

No Terminal needed. Google and Slack connectors have guided in-app setup wizards — see below.

How it works

Claude Desktop talks to tools through two separate channels. The first is local MCP servers — your filesystem tools, custom MCP servers, and any other MCP configured in `claude_desktop_config.json`. The second is native Connectors (Gmail, Drive, GitHub, Slack, etc.), which you connect through Settings → Connectors and which Claude reaches as remote MCPs on the providers' servers.

xCLAUDE rewrites the local config file. After install, each of your local MCP servers is wrapped individually: its entry keeps its own name, but now points to the xCLAUDE proxy, which launches the real server and relays its traffic unchanged. Claude Desktop sees the same servers, with the same names and the same tools. Native Connectors are unaffected — they continue to work directly between Claude Desktop and the providers' servers, outside xCLAUDE's path.

Because every local MCP tool call now passes through xCLAUDE, it audits both sides of the conversation: what Claude Desktop asks your tools to do — which tool, with what parameters — and what those tools send back. That's what makes the audit log possible — and what lets xCLAUDE scan content for credentials, PII, and prompt-injection attempts before the data ever leaves your machine. Tool calls to native Connectors are not visible to xCLAUDE.

  Claude Desktop
       │
       ├──► Native Connectors (Gmail, Drive, ...)
       │    not visible to xCLAUDE
       │
       ▼
    xCLAUDE (one proxy per wrapped server) ← audit + detection + scanning
       │
       ├──► Local MCPs (FileSystem, custom tools...)
       │    stdio — traffic stays on your machine
       │
       └──► Remote Connectors (Notion, Slack, GitHub...)
            http bridge — traffic goes to provider servers

Claude Code is a separate, self-contained source: a session hook records what the model actually consumed, with no config rewriting involved. Wrapping its MCP servers (optional) adds the protocol-level view. See the Claude Code section below.

What v1 covers

  • Every MCP tool call — name, parameters, and result
  • Claude Code sessions — every tool call via the session hook (native and MCP tools), plus optional wrapping of its MCP servers for the protocol-level view
  • Structured PII — verifiable identifiers: emails, phone numbers, IBANs, credit cards, national IDs
  • Named entity detection — person names, organisations, and locations in tool arguments (async, best-effort)
  • Prompt injection detection in tool arguments and response content
  • Credential pattern detection — API keys, tokens, and secrets, masked before they reach the log
  • Email send detection in tool arguments and tool names
  • Data export command detection in tool arguments — and in responses, where an explicit destination is required
  • Tool manifest change detection — warns when a source's tools change since the recorded baseline (tool poisoning)
  • Local audit log — per-session JSONL files, consolidated into daily files as sessions finish, under ~/Library/Application Support/xCLAUDE Gateway/wrappers/
  • Live dashboard in your menu bar

Dashboard

xCLAUDE lives in your menu bar. Click the icon to open the dashboard at any time. It refreshes every 2 seconds and shows every event with severity, connector, and tool call details. No telemetry leaves your laptop.

Detections view in the xCLAUDE Gateway dashboard

Local only

The dashboard runs entirely on your machine. No backend, no password, no telemetry.

Verify it works

The Sources tab includes a Verify detection button — a safe, self-contained end-to-end check. It runs a synthetic risky payload through the audit pipeline and confirms the event is recorded and flagged, so you can see the detectors working without touching any real connector. The result appears in the Sources view.

Verify detection panel showing all 6 checks passed

Connectors

xCLAUDE includes audited versions of the most common MCP connectors. Connect through xCLAUDE instead of Claude Desktop's native Settings → Connectors. If a service is connected in both places, Claude may use the native, unaudited path — disconnect it there first.

ALREADY CONNECTED IN CLAUDE DESKTOP?

If a service is already connected as a native Connector in Claude Desktop, disconnect it there first — otherwise Claude keeps a direct, unaudited path to it and may use either one.

  1. In Claude Desktop, open Settings → Connectors and disconnect the service (e.g. Notion).
  2. In xCLAUDE Gateway, open the Sources tab → + Add source → select the same service → Connect, and authorize in the browser.
  3. Restart Claude Desktop.

From then on, Claude reaches that service only through xCLAUDE, and every call lands in your audit log.

One-click connectors

Notion, GitHub, Linear, Atlassian, Stripe, and Apollo connect with one click. No Terminal needed.

  1. Open xCLAUDE Gateway → Sources tab → + Add source.
  2. Select the connector you want → Connect.
  3. Authorize in the browser that opens.
  4. Restart Claude Desktop.
Add source gallery in xCLAUDE Gateway

Slack

Slack has a 2-step in-app wizard: the Set up button opens Slack with your app pre-configured from a manifest (scopes, redirect and MCP included) — pick your workspace and hit Create — then paste your app's Client ID. No client secret involved (Slack uses public PKCE). Slack asks you to re-authorize about once a month — that's how Slack designed it, not an error.

Google connectors (Gmail, Calendar, Drive)

Google connectors run on your own key: xCLAUDE embeds no Client ID, so you create a Google Cloud project of your own and paste your credentials into the app. The Set up button walks you through a guided 4-step wizard — Cloud project, OAuth client, Preview enrollment, paste your credentials — with deep links at every step. One free OAuth client serves all three; your credentials are stored in the macOS Keychain.

Before you start

  • Google's Preview enrollment form requires an email on a custom domain (plain Gmail addresses are rejected) — but the Google account you connect and audit can be a regular Gmail.
  • One OAuth client covers Gmail, Calendar, and Drive.
  • Approval arrives by email, usually within a couple of days. You can finish the wizard and connect once it lands.

What to expect

Because the OAuth client is yours, Google shows a "Google hasn't verified this app" screen on each authorization. Continue past it — that screen is about your own client, not about xCLAUDE. If you clicked Publish app on the consent screen (the path the in-app wizard recommends), you authorize once and you're done. If you left the project in testing, Google expires the refresh token after 7 days and you'll re-authorize about once a week; xCLAUDE flags a re-login alert on the connector when that happens.

Claude Code

xCLAUDE audits Claude Code as a source of its own, independent of Claude Desktop.

Session auditing (one click)

Open the Sources tab → + Add source → Claude Code → Install hook. From then on, every tool call in your Claude Code sessions — native tools and MCP tools alike — is recorded and classified by the same detection engine, with its own Claude Code view in the app: severity cards, filters, search, and export. To stop, open the Claude Code source and click Uninstall.

Claude Code tab in xCLAUDE Gateway showing session events by severity

Wrapping Claude Code's MCP servers (optional)

Wrapping adds what only the protocol level shows: each server's tool manifest, its stderr, and server-initiated traffic. Calls seen by both sources are correlated by tool-use ID. Setup is manual for now and documented step by step in the README:

Wrapping Claude Code's MCP servers — README →

Uninstall

If you installed the Claude Code hook, remove it first: open the Claude Code source in the Sources tab and click Uninstall.

  1. Open xCLAUDE Gateway → Settings (gear icon) → Uninstall. This restores your original MCP configuration.
  2. Click the xCLAUDE icon in your menu bar → Quit xCLAUDE Gateway.
  3. Drag xCLAUDE Gateway.app to the Trash.
  4. Restart Claude Desktop.

Optional cleanup:

  • To delete all local data (audit logs, settings, connector baselines), run in Terminal:
    rm -rf ~/Library/Application\ Support/xCLAUDE\ Gateway/
  • Google/OAuth credentials live in the macOS Keychain and are NOT removed by the step above. To clear them, run one line per connector you had connected (e.g. gmail, calendar, drive, notion):
    for k in tokens client verifier; do
      security delete-generic-password -s com.xclaude.gateway -a "gmail:$k" 2>/dev/null
    done
    Or open Keychain Access and delete the com.xclaude.gateway items.

Warning

Do not skip step 1. If you delete the app without clicking Uninstall first, Claude Desktop will show 'MCP server failed to start' on next launch. If this happens, reinstall xCLAUDE, run Uninstall from Settings, then delete the app.

Troubleshooting

Claude Desktop doesn’t see my tools after install

This usually means Claude Desktop wasn’t fully restarted. Quit it from the menu bar (not just the window — use Cmd + Q), then reopen. If tools are still missing, open xCLAUDE Gateway again, click the gear icon and click Install — your original tools will be re-registered automatically.

Audit log is growing too large

Session logs live under ~/Library/Application Support/xCLAUDE Gateway/wrappers/, per-session files consolidated into daily files as sessions finish, and no events are deleted by default — the audit trail is the product. When the directory grows past 500 MiB the app shows a size warning (it only warns; auditing continues). If you want automatic cleanup, open Settings (gear icon) → Audit log → Automatic cleanup and pick 30, 90 or 365 days. Live sessions are never purged, and every purge is recorded as a visible event in the audit log.

Settings panel showing audit log retention options

I want to temporarily disable xCLAUDE

Go to Settings (gear icon) → Uninstall. This restores your original MCP configuration in claude_desktop_config.json. Restart Claude Desktop. To re-enable, open xCLAUDE Gateway → Settings → Install, then restart Claude Desktop again. Note: clicking Quit in the menu bar only closes the UI — it does not remove xCLAUDE from Claude Desktop's path.

The Connect button shows Set up… for Google connectors

This means xCLAUDE could not find your OAuth client credentials in Keychain. Click Set up and follow the wizard — the last step saves your credentials to the Keychain.

Google connector shows a 403 error after connecting

Your Google Cloud project is not yet approved for the Developer Preview. Approval arrives by email, usually within a couple of days. Wait for Google's confirmation email before connecting.

Guides