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 serveFaucet 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.