Skip to main content
Glama

claude-remote-mcp

CI License: MIT Python 3.11+

Drive your Claude Code agents by voice from the Claude app (e.g. on CarPlay), through a custom MCP connector added to your Claude account.

Claude app (voice)
  └─ custom MCP connector ── HTTPS, Cloudflare Tunnel, bearer token
       └─ mcp-gateway   (gateway host, always on)   MCP server, auth, frugal tool output
            └─ LAN ──── agent-bridge   (agent host)   stateless HTTP API, project allowlist
                             └─ herdr CLI           owns agents and their state
                                  └─ Claude Code agents

Components

Each component has its own README with system requirements, configuration, deployment and tests.

Directory

Runs on

Role

mcp-gateway/

an always-on host: a small home server, a VPS, or the agent host itself (Linux, macOS; the setup script needs Debian-based Linux with systemd)

MCP server exposed to claude.ai through a Cloudflare Tunnel; authenticates requests and forwards tool calls to agent-bridge. Includes a setup script.

agent-bridge/

the machine where herdr and Claude Code run (macOS or Linux)

Narrow LAN-only HTTP API translating requests into herdr CLI calls; keeps no state. Runs as a launchd or systemd user service.

You need:

  • herdr 0.8.0+ and Claude Code on the agent host;

  • uv on both hosts;

  • an agent host that stays awake and logged in while you use it (see Keeping the agent host available);

  • a Cloudflare account (the Free plan is fine) with a domain whose DNS is on Cloudflare;

  • a Claude plan with custom connectors, and the Request headers option in the Add custom connector dialog. That option is a beta that only some accounts have; without it the connector can't send its token, and mcp-gateway has no OAuth sign-in instead.

The gateway and the agent host can be one machine.

Related MCP server: claude-voice-bridge

Setup order

  1. Cloudflare: add your domain to Cloudflare if it isn't there yet (its DNS must be managed by Cloudflare), and pick a subdomain for the connector, e.g. mcp.example.com. Nothing else to create by hand: the setup script in step 3 makes the tunnel and the DNS record.

  2. Agent host: start agent-bridge on its LAN address and note its token.

  3. Gateway host: run mcp-gateway/deploy/setup.sh with that subdomain, agent-bridge's URL and token, and the projects folder. On the first run it prints a Cloudflare login URL: open it in any browser and pick your domain. It then sets up the service and the Cloudflare Tunnel and prints the connector token.

  4. claude.ai: add the custom connector with that token.

Development

uv workspace; each component is its own package.

uv sync --all-packages
uv run --package agent-bridge pytest agent-bridge
uv run --package mcp-gateway pytest mcp-gateway

License

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Self-hostable MCP server that gives Claude tools to run shell scripts and read files on a home server, deployed via Multipass VM and Cloudflare Tunnel.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Exposes headless Claude Code as a remote MCP server with a voice client, enabling hands-free task execution and session management via OpenAI's Realtime API.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    A self-hosted bridge that exposes local stdio MCP servers to ChatGPT and Claude over HTTPS with OAuth, providing a secure passthrough for your own tools.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Exposes local stdio MCP servers to chat AIs through temporary public URLs, providing both a Streamable HTTP gateway and a REST+OpenAPI bridge for integration with ChatGPT and other clients.
    MIT