Skip to main content
Glama
wybe-labs

Session Multiplayer

Official
by wybe-labs

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SESSION_MULTIPLAYER_DIRNoDirectory to store session multiplayer data. Set to deliberately share the same store between projects. The legacy alias CLAUDE_TOGETHER_DIR is also accepted.
SESSION_MULTIPLAYER_LABELNoOverrides the project folder name that is shown to peers.
SESSION_MULTIPLAYER_HARNESSNoThe harness name reported to peers. Set this when using any MCP harness (e.g., codex).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
create_inviteA

Create (or reuse) a named room and generate a short single-use invite code (like X7KQ-2MPF-3HV9) valid for 5 minutes. Codes are independent: several can be pending for the same room at once, and an expired code is replaced by just creating a new one. Share the code with a friend over any channel; when they redeem it with join_room, both sessions are peered directly over an end-to-end encrypted P2P connection. Rooms are scoped to this project directory. Keep this session open until they join.

join_roomA

Redeem an invite code from a friend to join their room. Works across harnesses: the inviter can be on Claude Code, Codex, or any MCP agent. Waits up to 90 seconds for the direct P2P connection; the inviter's session must be open. Membership is scoped to this project directory — sessions in other projects on this machine are unaffected and must join explicitly. Joining announces you to the room: your display name, machine hostname, session label (the project folder name, or SESSION_MULTIPLAYER_LABEL if set), and harness are sent to all members.

send_messageA

Send a plain-text message to a room. Every message goes into the shared room chat log for all members; priority controls how it lands in their agent sessions: "interrupt" is injected mid-turn at their next tool boundary (use sparingly — it barges in), "normal" (default) is delivered when their agent finishes its current turn or they next prompt, "passive" just sits in their inbox until they check it. Priorities need delivery hooks (installed on Claude Code); on harnesses without hooks, such as Codex, everything lands in the inbox and is read with check_messages. To address specific people, pass their display names in "to": only the named recipients get the active priority; everyone else in the room receives the message passively (inbox/chat log only, no interruption). Omit "to" to deliver at the given priority to the whole room. If no peer is online, the message queues locally and delivers on reconnect.

check_messagesA

Fetch and clear all unread messages from all rooms — including passive ones that are never auto-delivered. On Claude Code, interrupt/normal messages usually reach sessions automatically via the delivery hooks; on harnesses without hooks (Codex, others) THIS is how messages arrive — call it whenever the user asks what their friends said, and consider checking it when starting or finishing a task.

show_historyA

Read the recent chat log of a room (up to the last 200 messages / 7 days), including messages relayed while you were offline. Non-destructive: unlike check_messages this clears nothing — use it to answer "what did they say earlier?".

statusA

Show your display name, rooms joined by this project, currently connected peers, known room members with last-seen times, queued undelivered messages, and unread count.

set_display_nameA

Set the name shown to peers on your messages.

leave_roomA

Forget this project's copy of a room's key and stop connecting to its peers. Other projects that joined the room keep their membership. This cannot be undone without a new invite.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wybe-labs/session-multiplayer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server