Pular para o conteúdo
ReviewRamble

A newsletter semanal

IA, analisada, na sua caixa de entrada.

  • Novas análises de ferramentas, modelos, servidores MCP e repositórios, com o veredicto logo no início
  • Preços e notas reconferidos quando algo muda
  • Novos artigos de análise assim que são publicados

Modelos, agentes, servidores MCP e as ferramentas que realmente valem seu tempo.

Um e-mail por semana. Cancele pelo link em qualquer edição. Como usamos seu e-mail

Faucet

Um único binário em Go que coloca uma API REST e um endpoint MCP, com papéis por tabela e chaves de API, na frente de sete mecanismos SQL.

Análise de ReviewRamble editors · Atualizado

Nossa nota

3.6/5

O formato certo para dar a um agente acesso controlado a tabelas em sete mecanismos SQL, vindo de um projeto tão novo que suas verificações de papéis só começaram a funcionar em setembro.

O que é Faucet?

O Faucet, da start-up americana FaucetDB, conecta-se a PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, Snowflake ou SQLite, lê o esquema e gera a partir dele, em tempo de execução, uma API REST CRUD, uma especificação OpenAPI 3.1 e um servidor MCP. Papéis, chaves de API, contas de administrador e dados de conexão ficam em um arquivo SQLite embutido, e uma interface de administração no mesmo binário conecta bancos de dados, cria papéis e gera configurações MCP prontas para Claude Code, Cursor, VS Code e Windsurf.

O servidor MCP fica em /mcp, na mesma porta da API REST (8080 por padrão), via Streamable HTTP com autenticação pelo cabeçalho X-API-Key, ou é iniciado via stdio. Ele expõe 8 ferramentas e 2 recursos. O repositório, criado em fevereiro de 2026 e escrito quase inteiramente por um único desenvolvedor, tem cerca de 172 estrelas no GitHub; a v0.1.15 saiu em 9 de outubro de 2026, e o pacote npm foi baixado 346 vezes no mês até 10 de novembro.

Tudo é licenciado sob MIT, sem plano pago. Um Faucet Cloud hospedado foi anunciado, com lista de espera e sem preço.

Como instalar Faucet

npx @faucetdb/faucet serve

Faucet vale a pena?

A ideia do Faucet é sólida: em vez de entregar ao agente um prompt de SQL, ele oferece ferramentas estruturadas (faucet_query, faucet_insert, faucet_update, faucet_delete) que correspondem a verbos HTTP, e confere cada chamada com o papel da chave de API, por serviço e por tabela. Os filtros chegam em uma pequena sintaxe de expressões que o próprio Faucet parametriza, então o modelo nunca escreve a string SQL que é executada. SQL livre é uma ferramenta separada que exige ao mesmo tempo raw_sql_allowed no serviço, desligado por padrão, e um papel com os cinco verbos; serviços marcados como read_only recusam qualquer escrita, inclusive SQL livre. O DBHub, por outro lado, entrega ao modelo uma ferramenta execute_sql; o MCP Toolbox do Google chega a um resultado parecido fazendo você escrever as consultas com antecedência, enquanto o Faucet gera suas ferramentas a partir do esquema.

O histórico é o motivo da cautela. A versão v0.1.13, de 3 de setembro de 2026, corrigiu uma falha que os próprios mantenedores classificaram como de alta gravidade: até então, as regras dos papéis eram gravadas, mas nunca consultadas, de modo que qualquer chave de API válida, inclusive uma entregue a um agente, podia ler e gravar todas as tabelas de todos os serviços, tanto por REST quanto por MCP. A mesma versão fez o SQL livre parar de ignorar a marca read_only e trocou um segredo padrão embutido para assinatura JWT por um aleatório. A falha foi divulgada nas notas da versão, e não como alerta de segurança do GitHub, e o repositório não lista nenhum. Os filtros por linha continuam sendo gravados sem ser aplicados, uma lacuna que a documentação admite abertamente.

As configurações de rede padrão pedem atenção antes de qualquer outra coisa. faucet serve escuta em 0.0.0.0, todas as interfaces, na porta 8080 e em HTTP sem criptografia; a documentação deixa o TLS para um proxy reverso. Enquanto não existe a primeira conta de administrador, o endpoint de configuração aceita quem chegar primeiro, então uma instância nova em rede compartilhada deve ser iniciada com --host 127.0.0.1. O modo stdio roda com direitos de administrador local e não aplica papéis, o que significa inserir, atualizar e excluir sem restrição em todas as tabelas conectadas. As senhas de conexão ficam sem criptografia no arquivo SQLite de configuração, que o Faucet restringe a permissões só do dono. A telemetria vem ligada por padrão: um envio a cada hora ao PostHog com contagens de tabelas, chaves e papéis, mas sem nomes nem dados, desligado com FAUCET_TELEMETRY=0.

Nossa opinião: o Faucet faz sentido quando uma equipe quer uma única camada REST e MCP sobre um parque de SQL Server ou Oracle que ferramentas SQL no estilo do DBHub exporiam com liberdade demais. Vale tratá-lo como um produto v0.1, criar mesmo assim um usuário de banco somente leitura e mantê-lo longe de interfaces públicas.

Onde ele se destaca

  • A equipe de operações de um fabricante com ERP em SQL Server

    Deixar o Claude responder perguntas sobre estoque e pedidos sem tocar nos caminhos de escrita do ERP

    Conecte o ERP com um usuário de banco que só pode fazer SELECT, marque o serviço como read_only e emita para o agente uma chave ligada a um papel só GET nas tabelas de estoque e pedidos. O agente filtra pelo faucet_query, limitado a 1.000 linhas por chamada; não há nada a comprar além de uma VM pequena.

  • Uma agência de duas pessoas criando uma ferramenta interna sobre Postgres

    Ter uma API CRUD e um caminho de administração editável pelo agente sem escrever um backend

    Aponte o Faucet para o banco, use no front-end os endpoints /api/v1 gerados e dê ao agente uma chave separada cujo papel permita POST e PATCH em apenas duas tabelas. Trave o contrato do esquema para que uma migração não quebre a API sem aviso.

  • Um analista de dados com um data warehouse no Snowflake

    Explorar tabelas e puxar amostras pelo Cursor em linguagem natural

    Adicione o Snowflake com autenticação por par de chaves, crie uma chave só GET e registre o endpoint /mcp no Cursor. faucet_describe_table entrega ao modelo colunas e tipos; o custo real continua sendo os créditos de warehouse do Snowflake em cada consulta.

Antes de decidir

Configuração
npx @faucetdb/faucet serve, Homebrew, Docker ou um binário de release; depois, o assistente de configuração em localhost:8080 cria o administrador e conecta um banco com host, porta, usuário e senha. Crie um papel e uma chave de API e então rode claude mcp add --transport http com o cabeçalho X-API-Key; o Claude Desktop precisa da ponte mcp-remote. O README apresenta a etapa do banco à API como um início rápido de 60 segundos; papéis e chaves somam alguns minutos.
Integrações
8 ferramentas MCP (faucet_list_services, faucet_list_tables, faucet_describe_table, faucet_query, faucet_insert, faucet_update, faucet_delete, faucet_raw_sql) e 2 recursos; quatro das ferramentas podem gravar. A mesma instância serve a API REST, /openapi.json para as Custom GPT Actions do ChatGPT, /healthz e /readyz. Sem OAuth, então os conectores do ChatGPT não são suportados.
Dados e privacidade
Auto-hospedado; as linhas vão apenas para o provedor do modelo do agente. O agente pode fazer o que o papel da sua chave permitir, dentro dos limites do usuário do banco. HTTP escuta em 0.0.0.0 na porta 8080 por padrão; stdio roda com direitos de administrador. As senhas dos bancos ficam sem criptografia no arquivo SQLite de configuração (permissões só do dono); as chaves de API são gravadas com hash SHA-256. A telemetria anônima vai para o PostHog a cada hora, a menos que seja desligada. Linhas devolvidas ao modelo podem trazer injeção de prompt, como qualquer texto de banco.
Custo em escala
Gratuito; os custos são uma máquina para o binário e a carga no banco. faucet_query devolve 25 linhas por padrão e no máximo 1.000; SQL livre devolve 100 linhas por padrão, no máximo 10.000, e encerra em 30 segundos (até 300). Consultas no Snowflake gastam créditos de warehouse a cada chamada.
Limites
Versão 0.1.x de um projeto de um só desenvolvedor, que o README considera adequado para ferramentas internas e protótipos. Seis issues abertas, entre elas a correção do gerador de consultas do SQLite. Sem GraphQL, sem OAuth, filtros por linha não aplicados, e cada réplica no Kubernetes precisa do próprio armazenamento de configuração.

O que é bom

  • Sete mecanismos SQL, incluindo Oracle e Snowflake, em um só binário
  • Permissões por verbo e por tabela em cada chamada de ferramenta MCP
  • Ferramentas estruturadas com filtros parametrizados; SQL livre desligado por padrão
  • A interface de administração gera configurações MCP com a chave já preenchida

O que não é

  • As regras dos papéis não eram aplicadas antes da v0.1.13
  • Escuta em 0.0.0.0 em HTTP sem criptografia; configuração aberta até existir um administrador
  • O modo stdio roda como administrador, sem papéis
  • Filtros por linha gravados, mas não aplicados; telemetria ligada por padrão

Ideal para

Equipes que querem que um agente e seus aplicativos internos compartilhem uma camada REST e MCP controlada sobre bancos SQL Server, Oracle, Snowflake ou Postgres que já operam.

Alternativas ao Faucet

Faucet: perguntas frequentes

Faucet vale a pena?
O formato certo para dar a um agente acesso controlado a tabelas em sete mecanismos SQL, vindo de um projeto tão novo que suas verificações de papéis só começaram a funcionar em setembro. Damos nota 3.6 de 5.
Quanto custa Faucet?
Gratuito e de código aberto (MIT), com todos os recursos incluídos. Um Faucet Cloud hospedado está em lista de espera; nenhum preço publicado.
Quais são as desvantagens de Faucet?
As regras dos papéis não eram aplicadas antes da v0.1.13; escuta em 0.0.0.0 em HTTP sem criptografia; configuração aberta até existir um administrador; o modo stdio roda como administrador, sem papéis; filtros por linha gravados, mas não aplicados; telemetria ligada por padrão.
Para quem Faucet é indicado?
Equipes que querem que um agente e seus aplicativos internos compartilhem uma camada REST e MCP controlada sobre bancos SQL Server, Oracle, Snowflake ou Postgres que já operam.
Quanto custa Faucet para uma equipe ou em produção?
Gratuito; os custos são uma máquina para o binário e a carga no banco. faucet_query devolve 25 linhas por padrão e no máximo 1.000; SQL livre devolve 100 linhas por padrão, no máximo 10.000, e encerra em 30 segundos (até 300). Consultas no Snowflake gastam créditos de warehouse a cada chamada.
Faucet é seguro para dados da empresa?
Auto-hospedado; as linhas vão apenas para o provedor do modelo do agente. O agente pode fazer o que o papel da sua chave permitir, dentro dos limites do usuário do banco. HTTP escuta em 0.0.0.0 na porta 8080 por padrão; stdio roda com direitos de administrador. As senhas dos bancos ficam sem criptografia no arquivo SQLite de configuração (permissões só do dono); as chaves de API são gravadas com hash SHA-256. A telemetria anônima vai para o PostHog a cada hora, a menos que seja desligada. Linhas devolvidas ao modelo podem trazer injeção de prompt, como qualquer texto de banco.
Quais são as melhores alternativas ao Faucet?
As alternativas mais próximas que analisamos são DBHub, MCP Toolbox for Databases, Supabase MCP Server e database-mcp (cocaxcode).

Respostas verificadas em 11 de nov. de 2026.