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
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL that makes the title clickable. | |
| color | No | Side-bar color as a hex string, e.g. '#5865F2'. | |
| title | No | Embed title shown in bold at the top. | |
| author | No | Author block shown at the top of the embed. | |
| fields | No | Up 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). | |
| footer | No | Footer text shown at the bottom of the embed. | |
| content | No | Plain-text body (max 2000 characters). | |
| max_runs | No | Stop after this many sends. Omit to repeat indefinitely while the server runs. | |
| image_url | No | Large image shown below the embed body. | |
| timestamp | No | If true, stamp the embed with the current time. | |
| channel_id | Yes | Channel to post in. | |
| description | No | Main body text of the embed (supports Markdown). | |
| delay_seconds | Yes | Seconds to wait before the first send (1–604800). | |
| thumbnail_url | No | Small image shown in the top-right corner. | |
| repeat_every_seconds | No | Repeat interval in seconds (minimum 60). Omit for a one-off message. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| repeats | Yes | ||
| task_id | Yes | ||
| warning | Yes | ||
| next_run_at | Yes |