Skip to main content
Glama
GabsPereiraDev

mcp-supabase

README.md
# MCP Supabase Server

Este é um servidor MCP (Model Context Protocol) para interagir com o Supabase.
Ele permite listar tabelas, consultar dados, inserir, atualizar e deletar registros diretamente através de um cliente MCP como o Trae ou Claude Desktop.

## Ferramentas Disponíveis

*   `list_tables`: Lista todas as tabelas no esquema `public`.
*   `get_schema`: Retorna o esquema (colunas) de uma tabela específica.
*   `select_data`: Seleciona dados de uma tabela com filtros opcionais.
    *   `tableName` (obrigatório): Nome da tabela.
    *   `columns` (opcional): Colunas a selecionar (padrão: `*`).
    *   `filter` (opcional): Objeto chave-valor para filtrar (ex: `{"status": "active"}`).
    *   `limit` (opcional): Limite de registros (padrão: `10`).
*   `insert_data`: Insere dados em uma tabela.
    *   `tableName` (obrigatório): Nome da tabela.
    *   `data` (obrigatório): Objeto com os dados a inserir.
*   `update_data`: Atualiza dados em uma tabela pelo ID.
    *   `tableName` (obrigatório): Nome da tabela.
    *   `id` (obrigatório): ID do registro.
    *   `data` (obrigatório): Dados a atualizar.
    *   `idColumn` (opcional): Nome da coluna de ID (padrão: `id`).
*   `delete_data`: Deleta dados de uma tabela pelo ID.
    *   `tableName` (obrigatório): Nome da tabela.
    *   `id` (obrigatório): ID do registro.
    *   `idColumn` (opcional): Nome da coluna de ID (padrão: `id`).
*   `run_rpc`: Executa uma função RPC (Stored Procedure).
    *   `functionName` (obrigatório): Nome da função.
    *   `params` (opcional): Parâmetros da função.

## Instalação

1.  Clone este repositório.
2.  Instale as dependências:
    ```bash
    npm install
    ```
3.  Compile o projeto:
    ```bash
    npm run build
    ```

## Configuração

O servidor utiliza variáveis de ambiente para conectar ao Supabase.

*   `SUPABASE_URL`: URL do seu projeto Supabase.
*   `SUPABASE_KEY`: Chave de API (anon ou service_role).

## Integração com Trae / Claude Desktop

Adicione a seguinte configuração ao seu arquivo de configuração de servidores MCP:

```json
{
  "mcpServers": {
    "supabase": {
      "command": "node",
      "args": ["/caminho/para/mcp-supabase/dist/index.js"],
      "env": {
        "SUPABASE_URL": "sua_url_do_supabase",
        "SUPABASE_KEY": "sua_chave_do_supabase"
      }
    }
  }
}
```

Para usar via npx (se publicado):

```json
{
  "mcpServers": {
    "supabase": {
      "command": "npx",
      "args": ["-y", "mcp-supabase"],
      "env": {
        "SUPABASE_URL": "sua_url_do_supabase",
        "SUPABASE_KEY": "sua_chave_do_supabase"
      }
    }
  }
}
```

## Desenvolvimento

Para rodar em modo de desenvolvimento:

```bash
npm run dev
```