Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

mcp-switchboard-client

The client half of mcp-switchboard.

It reads an mcp.json, spawns the local stdio MCP servers it describes, and opens a single outbound WebSocket to an mcp-switchboard-hub, multiplexing every server over that one connection. No inbound port is ever opened, so it works from behind NAT with nothing forwarded.

The client speaks no MCP itself — it is a pipe, shuttling each server's stdin/stdout across the tunnel. All MCP logic lives in the hub. That is why its only own dependencies are websockets and certifi (plus the harness package, which brings the mcp SDK) (a bundled CA bundle, because uvx's portable Pythons often cannot find a system certificate store).

Running

uvx mcp-switchboard-client --hub-url wss://switchboard.example.com --token "$TOKEN"

or bootstrap uvx/npx first with the installer:

curl -fsSL https://akospapp.github.io/mcp-switchboard/install.sh | sh -s -- \
  --hub-url wss://switchboard.example.com --token "$TOKEN"

mcp.json uses the familiar shape, resolved from the current directory. It is optional: without one, the client tunnels just the built-in coding harness (see below):

{
  "mcpServers": {
    "git": { "command": "uvx", "args": ["mcp-server-git", "--repository", "."] }
  }
}

An entry may set "project" to group it under a project name (a top-level "project" is the default for all entries). The client sends it to the hub, which uses it in tool names and project-scoped endpoints. Names must not contain __.

A first-party coding harness (file, search, git and shell tools) is added as a server named harness by default, confined to the directory you start the client in. Turn it off with --no-harness or MCP_SWITCHBOARD_HARNESS=false; an mcp.json entry named harness replaces it.

The client also collects the instruction files your repository carries for coding agents (AGENTS.md, CLAUDE.md, .cursorrules, .github/copilot-instructions.md, also at any depth, capped at 8 files / 64 KiB) from the start directory and ships them to the hub, which puts them into the agent's system prompt; it re-sends them whenever they change, so an edit to AGENTS.md reaches a running session. Turn it off with --no-instructions or MCP_SWITCHBOARD_INSTRUCTIONS=false.

A push is treated as what it is: the harness marks git_push irreversible in its tool _meta, so the hub asks for approval before any agent can run it — even one set to approval=never. If that friction is wrong for your deployment, that is a decision to make deliberately, not by silence.

Alongside them the client ships a short environment brief of the host your tools run on — user, hostname, git branch/dirtiness (remote with credentials redacted), what the file tools may write, tool presence; sudo is reported only if provable without a prompt, and network reachability is never probed — refreshed like the instruction files and marked stale by the hub if a client vanishes. Turn it off with --no-env-brief or MCP_SWITCHBOARD_ENV_BRIEF=false.

Settings can also come from MCP_SWITCHBOARD_* environment variables or a .env file (HUB_URL, TUNNEL_TOKEN, LABEL, CONFIG, …). Any value that starts with / and points at an existing regular file is read from that file, so a token can be passed as a path.

LABEL defaults to the machine's hostname and is how the hub tags this machine's tools, so consumers can tell which host a tool lives on.

See the main README for the full picture.

Metadata

Release files for mcp-switchboard-client 0.3.0.dev4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-switchboard-client 0.3.0.dev4
File Size Uploaded Provenance Actions
mcp_switchboard_client-0.3.0.dev4.tar.gz 40.3 kB Without provenance Details for mcp_switchboard_client-0.3.0.dev4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mcp-switchboard-client 0.3.0.dev4
File Interpreter ABI Platform Actions
mcp_switchboard_client-0.3.0.dev4-py3-none-any.whl Python 3 none any Details for mcp_switchboard_client-0.3.0.dev4-py3-none-any.whl

Total release size: 71.6 kB

Release files / mcp_switchboard_client-0.3.0.dev4.tar.gz

Download URL mcp_switchboard_client-0.3.0.dev4.tar.gz
Size 40.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5d895cb1b0d510e820f7e754178a3ba6c7e91f2e22fa63e3528f3941cb07e8ca
BLAKE2b-256 checksum
How to use checksums
73a1c009cf16a4e51f0b0aaa8cc4d178e0404b382a990319a75818d5c35f7dfa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / mcp_switchboard_client-0.3.0.dev4-py3-none-any.whl

Download URL mcp_switchboard_client-0.3.0.dev4-py3-none-any.whl
Size 31.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ac1e63850371c5d3134f661dfa3f5618c797bfe57ceafc9eee0fe66f32a75b88
BLAKE2b-256 checksum
How to use checksums
c1431fd285e27e5effccf4dbda4e94d8cb1e1467879865b48cba219d91b555c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Security for mcp-switchboard-client 0.3.0.dev4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page