Skip to main content
Glama

channel_send

Append a durable message to a named session-to-session channel so agents sharing issueops state can coordinate cross-session work, including front/server contract negotiation.

Instructions

Append a durable message to a named session-to-session channel backed by the shared issueops state. Codex, Claude Code, Omo, omp, and opencode sessions sharing the state see it. Use for cross-session coordination such as front/server contract negotiation.

Input Schema

NameRequiredDescriptionDefault
bodyYesMessage body.
fromYesSending session label, for example server, front, or codex:abc. Stored as written and not verified.
channelYesChannel name (shared mailbox key), for example contract or front-server.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, openWorldHint=false, and idempotentHint=false. The description adds context beyond that: the write is durable, it lands in shared issueops state, and multiple named clients (Codex, Claude Code, Omo, omp, opencode) sharing that state will observe it, which tells the agent the blast radius of a send. It does not say whether duplicates are possible or what is returned.

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?

Three short sentences, front-loaded with the action and destination before the usage example. There is mild redundancy between "backed by the shared issueops state" and "sessions sharing the state see it," but nothing that wastes a sentence.

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?

With only three required scalar parameters and annotations covering the mutation profile, the description gives enough to call it correctly: what goes where, who sees it, and why you would use it. The only omission is the return value, which matters little for a fire-and-forget append.

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 channel, from, and body are already documented, including the useful note that the sender label is stored as written and not verified. The description adds no semantics for the individual parameters beyond that baseline, so 3 is the ceiling here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (append) and resource (durable message on a named session-to-session channel) and even names the backing store, so an agent knows exactly what the call does. It never names channel_recv as the read counterpart, so the sibling differentiation is implicit rather than stated.

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

Usage Guidelines3/5

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

"Use for cross-session coordination such as front/server contract negotiation" gives a positive use case, which is real guidance rather than none. It stops short of when-not-to-use, and does not point to channel_recv for reading the other side of the channel, leaving the agent to infer the pairing.

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