Local Provider

Provider name: local

What It Does #

The local provider writes uploaded files on the Discord MCP host and returns a public URL for them.

This is useful when you want generated files to stay under your own control instead of being pushed to a third-party upload service.

Typical Use Case #

Use local when you want the Discord MCP to:

  • generate an image
  • save the final file locally
  • return a URL under your own domain or under the built-in /uploads/... route

How Integrators Should Think About It #

local is an operator-managed uploader.

If the operator enables it for your app, util_generate_image may return URLs served directly by the Discord MCP service. If it is not enabled, there is nothing extra you need to do.

In practice, you may see it selected when:

  • the app uses image_uploader=local
  • the app uses uploader=local
  • the current request overrides the uploader with X-Image-Uploader or X-Upload-Provider

Filename Behavior #

When X-Current-Message is provided, this provider names files after the message snowflake:

  • format: {message_id}-{count}.{ext}
  • count starts at 1 and increments until an unused name is found

Otherwise, it uses a short random name with an unambiguous character set.

Important Notes #

  • the built-in /uploads/... route only serves files that actually exist
  • invalid paths and traversal attempts are rejected
  • the operator controls where files are written and which public URL they map to

Related Tools #