Supabase

Gerencie seu projeto Supabase, execute consultas SQL e mais.

Documentação

Query | Servidor MCP para Supabase

🌅 Mais de 17 mil instalações via pypi e quase 30 mil downloads no Smithery.ai — resumindo, foi divertido! 🥳 Agradeço a todos que têm usado este servidor nos últimos meses, e espero que tenha sido útil para vocês. Como o Supabase lançou seu próprio servidor MCP oficial, decidi não manter mais este ativamente. O servidor MCP oficial é igualmente rico em recursos, e muitos outros recursos serão adicionados no futuro. Confira!

Query MCP é um servidor MCP de código aberto que permite ao seu IDE executar SQL com segurança, gerenciar alterações de esquema, chamar a Supabase Management API e usar o Auth Admin SDK — tudo com controles de segurança integrados.

PyPI version CI Status Code Coverage Python 3.12+ uv package manager PyPI Downloads Smithery.ai Downloads MCP Server License

Sumário

ComeçandoVisão geral dos recursosSolução de problemasRegistro de alterações

✨ Principais recursos

  • 💻 Compatível com Cursor, Windsurf, Cline e outros clientes MCP que suportam o protocolo stdio
  • 🔐 Controle dos modos somente leitura e leitura/escrita da execução de consultas SQL
  • 🔍 Validação de consultas SQL em tempo de execução com avaliação de nível de risco
  • 🛡️ Sistema de segurança em três níveis para operações SQL: seguro, escrita e destrutivo
  • 🔄 Tratamento robusto de transações para conexões diretas e com pool de banco de dados
  • 📝 Versionamento automático de alterações de esquema do banco de dados
  • 💻 Gerencie seus projetos Supabase com a Supabase Management API
  • 🧑‍💻 Gerencie usuários com os métodos do Supabase Auth Admin via Python SDK
  • 🔨 Ferramentas pré-construídas para ajudar Cursor e Windsurf a trabalhar com MCP de forma mais eficaz
  • 📦 Instalação e configuração extremamente simples via gerenciador de pacotes (uv, pipx, etc.)

Começando

Pré-requisitos

A instalação do servidor requer o seguinte no seu sistema:

  • Python 3.12+

Se você planeja instalar via uv, certifique-se de que ele esteja instalado.

Instalação do PostgreSQL

A instalação do PostgreSQL não é mais necessária para o próprio servidor MCP, pois agora ele usa asyncpg, que não depende das bibliotecas de desenvolvimento do PostgreSQL.

No entanto, você ainda precisará do PostgreSQL se estiver executando uma instância local do Supabase:

MacOS

brew install postgresql@16

Windows

Passo 1. Instalação

Desde a v0.2.0 introduzi suporte para instalação via pacote. Você pode usar seu gerenciador de pacotes Python favorito para instalar o servidor via:

# if pipx is installed (recommended)
pipx install supabase-mcp-server

# if uv is installed
uv pip install supabase-mcp-server

pipx é recomendado porque cria ambientes isolados para cada pacote.

Você também pode instalar o servidor manualmente clonando o repositório e executando pipx install -e . a partir do diretório raiz.

Instalando a partir do código-fonte

Se você quiser instalar a partir do código-fonte, por exemplo, para desenvolvimento local:

uv venv
# On Mac
source .venv/bin/activate
# On Windows
.venv\Scripts\activate
# Install package in editable mode
uv pip install -e .

Instalando via Smithery.ai

Você pode encontrar as instruções completas sobre como usar o Smithery.ai para conectar-se a este servidor MCP aqui.

Passo 2. Configuração

O servidor MCP do Supabase requer configuração para conectar-se ao seu banco de dados Supabase, acessar a Management API e usar o Auth Admin SDK. Esta seção explica todas as opções de configuração disponíveis e como configurá-las.

🔑 Importante: Desde a v0.4, o servidor MCP requer uma chave de API que você pode obter gratuitamente em thequery.dev para usar este servidor MCP.

Variáveis de Ambiente

O servidor usa as seguintes variáveis de ambiente:

VariávelObrigatóriaPadrãoDescrição
SUPABASE_PROJECT_REFSim127.0.0.1:54322Seu ID de referência do projeto Supabase (ou host:porta local)
SUPABASE_DB_PASSWORDSimpostgresSua senha do banco de dados
SUPABASE_REGIONSim*us-east-1Região AWS onde seu projeto Supabase está hospedado
SUPABASE_ACCESS_TOKENNãoNenhumToken de acesso pessoal para a Supabase Management API
SUPABASE_SERVICE_ROLE_KEYNãoNenhumChave de função de serviço para o Auth Admin SDK
QUERY_API_KEYSimNenhumChave de API do thequery.dev (obrigatória para todas as operações)

Nota: Os valores padrão são configurados para desenvolvimento local do Supabase. Para projetos Supabase remotos, você deve fornecer seus próprios valores para SUPABASE_PROJECT_REF e SUPABASE_DB_PASSWORD.

🚨 NOTA CRÍTICA DE CONFIGURAÇÃO: Para projetos Supabase remotos, você DEVE especificar a região correta onde seu projeto está hospedado usando SUPABASE_REGION. Se você encontrar um erro "Tenant or user not found", isso é quase certamente porque sua configuração de região não corresponde à região real do seu projeto. Você pode encontrar a região do seu projeto no painel do Supabase em Configurações do Projeto.

Tipos de Conexão

Conexão com o Banco de Dados
  • O servidor conecta-se ao seu banco de dados PostgreSQL do Supabase usando o endpoint do pooler de transações
  • O desenvolvimento local usa uma conexão direta com 127.0.0.1:54322
  • Projetos remotos usam o formato: postgresql://postgres.[project_ref]:[password]@aws-0-[region].pooler.supabase.com:6543/postgres

⚠️ Importante: Conexões de pool de sessão não são suportadas. O servidor usa exclusivamente pool de transações para melhor compatibilidade com a arquitetura do servidor MCP.

Conexão com a Management API
  • Requer que SUPABASE_ACCESS_TOKEN esteja definido
  • Conecta-se à Supabase Management API em https://api.supabase.com
  • Funciona apenas com projetos Supabase remotos (não com desenvolvimento local)
Conexão com o Auth Admin SDK
  • Requer que SUPABASE_SERVICE_ROLE_KEY esteja definido
  • Para desenvolvimento local, conecta-se a http://127.0.0.1:54321
  • Para projetos remotos, conecta-se a https://[project_ref].supabase.co

Métodos de Configuração

O servidor procura configuração nesta ordem (da maior para a menor prioridade):

  1. Variáveis de Ambiente: Valores definidos diretamente no seu ambiente
  2. Arquivo .env Local: Um arquivo .env no seu diretório de trabalho atual (funciona apenas quando executado a partir do código-fonte)
  3. Arquivo de Configuração Global:
    • Windows: %APPDATA%\supabase-mcp\.env
    • macOS/Linux: ~/.config/supabase-mcp/.env
  4. Configurações Padrão: Padrões de desenvolvimento local (se nenhuma outra configuração for encontrada)

⚠️ Importante: Ao usar o pacote instalado via pipx ou uv, arquivos .env locais no diretório do seu projeto não são detectados. Você deve usar variáveis de ambiente ou o arquivo de configuração global.

Configurando

Opção 1: Configuração Específica do Cliente (Recomendado)

Defina variáveis de ambiente diretamente na configuração do seu cliente MCP (veja as instruções de configuração específicas do cliente no Passo 3). A maioria dos clientes MCP suporta essa abordagem, o que mantém sua configuração junto com as configurações do seu cliente.

Opção 2: Configuração Global

Crie um arquivo de configuração global .env que será usado para todas as instâncias do servidor MCP:

# Create config directory
# On macOS/Linux
mkdir -p ~/.config/supabase-mcp
# On Windows (PowerShell)
mkdir -Force "$env:APPDATA\supabase-mcp"

# Create and edit .env file
# On macOS/Linux
nano ~/.config/supabase-mcp/.env
# On Windows (PowerShell)
notepad "$env:APPDATA\supabase-mcp\.env"

Adicione seus valores de configuração ao arquivo:

QUERY_API_KEY=your-api-key
SUPABASE_PROJECT_REF=your-project-ref
SUPABASE_DB_PASSWORD=your-db-password
SUPABASE_REGION=us-east-1
SUPABASE_ACCESS_TOKEN=your-access-token
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
Opção 3: Configuração Específica do Projeto (Somente Instalação a partir do Código-fonte)

Se você estiver executando o servidor a partir do código-fonte (não via pacote), pode criar um arquivo .env no diretório do seu projeto com o mesmo formato acima.

Encontrando as Informações do Seu Projeto Supabase

  • Referência do Projeto: Encontrada na URL do seu projeto Supabase: https://supabase.com/dashboard/project/<project-ref>
  • Senha do Banco de Dados: Definida durante a criação do projeto ou encontrada em Configurações do Projeto → Banco de Dados
  • Token de Acesso: Gere em https://supabase.com/dashboard/account/tokens
  • Chave de Função de Serviço: Encontrada em Configurações do Projeto → API → Chaves de API do Projeto

Regiões Suportadas

O servidor suporta todas as regiões do Supabase:

  • us-west-1 - Oeste dos EUA (Califórnia do Norte)
  • us-east-1 - Leste dos EUA (Virgínia do Norte) - padrão
  • us-east-2 - Leste dos EUA (Ohio)
  • ca-central-1 - Canadá (Central)
  • eu-west-1 - Oeste da UE (Irlanda)
  • eu-west-2 - Europa Ocidental (Londres)
  • eu-west-3 - Oeste da UE (Paris)
  • eu-central-1 - UE Central (Frankfurt)
  • eu-central-2 - Europa Central (Zurique)
  • eu-north-1 - Norte da UE (Estocolmo)
  • ap-south-1 - Sul da Ásia (Mumbai)
  • ap-southeast-1 - Sudeste Asiático (Singapura)
  • ap-northeast-1 - Nordeste Asiático (Tóquio)
  • ap-northeast-2 - Nordeste Asiático (Seul)
  • ap-southeast-2 - Oceania (Sydney)
  • sa-east-1 - América do Sul (São Paulo)

Limitações

  • Sem Suporte a Self-Hosted: O servidor suporta apenas projetos oficiais hospedados no Supabase.com e desenvolvimento local
  • Sem Suporte a String de Conexão: Strings de conexão personalizadas não são suportadas
  • Sem Pool de Sessão: Apenas pool de transações é suportado para conexões de banco de dados
  • Recursos de API e SDK: Os recursos da Management API e do Auth Admin SDK funcionam apenas com projetos Supabase remotos, não com desenvolvimento local

Passo 3. Uso

Em geral, qualquer cliente MCP que suporte o protocolo stdio deve funcionar com este servidor MCP. Este servidor foi explicitamente testado para funcionar com:

  • Cursor
  • Windsurf
  • Cline
  • Claude Desktop

Além disso, você também pode usar o smithery.ai para instalar este servidor em vários clientes, incluindo os acima.

Siga os guias abaixo para instalar este servidor MCP no seu cliente.

Cursor

Vá para Configurações -> Recursos -> Servidores MCP e adicione um novo servidor com esta configuração:

# can be set to any name
name: supabase
type: command
# if you installed with pipx
command: supabase-mcp-server
# if you installed with uv
command: uv run supabase-mcp-server
# if the above doesn't work, use the full path (recommended)
command: /full/path/to/supabase-mcp-server  # Find with 'which supabase-mcp-server' (macOS/Linux) or 'where supabase-mcp-server' (Windows)

Se a configuração estiver correta, você deve ver um indicador de ponto verde e o número de ferramentas expostas pelo servidor. How successful Cursor config looks like

Windsurf

Vá para Cascade -> Clique no ícone de martelo -> Configurar -> Preencha a configuração:

{
    "mcpServers": {
      "supabase": {
        "command": "/Users/username/.local/bin/supabase-mcp-server",  // update path
        "env": {
          "QUERY_API_KEY": "your-api-key",  // Required - get your API key at thequery.dev
          "SUPABASE_PROJECT_REF": "your-project-ref",
          "SUPABASE_DB_PASSWORD": "your-db-password",
          "SUPABASE_REGION": "us-east-1",  // optional, defaults to us-east-1
          "SUPABASE_ACCESS_TOKEN": "your-access-token",  // optional, for management API
          "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"  // optional, for Auth Admin SDK
        }
      }
    }
}

Se a configuração estiver correta, você deve ver um indicador de ponto verde e o servidor supabase clicável na lista de servidores disponíveis.

How successful Windsurf config looks like

Claude Desktop

O Claude Desktop também suporta servidores MCP através de uma configuração JSON. Siga estes passos para configurar o servidor MCP do Supabase:

  1. Encontre o caminho completo para o executável (este passo é crítico):

    # On macOS/Linux
    which supabase-mcp-server
    
    # On Windows
    where supabase-mcp-server
    

    Copie o caminho completo que é retornado (por exemplo, /Users/username/.local/bin/supabase-mcp-server).

  2. Configure o servidor MCP no Claude Desktop:

    • Abra o Claude Desktop
    • Vá para Configurações → Desenvolvedor -> Editar Config dos Servidores MCP
    • Adicione uma nova configuração com o seguinte JSON:
    {
      "mcpServers": {
        "supabase": {
          "command": "/full/path/to/supabase-mcp-server",  // Replace with the actual path from step 1
          "env": {
            "QUERY_API_KEY": "your-api-key",  // Required - get your API key at thequery.dev
            "SUPABASE_PROJECT_REF": "your-project-ref",
            "SUPABASE_DB_PASSWORD": "your-db-password",
            "SUPABASE_REGION": "us-east-1",  // optional, defaults to us-east-1
            "SUPABASE_ACCESS_TOKEN": "your-access-token",  // optional, for management API
            "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"  // optional, for Auth Admin SDK
          }
        }
      }
    }
    

⚠️ Importante: Diferente do Windsurf e do Cursor, o Claude Desktop requer o caminho absoluto completo para o executável. Usar apenas o nome do comando (supabase-mcp-server) resultará em um erro "spawn ENOENT".

Se a configuração estiver correta, você deve ver o servidor MCP do Supabase listado como disponível no Claude Desktop.

How successful Windsurf config looks like

Cline

O Cline também suporta servidores MCP através de uma configuração JSON semelhante. Siga estes passos para configurar o servidor MCP do Supabase:

  1. Encontre o caminho completo para o executável (este passo é crítico):

    # On macOS/Linux
    which supabase-mcp-server
    
    # On Windows
    where supabase-mcp-server
    

    Copie o caminho completo que é retornado (por exemplo, /Users/username/.local/bin/supabase-mcp-server).

  2. Configure o servidor MCP no Cline:

    • Abra o Cline no VS Code
    • Clique na aba "Servidores MCP" na barra lateral do Cline
    • Clique em "Configurar Servidores MCP"
    • Isso abrirá o arquivo cline_mcp_settings.json
    • Adicione a seguinte configuração:
    {
      "mcpServers": {
        "supabase": {
          "command": "/full/path/to/supabase-mcp-server",  // Replace with the actual path from step 1
          "env": {
            "QUERY_API_KEY": "your-api-key",  // Required - get your API key at thequery.dev
            "SUPABASE_PROJECT_REF": "your-project-ref",
            "SUPABASE_DB_PASSWORD": "your-db-password",
            "SUPABASE_REGION": "us-east-1",  // optional, defaults to us-east-1
            "SUPABASE_ACCESS_TOKEN": "your-access-token",  // optional, for management API
            "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"  // optional, for Auth Admin SDK
          }
        }
      }
    }
    

Se a configuração estiver correta, você deve ver um indicador verde ao lado do servidor MCP do Supabase na lista de Servidores MCP do Cline, e uma mensagem confirmando "servidor MCP supabase conectado" na parte inferior do painel.

How successful configuration in Cline looks like

Solução de Problemas

Aqui estão algumas dicas e truques que podem ajudar você:

  • Depuração da instalação - execute supabase-mcp-server diretamente do terminal para ver se funciona. Se não funcionar, pode haver um problema com a instalação.
  • Configuração do servidor MCP - se o passo acima funcionar, significa que o servidor está instalado e configurado corretamente. Desde que você tenha fornecido o comando correto, o IDE deve conseguir conectar. Certifique-se de fornecer o caminho correto para o executável do servidor.
  • Erro "Nenhuma ferramenta encontrada" - Se você vir "Client closed - no tools available" no Cursor apesar do pacote estar instalado:
    • Encontre o caminho completo para o executável executando which supabase-mcp-server (macOS/Linux) ou where supabase-mcp-server (Windows)
    • Use o caminho completo na configuração do servidor MCP em vez de apenas supabase-mcp-server
    • Por exemplo: /Users/username/.local/bin/supabase-mcp-server ou C:\Users\username\.local\bin\supabase-mcp-server.exe
  • Variáveis de ambiente - para conectar ao banco de dados correto, certifique-se de definir as variáveis de ambiente em mcp_config.json ou no arquivo .env colocado em um diretório de configuração global (~/.config/supabase-mcp/.env no macOS/Linux ou %APPDATA%\supabase-mcp\.env no Windows).
  • Acessando logs - O servidor MCP grava logs detalhados em um arquivo:
    • Localização do arquivo de log:
      • macOS/Linux: ~/.local/share/supabase-mcp/mcp_server.log
      • Windows: %USERPROFILE%\.local\share\supabase-mcp\mcp_server.log
    • Os logs incluem status da conexão, detalhes de configuração e resultados de operações
    • Veja os logs usando qualquer editor de texto ou comandos de terminal:
      # On macOS/Linux
      cat ~/.local/share/supabase-mcp/mcp_server.log
      
      # On Windows (PowerShell)
      Get-Content "$env:USERPROFILE\.local\share\supabase-mcp\mcp_server.log"
      

Se você estiver travado ou alguma das instruções acima estiver incorreta, por favor abra uma issue.

MCP Inspector

Uma ferramenta super útil para ajudar a depurar problemas do servidor MCP é o MCP Inspector. Se você instalou a partir do código-fonte, pode executar supabase-mcp-inspector a partir do repositório do projeto e ele executará a instância do inspector. Juntamente com os logs, isso dará a você uma visão completa do que está acontecendo no servidor.

📝 Executar supabase-mcp-inspector, se instalado a partir do pacote, não funciona corretamente - vou validar e corrigir na próxima versão.

Visão Geral dos Recursos

Ferramentas de consulta ao banco de dados

Desde v0.3+, o servidor fornece capacidades abrangentes de gerenciamento de banco de dados com controles de segurança integrados:

  • Execução de consultas SQL: Execute consultas PostgreSQL com avaliação de risco

    • Sistema de segurança em três níveis:
      • safe: Operações somente leitura (SELECT) - sempre permitidas
      • write: Modificações de dados (INSERT, UPDATE, DELETE) - exigem modo inseguro
      • destructive: Alterações de esquema (DROP, CREATE) - exigem modo inseguro + confirmação
  • Análise e validação SQL:

    • Usa o parser do PostgreSQL (pglast) para análise precisa e fornece feedback claro sobre os requisitos de segurança
  • Versionamento automático de migrações:

    • Operações que alteram o banco de dados são automaticamente versionadas
    • Gera nomes descritivos com base no tipo de operação e no alvo
  • Controles de segurança:

    • O modo SEGURO padrão permite apenas operações somente leitura
    • Todas as declarações são executadas em modo de transação via asyncpg
    • Confirmação em 2 etapas para operações de alto risco
  • Ferramentas disponíveis:

    • get_schemas: Lista esquemas com tamanhos e contagens de tabelas
    • get_tables: Lista tabelas, tabelas estrangeiras e visões com metadados
    • get_table_schema: Obtém estrutura detalhada da tabela (colunas, chaves, relacionamentos)
    • execute_postgresql: Executa declarações SQL no seu banco de dados
    • confirm_destructive_operation: Executa operações de alto risco após confirmação
    • retrieve_migrations: Obtém migrações com opções de filtragem e paginação
    • live_dangerously: Alterna entre modos seguro e inseguro

Ferramentas da API de Gerenciamento

Desde v0.3.0, o servidor fornece acesso seguro à API de Gerenciamento do Supabase com controles de segurança integrados:

  • Ferramentas disponíveis:

    • send_management_api_request: Envia solicitações arbitrárias à API de Gerenciamento do Supabase com injeção automática da referência do projeto
    • get_management_api_spec: Obtém a especificação da API enriquecida com informações de segurança
      • Suporta múltiplos modos de consulta: por domínio, por caminho/método específico, ou todos os caminhos
      • Inclui informações de avaliação de risco para cada endpoint
      • Fornece requisitos detalhados de parâmetros e formatos de resposta
      • Ajuda LLMs a entenderem as capacidades completas da API de Gerenciamento do Supabase
    • get_management_api_safety_rules: Obtém todas as regras de segurança com explicações legíveis por humanos
    • live_dangerously: Alterna entre modos de operação seguro e inseguro
  • Controles de segurança:

    • Usa o mesmo gerenciador de segurança das operações de banco de dados para gerenciamento de risco consistente
    • Operações categorizadas por nível de risco:
      • safe: Operações somente leitura (GET) - sempre permitidas
      • unsafe: Operações que alteram estado (POST, PUT, PATCH, DELETE) - exigem modo inseguro
      • blocked: Operações destrutivas (excluir projeto, etc.) - nunca permitidas
    • O modo seguro padrão previne alterações acidentais de estado
    • Correspondência de padrões baseada em caminho para regras de segurança precisas

Nota: As ferramentas da API de Gerenciamento funcionam apenas com instâncias remotas do Supabase e não são compatíveis com configurações locais de desenvolvimento do Supabase.

Ferramentas de Auth Admin

Eu estava planejando adicionar suporte para métodos do SDK Python ao servidor MCP. Após consideração, decidi adicionar apenas suporte para métodos de administração de Auth, pois muitas vezes me encontrava criando usuários de teste manualmente, o que era propenso a erros e demorado. Agora posso simplesmente pedir ao Cursor para criar um usuário de teste e isso será feito perfeitamente. Consulte a documentação completa dos métodos do SDK Auth Admin para saber o que ele pode fazer.

Desde v0.3.6, o servidor suporta acesso direto aos métodos Auth Admin do Supabase via SDK Python:

  • Inclui as seguintes ferramentas:
    • get_auth_admin_methods_spec para recuperar documentação de todos os métodos Auth Admin disponíveis
    • call_auth_admin_method para invocar diretamente métodos Auth Admin com tratamento adequado de parâmetros
  • Métodos suportados:
    • get_user_by_id: Recuperar um usuário pelo seu ID
    • list_users: Listar todos os usuários com paginação
    • create_user: Criar um novo usuário
    • delete_user: Excluir um usuário pelo seu ID
    • invite_user_by_email: Enviar um link de convite para o email de um usuário
    • generate_link: Gerar um link de email para vários propósitos de autenticação
    • update_user_by_id: Atualizar atributos do usuário por ID
    • delete_factor: Excluir um fator de um usuário (atualmente não implementado no SDK)

Por que usar o SDK Auth Admin em vez de consultas SQL brutas?

O SDK Auth Admin fornece várias vantagens principais em relação à manipulação direta de SQL:

  • Funcionalidade: Permite operações não possíveis apenas com SQL (convites, links mágicos, MFA)

  • Precisão: Mais confiável do que criar e executar consultas SQL brutas em esquemas de auth

  • Simplicidade: Oferece métodos claros com validação e tratamento de erros adequados

    • Formato de resposta:
      • Todos os métodos retornam objetos Python estruturados em vez de dicionários brutos
      • Os atributos do objeto podem ser acessados usando notação de ponto (por exemplo, user.id em vez de user["id"])
    • Casos extremos e limitações:
      • Validação de UUID: Muitos métodos exigem formato UUID válido para IDs de usuário e retornarão erros de validação específicos
      • Configuração de email: Métodos como invite_user_by_email e generate_link exigem que o envio de email esteja configurado no seu projeto Supabase
      • Tipos de link: Ao gerar links, diferentes tipos de link têm requisitos diferentes:
        • Links signup não exigem que o usuário exista
        • Links magiclink e recovery exigem que o usuário já exista no sistema
      • Tratamento de erros: O servidor fornece mensagens de erro detalhadas da API do Supabase, que podem diferir da interface do painel
      • Disponibilidade de métodos: Alguns métodos como delete_factor são expostos na API, mas não totalmente implementados no SDK

Logs e Análises

O servidor fornece acesso a logs e dados de análise do Supabase, facilitando o monitoramento e a solução de problemas dos seus aplicativos:

  • Ferramenta disponível: retrieve_logs - Acesse logs de qualquer serviço do Supabase

  • Coleções de logs:

    • postgres: Logs do servidor de banco de dados
    • api_gateway: Solicitações do gateway de API
    • auth: Eventos de autenticação
    • postgrest: Logs do serviço de API RESTful
    • pooler: Logs de pool de conexões
    • storage: Operações de armazenamento de objetos
    • realtime: Logs de assinaturas WebSocket
    • edge_functions: Execuções de funções serverless
    • cron: Logs de trabalhos agendados
    • pgbouncer: Logs do pooler de conexões
  • Recursos: Filtrar por tempo, pesquisar texto, aplicar filtros de campo ou usar consultas SQL personalizadas

Simplifica a depuração em toda a sua pilha Supabase sem alternar entre interfaces ou escrever consultas complexas.

Versionamento Automático de Alterações no Banco de Dados

"Com grandes poderes vêm grandes responsabilidades." Enquanto a ferramenta execute_postgresql juntamente com a ferramenta apropriadamente nomeada live_dangerously fornecem uma maneira poderosa e simples de gerenciar seu banco de dados Supabase, isso também significa que excluir uma tabela ou modificá-la está a uma mensagem de chat de distância. Para reduzir o risco de alterações irreversíveis, desde v0.3.8 o servidor suporta:

  • criação automática de scripts de migração para todas as operações SQL de escrita e destrutivas executadas no banco de dados
  • modo de segurança aprimorado de execução de consultas, no qual todas as consultas são categorizadas em:
    • tipo safe: sempre permitido. Inclui todas as operações somente leitura.
    • tipo write: requer que o modo write seja habilitado pelo usuário.
    • tipo destructive: requer que o modo write seja habilitado pelo usuário E uma confirmação em 2 etapas da execução da consulta para clientes que não executam ferramentas automaticamente.

Modo de Segurança Universal

Desde v0.3.8, o Modo de Segurança foi padronizado em todos os serviços (banco de dados, API, SDK) usando um gerenciador de segurança universal. Isso fornece gerenciamento de risco consistente e uma interface unificada para controlar as configurações de segurança em todo o servidor MCP.

Todas as operações (consultas SQL, solicitações de API, métodos SDK) são categorizadas em níveis de risco:

  • risco Low: Operações somente leitura que não modificam dados ou estrutura (consultas SELECT, solicitações GET de API)
  • risco Medium: Operações de escrita que modificam dados, mas não estrutura (INSERT/UPDATE/DELETE, a maioria das solicitações POST/PUT de API)
  • risco High: Operações destrutivas que modificam a estrutura do banco de dados ou podem causar perda de dados (DROP/TRUNCATE, endpoints DELETE de API)
  • risco Extreme: Operações com consequências severas que são bloqueadas completamente (excluir projetos)

Os controles de segurança são aplicados com base no nível de risco:

  • Operações de baixo risco são sempre permitidas
  • Operações de risco médio exigem que o modo inseguro seja habilitado
  • Operações de alto risco exigem modo inseguro E confirmação explícita
  • Operações de risco extremo nunca são permitidas

Como funciona o fluxo de confirmação

Qualquer operação de alto risco (seja uma solicitação postgresql ou api) será bloqueada mesmo no modo unsafe. Every high-risk operation is blocked Você terá que confirmar e aprovar explicitamente cada operação de alto risco para que ela seja executada. Explicit approval is always required

Registro de Alterações

  • 📦 Instalação simplificada via gerenciador de pacotes - ✅ (v0.2.0)
  • 🌎 Suporte para diferentes regiões do Supabase - ✅ (v0.2.2)
  • 🎮 Acesso programático à API de gerenciamento do Supabase com controles de segurança - ✅ (v0.3.0)
  • 👷‍♂️ Consultas SQL de leitura e leitura-escrita no banco de dados com controles de segurança - ✅ (v0.3.0)
  • 🔄 Tratamento robusto de transações para conexões diretas e em pool - ✅ (v0.3.2)
  • 🐍 Suporte a métodos e objetos disponíveis no SDK Python nativo - ✅ (v0.3.6)
  • 🔍 Validação mais forte de consultas SQL ✅ (v0.3.8)
  • 📝 Versionamento automático de alterações no banco de dados ✅ (v0.3.8)
  • 📖 Conhecimento e ferramentas radicalmente melhorados da especificação da API ✅ (v0.3.8)
  • ✍️ Consistência melhorada das ferramentas relacionadas a migrações para um VCS de banco de dados mais organizado ✅ (v0.3.10)
  • 🥳 Query MCP é lançado (v0.4.0)

Para um roteiro mais detalhado, consulte esta discussão no GitHub.

Histórico de Estrelas

Star History Chart


Aproveite! ☺️