Supabase Storage MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SUPABASE_URL | Yes | Your Supabase project URL (e.g., https://abcdefghijklmno.supabase.co). | |
| SUPABASE_SERVICE_ROLE_KEY | Yes | Your Supabase service role key (sensitive, treat like a password). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_bucketsA | List all Supabase Storage buckets with their settings: whether each is public or private, its file size limit, and which file types it accepts. Use this first when someone asks 'where can I upload this?' or before creating a new bucket, so you don't duplicate one that already exists. |
| create_bucketA | Create a new Supabase Storage bucket. Bucket names must start with one of: marketing, brand, campaigns, media, assets, then use lowercase letters, numbers, and dashes (for example: "marketing-q3-launch" or "brand-logos"). By default the bucket is PRIVATE (files need a signed link to view), accepts common media (images, video, audio, PDF), and limits files to 50MB. Set public=true only for assets meant to be shared openly on the web. If the name breaks the convention or already exists, creation fails with a clear explanation — nothing is overwritten. |
| upload_fileA | Upload a local file (image, video, audio, PDF, design asset) to a bucket. The file type and size are checked against the bucket's rules BEFORE uploading, so problems are caught early with a clear message. This NEVER overwrites: if a file with the same name already exists, the upload fails and asks for a different name. On success it returns the stored path, and for private buckets it reminds you to make a shareable link with 'get_signed_url'. |
| list_filesA | List the files in a bucket, with their sizes and last-updated dates. Optionally pass a folder prefix (e.g. 'logos') to look inside a specific folder. Handy for checking what's already there before uploading, or finding the exact path to make a shareable link. |
| get_signed_urlA | Create a temporary shareable link to a file. This works for PRIVATE buckets: anyone with the link can view the file until it expires. The default link lasts 7 days; you can ask for anywhere from 1 to 30 days. Use this to share media that shouldn't be public forever. |
| get_public_urlA | Get the permanent public web link for a file. This only works for PUBLIC buckets — files anyone can view. If the bucket is private, this explains that and points you to 'get_signed_url' for a temporary link instead. Use this for logos, campaign images, and other openly shared assets. |
| move_fileA | Move or rename a file within a bucket (for example, tidy 'draft.png' into 'logos/final.png'). This NEVER overwrites: if something already exists at the new path, the move fails and asks you to pick a different name. It moves the file, so the old path no longer holds it. |
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 7 tools
Each tool has a clearly distinct purpose: bucket creation, listing, file listing, uploading, moving, and generating public or signed URLs. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_bucket, list_files, move_file), making them predictable and easy to understand.
With 7 tools, the set is well-scoped for a storage server, covering essential operations without being overwhelming or too sparse.
The set covers core operations (create, list, upload, move, get URLs) but lacks deletion capabilities for both buckets and files, which are notable gaps for a storage service.