Skip to main content
Glama
0motionguy

claude-bridge-mcp

by 0motionguy

claude-bridge-mcp

Use your Claude Code MAX/PRO subscription from anywhere.

An MCP server that exposes your local Claude Code CLI over HTTP+SSE, so any MCP-compatible client — OpenClaw, Claude Desktop, or your own agents — can use your Claude Code subscription remotely.

Your PC (Claude MAX/PRO)              Remote Machine
┌──────────────────────┐              ┌──────────────────┐
│  claude-bridge-mcp   │◄────────────►│  OpenClaw Agent  │
│  :3100/sse           │   HTTP+SSE   │  Claude Desktop  │
│                      │   (Tailscale │  Custom MCP app  │
│  Spawns Claude CLI ──┤    or VPN)   └──────────────────┘
│  Uses YOUR sub  ─────┤
└──────────────────────┘

Your $100/mo MAX or $200/mo PRO → accessible from any machine

Requirements

  • Node.js 18+

  • Claude Code CLI installed and authenticated (claude command in PATH) — install guide

  • An active Claude Code MAX ($100/mo) or PRO ($200/mo) subscription

Quick Start

# Run directly (no install needed)
npx claude-bridge-mcp

# Or install globally
npm install -g claude-bridge-mcp
claude-bridge-mcp

The server starts on http://0.0.0.0:3100. Verify:

curl http://localhost:3100/health

Connect from OpenClaw

Add the bridge as an MCP server in your ~/.openclaw/openclaw.json:

{
  "mcpServers": {
    "claude-bridge": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://<your-pc-ip>:3100/sse"]
    }
  }
}

Replace <your-pc-ip> with your PC's IP address. If using Tailscale, use your Tailscale IP (tailscale ip -4).

Now your OpenClaw agent can use claude_execute, claude_query, claude_read_file, and claude_git_status — all powered by your Claude Code subscription.

Connect from Claude Desktop

Add to your Claude Desktop MCP config (claude_desktop_config.json):

{
  "mcpServers": {
    "claude-bridge": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://<your-pc-ip>:3100/sse"]
    }
  }
}

Available Tools

Tool

Description

claude_execute

Execute a task using Claude Code. Full coding capabilities: read/write files, run commands, git operations.

claude_query

Ask Claude Code a question (read-only, fast). Great for code analysis and explanations.

claude_read_file

Read a file from the PC filesystem.

claude_git_status

Get git status: branch, changes, and recent commits.

Configuration

All configuration is via environment variables. Copy .env.example to .env:

cp .env.example .env

Variable

Default

Description

BRIDGE_HOST

0.0.0.0

Bind address

BRIDGE_PORT

3100

Server port

BRIDGE_API_TOKEN

(none)

Bearer token for authentication. If set, all requests (except /health) require Authorization: Bearer <token>

BRIDGE_ALLOWED_IPS

(empty = all)

Comma-separated IP allowlist. Empty means all IPs allowed. Localhost is always allowed.

BRIDGE_ALLOWED_DIRS

(empty = cwd)

Comma-separated directory allowlist. Empty defaults to the current working directory.

BRIDGE_TIMEOUT

120000

Execution timeout in ms

BRIDGE_MAX_CONCURRENT

2

Max concurrent Claude CLI executions

BRIDGE_QUEUE_TIMEOUT

30000

Queue wait timeout in ms

Security

The bridge includes multiple security layers:

  • IP Allowlist — Restrict access to specific IPs (e.g., your Tailscale network). Localhost always allowed.

  • Bearer Token Auth — Set BRIDGE_API_TOKEN for token-based authentication.

  • Directory Allowlist — Claude CLI can only access directories you explicitly allow.

  • Symlink Protection — Paths are resolved via realpath() before checking the allowlist, preventing symlink traversal.

  • Execution Queue — FIFO queue with configurable concurrency limits and timeout to prevent resource exhaustion.

Recommended setup for remote access:

# Use Tailscale for encrypted networking
BRIDGE_ALLOWED_IPS=100.x.y.z    # Your remote machine's Tailscale IP
BRIDGE_API_TOKEN=your-secret     # Additional auth layer
BRIDGE_ALLOWED_DIRS=/path/to/project1,/path/to/project2

Endpoints

Endpoint

Method

Description

/sse

GET

SSE connection for MCP clients

/messages

POST

JSON-RPC message endpoint

/health

GET

Health check (no auth required)

/metrics

GET

Server metrics

How It Works

  1. Remote MCP client connects to /sse (Server-Sent Events)

  2. Client sends tool calls via /messages (JSON-RPC over HTTP)

  3. Bridge spawns claude CLI locally with your authenticated session

  4. Results stream back over SSE

The bridge uses the Model Context Protocol — the open standard for AI tool communication.

Supported Platforms

Runs anywhere Claude Code CLI and Node.js are available:

Platform

Notes

Windows 10/11

Full support

macOS (Intel & Apple Silicon)

Full support

Linux (Ubuntu, Debian, etc.)

Full support

Linux VPS (AWS, DigitalOcean, etc.)

Run the bridge on any cloud VM

Docker

node:18-alpine or similar

Mac Mini (headless server)

Great as an always-on bridge

Termux (Android)

Set BRIDGE_ALLOWED_DIRS explicitly

WSL2

Full support

Same-machine use: The bridge also works locally — useful for apps that only speak MCP but need Claude Code capabilities. Just connect to http://localhost:3100/sse.

Development

git clone https://github.com/0motionguy/claude-bridge-mcp.git
cd claude-bridge-mcp
npm install
npm run dev    # Hot-reload development server
npm run build  # Production build

License

MIT - see LICENSE


Built by ICM Motion for the OpenClaw community.