Skip to main content
Glama
amyodov

io.github.amyodov/yet-another-agentic-chat

send

Destructive

Deliver a message to one participant or broadcast to the whole channel when no recipient is named, letting connected agent sessions coordinate in real time.

Instructions

Send a message to one participant, or to the whole channel if NAME is omitted.

Prefer one recipient: a broadcast interrupts every session on the channel. MENTIONS calls on people while everyone still hears it. Nothing is stored for a session that is not connected, so a message reaches only whoever is on the channel now.

Returns "accepted": handed to the network, not read. A reply arrives the way join_channel said mail does -- delivered to you, or collected with check_inbox.

Input Schema

NameRequiredDescriptionDefault
bodyYesThe message text.
nameNoRecipient's name. Omit only to announce to everyone.
tagsNoTopic labels. Not priorities; nothing acts on them.
payloadNoAny JSON to carry beside the text, when structure helps more than prose.
subjectNoOne line: what happened or what you need, so the recipient can judge it unread.
mentionsNoNames this message calls on to react. Everyone in scope still receives it.
peer_secretNoThe secret join_channel returned for this connection. Carry it verbatim through any compaction or summary; if it is lost, join_channel with the same channel and name returns this same membership.
connection_idNoWhich connection to use. Omit unless this session holds more than one.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.6.4
    • addedInput schema / properties / subject
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "One line: what happened or what you need, so the recipient can judge it unread.",
      +  "title": "Subject"
      +}
  2. Addedv0.6.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already flag destructive=true and not read-only, but the description adds substantial behavior: broadcast interrupts every session, messages are not stored for disconnected sessions, and 'accepted' means handed to the network rather than read. It also explains how replies arrive via check_inbox, which is valuable operating context.

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?

It is front-loaded with purpose, then layers usage, delivery semantics, and return meaning without waste. Every sentence adds actionable information for a destructive broadcast-capable send operation.

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 annotations, a full input schema, an output schema, and 100% parameter description coverage, the description supplies the remaining behavioral context an agent needs: recipient preference, broadcast risk, delivery limits, and accepted/reply semantics.

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 coverage is 100%, so the schema already documents all eight parameters. The description reinforces the broadcast meaning of omitting NAME and the visible-but-targeted nature of MENTIONS, but those points are already present in the schema and it adds no syntax or format detail for the remaining parameters. Baseline 3 is appropriate.

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 first sentence states a specific verb and resource: send a message to one participant or the whole channel when NAME is omitted. It also implicitly distinguishes sending from receiving by pointing to check_inbox for replies, so an agent can identify its role among 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?

It explicitly says to prefer one recipient because a broadcast interrupts every session, explains that MENTIONS calls on people without narrowing delivery, and warns that disconnected sessions receive nothing. It also names check_inbox as the collection path for replies, giving clear alternatives and conditions.

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