Built by Metorial, the integration platform for agentic AI.

Learn More

    Server Summary

    • Query database tables

    • Manage user authentication

    • Handle file storage

    • Perform CRUD operations

Supabase MCP Server

A comprehensive Model Context Protocol (MCP) server that provides seamless integration with Supabase, enabling AI assistants and applications to interact with your Supabase backend through a unified interface. This server exposes powerful database operations, authentication management, and storage capabilities, allowing you to query tables, manage users, and handle file storage directly through natural language interactions. Whether you're building data-driven applications or need programmatic access to your Supabase infrastructure, this MCP server provides the tools you need.

Overview

The Supabase MCP server acts as a bridge between AI assistants and your Supabase backend, exposing a rich set of capabilities across three primary domains: database operations, authentication management, and storage handling. With this server, you can perform complex database queries, manage user accounts, and handle file operations without writing boilerplate code or managing API clients directly.

Features

Database Operations

The server provides full CRUD (Create, Read, Update, Delete) capabilities for your Supabase database tables. You can list all available tables, query data with sophisticated filtering and pagination, insert new records, update existing ones, and delete data as needed. The query capabilities support column selection, ordering, limit/offset pagination, and complex filtering through key-value pairs.

Authentication Management

Comprehensive user management tools allow you to administer your Supabase authentication system. Create new users with email and password credentials, list all users with pagination support, update user information including email and metadata, and delete users when necessary. All authentication operations are admin-level operations that require appropriate permissions.

Storage Management

Complete control over Supabase Storage buckets and objects. Create and manage storage buckets with configurable access controls, file size limits, and MIME type restrictions. Upload, download, move, and delete files with full support for binary content through base64 encoding. List objects within buckets with path filtering and pagination.

Tools

list_tables

Lists all tables available in your Supabase database. This tool requires no parameters and returns a comprehensive list of table names, helping you discover what data structures are available in your database.

query_table

Query any table in your database with advanced filtering, sorting, and pagination capabilities.

Parameters:

  • tableName (required): The name of the table you want to query
  • select: Specify which columns to return (defaults to all columns with *)
  • filters: An object containing key-value pairs to filter results
  • order: Column name to sort results by
  • ascending: Boolean to control sort direction (default: true)
  • limit: Maximum number of rows to return
  • offset: Number of rows to skip for pagination

insert_rows

Insert one or multiple rows into a specified table.

Parameters:

  • tableName (required): The target table name
  • data (required): An array of objects representing the rows to insert

update_rows

Update existing rows in a table that match specific filter criteria.

Parameters:

  • tableName (required): The target table name
  • filters (required): Object specifying which rows to update
  • data (required): Object containing the fields and values to update

delete_rows

Delete rows from a table that match the provided filter criteria.

Parameters:

  • tableName (required): The target table name
  • filters (required): Object specifying which rows to delete

upsert_rows

Insert new rows or update existing ones based on conflict detection, providing an intelligent merge operation.

Parameters:

  • tableName (required): The target table name
  • data (required): Array of objects to insert or update
  • onConflict: Comma-separated column names to check for conflicts

list_users

Retrieve a paginated list of all users in your Supabase authentication system.

Parameters:

  • page: Page number for pagination (default: 1)
  • perPage: Number of users per page (default: 50)

create_user

Create a new user account with email and password authentication.

Parameters:

  • email (required): User's email address
  • password (required): User's password
  • emailConfirm: Boolean indicating if email is pre-confirmed (default: false)
  • metadata: Optional object containing additional user metadata

update_user

Update an existing user's information including email, password, or metadata.

Parameters:

  • userId (required): The unique identifier of the user to update
  • email: New email address
  • password: New password
  • metadata: Object containing metadata fields to update

delete_user

Permanently delete a user account from the authentication system.

Parameters:

  • userId (required): The unique identifier of the user to delete

list_buckets

Retrieve all storage buckets available in your Supabase project. This tool requires no parameters.

create_bucket

Create a new storage bucket with configurable access controls and restrictions.

Parameters:

  • name (required): Unique name for the bucket
  • public: Boolean indicating if the bucket is publicly accessible (default: false)
  • fileSizeLimit: Maximum file size in bytes
  • allowedMimeTypes: Array of allowed MIME types for uploads

delete_bucket

Remove a storage bucket and all its contents permanently.

Parameters:

  • bucketName (required): Name of the bucket to delete

list_objects

List all files and objects within a specific storage bucket.

Parameters:

  • bucketName (required): Name of the bucket to list
  • path: Path prefix to filter objects (default: empty string for root)
  • limit: Maximum number of objects to return (default: 100)
  • offset: Number of objects to skip (default: 0)

upload_object

Upload a file to a storage bucket at a specified path.

Parameters:

  • bucketName (required): Target bucket name
  • path (required): Destination path for the file
  • content (required): File content (base64 encoded for binary files, plain text otherwise)
  • contentType: MIME type of the file (default: application/octet-stream)
  • upsert: Whether to overwrite existing files (default: false)

download_object

Download a file from storage and retrieve its content.

Parameters:

  • bucketName (required): Source bucket name
  • path (required): Path to the file to download

delete_object

Delete one or multiple files from a storage bucket.

Parameters:

  • bucketName (required): Target bucket name
  • paths (required): Array of file paths to delete

move_object

Move or rename a file within a storage bucket.

Parameters:

  • bucketName (required): Target bucket name
  • fromPath (required): Current file path
  • toPath (required): New file path

Resource Templates

The server provides URI-based access to specific Supabase resources through standardized templates:

table-row

Access individual rows from any table using their unique identifier.

URI Pattern: supabase://{projectId}/table/{tableName}/row/{rowId}

table-schema

Retrieve the schema and structure definition of any table in your database.

URI Pattern: supabase://{projectId}/table/{tableName}/schema

storage-bucket

Get detailed information about a specific storage bucket including its configuration and metadata.

URI Pattern: supabase://{projectId}/storage/bucket/{bucketName}

storage-object

Access specific files or objects within a storage bucket directly.

URI Pattern: supabase://{projectId}/storage/bucket/{bucketName}/object/{objectPath}

auth-user

Retrieve information about a specific authenticated user by their unique identifier.

URI Pattern: supabase://{projectId}/auth/user/{userId}

Use Cases

This MCP server excels in scenarios where you need programmatic or conversational access to your Supabase backend. Build AI assistants that can query your database in response to natural language questions, create administrative tools that manage users and permissions, automate data migration and backup processes, or develop content management workflows that handle file uploads and organization. The unified interface simplifies integration and reduces the complexity of working with multiple Supabase APIs simultaneously.