Dreep MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DREEP_API_KEY | Yes | Your project API key. Required to run the server. | |
| DREEP_MCP_FILE_ROOTS | No | Directories the file tools may read, separated by ':' (';' on Windows). Unset over stdio means any file you can read; unset over HTTP means none. | |
| DREEP_MCP_HTTP_TOKEN | No | Bearer token every HTTP request must present. Required when binding the HTTP transport to a non-localhost address. | |
| DREEP_SIGNING_SECRET | No | The URL Signing Secret from the dashboard's API Keys page. Required only for signed URL support. | |
| DREEP_MCP_ALLOW_DELETE | No | Set to 1 to register the delete_media and delete_preset tools. Off by default. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Dreep stores, transforms and delivers images, videos, audio and documents.
Upload with upload_file (a local path, or base64 content). The result's
urlis the delivery URL; always use URLs exactly as Dreep returns them, never build one by hand (projects can be on a custom CDN domain).To resize, crop, convert or compress, call build_delivery_url with a transform. Nothing is re-uploaded: the CDN transforms on the fly.
For assets in signed folders, use build_signed_url.
remove_background, extract_text (OCR) and convert_document each take a file.
Folders and presets organise the project; get_usage reports storage.
Delete tools exist only when the server sets DREEP_MCP_ALLOW_DELETE; deletes are permanent, so confirm with the user first.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| upload_fileA | Uploads an image, video, audio file or document to Dreep and returns the asset. The result's |
| create_upload_urlA | Starts a direct-to-storage upload for bytes this server can't read. PUT the file to |
| confirm_uploadA | Finalises a presigned upload once its bytes are in storage; returns the asset. A conflict error means the bytes haven't landed yet: retry this call, not the PUT. |
| list_mediaA | Lists ready assets, newest first, with Each asset has |
| remove_backgroundA | Cuts the subject out of an image and stores the transparent cutout. To show it on a colour, build a delivery URL with transform |
| extract_textB | Runs OCR on an image or PDF and returns the extracted |
| convert_documentA | Converts a document (Word to PDF, PDF to Word, a PDF page to an image...). Stored as a new asset. If |
| build_delivery_urlA | Builds a delivery URL that resizes, crops, converts or otherwise transforms an asset. Transforms run on the fly at the CDN and are cached. Example: width 400 and format webp for a thumbnail; format pdf to convert a Word document. |
| build_signed_urlA | Builds a time-limited URL for an asset in a signed folder. Needs DREEP_SIGNING_SECRET on the server. Anyone holding the link can fetch the asset until it expires, so share it only with the intended recipient. |
| create_folderA | Creates a folder. Uploads create folders on demand, so this is mainly for setting access control before anything lands. Access control can only be set on a top-level folder (name, no parent); nested folders inherit it. Folders cannot be deleted through the API. |
| list_foldersA | Lists folders with their full paths and access control. With no filter, returns every folder at any depth. |
| create_presetB | Saves a named transform, applied anywhere with transform |
| list_presetsA | Lists every saved preset with its |
| get_usageA | Storage consumed and image, file and folder counts for the project. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Most tools have clearly distinct purposes tied to a resource+action: upload, transform URL building, listing, image/doc operations, folder and preset management. The only friction is the upload trio (upload_file, create_upload_url, confirm_upload), where an agent must understand that create_upload_url handles large/unreadable files and confirm_upload finalizes them, but the descriptions do spell this out.
Every tool follows a consistent verb_noun pattern: upload_file, confirm_upload, build_delivery_url, create_upload_url, list_media, remove_background, extract_text, convert_document, build_signed_url, create_folder, list_folders, create_preset, list_presets, get_usage. No mixed conventions or stray camelCase; the naming is highly predictable.
Fourteen tools is well within the ideal 3-15 range for a media asset management server. Each tool earns its place by covering a distinct operation: two upload paths, URL building, listing, image/doc transforms, folders, presets, and usage. Nothing feels redundant.
The surface covers upload (both direct and presigned), listing, on-the-fly transforms, image background removal, OCR, document conversion, signed URLs, folders, presets, and usage. Minor gaps exist: there's no delete for assets or presets, and no get-single-asset or text search, but these are either explicitly explained (folders can't be deleted via API) or workable via listing.