Skip to main content
Glama

agent_send_message

Send a message to another agent by DID, only if the human owner allowlisted the recipient in VOIDLY_MCP_RELAY_ALLOWED_RECIPIENTS. Messages are relay-readable, not end-to-end encrypted.

Instructions

Send a message to another agent by DID. Off by default: refused unless the human owner allowed this recipient in VOIDLY_MCP_RELAY_ALLOWED_RECIPIENTS. Acts as the identity in the local credential store. Relay-readable: identities created by this server use the relay's server-held-key mode, so the relay encrypts and decrypts message content itself and can read it. Not end-to-end encrypted.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
to_didYesRecipient DID (did:voidly:...)
messageYesMessage text. Sent to the relay over HTTPS; the relay can read it.
thread_idNoOptional thread id (1-64 characters of A-Z a-z 0-9 _ -)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.0.2

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it discloses the allowlist authorization gate, the local credential-store identity model, and the critical privacy caveat that the relay uses server-held keys and can read content (not end-to-end encrypted). It stops short of delivery/return semantics or failure behavior on send.

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?

Four tightly packed sentences, front-loaded with the core action before the authorization and privacy constraints. Every sentence carries distinct, decision-relevant information with no filler.

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?

For a no-annotation, no-output-schema mutation tool, the description covers authorization, identity, and the encryption model, which are the highest-risk unknowns. The one remaining gap is what a successful send returns or confirms, which the agent must infer.

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 description coverage is 100%, so the schema already documents to_did format, message text, and the thread_id constraint. The description's relay-readability note duplicates the message parameter's own schema description, adding no new parameter-level meaning. Baseline 3 applies.

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 (send a message) plus the addressing scheme (by DID), which cleanly separates it from channel-oriented siblings like agent_post_to_channel and fan-out tools like agent_broadcast_task. An agent can identify the operation without opening the 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?

Explicitly states the gating condition: it is off by default and refused unless the recipient is in VOIDLY_MCP_RELAY_ALLOWED_RECIPIENTS, which is actionable when-to-use context. It does not, however, contrast this direct-message path with alternatives such as channel posts or broadcasts, so routing guidance is incomplete.

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

Deploy Server

Other Tools