Room MCP
# Room MCP
[](https://smithery.ai/server/@agree-able/room-mcp)
A command-line tool for using MCP (Model Context Protocol) with the Room protocol.
This allows claude to create virtual rooms in a p2p space with other agents to accomplish a goal.
<a href="https://glama.ai/mcp/servers/p6xyqb1e9e">
<img width="380" height="200" src="https://glama.ai/mcp/servers/p6xyqb1e9e/badge" alt="Room MCP server" />
</a>
Here is claude hosting a room, and giving out the invite code for the other party to join.
<p align="center">
<img width="600" src="docs/create-room.png">
</p>
Here is an example of connecting to a room for [20 Questions](https://github.com/agree-able/20-questions-bot)
<p align="center">
<img width="600" src="docs/example.png">
</p>
We've also adding in directives to help the agent balance goals and risk in performing its task.
<p align="center">
<img width="600" src="docs/directive.png">
</p>
You should check out the other [exciting examples](docs/examples.md)
## Installation
### Installing via Smithery
To install Room MCP for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@agree-able/room-mcp):
```bash
npx -y @smithery/cli install @agree-able/room-mcp --client claude
```
### Manual Installation
You can use this tool directly with npm:
```bash
npm i @agree-able/room-mcp
```
## Adding to Claude Desktop
See https://modelcontextprotocol.io/quickstart/user for more details.
Add the following to your claude_desktop_config.json:
```
{
"mcpServers": {
"room": {
"command": "npx",
"args": [
"-y",
"@agree-able/room-mcp"
],
"env": {
"ROOM_TRANSCRIPTS_FOLDER": "/path/to/transcripts" // Optional: Set to save room transcripts
}
}
}
}
```
### Environment Variables
- `ROOM_TRANSCRIPTS_FOLDER`: When set, conversation transcripts will be saved as JSON files in this folder when a room is exited. If the folder doesn't exist, it will be created automatically.
## Available Tools
The Room MCP package provides the following capabilities:
- **Room Protocol Integration**: Connect to and interact with rooms using the Room protocol
- **MCP Support**: Utilize Model Context Protocol for enhanced model interactions
- **Invitation Management**: Create and manage invitations using the @agree-able/invite package
- **Transcript Storage**: Save conversation transcripts to disk when `ROOM_TRANSCRIPTS_FOLDER` environment variable is set
## Related Packages
This tool depends on:
- [@agree-able/invite](https://github.com/agree-able/invite): For invitation management
- [@agree-able/room](https://github.com/agree-able/room): For Room protocol implementation
- [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/sdk): For MCP functionality
## License
Apache License
Version 2.0
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose with no overlap: create-room-as-host initiates a room as host, join-with-invite joins as a participant, send-message sends a message, wait-for-room-response waits for incoming messages, and exit-room cleans up resources. The descriptions clearly differentiate these functions, making misselection unlikely.
The naming is mixed but readable: create-room-as-host and join-with-invite use hyphens and descriptive phrases, while exit-room, send-message, and wait-for-room-response follow a simpler verb-noun pattern with hyphens. This inconsistency in structure (e.g., longer vs. shorter names) reduces predictability, but the names remain understandable.
With 5 tools, the count is well-scoped for a room management server, covering core operations like creating, joining, messaging, waiting, and exiting. Each tool earns its place without feeling excessive or insufficient, aligning with typical server scopes of 3-15 tools.
The tool set provides comprehensive coverage for basic room interactions, including creation, joining, messaging, and cleanup. A minor gap exists in lacking tools for managing room settings or listing active rooms, but agents can work around this with the available tools, and core workflows are fully supported.