Skip to main content
Glama
danizeap

Supabase Storage MCP Server

by danizeap

Upload a file

upload_file

Upload a local file to a bucket after validating its type and size, preventing overwrites, and returning the stored path.

Instructions

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'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bucketYesThe bucket to upload into. Use 'list_buckets' to see options.
content_typeNoOptional MIME type override, e.g. 'image/png'. Normally auto-detected from the extension.
local_file_pathYesFull path to the file on this computer, e.g. C:/Users/me/Pictures/logo.png
destination_pathNoWhere to store it inside the bucket. Omit to use the file's own name. End with '/' to place it in a folder, e.g. 'logos/' stores it as logos/<filename>.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description effectively discloses key behaviors: early validation of file type and size, no overwrite policy, return of stored path, and a reminder for signed URLs on private buckets. It does not cover authentication or rate limits, but covers the main mutation aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences long, front-loaded with the purpose, and each sentence adds essential information. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

In the absence of an output schema, the description covers key return information (stored path) and important edge cases (duplicate names, private buckets). It could mention more about error responses but is sufficient for common use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-described in the schema. The description adds overall context but does not significantly enhance per-parameter semantics beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool uploads local files to a bucket and lists supported types. It does not explicitly differentiate from sibling tools like move_file or create_bucket, but the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implicit guidance by noting that duplicates are not overwritten and that for private buckets a signed URL should be used. However, it lacks explicit when-to-use or when-not-to-use comparisons with alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/danizeap/Supabase-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server