Skip to main content
Glama
ubeydtalha

Supabase Management MCP Server

by ubeydtalha

Supabase Management MCP Server

Supabase MCP Server — MCP (Model Context Protocol) tools for managing your self-hosted Supabase instance.

Combines Edge Function CRUD, migration management, log monitoring, and Studio MCP proxy into a single endpoint. Vibe Coded.

License: MIT Node.js MCP SDK


🚀 Features

Category

Tool Count

Description

Edge Functions

6

CRUD + deploy (list, view, create, update, delete, restart)

Migrations

4

SQL migration management (list, view, apply, raw SQL execute)

Logs

2

Docker container logs (edge runtime + any container)

Studio Proxy

~11

Proxies Supabase Studio's built-in MCP tools

Total: 12 management + ~11 Studio = ~23 tools on a single MCP endpoint!


Related MCP server: supabase-mcp

📦 Quick Start

1. Clone & Build

git clone https://github.com/ubeydtalha/supabase-mgmt-mcp.git
cd supabase-mgmt-mcp
cp .env.example .env
# Fill in your Supabase credentials in .env
npm install
npm run build

2. Run

# Directly with Node.js
npm start

# With Docker
docker compose up -d

3. Connect to VS Code

Add to ~/.vscode/mcp.json in VS Code:

{
  "servers": {
    "supabase-mgmt": {
      "type": "url",
      "url": "http://localhost:3200/mcp",
      "headers": {
        "apikey": "supabase_mgmt_api_key_here",
        "MCP-Protocol-Version": "2025-06-18"
      }
    }
  }
}

🛠️ Tool Reference

Edge Functions

Tool

Description

supabase_mgmt_list_functions

List all edge functions

supabase_mgmt_get_function

Show function source code and details

supabase_mgmt_create_function

Create a new edge function

supabase_mgmt_update_function

Update function source code / JWT settings

supabase_mgmt_delete_function

Delete a function (confirm: true required)

supabase_mgmt_deploy

Restart edge runtime (activate changes)

Migrations & SQL

Tool

Description

supabase_mgmt_list_migrations

List migration files

supabase_mgmt_get_migration

View migration SQL content

supabase_mgmt_apply_migration

Apply a migration file

supabase_mgmt_run_sql

Execute raw SQL

Logs

Tool

Description

supabase_mgmt_get_logs

Fetch edge runtime logs

supabase_mgmt_get_container_logs

Fetch logs from any Docker container

Studio Proxy (optional, enabled when STUDIO_MCP_URL is set)

Tool

Description

list_tables

List database tables

list_extensions

List extensions

execute_sql

Execute SQL queries

apply_migration

Apply a migration

get_logs

Get Supabase service logs

search_docs

Search Supabase documentation

get_advisors

Get performance/security advice

get_project_url

Show project URL

get_publishable_keys

Show API keys

generate_typescript_types

Generate TypeScript type definitions

list_migrations

List migrations


🔧 Environment Variables

Variable

Required

Default

Description

PORT

No

3200

Server port

SUPABASE_URL

Yes

Supabase project URL (e.g. https://supabase.example.com)

SUPABASE_SERVICE_ROLE_KEY

Yes

Service role key (for admin operations)

SUPABASE_MGMT_API_KEY

Yes

API key to connect to the MCP server

SUPABASE_MGMT_API_KEYS

No

Additional API keys (comma-separated)

FUNCTIONS_PATH

No

/functions

Path to edge function files

MIGRATIONS_PATH

No

/migrations

Path to migration SQL files

EDGE_CONTAINER_NAME

No

supabase-functions

Edge runtime Docker container name

STUDIO_MCP_URL

No

Enables Studio MCP proxy


🐳 Docker Deployment

Integration with Self-hosted Supabase

# docker-compose.yml (add to your stack)
services:
  supabase-mgmt-mcp:
    image: ghcr.io/ubeydtalha/supabase-mgmt-mcp:latest
    container_name: supabase-mgmt-mcp
    restart: unless-stopped
    ports:
      - "3200:3200"
    env_file: .env
    volumes:
      - /path/to/functions:/functions
      - /path/to/migrations:/migrations
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - supabase

With Kong API Gateway

# Add to Kong declarative config
services:
  - name: supabase-mgmt-mcp
    url: http://supabase-mgmt-mcp:3200/mcp
    routes:
      - name: mcp
        strip_path: false
        paths:
          - /mcp

⚠️ Important Notes

  1. Session Management: MCP StreamableHTTP transport expects a new session for each tools/call. VS Code Copilot handles this automatically.

  2. exec_sql Prerequisite: The exec_sql function must exist in PostgreSQL for apply_migration and run_sql tools:

    CREATE OR REPLACE FUNCTION public.exec_sql(sql_text text)
    RETURNS void LANGUAGE plpgsql SECURITY DEFINER SET search_path = public AS $$
    BEGIN EXECUTE sql_text; END; $$;
    GRANT EXECUTE ON FUNCTION public.exec_sql(text) TO anon, authenticated, service_role;
  3. Docker Socket: /var/run/docker.sock must be mounted for container logs and edge runtime restart.

  4. Activating Changes: After creating/updating/deleting functions, run supabase_mgmt_deploy to apply changes.


📚 Documentation


📄 License

MIT License — see LICENSE.


🤝 Contributing

PRs and issues are welcome. Please open an issue first for major changes.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/ubeydtalha/supabase-edge-function-upgraded-mcp'

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