How to integrate Supabase MCP with ChatGPT

How to integrate Supabase MCP with ChatGPT ChatGPT is one of the most popular AI tools today, with capabilities ranging from deep research and image generation to writing, coding, and everyday productivity. In this guide, I will explain the easiest and most secure way to connect your Supabase account to ChatGPT via Composio Connect, so it can summarize unread updates from this morning, create draft replies to urgent messages, fetch contact details for recent senders, and more without ever putting your account credentials at risk.

Supabase logoSupabase
Oauth2Api Key

Supabase is an open-source backend platform offering scalable Postgres databases, authentication, storage, and real-time APIs. It lets developers build modern apps without managing infrastructure.

116 Tools

How to integrate Supabase MCP with ChatGPT

ChatGPT is one of the most popular AI tools today, with capabilities ranging from deep research and image generation to writing, coding, and everyday productivity.

In this guide, I will explain the easiest and most secure way to connect your Supabase account to ChatGPT via Composio Connect, so it can summarize unread updates from this morning, create draft replies to urgent messages, fetch contact details for recent senders, and more without ever putting your account credentials at risk.

Also integrate Supabase with

Why use Composio over default connectors?

  • Apps with read and write access. Default connectors mostly can read your data. Composio's Supabase integration lets ChatGPT take actions like creating drafts, sending updates, labeling records, and more.
  • 1,000+ SaaS toolkits out of the box. Composio gives you instant access to a vast catalog of pre-built connectors, from Gmail and Slack to Notion, Linear, and Salesforce.
  • One MCP server for every app. Connect any of your applications on demand through a single endpoint, rather than juggling a separate server for each app.
  • Smart, context-aware tool loading. Unlike traditional MCP servers that dump every available tool into the LLM context window, Composio searches for and loads only the tools relevant to the task at hand.
  • Cross-app automation. Chain actions across multiple apps in a single run - fetch a thread, summarize it in Notion, and post highlights to Slack without leaving the conversation.

Prerequisites

  • A ChatGPT account with Plus subscription or higher (Business, Enterprise, Edu, or Pro). We will use ChatGPT Web.
  • Access to the Supabase workspace you want to connect.
  • Composio MCP.

Note: Composio connects through OAuth. You will be asked to sign in and approve specific permissions. Review the permission screen carefully if you are using a work account.

Step-by-step: Connect Supabase to ChatGPT

1. Enable Developer Mode

In ChatGPT, go to Settings > Apps > Advanced settings and turn on Developer Mode.

ChatGPT settings showing Developer Mode toggle

2. Add the MCP server

Click Create app, then paste the Composio MCP server URL:

bash
https://connect.composio.dev/mcp
ChatGPT create app flow with Composio MCP URL

3. Authorize in your browser

A browser window will open automatically. Sign in to authorize ChatGPT to access your Composio account.

Composio authorization screen for ChatGPT MCP setup

4. Start using Composio

Composio tools are now available in ChatGPT chats and Deep Research. In every new chat, click the + icon at the bottom, click More, and select Composio to enable tools for that conversation.

What you can do after connecting Supabase

  • Create a new secret API key for your project
  • List all third-party auth providers configured
  • Delete Google OAuth from your Supabase project
  • Check if 'app-preview' subdomain is available

Security + privacy notes (important)

  • Use least-privilege access: Only grant permissions you actually need.
  • Review OAuth permissions before approving: Make sure requested scopes match what you expect Composio and ChatGPT to do.
  • Keep write actions human-reviewed: For actions like sending messages, creating labels, or editing drafts, keep manual confirmation enabled.
  • Be careful with sensitive data: Avoid using this setup with highly sensitive information unless allowed by your personal, company, or client policies.
TOOLS

Supported Tools

Every Supabase action and event your agent gets out of the box.

Create project api key

Creates a 'publishable' or 'secret' API key for an existing Supabase project, optionally with a description; 'secret' keys can have customized JWT templates.

Delete an API key from the project

Permanently deletes a specific API key (identified by `id`) from a Supabase project (identified by `ref`), revoking its access.

Delete third party auth config

Removes a third-party authentication provider (e.

Get a third-party integration

Retrieves the detailed configuration for a specific third-party authentication (TPA) provider, identified by `tpa_id`, within an existing Supabase project specified by `ref`.

List third-party auth integrations for project

Lists all configured third-party authentication provider integrations for an existing Supabase project (using its `ref`), suitable for read-only auditing or verifying current authentication settings.

Update an API key for the project

Updates an existing Supabase project API key's `description` and/or `secret_jwt_template` (which defines its `role`); does not regenerate the key string.

Apply a database migration

Tool to apply database migrations to a Supabase project.

Beta activate custom hostname for project

Activates a previously configured custom hostname for a Supabase project, assuming DNS settings are verified externally.

Activate vanity subdomain for project

Activates a vanity subdomain for the specified Supabase project (e.

Authorize user through OAuth

Generates a Supabase OAuth 2.

Check vanity subdomain availability

Checks if a specific vanity subdomain is available for a Supabase project; this action does not reserve or assign the subdomain.

Setup read replica for project

Provisions a read-only replica for a Supabase project in a specified, Supabase-supported AWS region to enhance read performance and reduce latency.

Enable project database webhooks

Enables database webhooks for the Supabase project `ref`, triggering real-time notifications for INSERT, UPDATE, or DELETE events.

Beta get project's custom hostname config

Retrieves a Supabase project's custom hostname configuration, including its status, SSL certificate, and ownership verification, noting that availability may depend on the project's plan.

Retrieve network bans for project

Retrieves the list of banned IPv4 addresses for a Supabase project using its unique project reference string; this is a read-only operation.

Get project network restrictions

Retrieves the network restriction settings (IP allowlists) for a Supabase project.

Get project pgsodium config

Retrieves the PGSodium configuration, including the root encryption key, for an existing Supabase project identified by its `ref`.

Get project SSL enforcement configuration

Retrieves the SSL enforcement configuration for a specified Supabase project, indicating if SSL connections are mandated for its database.

Get current vanity subdomain config

Fetches the current vanity subdomain configuration, including its status and custom domain name, for a Supabase project identified by its reference ID.

Remove project network bans

Removes specified IPv4 addresses from a Supabase project's network ban list, granting immediate access; IPs not currently banned are ignored.

Remove read replica

Remove a read replica from a Supabase project (Pro plan or higher required).

Execute project database query

Executes a given SQL query against the project's database; use for advanced data operations or when standard API endpoints are insufficient, ensuring queries are valid PostgreSQL and sanitized.

Beta update project network restrictions

Updates and applies network access restrictions (IPv4/IPv6 CIDR lists) for a Supabase project, which may terminate existing connections not matching the new rules.

Upgrade the project's PostgreSQL version

Initiates an asynchronous upgrade of a Supabase project's PostgreSQL database to a specified `target_version` from a selected `release_channel`, returning a `tracking_id` to monitor status; the `target_version` must be available in the chosen channel.

Count action runs

Counts the number of action runs for a Supabase project using a HEAD request.

Create new project

Creates a new Supabase project, requiring a unique name (no dots) within the organization; project creation is asynchronous.

Bulk create secrets

Tool to bulk create secrets for a Supabase project.

Create a database branch

Creates a new, isolated database branch from an existing Supabase project (identified by `ref`), useful for setting up separate environments like development or testing, which can optionally be linked to a Git branch.

Create a function

Creates a new serverless Edge Function for a Supabase project (identified by `ref`), requiring valid JavaScript/TypeScript in `body` and a project-unique `slug` identifier.

Create CLI login role

Creates a temporary CLI login role for database access with specified permissions; use when setting up CLI authentication for development or administrative tasks.

Create an organization

Creates a new Supabase organization, which serves as a top-level container for projects, billing, and team access.

Create project signing key

Create a new signing key for JWT authentication in a Supabase project.

Create SSO provider configuration

Creates a new SAML 2.

Create a new third-party auth integration

Call this to add a new third-party authentication method (OIDC or JWKS) to a Supabase project for integrating external identity providers (e.

Delete custom hostname config

Deletes an active custom hostname configuration for the project identified by `ref`, reverting to the default Supabase-provided hostname; this action immediately makes the project inaccessible via the custom domain and requires subsequent updates to client, OAuth, and DNS settings.

Delete branch by id

Permanently and irreversibly deletes a specific, non-default database branch by its `branch_id`, without affecting other branches.

Delete an edge function by slug

Permanently deletes a specific Edge Function (by `function_slug`) from a Supabase project (by `ref`); this action is irreversible and requires prior existence of both project and function.

Delete CLI login roles

[Beta] Deletes existing login roles used by the Supabase CLI for the specified project.

Delete project by ref

Permanently and irreversibly deletes a Supabase project, identified by its unique `ref` ID, resulting in complete data loss.

Delete vanity subdomain for project

Permanently and irreversibly deletes an active vanity subdomain configuration for the specified Supabase project, reverting it to its default Supabase URL.

Bulk delete secrets

Tool to bulk delete secrets from a Supabase project.

Remove an SSO provider

Deletes a specific SSO provider by its ID (`provider_id`) from a Supabase project (`ref`), which disables it and returns its details; ensure this action will not inadvertently lock out users.

Deploy function

Deploys Edge Functions to a Supabase project using multipart upload.

Disable preview branching

Disables the preview branching feature for an existing Supabase project, identified by its unique reference ID (`ref`).

Disable project readonly mode

Temporarily disables a Supabase project's read-only mode for 15 minutes to allow write operations (e.

Exchange auth code for access and refresh token

(Beta) Implements the OAuth 2.

Generate TypeScript types

Generates and retrieves TypeScript types from a Supabase project's database; any schemas specified in `included_schemas` must exist in the project.

Get action run status

Retrieves the status and details of a specific action run, including its steps, timestamps, and configuration.

Get action run logs

Retrieves the execution logs for a specific action run by its ID.

Get Available Regions

Tool to get the list of available regions for creating a new Supabase project.

Get a database branch

Retrieves detailed information about a specific database branch by its name and project reference.

Get database branch config

Retrieves the read-only configuration and status for a Supabase database branch, typically for monitoring or verifying its settings.

Retrieve a function

Retrieves detailed information, metadata, configuration, and status for a specific Edge Function using its project reference ID and function slug.

Retrieve a function body

Retrieves the source code (body) for a specified serverless Edge Function using its project reference and function slug; this is a read-only operation that does not execute the function or return runtime logs.

Get API Health Status

Tool to check the health status of the Supabase API.

Get JIT access config

[Beta] Retrieves the project's just-in-time (JIT) access configuration, including user roles and their expiration settings.

Get a migration

Retrieves a specific database migration entry from the migration history using its version identifier.

Get information about an organization

Fetches comprehensive details for a specific Supabase organization using its unique slug.

Get project

Retrieves detailed information about a specific Supabase project by its unique reference ID.

Get project API key

Retrieves details of a specific API key for a Supabase project by its UUID.

Get project API keys

Retrieves all API keys for an existing Supabase project, specified by its unique reference ID (`ref`); this is a read-only operation.

Get project logs

Retrieves analytics logs for a Supabase project.

Get project PgBouncer config

Retrieves the active PgBouncer configuration (PostgreSQL connection pooler) for a Supabase project, used for performance tuning, auditing, or getting the connection string.

Get project postgres config

Retrieves the current read-only PostgreSQL database configuration for a specified Supabase project's `ref`, noting that some advanced or security-sensitive details might be omitted from the response.

Get project's PostgREST config

Retrieves the PostgREST configuration for a specific Supabase project.

Get project's read-only mode status

Retrieves the read-only mode status for a specified Supabase project to check its operational state; this action does not change the read-only state.

Get project signing keys

Tool to list all signing keys for a Supabase project.

Get project Supavisor configuration

Retrieves the Supavisor (connection pooler) configuration for a specified Supabase project, identified by its reference ID.

Get Project Upgrade Eligibility

Checks a Supabase project's eligibility for an upgrade, verifying compatibility and identifying potential issues; this action does not perform the actual upgrade.

Get project upgrade status

Retrieves the latest status of a Supabase project's database upgrade for monitoring purposes; does not initiate or modify upgrades.

Get TUS resumable upload base options

Handles OPTIONS request for TUS Resumable uploads to discover server capabilities.

Get TUS resumable upload options

Handles OPTIONS request for TUS Resumable uploads to discover server capabilities.

Get project's auth config

Retrieves the project's complete read-only authentication configuration, detailing all settings (e.

Get project's service health status

Retrieves the current health status for a Supabase project, for specified services or all services if the 'services' list is omitted.

Get a specific SQL snippet

Retrieves a specific SQL snippet by its unique identifier.

Get a SSO provider by its UUID

Retrieves the configuration details for a specific Single Sign-On (SSO) provider (e.

Get Table Schemas

Retrieves column details, types, and constraints for multiple database tables to help debug schema issues and write accurate SQL queries.

OPTIONS for resumable upload sign

Handles CORS preflight OPTIONS request for TUS resumable upload signing.

OPTIONS for resumable upload sign

Handles CORS preflight OPTIONS request for TUS resumable upload signing endpoints.

Invoke Edge Function

Tool to invoke a deployed Supabase Edge Function over HTTPS.

List all organizations

Lists all organizations (ID and name only) associated with the Supabase account, excluding project details within these organizations.

List all projects

Retrieves a list of all Supabase projects, including their ID, name, region, and status, for the authenticated user.

List project database backups

Lists all database backups for a Supabase project, providing details on existing backups but not creating new ones or performing restores; availability may depend on plan and configuration.

List all buckets

Retrieves a list of all storage buckets for a Supabase project, without returning bucket contents or access policies.

List all database branches

Lists all database branches for a specified Supabase project, used for isolated development and testing of schema changes; ensure the project reference ID is valid.

List all functions

Lists metadata for all Edge Functions in a Supabase project (specified by 'ref'), excluding function code or logs; the project must exist.

List migration history

Retrieves the list of applied database migration versions for a Supabase project.

List members of an organization

Retrieves all members of a Supabase organization, identified by its unique slug, including their user ID, username, email, role, and MFA status.

List all secrets

Retrieves all secrets for a Supabase project using its reference ID; secret values in the response may be masked.

List SQL snippets for the logged in user

Retrieves a list of SQL snippets for the logged-in user, optionally filtered by a specific Supabase project if `project_ref` is provided.

List all SSO providers

Lists all configured Single Sign-On (SSO) providers for a Supabase project, requiring the project reference ID (`ref`) of an existing project.

List Database Tables

Lists all tables and views in specified database schemas, providing a quick overview of database structure to help identify available tables before fetching detailed schemas.

Patch a migration

[Beta] Patches an existing entry in the project's migration history, updating the name or rollback script.

Patch project network restrictions

Updates project's network restrictions by incrementally adding or removing IPv4/IPv6 CIDR blocks.

Push a database branch

Pushes a database branch, applying migrations and changes to the specified branch.

Reset a database branch

Resets an existing Supabase database branch, identified by `branch_id`, to its initial clean state, irreversibly deleting all its current data and schema changes.

Restore database PITR backup

Restores a Supabase project's database to a specific Unix timestamp using Point-in-Time Recovery (PITR), overwriting the current state; requires a paid plan with PITR and physical backups enabled.

Execute read-only database query

[Beta] Run a SQL query as supabase_read_only_user.

Select From Table

Tool to select rows from a Supabase/PostgREST table.

Update a function

Updates an existing Supabase Edge Function's properties (like name, slug, source code, JWT settings, import map) identified by project `ref` and `function_slug`, supporting plain text code or ESZIP for the body.

Update database branch config

Updates the configuration of a Supabase database branch, allowing modification of its name, associated Git branch, reset-on-push behavior, persistence, and status.

Update database password

Updates the database password for a Supabase project.

Bulk update functions

Tool to bulk update Edge Functions in a Supabase project.

Update JIT access config

[Beta] Update a Supabase project's just-in-time (JIT) access configuration.

Update pgsodium root key

Critically updates or initializes a Supabase project's pgsodium root encryption key for security setup or key rotation, requiring secure backup of the new key to prevent irreversible data loss.

Update a project

Updates a Supabase project's configuration (currently supports updating the project name).

Update project's auth config

Update Supabase project Auth configuration via the Management API.

Update project's custom hostname configuration

Updates the custom hostname for a Supabase project, requiring subsequent DNS changes to a user-controlled domain for SSL certificate issuance and domain ownership.

Update project legacy API keys

Tool to disable or re-enable JWT-based legacy API keys (anon, service_role) for a Supabase project.

Update project's postgres config

Updates specified PostgreSQL configuration parameters for an existing Supabase project (`ref`) to optimize database performance; note that unspecified parameters remain unchanged, and caution is advised as incorrect settings can impact stability or require a restart.

Update project's PostgREST config

Updates PostgREST configuration settings (e.

Update database pooler config

Updates the Supavisor (database pooler) configuration, such as `default_pool_size`, for an existing Supabase project identified by `ref`; the `pool_mode` parameter in the request is deprecated and ignored.

Update SSL enforcement config

Updates the SSL enforcement configuration (enable/disable) for a specified Supabase project's database.

Update an SSO provider by its UUID

Updates an existing SSO provider's SAML metadata, associated email domains, or attribute mappings for a Supabase project, identified by `ref` and `provider_id`.

Upsert migration

Tool to upsert a database migration without applying it.

Reverify custom hostname

Re-verifies DNS and SSL configurations for an existing custom hostname associated with a Supabase project.

FAQ

Frequently asked questions

With a standalone Supabase MCP server, the agents and LLMs can only access a fixed set of Supabase tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Supabase and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. ChatGPT fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Supabase tools.

Yes, absolutely. You can configure which Supabase scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Supabase data and credentials are handled as safely as possible.

Start with Supabase.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Supabase tool your agent needs.Free to start.

Start building