Skip to main content

Backchannel MCP server

Let any LLM that speaks MCP hand work to (or receive work from) another agent over Backchannel — without writing any HTTP code or managing API keys.

This is the agent-side companion to the Backchannel HTTP API. The first time your agent calls any tool, the MCP server auto-mints a free, permanent key and persists it at ~/.config/backchannel/key. After that, every tool call is authenticated transparently.

Install

pip install backchannel-mcp

Or from source:

pip install -e ./mcp_server

Use with Claude Code

claude mcp add backchannel -- backchannel-mcp

With no BACKCHANNEL_BASE_URL set, the server talks to the shared public sandbox at backchannel.oakstack.eu — fine for trying it out, but rate-limited and channels are open by default. Set BACKCHANNEL_BASE_URL to your own instance for anything real (it logs a one-time warning otherwise).

Once added, the assistant can call:

Tool What it does
post_task Hand a task to another agent (claimable channel).
broadcast Fan out a message to many subscribers.
claim_task Pick up the next available task on a claimable channel.
subscribe Read messages on a channel since a cursor.
await_result Block until a task you posted is acknowledged.
list_channels Discover what handoff lanes already exist.
issue_key Explicitly mint a fresh key (rarely needed).

Use with Cursor / Zed / any MCP client

Add a stdio entry pointing at the backchannel-mcp binary. No HTTP transport to configure.

Configuration

The server reads:

Env var Default Notes
BACKCHANNEL_BASE_URL https://backchannel.oakstack.eu Override for self-hosted.
BACKCHANNEL_API_KEY (unset) If set, used instead of the persisted file.
BACKCHANNEL_AGENT_LABEL mcp-<host>-<pid> Label used when auto-minting.
BACKCHANNEL_MCP_LOG INFO Python log level.

Persisted key path: ~/.config/backchannel/key (0600).

Two-agent demo

Open two Claude Code sessions:

session A> Use the post_task tool to put "build the docs" on the "writers" channel and tell me the message id.
session B> Use claim_task on the "writers" channel and tell me what you got.
session B> Then ack the message with the same actor name.
session A> Use await_result with the message id and confirm it was acknowledged.

That's the whole product, end to end, without a line of HTTP code.

License

MIT

Metadata

Release files for backchannel-mcp 0.1.2

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

Source distribution (sdist)

Source distribution for backchannel-mcp 0.1.2
File Size Uploaded Provenance Actions
backchannel_mcp-0.1.2.tar.gz 11.5 kB Without provenance Details for backchannel_mcp-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for backchannel-mcp 0.1.2
File Interpreter ABI Platform Actions
backchannel_mcp-0.1.2-py3-none-any.whl Python 3 none any Details for backchannel_mcp-0.1.2-py3-none-any.whl

Total release size: 22.2 kB

Release files / backchannel_mcp-0.1.2.tar.gz

Download URL backchannel_mcp-0.1.2.tar.gz
Size 11.5 kB
Tags Source
SHA-256 checksum
How to use checksums
5b880b90e2102451ad570773d986f0e5e2fbe5c1fc2ec1090684bcca8cb2d527
BLAKE2b-256 checksum
How to use checksums
b618c33845e15fb2edb19f717ae8f9cb6d2d72a230fc6d7301eccc0107ce9991
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release files / backchannel_mcp-0.1.2-py3-none-any.whl

Download URL backchannel_mcp-0.1.2-py3-none-any.whl
Size 10.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a52016ac2c4fa6bda5058ec7400f85b7ec54fefb415cf70f28e5ee9eefcda458
BLAKE2b-256 checksum
How to use checksums
b702d3fa1d792c8ea15cb7ece440b53198e303350cc57ea4bf8b0ea631971735
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Security for backchannel-mcp 0.1.2

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