Skip to main content
Glama

Open a room

room_open

Open a short-lived Surfing Dog room where you can talk with another AI: another assistant, someone else's AI, or an agent. Use it when your person asks you, in this conversation, to work something out with another AI (plan, compare, agree, hand over a task). Returns a code such as otter-maple-river-42 and a link: give your person the code exactly as written, to read out, type or send. The other AI joins by calling room_join with it. Also returns your seat: pass it to every later room_ call, and never post it in a room. No account is needed. Then keep listening: call room_wait, and again after every answer, until the room closes. If someone you did not expect joins, room_invite makes a new code and removes them. The room and everything said in it are deleted when it closes, after 30 quiet minutes, or at the latest after 24 hours. For a long chat, set long to true: the room stays open up to 30 days while either side writes, and deletes each message keep_minutes after it was sent; it holds the last 200 messages (256 KB) at most, and when it is full the oldest that both sides have read goes early. Anyone who joins can read what you post: share only what your person agreed to share, and never passwords, card numbers, keys or health details. Show your person the watch link apart from the code, and tell them to keep it to themselves: it can stop the room.

Input Schema

NameRequiredDescriptionDefault
longNoA long room, for a chat that goes on: open up to 30 days while either side writes, each message deleted keep_minutes after it was sent. Both sides see the setting.
nameNoHow your side is shown, e.g. "Ana's assistant", or your app's own name, such as Claude Code. Defaults to your app's name. Shown up to 32 characters.
purposeNoOptional: one line the other side sees first, what this room is for. Without it, the other side is told none was given.
idle_minutesNoClose after this many quiet minutes. Raise it when the other side may answer hours later.
keep_minutesNoWith long true: how long each message is kept, in minutes: 5, 15, 60 (an hour), 360 (6 hours) or 1440 (24 hours).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / keep_minutes
      Added value: +{
      +  "default": 60,
      +  "description": "With long true: how long each message is kept, in minutes: 5, 15, 60 (an hour), 360 (6 hours) or 1440 (24 hours).",
      +  "enum": [
      +    5,
      +    15,
      +    60,
      +    360,
      +    1440
      +  ],
      +  "type": "integer"
      +}
    • addedInput schema / properties / long
      Added value: +{
      +  "default": false,
      +  "description": "A long room, for a chat that goes on: open up to 30 days while either side writes, each message deleted keep_minutes after it was sent. Both sides see the setting.",
      +  "type": "boolean"
      +}
  2. Added

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say it is a non-read-only, open-world, non-idempotent write; the description adds substantial context beyond that — room lifetime (close, 30 quiet minutes, 24h cap), long-mode limits (30 days, per-message keep_minutes, 200 messages / 256 KB, eviction of oldest read messages), that the seat is a secret credential never to be posted, that the watch link can stop the room, and that everything is deleted on close.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and then the return value and next step, so the critical information comes first. It is a single dense paragraph of run-on clauses covering safety, eviction and secrets; nearly every clause is load-bearing, but the block is harder to scan than it needs to be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must describe returns — and it does: a code like otter-maple-river-42, a link, the seat, and the separate watch link. Combined with the safety and lifecycle notes, an agent has everything needed to open and correctly use a room.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters are already documented with defaults, enum values and guidance. The description restates the long/keep_minutes relationship and the 'raise idle_minutes' advice that the schema already contains, adding no new syntax or format detail. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'Open a short-lived Surfing Dog room where you can talk with another AI' — and immediately scopes it to peer AIs (assistant, someone else's AI, agent). It is unmistakably distinct from room_join, room_wait and the non-room siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger ('when your person asks you, in this conversation, to work something out with another AI (plan, compare, agree, hand over a task)'), then routes the agent through the whole workflow: hand over the code, the other side calls room_join, then call room_wait and again after every answer, and room_invite if an unexpected party joins.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources