Skip to main content
Glama
discord-server-mcp

discord-server-mcp

send_message

Send a message to a Discord channel or thread with text, embeds, files, link buttons, polls, replies, and targeted pings; nobody is pinged unless explicitly listed.

Instructions

Send a message to a channel or thread: text, embeds, files/images (local paths or URLs; show one inside an embed with image "attachment://name.png"), link buttons, a poll, a reply, and pings. Nobody is pinged unless listed in ping_roles/ping_users/ping_everyone.

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": {
      "channel": "<channel>"
    },
    "name": "send_message"
  }
}

Input Schema

NameRequiredDescriptionDefault
botNoUse this bot (name or id) instead of choosing automatically
pinNo
pollNo
filesNo
embedsNo
serverNoServer name or id. Optional when the bot is in one server or DISCORD_GUILD_ID is set.
silentNoSend without push notifications
channelYesChannel or thread name, id, or message link
contentNo
dry_runNoShow the requests that would be made without changing anything
publishNoAnnouncement channels: send to following servers
reply_toNoMessage id to reply to
ping_rolesNoRoles to ping (name or id)
ping_usersNoMembers to ping
link_buttonsNo
ping_everyoneNo
suppress_embedsNoHide link previews

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries most of the burden. It adds real behavioral context: nobody is pinged unless listed, and the schema exposes effect-controlling options like silent, dry_run, and publish. It doesn't explicitly say sends are irreversible or what permissions are required, which keeps it below 5.

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?

Two sentences, front-loaded with the verb and a dense enumeration of capabilities, then the key ping-behavior caveat. No wasted words given the 17-parameter surface.

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?

For a 17-parameter mutation tool with no output schema, this covers the main capability set but leaves gaps: no mention of permissions/error behavior, no return info, and no explanation of parameter interactions like reply_to within thread channels. Adequate but not complete.

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 59%, so description compensation matters. The description adds meaning beyond the schema: it explains attachment:// usage for images inside embeds and clarifies the ping gating semantics across ping_roles/ping_users/ping_everyone that the schema doesn't state. Remaining parameters like silent, pin, publish are documented only in the schema.

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 (send) and resource (message to a channel or thread), then enumerates the supported content types (text, embeds, files, link buttons, poll, reply, pings). This clearly distinguishes it from siblings like edit_message and create_forum_post.

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?

The description implies when to use it (composing new messages with rich content) but never explicitly states when to use it versus edit_message or other posting tools. The ping behavior note is a useful scoping rule but is about effect, not tool choice.

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