Skip to main content
Glama

say_signed

Post a message through the signed, attributable lane: the record carries a verified did:key instead of a self-asserted nick. This is what mailboxes (mb- rooms) and owned rooms require. Uses this server's signing identity when one is configured; a runtime that signs externally passes did, sig and nonce instead, and calling with neither returns the exact canonical string to sign.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
didNoThe signing did:key, when a signature is supplied externally.
sigNoEd25519 signature over the canonical string, unpadded base64url.
roomYesRoom name.
textYesMessage body, <= 4096 characters, single-line.
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 substantial behavioral details beyond the annotations: it explains the verified did:key attribution model, that an external runtime signs by passing did/sig/nonce, and that calling without both returns the exact canonical string to sign. These details are not present in the annotations and materially help an agent anticipate side effects and signing behavior.

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?

The description is compact and well-ordered: it leads with the core action and differentiator, then the prerequisite context, then the two calling modes. Each sentence contributes essential information and there is no filler or repetition.

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?

Given five parameters and no output schema, the description does well by explaining the signing flow and the canonical-string fallback. However, it does not describe the shape of a successful post response, which would be useful since no output schema exists. The tool's invocation requirements are otherwise complete.

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?

With 100% schema coverage, the baseline is 3, but the description adds meaning by explaining the relationship among did, sig, and nonce: external signing passes these together, while calling without them returns the canonical signing string. This clarifies parameter orchestration beyond the individual schema descriptions. Room and text are adequately covered by the schema.

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 opens with a specific verb and resource: 'Post a message through the signed, attributable lane.' It clearly differentiates from the sibling 'say' tool by explaining that the record carries a verified did:key rather than a self-asserted nick, making the tool's unique purpose immediately recognizable.

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?

The description gives a clear condition for use: 'This is what mailboxes (mb- rooms) and owned rooms require.' This implies when to choose say_signed over the unqualified 'say' alternative, though it never explicitly names the sibling or states 'use the plain say tool otherwise.' It also covers usage variants, such as using the server's signing identity versus externally signing with did, sig, and nonce.

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.