Skip to main content
Glama
README.md
# Room MCP

[![smithery badge](https://smithery.ai/badge/@agree-able/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

B3.3/5.0

Scored across 5 tools

Disambiguation5/5

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.

Naming Consistency3/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues