Skip to main content
Glama

DJfindr

Send a message

send_message

Send a message. Needs inbox:write. Two calls. The first changes nothing: it checks the arguments as the change would (a field this tool does not take is refused, by name) and answers a summary and a confirm_token. Show the summary to the person; only after they agree, call again with the same arguments plus confirm_token.

Input Schema

NameRequiredDescriptionDefault
bodyNoThe text, up to 10,000 characters. A body, attachments, or both. It is screened before it is sent.
file_idsNoUp to 10 ready uploads of mine (scope message_attachment).
client_keyNoA retry key (1 to 64 characters): sending again with it answers the first message.
confirm_tokenNoLeave out on the first call. On the second call, the confirm_token the first call answered.
conversation_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Strong value-add: it discloses the two-phase confirm protocol, that the first call changes nothing, that unknown fields are refused by name, and that the body is screened before sending. With annotations already declaring readOnlyHint=false and openWorldHint=true, the remaining gap is what the second call actually returns and whether a sent message can be recalled; note that idempotentHint=false is reasonably reconciled by the client_key parameter described in the schema.

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 description is short and front-loaded, with the purpose and permission in the first two fragments and the protocol following. The telegraphic phrasing ("Two calls. The first changes nothing:") is dense but not padded.

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 mutation tool with no output schema and five parameters, it covers the essentials: scope, the two-step flow, what the first call answers, and error handling for extra fields. It leaves the second call's response shape and delivery semantics unstated, which is the main remaining gap.

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 80%, so the schema already carries most parameter meaning, including confirm_token's first-vs-second call rule and client_key's retry semantics. The description adds only the confirm_token workflow framing and the refusal of undeclared fields, which is marginal beyond the schema.

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 opens with a concrete verb and resource ("Send a message") and immediately frames the two-call nature of the operation. It does not explicitly contrast itself with nearby siblings such as start_conversation or list_messages, so the differentiation relies on the reader inferring it from the operation name.

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?

It gives real operational guidance: the first call is a no-op validation, the summary must be shown to the person, and the second call is only made after agreement with the same arguments plus confirm_token. It also names the required scope `inbox:write`. What is missing is guidance on when to pick this over a sibling like start_conversation.

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