Skip to main content
Glama
ferelking242

Discord MCP Ultimate

discord_schedule_message

Schedules a Discord channel message after a delay, optionally repeating while the server runs; returns the task ID and next run time.

Instructions

Schedule a message to be sent to a channel after a delay, optionally repeating. IMPORTANT LIMITATION: the timer runs inside this MCP server process, so it fires only while the server is running and is lost when it stops. For a post that must survive a restart, use a durable scheduler (cron, a CI workflow, or an OpenHands automation) that calls discord_send_message instead. Returns the task ID and the time of the next run.

Input Schema

NameRequiredDescriptionDefault
urlNoURL that makes the title clickable.
colorNoSide-bar color as a hex string, e.g. '#5865F2'.
titleNoEmbed title shown in bold at the top.
authorNoAuthor block shown at the top of the embed.
fieldsNoUp to 25 name/value field blocks. Set inline:true on a field to render it side-by-side with adjacent inline fields (up to 3 per row).
footerNoFooter text shown at the bottom of the embed.
contentNoPlain-text body (max 2000 characters).
max_runsNoStop after this many sends. Omit to repeat indefinitely while the server runs.
image_urlNoLarge image shown below the embed body.
timestampNoIf true, stamp the embed with the current time.
channel_idYesChannel to post in.
descriptionNoMain body text of the embed (supports Markdown).
delay_secondsYesSeconds to wait before the first send (1–604800).
thumbnail_urlNoSmall image shown in the top-right corner.
repeat_every_secondsNoRepeat interval in seconds (minimum 60). Omit for a one-off message.

Output Schema

NameRequiredDescriptionDefault
repeatsYes
task_idYes
warningYes
next_run_atYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.0.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say it is a non-read-only, non-destructive, open-world, non-idempotent write. The description adds the critical non-obvious trait that the timer is process-local and dies on restart, plus what is returned (task ID and next run time) — behavior an agent could not infer from any structured field.

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?

Three sentences, front-loaded with purpose, then the limitation, then the return value. Every sentence carries distinct decision-relevant information and none restate the tool name or annotations.

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?

An output schema exists so return values need little explanation, and the description still covers them. It omits two things an agent might need: how to cancel a scheduled task (discord_cancel_scheduled_task is a sibling) and any permission prerequisite for posting to the channel — minor gaps against otherwise strong coverage.

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% across all 15 parameters including nested author and fields objects, so the schema already carries full parameter meaning. The description only implicitly maps 'after a delay' to delay_seconds and 'optionally repeating' to repeat_every_seconds/max_runs, adding nothing about embed vs plain content composition.

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 ('Schedule a message to be sent to a channel') plus the two defining modifiers: a delay and optional repetition. It also names discord_send_message as the contrasting tool, so an agent can distinguish scheduling from an immediate send without inspecting either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-not condition ('the timer runs inside this MCP server process... lost when it stops') and names concrete alternatives (cron, CI workflow, OpenHands automation calling discord_send_message). This is the exact routing information an agent needs to avoid picking this tool for durable posts.

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