Skip to content

Getting Started

Grab the latest .dmg from the Releases page.

Prerequisites: macOS 13+, Rust 1.80+, Node 20+

Terminal window
git clone https://github.com/SegfaultSorcerer/conduit.git
cd conduit
npm install
cargo build -p conduit-shim
cargo tauri dev

The first build compiles the full Rust dependency tree and takes a few minutes. Subsequent builds are incremental.

  1. Launch Conduit — the app opens to the Servers tab
  2. Find your servers — MCP servers from Claude Desktop, Claude Code, Cursor, and Windsurf are auto-discovered within seconds
  3. Enable the proxy — click the “Proxy off” button on any server to toggle interception on
  4. Restart your AI client so it picks up the rewritten config (e.g. quit and reopen Claude Desktop)
  5. Use the AI client normally — switch to the Traffic tab in Conduit to see the live JSON-RPC stream
  6. Disable when done — click “Proxy on” to restore the original config
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ AI Client │────>│ conduit-shim │────>│ MCP Server │
│ (Claude, etc)│<────│ (stdio) │<────│ │
└──────────────┘ └──────┬───────┘ └──────────────┘
│ IPC
┌──────▼───────┐
│ Conduit │
│ (inspect, │
│ breakpoint,│
│ record) │
└──────────────┘

Stdio servers: When you enable the proxy, Conduit rewrites the client config to launch conduit-shim instead of the real server binary. The shim spawns the real server, pipes stdin/stdout through, and sends a copy of every frame to Conduit over a Unix socket (/tmp/conduit.sock).

HTTP/SSE servers: An axum reverse proxy intercepts requests and SSE streams with the same inspection and breakpoint logic.

Graceful degradation: If Conduit is not running, the shim falls back to transparent passthrough. Your MCP connection is never broken.