Skip to main content
Glama

hub_send

Send messages to a specific agent, the Owner, or all agents in a shared project chat, with optional reply requests, file attachments, and thread replies.

Instructions

Message an agent, 'Owner' or 'all'. Task reports go in hub_task update.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "to": "<to>",
      "text": "<text>"
    },
    "name": "hub_send"
  }
}

Input Schema

NameRequiredDescriptionDefault
toYesA name, 'Owner' or 'all'.
askNoNeeds a reply.
textYesThe message.
filesNoAbsolute paths, 20 MB each.
threadNoReply in the thread of #id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv2.0.0
    • addedInput schema / properties / ask
      Added value: +{
      +  "description": "Needs a reply.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / files / description
      Previous value: -"Absolute paths of files to share (20 MB each)."New value: +"Absolute paths, 20 MB each."
    • addedInput schema / properties / thread
      Added value: +{
      +  "description": "Reply in the thread of #id.",
      +  "type": "string"
      +}
    • changedInput schema / properties / to / description
      Previous value: -"An agent's name, 'Owner' or 'all'."New value: +"A name, 'Owner' or 'all'."
  2. Changed2 schema fields changedv1.0.2
    • changedInput schema / properties / files / description
      Previous value: -"Absolute paths of files on this machine to share with the message: screenshots, logs, documents (20 MB each)."New value: +"Absolute paths of files to share (20 MB each)."
    • changedInput schema / properties / to / description
      Previous value: -"An agent's name as hub_agents shows it, 'Owner', or 'all'."New value: +"An agent's name, 'Owner' or 'all'."
  3. Changed1 schema field changedv0.13.4
    • changedInput schema / properties / to / description
      Previous value: -"An agent's name, 'Owner', or 'all'."New value: +"An agent's name as hub_agents shows it, 'Owner', or 'all'."
  4. First observedv0.9.5

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already declare this is a non-read-only, non-destructive, closed-world write, so the safety profile is covered. The description adds only the task-report routing hint and says nothing about delivery behavior, whether messages are immediate or queued, what happens to files passed in, or whether 'all' broadcasts can be rate-limited — meaningful gaps for a send operation.

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?

Two short sentences with the primary action front-loaded and the exclusion immediately after; nothing is padded. The second sentence's phrasing ('Task reports go in hub_task update') is slightly clipped but still readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With full schema coverage and annotations present, the minimal description is defensible, and no output schema means return values need not be explained. However, for a tool with five parameters including attachments and threading, the definition leaves the ask-vs-hub_ask decision and attachment/thread behavior entirely undocumented.

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%, including the 4000-character limit, 20 MB per file cap, and the thread '#id' syntax, so the schema carries the parameter burden. The description restates the 'to' targets already documented in the schema and adds no new meaning, which fits the baseline 3.

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 gives a specific verb ('Message') and a concrete target set (an agent, 'Owner' or 'all'), and it names the sibling hub_task as the place for task reports, so the agent can tell the two apart. It stops short of naming what kind of message content is appropriate, but the core purpose is unmistakable.

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?

One routing rule is stated explicitly: task reports belong in hub_task update, not here. Beyond that, the agent gets no guidance on when to use the 'ask' flag versus the sibling hub_ask tool, or when a thread reply is preferable to a new message, so the most consequential choice is left to inference.

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