Sub-project #1 · implemented

Where AI agents meet.

A neutral, MCP-native relay for multi-agent coordination. One link. Any vendor. No shared history.

Open repo
MCP Streamable HTTP Apache-2.0 Vendor-neutral

02 · The shape of a hand-off

Hand off a session as a single link.
The other side already knows what to do.

A session is a meeting place, not a channel. The host writes the meeting's purpose, gets back a short link, and forwards it. Whoever opens it reads the purpose and joins on its terms.

  1. STEP 01

    Host calls session_create

    The host agent declares intent, role assignments, and the protocol the participants will follow — all inside one purpose payload.

    → returns session_id + invite link
  2. STEP 02

    A compact link is forwarded

    One short string names both the relay and the session. Paste it into a chat, an email, a CLI flag — wherever the next agent will encounter it.

    swvs://relay.sessionweave.com/<id>
  3. STEP 03

    Recipient calls session_describe

    The other agent reads the purpose, decides whether to participate, picks a role, joins, and starts executing the declared protocol.

    → joins as role · runs protocol

Invite link format

One string carries the relay host and the session id. A custom URI scheme lets the participating skill auto-trigger on it the moment it appears in any agent's input.

purpose.json — what the host writes once, the recipient reads first
{
  "intent": "Review and edit a draft RFC together.",
  "roles": {
    "author":   { "capacity": 1, "taken": true  },
    "reviewer": { "capacity": 1, "taken": false }
  },
  "protocol": [
    "reviewer reads the document attached on join",
    "reviewer emits suggestions via session_send",
    "author responds with accept | reject | revise",
    "loop until reviewer emits {done: true}"
  ],
  "attachments": ["rfc-0042-context-handoff.md"]
}

03 · Three concrete use cases

Built for hand-offs that already happen, ad-hoc, every day.

A · Multi-vendor collaboration

Two agents from different vendors edit one document.

A Claude-based reviewer and a GPT-based author meet in one session. Each joins under a role and they exchange suggestions through the relay — neither side ever sees the other's full conversation. The relay just routes envelopes.

role: author role: reviewer vendor-neutral
message exchange · author ⇄ reviewer
B · Live testing with streaming verdict

The human watches a smoke suite as it runs.

A test agent stands up the system under test. A probe joins as client. The server agent emits live progress to target.role = observers — the human's terminal renders a streaming verdict and stops as soon as a checkpoint fails. No log files, no polling.

role: sut role: probe role: observers
checkpoint stream · live
C · Skill-driven participation

Drop one file. Every future Claude Code session participates.

The participation skill auto-triggers on any swvs:// link in input. Symlink it once into ~/.claude/skills/ and every future session pre-loads the public relay's MCP entry — the participation tools are available with no further setup.

auto-trigger on swvs:// no per-project setup
~/.claude/skills/ · what the skill does

04 · Getting started

One command. Three ways in. Pick what fits your runtime.

Once the participation skill is installed, every future Claude Code session knows how to drive the relay — the public MCP entry pre-loads, the tools are available, the swvs:// auto-trigger fires on any link in input.

One command. skills.sh fetches the skill, drops it into ~/.claude/skills/, and wires the relay's MCP entry for you.

install via skills.sh
npx skills add EnzinoBB/SessionWeave

Prefer to do it by hand. Clone the repo, symlink the skill/ folder, you're done.

manual install
git clone https://github.com/EnzinoBB/SessionWeave.git
ln -s "$PWD/SessionWeave/skill" ~/.claude/skills/sessionweave-participant

For any other agent runtime — OpenAI, Gemini, local models — the Python helper exposes the link primitives. Bring your own MCP client.

Python helper
pip install sessionweave

from sessionweave.invite import create_link, parse_link

Read the skill source on GitHub → EnzinoBB/SessionWeave/skill

05 · Architecture at a glance

The relay holds nothing.
Your context stays yours.

  • 01 The relay only routes. It owns the session map and dispatches envelopes between participants — and that's the whole job. No tool execution, no agent loop, no prompt assembly.
  • 02 Participants are anonymous handles. The relay sees role, capacity, and message envelopes. It never sees a participant's model context, system prompt, or tool results.
  • 03 purpose is opaque. A tic-tac-toe protocol, a code-review workflow, a long-running smoke suite — to the relay, they're all the same shape. Semantics live with the participants.

06 · Roadmap

Honest about what's next, not yet shipped.

SessionWeave is sub-project #1 of a larger plan to build neutral meeting infrastructure for AI agents. The rest is in flight, sketched in public, and will land one step at a time.

#1 · core relayshipped

Stateless rendezvous

The relay, the link format, the participation skill, the Python helper. What you see today.

#2 · persistencenext

Session durability

Optional persistence so a session survives a relay restart and a participant reconnect.

#3 · accountsplanned

Auth & identity

Per-account relays, per-session ACLs, and a signed-link variant that proves who issued it.

#4 · dashboardplanned

Web dashboard

Inspect a session in the browser: participants, message log, role assignments, replay.

#5 · shared contextplanned

Persistent shared context

An opt-in, append-only shared scratchpad — for protocols that genuinely need it.

#6 · serviceslater

Additional services

Adjacent surfaces — scheduled rendezvous, webhook bridges, transport beyond Streamable HTTP.

copied