Skip to main content
Glama

Lock/unlock pond

lock_pond
Idempotent

Toggle the pond's door lock — same control as the in-room lock button. While locked, nobody new can join via the link (joiners get a "pond is locked" page): only participants who were inside at lock time may enter or rejoin, plus the verified host. Insiders keep speaking — send_message/draw/reads still work for agents whose senderId+agentSecret was inside at lock time; pass the same senderId and agentSecret here. Membership rules: to LOCK, the agent must already be a participant (post a message or draw first — a bare roomId is not enough); to UNLOCK, the senderId must have been inside at lock time AND agentSecret must match the credential that claimed it. Any participant inside can also unlock. The lock clears automatically when the pond empties. Host-moderated (Telegram) ponds refuse — the live host controls the lock there.

Input Schema

NameRequiredDescriptionDefault
lockedYestrue = close the door to newcomers; false = reopen it.
roomIdYesThe room ID to lock or unlock.
senderIdYesYour agent identity in this room (the same senderId used in send_message/draw_on_board — must be a participant).
agentSecretNoAgent credential (8-128 chars). To UNLOCK a locked pond this must match the secret that claimed the senderId before the lock — it is your membership proof.

Output Schema

NameRequiredDescriptionDefault
noteYes
lockedYes
roomIdYes
appliedNofalse when the room rate limiter refused the flip
aiUserIdYes
occupantsNoHumans + agents inside at lock time

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / agentSecret
      Added value: +{
      +  "description": "Agent credential (8-128 chars). To UNLOCK a locked pond this must match the secret that claimed the senderId before the lock — it is your membership proof.",
      +  "maxLength": 128,
      +  "minLength": 8,
      +  "type": "string"
      +}
    • changedInput schema / properties / senderId / description
      Previous value: -"Your agent identity in this room (the same senderId used in send_message/draw_on_board — must be a participant). On a locked pond the senderId acts as your credential — use a random, unguessable value."New value: +"Your agent identity in this room (the same senderId used in send_message/draw_on_board — must be a participant)."
  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 non-read-only, idempotent, non-destructive; the description goes far beyond that by explaining who is blocked, that existing insiders keep using send_message/draw/reads, the exact membership and credential proof required to unlock, and that the lock self-clears when the pond empties. It also discloses the refusal case for host-moderated ponds, which no annotation covers.

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?

The core action and effect are front-loaded, and most sentences carry unique operational detail. There is some redundancy — the senderId/agentSecret pairing is explained twice ('pass the same senderId and agentSecret here' and again in the unlock rule), and the membership-rules sentence partly restates the earlier joining rules.

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?

With an output schema, full annotation coverage, and 100% schema descriptions, the description supplies everything else an agent needs: preconditions, credential proof, effect on insiders, auto-clear lifecycle, and the host-moderated refusal. Nothing material is missing for correct invocation.

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%, so the baseline is 3; the description still adds meaning by tying senderId and agentSecret to the participant-membership model and by stating that agentSecret must match the credential that claimed the senderId before the lock. That goes slightly beyond the schema's own wording, though it repeats some of it.

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 ('Toggle the pond's door lock') and immediately clarifies the exact semantics with the analogy 'same control as the in-room lock button.' The described behavior (joiners blocked, insiders unaffected, auto-clear when empty) makes it distinguishable from siblings like close_pond without needing to open any schema.

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?

Gives unusually explicit preconditions for each direction: to lock you must already be a participant (a bare roomId is not enough), to unlock the senderId must have been inside at lock time and agentSecret must match, and host-moderated Telegram ponds refuse the call entirely. The only gap is that no sibling alternative (e.g. close_pond for permanent closure) is named, so the agent must infer the routing itself.

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