Utility Tools
These tools are implemented inside the Discord MCP itself. They do not map one-to-one to a Discord REST route, but they solve common integration problems that would otherwise require extra application code.
util_custom_data #
Use this tool to store or retrieve a small JSON object tied to the current app.
idis required and can be:publicprivate- a guild snowflake
contentis optional:- omitted or
null-> read "","{}", or{}-> delete- JSON object or serialized JSON object string -> write
Access rules:
public: readable by anyone, writable only withX-Owner-Accessprivate: always requiresX-Owner-Access- guild snowflake: allowed only when the guild is within
X-Target-Guilds
Values expire automatically after 7 days, and every successful read or write refreshes that timer.
This tool is meant for lightweight structured context, not secrets. Even so, stored values are encrypted at rest to reduce the impact of database exposure.
util_generate_image #
Use this tool to generate one image through the configured provider and get a usable URL back by default.
Models should call it whenever the user explicitly requests image creation or editing. A text response alone cannot generate an image and must not claim that generation succeeded.
Input:
promptsize(optional, formatWxHwhen supported by the selected provider)use_previous_image(shown only when the current session offers a previous generated image; set it for an edit or refinement, not a new composition)
Output:
urlin the defaultX-Image-Content: urlmodedata,encoding, andcontent_typeinX-Image-Content: rawmodeprovidermodelsourcecontent_typewhen the Discord MCP had to inspect or upload the file content
This tool is only visible when the current application has a usable image provider configuration.
If an uploader is configured, the Discord MCP may reupload the generated result before returning the final URL. Raw mode validates the image but bypasses the uploader entirely.
When a provider returns downloadable content or base64, the Discord MCP checks that the payload really is a supported image before it uploads or returns it.
In tools/list, the Discord MCP also adapts this tool's metadata to the
currently selected provider. When the provider supports request-time size
overrides, the size field is shown with provider-specific guidance.
When X-Image-References contains current-message images, they are applied
automatically. A previous-conversation image instead adds the explicit
use_previous_image switch to the tool schema.
The provider and uploader can also be overridden per request through
X-Image-* and X-Upload-* headers. When persistence is enabled through
X-Image-Persist or X-Upload-Persist, the Discord MCP stores only the
values explicitly named by those headers.
For provider-specific configuration, selection rules, and required fields, see Providers.
Reminders #
Schedule, list, and cancel reminder events delivered to your app's
event_webhook. See the dedicated Reminders page for
full details.