Supabase MCP Server for Cloudflare Workers
26 tools available in the Supabase MCP server. Each tool can be called by AI assistants to perform specific actions.
supabase_empty_bucketRemove all objects from a storage bucket.
Args:
Returns: Confirmation of operation.
{
"type": "object",
"required": [
"bucketId"
],
"properties": {
"bucketId": {
"type": "string",
"description": "Bucket ID"
}
}
}supabase_list_usersList auth users from Supabase (requires service role key).
Args:
Returns: Paginated list of users with their metadata.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Number of users to return"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Users to skip"
}
}
}supabase_get_userGet a single auth user by ID (requires service role key).
Args:
Returns: The user record with all metadata.
{
"type": "object",
"required": [
"userId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"userId": {
"type": "string",
"description": "User UUID"
}
}
}supabase_create_userCreate a new auth user (requires service role key).
Args:
Returns: The created user record.
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Email address"
},
"phone": {
"type": "string",
"description": "Phone number"
},
"password": {
"type": "string",
"description": "Password (min 6 chars)"
},
"appMetadata": {
"type": "object",
"description": "App metadata"
},
"emailConfirm": {
"type": "boolean",
"default": false,
"description": "Auto-confirm email"
},
"phoneConfirm": {
"type": "boolean",
"default": false,
"description": "Auto-confirm phone"
},
"userMetadata": {
"type": "object",
"description": "User metadata"
}
}
}supabase_update_userUpdate an existing auth user (requires service role key).
Args:
Returns: The updated user record.
{
"type": "object",
"required": [
"userId"
],
"properties": {
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"userId": {
"type": "string",
"description": "User UUID"
},
"password": {
"type": "string"
},
"appMetadata": {
"type": "object"
},
"banDuration": {
"type": "string",
"description": "Ban duration (e.g., \"24h"
},
"emailConfirm": {
"type": "boolean"
},
"phoneConfirm": {
"type": "boolean"
},
"userMetadata": {
"type": "object"
}
}
}supabase_delete_userDelete an auth user (requires service role key).
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"userId"
],
"properties": {
"userId": {
"type": "string",
"description": "User UUID"
}
}
}supabase_selectSelect data from a Supabase table using PostgREST.
Args:
Filter operators:
Returns: Array of matching rows with optional count.
{
"type": "object",
"required": [
"table"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Max rows to return"
},
"order": {
"type": "string",
"description": "Order by clause"
},
"table": {
"type": "string",
"description": "Table name to query"
},
"filter": {
"type": "string",
"description": "PostgREST filter string"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Rows to skip"
},
"select": {
"type": "string",
"default": "*",
"description": "Columns to select"
}
}
}supabase_insertInsert data into a Supabase table.
Args:
Returns: The inserted row(s).
{
"type": "object",
"required": [
"table",
"data"
],
"properties": {
"data": {
"type": "string",
"description": "Data to insert"
},
"table": {
"type": "string",
"description": "Table name"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}supabase_updateUpdate data in a Supabase table.
Args:
Returns: The updated row(s).
{
"type": "object",
"required": [
"table",
"data",
"filter"
],
"properties": {
"data": {
"type": "object",
"description": "Fields to update"
},
"table": {
"type": "string",
"description": "Table name"
},
"filter": {
"type": "string",
"description": "PostgREST filter string"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}supabase_deleteDelete data from a Supabase table.
Args:
Returns: The deleted row(s).
{
"type": "object",
"required": [
"table",
"filter"
],
"properties": {
"table": {
"type": "string",
"description": "Table name"
},
"filter": {
"type": "string",
"description": "PostgREST filter string"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}supabase_upsertUpsert (insert or update) data in a Supabase table.
Args:
Returns: The upserted row(s).
{
"type": "object",
"required": [
"table",
"data"
],
"properties": {
"data": {
"type": "string",
"description": "Data to upsert"
},
"table": {
"type": "string",
"description": "Table name"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"onConflict": {
"type": "string",
"description": "Conflict column(s)"
}
}
}supabase_rpcCall a Postgres function (RPC) in Supabase.
Args:
Returns: The function result.
{
"type": "object",
"required": [
"functionName"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"params": {
"type": "object",
"description": "Function parameters"
},
"functionName": {
"type": "string",
"description": "Function name"
}
}
}supabase_invoke_functionInvoke a Supabase Edge Function.
Args:
Returns: The function response.
{
"type": "object",
"required": [
"functionName"
],
"properties": {
"body": {
"description": "Request body"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"method": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"type": "string",
"default": "POST",
"description": "HTTP method"
},
"headers": {
"type": "object",
"description": "Additional headers"
},
"functionName": {
"type": "string",
"description": "Function name"
}
}
}supabase_list_bucketsList all storage buckets.
Returns: Array of bucket objects with their configuration.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}supabase_get_bucketGet details of a specific storage bucket.
Args:
Returns: Bucket configuration details.
{
"type": "object",
"required": [
"bucketId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"bucketId": {
"type": "string",
"description": "Bucket ID/name"
}
}
}supabase_create_bucketCreate a new storage bucket.
Args:
Returns: The created bucket.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Unique bucket ID"
},
"public": {
"type": "boolean",
"default": false,
"description": "Publicly accessible"
},
"fileSizeLimit": {
"type": "integer",
"description": "Max file size in bytes"
},
"allowedMimeTypes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Allowed MIME types"
}
}
}supabase_update_bucketUpdate a storage bucket's configuration.
Args:
Returns: The updated bucket.
{
"type": "object",
"required": [
"bucketId"
],
"properties": {
"public": {
"type": "boolean",
"description": "Publicly accessible"
},
"bucketId": {
"type": "string",
"description": "Bucket ID"
},
"fileSizeLimit": {
"type": "integer",
"description": "Max file size"
},
"allowedMimeTypes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Allowed MIME types"
}
}
}supabase_delete_bucketDelete a storage bucket (must be empty).
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"bucketId"
],
"properties": {
"bucketId": {
"type": "string",
"description": "Bucket ID"
}
}
}supabase_list_objectsList objects in a storage bucket.
Args:
Returns: Array of storage objects.
{
"type": "object",
"required": [
"bucket"
],
"properties": {
"path": {
"type": "string",
"default": "",
"description": "Folder path"
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Max objects"
},
"bucket": {
"type": "string",
"description": "Bucket ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Objects to skip"
},
"search": {
"type": "string",
"description": "Search string"
}
}
}supabase_upload_objectUpload a file to storage (base64 encoded content).
Args:
Returns: The upload path.
{
"type": "object",
"required": [
"bucket",
"path",
"content"
],
"properties": {
"path": {
"type": "string",
"description": "File path"
},
"bucket": {
"type": "string",
"description": "Bucket ID"
},
"upsert": {
"type": "boolean",
"default": false,
"description": "Overwrite if exists"
},
"content": {
"type": "string",
"description": "Base64 encoded content"
},
"contentType": {
"type": "string",
"default": "application/octet-stream",
"description": "MIME type"
}
}
}supabase_move_objectMove an object within storage.
Args:
Returns: Confirmation of move.
{
"type": "object",
"required": [
"bucket",
"fromPath",
"toPath"
],
"properties": {
"bucket": {
"type": "string",
"description": "Bucket ID"
},
"toPath": {
"type": "string",
"description": "New path"
},
"fromPath": {
"type": "string",
"description": "Current path"
}
}
}supabase_copy_objectCopy an object within storage.
Args:
Returns: The new file path.
{
"type": "object",
"required": [
"bucket",
"fromPath",
"toPath"
],
"properties": {
"bucket": {
"type": "string",
"description": "Bucket ID"
},
"toPath": {
"type": "string",
"description": "Destination path"
},
"fromPath": {
"type": "string",
"description": "Source path"
}
}
}supabase_delete_objectsDelete one or more objects from storage.
Args:
Returns: List of deleted files.
{
"type": "object",
"required": [
"bucket",
"paths"
],
"properties": {
"paths": {
"type": "array",
"items": {
"type": "string"
},
"description": "File paths to delete"
},
"bucket": {
"type": "string",
"description": "Bucket ID"
}
}
}supabase_create_signed_urlCreate a signed URL for temporary access to a private file.
Args:
Returns: The signed URL.
{
"type": "object",
"required": [
"bucket",
"path",
"expiresIn"
],
"properties": {
"path": {
"type": "string",
"description": "File path"
},
"bucket": {
"type": "string",
"description": "Bucket ID"
},
"expiresIn": {
"type": "integer",
"minimum": 1,
"description": "Expiration in seconds"
}
}
}supabase_create_signed_upload_urlCreate a signed URL for uploading a file.
Args:
Returns: The signed upload URL and token.
{
"type": "object",
"required": [
"bucket",
"path"
],
"properties": {
"path": {
"type": "string",
"description": "File path"
},
"bucket": {
"type": "string",
"description": "Bucket ID"
}
}
}supabase_get_public_urlGet the public URL for a file in a public bucket.
Args:
Returns: The public URL.
{
"type": "object",
"required": [
"bucket",
"path"
],
"properties": {
"path": {
"type": "string",
"description": "File path"
},
"bucket": {
"type": "string",
"description": "Bucket ID"
}
}
}