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.
Sumário
Começando • Visão geral dos recursos • Solução de problemas • Registro 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
- Baixe e instale o PostgreSQL 16+ em https://www.postgresql.org/download/windows/
- Certifique-se de que "PostgreSQL Server" e "Command Line Tools" estejam selecionados durante a instalação
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ável | Obrigatória | Padrão | Descrição |
|---|---|---|---|
SUPABASE_PROJECT_REF | Sim | 127.0.0.1:54322 | Seu ID de referência do projeto Supabase (ou host:porta local) |
SUPABASE_DB_PASSWORD | Sim | postgres | Sua senha do banco de dados |
SUPABASE_REGION | Sim* | us-east-1 | Região AWS onde seu projeto Supabase está hospedado |
SUPABASE_ACCESS_TOKEN | Não | Nenhum | Token de acesso pessoal para a Supabase Management API |
SUPABASE_SERVICE_ROLE_KEY | Não | Nenhum | Chave de função de serviço para o Auth Admin SDK |
QUERY_API_KEY | Sim | Nenhum | Chave 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_REFeSUPABASE_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_TOKENesteja 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_KEYesteja 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):
- Variáveis de Ambiente: Valores definidos diretamente no seu ambiente
- Arquivo
.envLocal: Um arquivo.envno seu diretório de trabalho atual (funciona apenas quando executado a partir do código-fonte) - Arquivo de Configuração Global:
- Windows:
%APPDATA%\supabase-mcp\.env - macOS/Linux:
~/.config/supabase-mcp/.env
- Windows:
- 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
.envlocais 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ãous-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.
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.
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:
-
Encontre o caminho completo para o executável (este passo é crítico):
# On macOS/Linux which supabase-mcp-server # On Windows where supabase-mcp-serverCopie o caminho completo que é retornado (por exemplo,
/Users/username/.local/bin/supabase-mcp-server). -
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.
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:
-
Encontre o caminho completo para o executável (este passo é crítico):
# On macOS/Linux which supabase-mcp-server # On Windows where supabase-mcp-serverCopie o caminho completo que é retornado (por exemplo,
/Users/username/.local/bin/supabase-mcp-server). -
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.
Solução de Problemas
Aqui estão algumas dicas e truques que podem ajudar você:
- Depuração da instalação - execute
supabase-mcp-serverdiretamente 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) ouwhere 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-serverouC:\Users\username\.local\bin\supabase-mcp-server.exe
- Encontre o caminho completo para o executável executando
- Variáveis de ambiente - para conectar ao banco de dados correto, certifique-se de definir as variáveis de ambiente em
mcp_config.jsonou no arquivo.envcolocado em um diretório de configuração global (~/.config/supabase-mcp/.envno macOS/Linux ou%APPDATA%\supabase-mcp\.envno 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
- macOS/Linux:
- 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"
- Localização do arquivo de 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 permitidaswrite: Modificações de dados (INSERT, UPDATE, DELETE) - exigem modo insegurodestructive: Alterações de esquema (DROP, CREATE) - exigem modo inseguro + confirmação
- Sistema de segurança em três níveis:
-
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 tabelasget_tables: Lista tabelas, tabelas estrangeiras e visões com metadadosget_table_schema: Obtém estrutura detalhada da tabela (colunas, chaves, relacionamentos)execute_postgresql: Executa declarações SQL no seu banco de dadosconfirm_destructive_operation: Executa operações de alto risco após confirmaçãoretrieve_migrations: Obtém migrações com opções de filtragem e paginaçãolive_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 projetoget_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 humanoslive_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 permitidasunsafe: Operações que alteram estado (POST, PUT, PATCH, DELETE) - exigem modo inseguroblocked: 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_specpara recuperar documentação de todos os métodos Auth Admin disponíveiscall_auth_admin_methodpara 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 IDlist_users: Listar todos os usuários com paginaçãocreate_user: Criar um novo usuáriodelete_user: Excluir um usuário pelo seu IDinvite_user_by_email: Enviar um link de convite para o email de um usuáriogenerate_link: Gerar um link de email para vários propósitos de autenticaçãoupdate_user_by_id: Atualizar atributos do usuário por IDdelete_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.idem vez deuser["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_emailegenerate_linkexigem 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
signupnão exigem que o usuário exista - Links
magiclinkerecoveryexigem que o usuário já exista no sistema
- Links
- 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_factorsão expostos na API, mas não totalmente implementados no SDK
- Formato de resposta:
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 dadosapi_gateway: Solicitações do gateway de APIauth: Eventos de autenticaçãopostgrest: Logs do serviço de API RESTfulpooler: Logs de pool de conexõesstorage: Operações de armazenamento de objetosrealtime: Logs de assinaturas WebSocketedge_functions: Execuções de funções serverlesscron: Logs de trabalhos agendadospgbouncer: 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 modowriteseja habilitado pelo usuário. - tipo
destructive: requer que o modowriteseja habilitado pelo usuário E uma confirmação em 2 etapas da execução da consulta para clientes que não executam ferramentas automaticamente.
- tipo
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.
Você terá que confirmar e aprovar explicitamente cada operação de alto risco para que ela seja executada.
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
Aproveite! ☺️