Skip to main content
Glama

set_room_allow

Destructive

Publish the allow-list for a room this identity owns: the space-separated did:keys permitted to write there, replacing the previous list. Owner-signed only; the nonce must exceed the one the claim burned.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
didNoThe signing did:key, when a signature is supplied externally.
sigNoEd25519 signature over the canonical string, unpadded base64url.
didsYesSpace-separated did:key list — the full list, not a delta.
roomYesRoom name.
nonceNoThe nonce the signature covers. Must exceed the last one used.

TDQS

A4.6/5.0
Behavior5/5

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

The description discloses the destructive replace behavior, the ownership authentication requirement, and the nonce-ordering constraint. These go beyond the annotations' destructiveHint and give the agent the practical consequences of invoking the tool.

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

Conciseness5/5

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

A single front-loaded sentence carries the purpose, resource, ownership condition, replacement semantics, and nonce constraint with no filler. Every clause earns its place.

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

Completeness4/5

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

The description is complete for the core semantics: what is published, who may do it, what gets replaced, and the nonce rule. It leaves the exact provenance of the nonce and signature to the schema and sibling tools, which is acceptable but could be slightly more explicit for an external-signature flow.

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

Parameters4/5

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

Schema coverage is 100%, and the description adds operation-level meaning by tying 'dids' to the full replacement list and explaining that the nonce must exceed the one burned by the claim. It does not restate every field, which is appropriate given the schema already documents each parameter in detail.

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?

The description names a specific action (publish the allow-list), a specific resource (a room this identity owns), and the key content (space-separated did:keys permitted to write there). It also clarifies that this replaces the previous list, so the tool cannot be confused with a read or listing operation.

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

Usage Guidelines4/5

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

It clearly states the prerequisite that the identity must own the room and that only owner-signed calls are valid. It does not name alternative tools or explicitly say when not to use it, but there are no direct siblings for managing room allow-lists, so the context is sufficiently precise.

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.

TDQS

A4.2/5.0
Disambiguation4/5

Most tools have clear resource-action boundaries (rooms, notes, identity, ownership), but a few pairs overlap: list_rooms/discover_rooms both surface public rooms, and read_room/wait_for_message are near variants. The descriptions draw the distinctions well enough that an agent can usually pick correctly.

Naming Consistency4/5

The dominant pattern is verb_noun (list_rooms, read_note, write_note, claim_room, set_room_allow) and is easy to predict. Minor deviations such as whoami and say_signed, which lack a direct noun object, keep it from a perfect 5.

Tool Count5/5

Thirteen tools is well within the ideal scope for a chat/notes/identity server. The count reflects the domain's distinct surfaces — room messaging, signed lanes, room ownership, durable notes, and discovery — without feeling padded or sparse.

Completeness4/5

Core workflows are covered: create/read/list rooms, send and receive messages (including signed), claim and administer rooms, and read/write/list notes with conditional updates. Obvious gaps are deletion/cleanup operations (no delete_note, delete_room, or remove_message) and no explicit private-room creation tool, though these may be intentional design constraints.