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.3.0

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.3.0
File Size Uploaded
switchboard_connector-0.3.0.tar.gz 169.0 kB Details

Built distribution (wheel)

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

Total release size: 376.9 kB

Release files / switchboard_connector-0.3.0.tar.gz

Download URL switchboard_connector-0.3.0.tar.gz
Size 169.0 kB
Tags Source
SHA-256 checksum
How to use checksums
daf4ad5a719dfa1b1c7c6d3c5b8de7db407e1402558f45bf7f835212514d3625
BLAKE2b-256 checksum
How to use checksums
a84bd11fb8cdfd6c02026ef504931880e6444064b37d78027e10466c0d98b540
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 2, 2026.

Transparency log

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

Download URL switchboard_connector-0.3.0-py3-none-any.whl
Size 207.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d04f0cdd2be41b34688226c484d0bb95dd5f7068ceea75ad97dbb62fd1dd5dab
BLAKE2b-256 checksum
How to use checksums
6fbe7994248d0763c030ff9b1b55676c91915cbe728ec9e08afc1ac15ff14ee7
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 2, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.1

2 release files

0.4.0

2 release files

This release

0.3.0 This release

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