Skip to main content
Glama
qgasdg

discord-mcp

by qgasdg

send_message

Post a message as a Discord bot to a channel, thread, or DM, optionally replying to a message and splitting content over 2000 characters at line breaks.

Instructions

Post a message as the bot to a channel, thread, or DM.

Always show the user the target channel and the exact text, and get their confirmation, before calling this. channel_id: target channel or thread ID content : message text. Over 2000 characters, it is split at line breaks reply_to : message ID to reply to (optional) @everyone, @here, and role mentions never ping; only user mentions do.

Input Schema

NameRequiredDescriptionDefault
contentYes
reply_toNo
channel_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/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 well: it discloses that messages post as the bot, that content over 2000 characters is split at line breaks, and that @everyone/@here/role mentions never ping while user mentions do. It omits permission requirements, rate limits, and failure behavior, which keeps it short of a 5.

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?

Front-loaded with the core action, then a confirmation rule, then a compact parameter list — no filler sentences. The inline param block is slightly list-like but earns its space given zero schema coverage.

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 three-parameter mutation tool with no annotations and no output schema, it covers action, preconditions, parameter meaning, and message edge cases. The remaining gap is the return value (e.g., the created message ID) and error behavior, which matter for a write operation with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% with no parameter descriptions, so the description must compensate, and it documents all three: channel_id (channel or thread ID), content (with the 2000-character splitting rule), and reply_to (message ID to reply to). The splitting rule in particular is behavior the schema cannot express.

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 gives a precise verb and resource ('Post a message as the bot') plus the destination scope (channel, thread, or DM). It is unambiguously distinct from the read-only siblings (read_messages, list_channels) without needing 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?

It specifies a mandatory precondition workflow: show the target channel and exact text and obtain confirmation before calling. It does not name alternatives, but among the listed siblings there is no competing send tool, so the omission is minor rather than misleading.

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