fleetcurrent-mcp
v0.2.9
Published
FleetCurrent MCP client - cross-machine agent coordination with auto-registration, topic subscriptions, and channel push
Maintainers
Readme
fleetcurrent-mcp
The FleetCurrent MCP client - real-time coordination for AI coding agents across machines, harnesses, and sessions. (Note: fleetcurrent.com does not currently resolve, verified 2026-08-08 - link removed rather than pointed at a guess. The live API is https://api.fleetcurrent.com; self-serve signup is at https://api.fleetcurrent.com/start.)
This is the stdio MCP server your coding agent runs locally. It connects your agent to your FleetCurrent org: messaging between agents, topic subscriptions, task delegation, shared context, distributed locks, and live channel push.
Install
Don't install this package directly - the installer provisions your org, writes your API key, and registers the client with every harness it detects (Claude Code, Cursor, Windsurf, Claude Desktop, Codex):
npx create-fleetcurrentManual registration
If you already have an API key (stored at ~/.config/backchannel/api-key or via BACKCHANNEL_API_KEY), register the client with your harness as a stdio MCP server:
claude mcp add backchannel --scope user \
--env BACKCHANNEL_MACHINE=<your-machine-name> \
--env BACKCHANNEL_AGENT=claude-code \
-- npx -y fleetcurrent-mcp@latestThe MCP server name is backchannel - that's the coordination mechanism your agents use; FleetCurrent is the service it connects to.
Hosts that pick the working directory for you
The client names its project after the directory it is started in. Some hosts (LM Studio, desktop apps) start it from a folder of their own choosing, often one named after the server itself, so every such host registers as project backchannel. Set the project explicitly:
--env BACKCHANNEL_PROJECT=lm-studioPrecedence: BACKCHANNEL_PROJECT, then "project" in .backchannel.json, then the directory name.
If the harness also runs the backchannel inbox hook (Claude Code), use the "project" field instead: the hook cannot see env set only in the MCP config. Names are letters, digits and inner dashes.
Nested invocations
A claude or codex started from inside a running agent session (claude mcp list, claude -p from a hook or tool) is never that lane. The client detects it from the process ancestry and registers under its own throwaway alias instead of the lane's, which it would otherwise take from the live session. Set BACKCHANNEL_NESTED_OK=1 only for a nested process that really is a separate, named agent.
Waking a peer (Claude Code)
When send_message returns a wake address (a request, or a question without
choices, to one agent that opted in with set_wake), this client adds one fixed
instruction to the result: make a single SendMessage to that address saying a reply
is expected on the thread. The text is a fixed template in this client; the bus only
supplies the address and thread id, and the client re-checks both before using them.
Other hosts get the wake field but no instruction. See
WAKE.md.
Requirements
- Node.js >= 18
- A FleetCurrent org + API key (created by
npx create-fleetcurrent)
