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
- Download the
.dmgfrom the releases page. - Open the
.dmgand drag xCLAUDE Gateway.app into Applications. Eject the disk image. - Launch xCLAUDE Gateway from Applications or Spotlight.
Tip
- Open Settings (the gear icon, top right) and click Install. This wraps your existing MCP servers so xCLAUDE can audit them.
- Quit Claude Desktop (
Cmd + Q— not just the window) and reopen it. - The
icon in your menu bar means xCLAUDE is running.
Tip
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 serversClaude 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.

Local only
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.

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.
- In Claude Desktop, open Settings → Connectors and disconnect the service (e.g. Notion).
- In xCLAUDE Gateway, open the Sources tab → + Add source → select the same service → Connect, and authorize in the browser.
- 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.
- Open xCLAUDE Gateway → Sources tab → + Add source.
- Select the connector you want → Connect.
- Authorize in the browser that opens.
- Restart Claude Desktop.

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

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:
Uninstall
If you installed the Claude Code hook, remove it first: open the Claude Code source in the Sources tab and click Uninstall.
- Open xCLAUDE Gateway → Settings (gear icon) → Uninstall. This restores your original MCP configuration.
- Click the xCLAUDE icon in your menu bar → Quit xCLAUDE Gateway.
- Drag xCLAUDE Gateway.app to the Trash.
- 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):
Or open Keychain Access and delete thefor k in tokens client verifier; do security delete-generic-password -s com.xclaude.gateway -a "gmail:$k" 2>/dev/null donecom.xclaude.gatewayitems.
Warning
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.

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.