AgentRoom MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AgentRoom MCP Serverclaim src/server.ts so I can refactor it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AgentRoom
Two coding agents that share a workspace and coordinate finish jobs a single agent abandons.
A room is a state-management primitive: a runtime object exposing file-level claim, status, and broadcast as MCP tools, sitting on top of a CRDT-merged shared filesystem. Agents coordinate through room state rather than through chat, and the substrate guarantees no edit is lost when they write at once.
flowchart TB
A["Agent A"] --> R
B["Agent B"] --> R
C["Agent C"] --> R
R["room MCP server<br/>claim · release · broadcast · state · read"] --> W
W["CRDT-merged shared workspace<br/>character-level merge, no lost writes"]The claim is not that concurrency helps. Concurrency without coordination
hurts: a parallel-merge baseline scores below a single agent, because the
second agent's server.ts silently overwrites the first's. Coordination is the
load-bearing part.
The uncoordinated concurrent baseline lands below the single agent (parallel-merge 0.456 vs solo 0.544 on the hardest task); the full room tops the matched-compute ablation at 0.669, with the substrate-only intermediates between (0.575 shared, 0.588 with prompt).
The tighter result matters more than the higher one. Run-to-run spread roughly halves on all three models, because the failure mode being removed is the tail where a lone agent emits one stub file and exits.
Try it in ten seconds
No API keys, no agents, no GPU.
pip install -e .
python -m agentroom.selftestreplica A after exchange:
export function serve() {
app.use(auth)
app.get('/health', ok)
}
kept replica A edit : True
kept replica B edit : True
replicas converged : True
OK both concurrent edits survived, replicas converged.Two replicas edited the same file without seeing each other. Byte-level last-writer-wins keeps one line. The CRDT keeps both and converges.
Running an experiment
Requires the vendor CLIs you want to compare (Claude Code, Codex CLI, Gemini
CLI) on PATH, each already authenticated. Each run copies the bundled
repos/express-app starter (Express + TypeScript, one smoke test) into a
fresh sandbox.
agentroom --task tasks/30-fintech-ledger.json --agents claude-sonnet,claude-sonnet --mode concurrentMode | What it is |
| AgentRoom: CRDT workspace + room MCP tools + collaboration prompt |
| same CRDT workspace, no MCP tools, no prompt |
| CRDT workspace + prompt, no MCP tools |
| independent agents, outputs unioned afterwards |
| one agent |
| sequential three-phase role pipeline |
The ablation is a diff, so the control is checkable:
agentroom --task tasks/30-fintech-ledger.json --agents claude-sonnet,claude-sonnet --mode concurrent
agentroom --task tasks/30-fintech-ledger.json --agents claude-sonnet,claude-sonnet --mode shared-onlySame task, same agents, same budget. The only difference is the room.
Reproducing the numbers
Claim | Command |
abandonment classification, all strata |
|
every Tier I number in one invocation |
|
matched-compute contrasts (Welch) |
|
regex scorer |
|
AST cross-check scorer |
|
LLM-judge, and the cross-vendor panel |
|
These read a run directory and derive the numbers from it. The run archive itself is not in this repo; it is several gigabytes of sandbox snapshots.
What did not work
Worth stating plainly, because a reader will find it anyway.
Collaboration is not universally good. On the hardest task with Codex, two agents scored 0.80× a single agent. Pairing can hurt.
More agents is not better. Judged quality peaks at two and declines from three. Mean tests passing peaks at three and collapses at four. The two measures do not agree on the optimum.
The bundle attribution did not survive. An earlier point estimate splitting the gain between the MCP layer and the CRDT substrate was retracted: the interval spans zero at the sample size available. The ordering holds, the percentage does not.
Heterogeneous pairs disagree between scorers. Sonnet+Codex leads on the LLM-judge composite and trails on mean tests passing.
No execution oracle. Tasks ship agent-authored test suites, so quality is judged, not verified. Cross-validated against regex and AST scorers, but this is not an execution-correctness claim.
Design notes
crdt_guard.pyis the merge primitive. It watches the workspace and reconciles concurrent writes throughpycrdtat character level. This is the substrate, andselftest.pydemonstrates it in isolation.room_server.pyis the coordination interface.room_claimis an advisory lock in the Chubby sense: enforcement is at the prompt layer, not the kernel. An agent that writes without claiming still has its bytes preserved by the substrate, and the room log surfaces the violation instead of blocking it. That is deliberate, and the observed cross-agent bug-fix behaviour depends on it.room_server_chat.pyexists to lose. It is the chat-only baseline for the contrast that motivates state over messages.One scoring definition per metric, in
quality.pyandstats.py. No experimental result is a literal anywhere in this package.
Paper
The workshop version is published at the ICML 2026 Workshop on Failure Modes of Agentic AI (OpenReview); an extended version is under review, and its arXiv link will be added on posting. The interactive version is at seongland.com/article/agentroom.
@inproceedings{
cho2026agentroom,
title={AgentRoom: Concurrent Multi-Agent Coding in a {CRDT}-Backed Shared Workspace},
author={Seonglae Cho and Donghyun Lee},
booktitle={Workshop on Failure Modes of Agentic AI at ICML 2026},
year={2026},
url={https://openreview.net/forum?id=0aGLZqKJjt}
}To cite the software itself:
@software{agentroom,
title = {AgentRoom},
author = {Cho, Seonglae and Lee, Donghyun},
year = {2026},
license = {MIT},
url = {https://github.com/seonglae/AgentRoom}
}License
MIT.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Coordinate multiple AI agents over MCP: atomic claims, leases, shared ledger, handoffs, tasks.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP Server for an Agent Task Marketplace
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/seonglae/agentroom'
If you have feedback or need assistance with the MCP directory API, please join our Discord server