Saltar al contenido
ReviewRamble

El boletín semanal

La IA, analizada, en tu bandeja de entrada.

  • Nuevas reseñas de herramientas, modelos, servidores MCP y repos, con el veredicto por delante
  • Precios y valoraciones revisados cuando algo cambia
  • Nuevos análisis en cuanto se publican

Modelos, agentes, servidores MCP y las herramientas que de verdad merecen tu tiempo.

Un correo a la semana. Date de baja con el enlace de cualquier boletín. Cómo usamos tu correo

Faucet

Un único binario en Go que pone una API REST y un endpoint MCP, con roles por tabla y claves de API, delante de siete motores SQL.

Reseña de ReviewRamble editors · Actualizado

Nuestra nota

3.6/5

La forma correcta de dar a un agente acceso controlado a tablas en siete motores SQL, en un proyecto tan joven que sus comprobaciones de roles solo empezaron a funcionar en septiembre.

¿Qué es Faucet?

Faucet, de la start-up estadounidense FaucetDB, se conecta a PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, Snowflake o SQLite, lee el esquema y genera a partir de él, en tiempo de ejecución, una API REST CRUD, una especificación OpenAPI 3.1 y un servidor MCP. Los roles, las claves de API, las cuentas de administrador y los datos de conexión se guardan en un archivo SQLite integrado, y una interfaz de administración incluida en el mismo binario conecta bases de datos, crea roles y genera configuraciones MCP listas para Claude Code, Cursor, VS Code y Windsurf.

El servidor MCP se sirve en /mcp, en el mismo puerto que la API REST (8080 por defecto), por Streamable HTTP y con autenticación mediante la cabecera X-API-Key, o se lanza por stdio. Expone 8 herramientas y 2 recursos. El repositorio, creado en febrero de 2026 y escrito casi por completo por un solo desarrollador, tiene unas 172 estrellas en GitHub; la v0.1.15 salió el 9 de octubre de 2026 y el paquete de npm se descargó 346 veces en el mes hasta el 10 de noviembre.

Todo tiene licencia MIT y no hay plan de pago. Se ha anunciado un Faucet Cloud alojado, con lista de espera y sin precio.

Cómo instalar Faucet

npx @faucetdb/faucet serve

¿Merece la pena Faucet?

La idea de Faucet es buena: en lugar de pasar al agente un prompt de SQL, le da herramientas estructuradas (faucet_query, faucet_insert, faucet_update, faucet_delete) que se corresponden con verbos HTTP, y comprueba cada llamada contra el rol de la clave de API, por servicio y por tabla. Los filtros llegan en una pequeña sintaxis de expresiones que Faucet parametriza por su cuenta, así que el modelo nunca escribe la cadena SQL que se ejecuta. El SQL libre es una herramienta aparte que exige a la vez raw_sql_allowed en el servicio, desactivado por defecto, y un rol con los cinco verbos; los servicios marcados como read_only rechazan cualquier escritura, SQL libre incluido. DBHub, en cambio, entrega al modelo una herramienta execute_sql; MCP Toolbox de Google llega a un resultado parecido haciendo que escribas las consultas de antemano, mientras que Faucet genera sus herramientas a partir del esquema.

El historial es el motivo de prudencia. La versión v0.1.13, del 3 de septiembre de 2026, corrigió un fallo que los propios mantenedores calificaron de gravedad alta: hasta entonces, las reglas de los roles se guardaban pero nunca se consultaban, así que cualquier clave de API válida, incluida la que se entrega a un agente, podía leer y escribir todas las tablas de todos los servicios, tanto por REST como por MCP. La misma versión hizo que el SQL libre dejara de ignorar la marca read_only y sustituyó un secreto de firma JWT predeterminado por uno aleatorio. Se comunicó en las notas de la versión y no como aviso de seguridad de GitHub, y el repositorio no tiene ninguno. Los filtros por fila siguen guardándose sin aplicarse, una carencia que la documentación reconoce abiertamente.

Los valores de red por defecto exigen atención antes que nada. faucet serve escucha en 0.0.0.0, todas las interfaces, en el puerto 8080 y en HTTP sin cifrar; la documentación delega TLS en un proxy inverso. Hasta que existe la primera cuenta de administrador, el endpoint de configuración acepta a quien llegue primero, así que una instancia nueva en una red compartida debería arrancarse con --host 127.0.0.1. El modo stdio se ejecuta con derechos de administrador local y no aplica roles, lo que significa inserción, actualización y borrado sin límites en todas las tablas conectadas. Las contraseñas de conexión se guardan sin cifrar en el archivo SQLite de configuración, que Faucet restringe a permisos solo del propietario. La telemetría está activada por defecto: un aviso cada hora a PostHog con recuentos de tablas, claves y roles, pero sin nombres ni datos, que se desactiva con FAUCET_TELEMETRY=0.

Nuestra opinión: Faucet tiene sentido cuando un equipo quiere una sola capa REST y MCP sobre un parque de SQL Server u Oracle que unas herramientas SQL al estilo de DBHub expondrían con demasiada libertad. Conviene tratarlo como un producto v0.1, crear de todos modos un usuario de base de datos de solo lectura y mantenerlo fuera de interfaces públicas.

Dónde se gana su sitio

  • El equipo de operaciones de un fabricante con un ERP en SQL Server

    Que Claude responda preguntas sobre stock y pedidos sin tocar las vías de escritura del ERP

    Conecta el ERP con un usuario de base de datos que solo pueda hacer SELECT, marca el servicio como read_only y emite para el agente una clave vinculada a un rol solo GET sobre las tablas de inventario y pedidos. El agente filtra con faucet_query, con un máximo de 1.000 filas por llamada; no hay que comprar nada más que una VM pequeña.

  • Una agencia de dos personas que crea una herramienta interna sobre Postgres

    Tener una API CRUD y una vía de administración editable por el agente sin escribir un backend

    Apunta Faucet a la base de datos, usa desde el front end los endpoints /api/v1 generados y da al agente una clave aparte cuyo rol permita POST y PATCH solo en dos tablas. Bloquea el contrato del esquema para que una migración no rompa la API sin avisar.

  • Un analista de datos con un almacén en Snowflake

    Explorar tablas y sacar muestras desde Cursor en lenguaje natural

    Añade Snowflake con autenticación por par de claves, crea una clave solo GET y registra el endpoint /mcp en Cursor. faucet_describe_table da al modelo las columnas y los tipos; el coste real sigue siendo los créditos de almacén de Snowflake de cada consulta.

Antes de decidirte

Puesta en marcha
npx @faucetdb/faucet serve, Homebrew, Docker o un binario publicado; después, el asistente de configuración en localhost:8080 crea el administrador y conecta una base de datos con host, puerto, usuario y contraseña. Crea un rol y una clave de API y luego ejecuta claude mcp add --transport http con la cabecera X-API-Key; Claude Desktop necesita el puente mcp-remote. El README presenta el paso de base de datos a API como un inicio rápido de 60 segundos; los roles y las claves añaden unos minutos.
Integraciones
8 herramientas MCP (faucet_list_services, faucet_list_tables, faucet_describe_table, faucet_query, faucet_insert, faucet_update, faucet_delete, faucet_raw_sql) y 2 recursos; cuatro de las herramientas pueden escribir. La misma instancia sirve la API REST, /openapi.json para las Custom GPT Actions de ChatGPT, /healthz y /readyz. No hay OAuth, así que los conectores de ChatGPT no están soportados.
Datos y privacidad
Autoalojado; las filas solo van al proveedor del modelo del agente. El agente puede hacer lo que permita el rol de su clave, dentro de los límites del usuario de la base de datos. HTTP escucha en 0.0.0.0 en el puerto 8080 por defecto; stdio se ejecuta con derechos de administrador. Las contraseñas de las bases de datos se guardan sin cifrar en el archivo SQLite de configuración (permisos solo del propietario); las claves de API se guardan con hash SHA-256. La telemetría anónima se envía a PostHog cada hora salvo que se desactive. Las filas que recibe el modelo pueden llevar inyección de prompts, como cualquier texto de una base de datos.
Coste a escala
Gratuito; los costes son una máquina para el binario y la carga de la base de datos. faucet_query devuelve 25 filas por defecto y 1.000 como máximo; el SQL libre devuelve 100 filas por defecto, llega a 10.000 como máximo y corta a los 30 segundos (hasta 300). Las consultas a Snowflake gastan créditos de almacén en cada llamada.
Límites
Versión 0.1.x de un proyecto de un solo desarrollador, que el README considera adecuado para herramientas internas y prototipos. Seis incidencias abiertas, entre ellas la corrección del generador de consultas de SQLite. Sin GraphQL ni OAuth, filtros por fila sin aplicar, y cada réplica en Kubernetes necesita su propio almacén de configuración.

Lo bueno

  • Siete motores SQL, incluidos Oracle y Snowflake, desde un solo binario
  • Permisos por verbo y por tabla en cada llamada a una herramienta MCP
  • Herramientas estructuradas con filtros parametrizados; SQL libre desactivado por defecto
  • La interfaz de administración genera configuraciones MCP con la clave ya incluida

Lo malo

  • Las reglas de los roles no se aplicaban en absoluto antes de la v0.1.13
  • Escucha en 0.0.0.0 en HTTP sin cifrar; configuración abierta hasta que hay administrador
  • El modo stdio se ejecuta como administrador sin aplicar roles
  • Filtros por fila guardados pero no aplicados; telemetría activada por defecto

Ideal para

Equipos que quieren que un agente y sus aplicaciones internas compartan una capa REST y MCP controlada sobre bases de datos SQL Server, Oracle, Snowflake o Postgres que ya tienen en marcha.

Alternativas a Faucet

Faucet: preguntas frecuentes

¿Merece la pena Faucet?
La forma correcta de dar a un agente acceso controlado a tablas en siete motores SQL, en un proyecto tan joven que sus comprobaciones de roles solo empezaron a funcionar en septiembre. Le damos un 3.6 sobre 5.
¿Cuánto cuesta Faucet?
Gratuito y de código abierto (MIT), con todas las funciones incluidas. Faucet Cloud, la versión alojada, está en lista de espera; no hay precio publicado.
¿Qué inconvenientes tiene Faucet?
Las reglas de los roles no se aplicaban en absoluto antes de la v0.1.13; escucha en 0.0.0.0 en HTTP sin cifrar; configuración abierta hasta que hay administrador; el modo stdio se ejecuta como administrador sin aplicar roles; filtros por fila guardados pero no aplicados; telemetría activada por defecto.
¿Para quién es Faucet?
Equipos que quieren que un agente y sus aplicaciones internas compartan una capa REST y MCP controlada sobre bases de datos SQL Server, Oracle, Snowflake o Postgres que ya tienen en marcha.
¿Cuánto cuesta Faucet para un equipo o en producción?
Gratuito; los costes son una máquina para el binario y la carga de la base de datos. faucet_query devuelve 25 filas por defecto y 1.000 como máximo; el SQL libre devuelve 100 filas por defecto, llega a 10.000 como máximo y corta a los 30 segundos (hasta 300). Las consultas a Snowflake gastan créditos de almacén en cada llamada.
¿Es Faucet seguro para los datos de la empresa?
Autoalojado; las filas solo van al proveedor del modelo del agente. El agente puede hacer lo que permita el rol de su clave, dentro de los límites del usuario de la base de datos. HTTP escucha en 0.0.0.0 en el puerto 8080 por defecto; stdio se ejecuta con derechos de administrador. Las contraseñas de las bases de datos se guardan sin cifrar en el archivo SQLite de configuración (permisos solo del propietario); las claves de API se guardan con hash SHA-256. La telemetría anónima se envía a PostHog cada hora salvo que se desactive. Las filas que recibe el modelo pueden llevar inyección de prompts, como cualquier texto de una base de datos.
¿Cuáles son las mejores alternativas a Faucet?
Las alternativas más cercanas que hemos analizado son DBHub, MCP Toolbox for Databases, Supabase MCP Server y database-mcp (cocaxcode).

Respuestas comprobadas el 11 nov 2026.