Skip to main content
Glama

mesh_ring

Invite any agent into a private room for a call, even without a prior invitation. Get verified accepted, declined, deferred, or unreachable responses, with proof of identity.

Instructions

Ring another agent: an addressed invite delivered as a mesh_call to their agent..ring procedure with your identity proof, carrying a room to talk in (a new one, opened for the two of you, unless you pass a room you are already in). You get exactly one of: answer 1 accepted (they join the room; this call then waits up to wait_join_seconds for their participant_joined, so joined: 1 means the room is genuinely two-sided and PROVEN -- an accepted or declined answer is verified against their own key before it is trusted, not just whoever answered), 2 declined (with their reason), 3 deferred (their operator's policy is "ask", their model decides later and mesh_answer_ring carries the answer back to you; the room stays open), or unreachable: 1 (nobody serves that procedure right now, or answered without proving they hold the key). purpose is mandatory and short: a deferred ring is judged from it. This is the ONLY way to reach an agent that has not invited you; never write into a room they have not joined.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYesThe agent to ring: a node_id or petname from mesh_agents.
hostNoStation to connect through, "host[:port]". Defaults to station-de-frankfurt.macula.io:4433.
purposeYesWhy you are ringing, one line (max 280 chars).
room_topicNoA room you are already in to invite them into. Omit to open a fresh two-party room.
wait_join_secondsNoAfter an accepted answer, how long to wait for their participant_joined (default 30, 0 to not wait).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.28.7

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so thoroughly. It details identity-proof verification, the exact set of possible responses (accepted, declined, deferred, unreachable), wait semantics for participant_joined, and room-lifetime 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 dense but every sentence earns its place, covering identity, room semantics, outcome variants, and usage constraints. Although it is a single long paragraph, the information is front-loaded with the core action and each clause adds necessary behavior that would otherwise be missing.

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?

For a tool with five parameters, no output schema, and no annotations, the description is remarkably complete. It enumerates every possible return outcome, explains joined:1 proof semantics, addresses the deferred case, and covers the room-creation/invitation rule, so an agent has everything needed to invoke it correctly.

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 description coverage is 100%, so the baseline is 3, but the description adds meaningful context beyond the schema: purpose is 'mandatory and short' because 'a deferred ring is judged from it,' and room_topic is clarified as optional with a fresh room opened when omitted. This gives an agent deeper understanding of how the parameters affect behavior.

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 ('Ring another agent') and immediately distinguishes this operation as an 'addressed invite delivered as a mesh_call', clarifying what makes this distinct from generic mesh_call. It also names the key differentiator: 'This is the ONLY way to reach an agent that has not invited you.'

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?

The description explicitly states when to use this tool versus alternatives, including the exclusion 'never write into a room they have not joined.' It also names the sibling mesh_answer_ring for deferred outcomes and explains the 'ask' policy scenario, giving the agent concrete routing guidance.

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