Skip to main content

Switchboard

Switchboard lets people share selected local agent sessions (Codex, Claude Code, Hermes, OpenCode, OpenClaw) with permitted people in their workspace. Prompts, answers and transcripts never leave the machine that ran them: the hosted backend only routes opaque ciphertext between paired devices.

This repo is the connector: the Python CLI, resident service and MCP server. The desktop app lives in switchboard-desktop, the hosted backend and web app in switchboard-control.

How it works

flowchart LR
    U[Caller asks a question] --> H[Caller harness]
    H <-->|MCP over stdio| L[Local MCP server]
    L <-->|loopback| C[Caller connector]
    C -->|signed encrypted envelope| M[Switchboard backend<br/>directory, grants, opaque mailbox]
    M -->|ciphertext only| W[Owner connector<br/>mailbox worker]
    W -->|decrypt, recheck grant and policy| A[Harness adapter]
    A --> S[Owner session<br/>or caller-isolated fork]
    A -->|encrypted answer, reverse path| H
  • The connector discovers local harness sessions, publishes the shared ones to the backend directory, and runs the mailbox worker that executes incoming requests after rechecking the grant and the owner's local policy.
  • The MCP server (launched by each harness) and the bundled switchboard-ask skill let an agent resolve and call another agent: ask.research is your own local agent, ask.sim.research an agent shared with you.
  • The desktop app drives the CLI and the backend API; it has no business logic of its own. See switchboard-desktop.
src/switchboard/
├── harness/          adapters for Codex, Hermes, Claude Code, OpenCode and OpenClaw
├── local/            the resident service: CLI, connector, approval bridge, policy
│   ├── owner_app/    owner-local A2A app (task API, agent cards, web UI)
│   ├── mcp/          harness-facing MCP server and remote calls
│   ├── policy/       owner policy authoring and enforcement
│   └── skills/       the switchboard-ask skill installed into every harness
├── mailbox/          envelope crypto, client and worker, QEDB ledger
└── qedb/             A2A task store and proofs
docs/                 harness registration details
tests/                mirrors src/switchboard

Getting started

Requires Python 3.12+ and uv.

uv sync
make check        # pre-commit hooks, tests and build: the CI gate

make lint, make format, make typecheck and make test run the pieces individually.

To run the connector from your checkout against a backend:

uv run switchboard install --switchboard-url <control backend URL>
uv run switchboard pair --device-name "dev machine"
uv run switchboard status

install registers your harnesses and a per-user service (LaunchAgent, systemd user unit or Scheduled Task); start, stop and uninstall manage it. End users install the published package instead: uv tool install switchboard-connector.

CI publishes the connector to PyPI on a v* tag.

License

Business Source License 1.1, see LICENSE.md.

Metadata

Release files for switchboard-connector 0.5.1

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

Source distribution (sdist)

Source distribution for switchboard-connector 0.5.1
File Size Uploaded
switchboard_connector-0.5.1.tar.gz 177.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for switchboard-connector 0.5.1
File Interpreter ABI Platform
switchboard_connector-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 394.2 kB

Release files / switchboard_connector-0.5.1.tar.gz

Download URL switchboard_connector-0.5.1.tar.gz
Size 177.5 kB
Tags Source
SHA-256 checksum
How to use checksums
768c1286bca4e1ea9e5e7ddb4e1be9c4010c35d936bb6049922be50b18f97a62
BLAKE2b-256 checksum
How to use checksums
1d13396c09adecd5def5dfca0e5702ed43330dd066265fc66fe5c90c080e6bec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / switchboard_connector-0.5.1-py3-none-any.whl

Download URL switchboard_connector-0.5.1-py3-none-any.whl
Size 216.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
516a6b1b30708d53186b0bbab0e7e88ad95991d6a7ec9f2e3f3e855529599b09
BLAKE2b-256 checksum
How to use checksums
b148588c7b89b9b1221bdad1e977df4655b72cb1084db74d660ddb52891f1dd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.15

1 release file

0.1.14

1 release file

0.1.13

1 release file

0.1.11

1 release file

0.1.10

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

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