QueryWeaver
An MCP server for Text2SQL: transforms natural language into SQL using graph schema understanding.
Wraps a database MCP server: reads pass, writes wait for a supervisor to approve them.
Elige la app de IA que usas y copia la configuración.
Pasó 3/3 revisiones · Funciona en tu computadora · ✓ Comandos revisados el 14 nov 2026
Primero: ¿qué IA usas?
Elige tu app y los pasos aparecen abajo.
Funciona con Claude, pero hay que preparar algo antes
Necesitas una clave de Approval gate for databases (créala en el sitio del autor) · 1 ajuste(s) que rellenar (HIBIRA_APP_ID) · Instala Node.js en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil
Copia este mensaje en un chat de Claude. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.
Instala el MCP server Approval gate for databases para Claude en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "mcpServers": { "approval-gate": { "command": "npx", "args": [ "-y", "@hibira-io/mcp-approval-gate" ], "env": { "GATE_COMMAND": "your-value", "HIBIRA_APP_ID": "your-value", "HIBIRA_KEY": "your-value", "HIBIRA_SECRET": "your-value" } } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) En GATE_COMMAND, HIBIRA_KEY, HIBIRA_SECRET, HIBIRA_APP_ID deja "your-value" y dime que pegue yo el valor real en el archivo o en el campo de la app. Nunca me pidas escribir una clave en el chat. 5) Haz lo acordado y comprueba que las herramientas de Approval gate for databases aparecen de verdad.Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.
¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter
node -vMac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter
Windows: abre Inicio, escribe Windows PowerShell y elige Abrir
Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl
Abrir la página de descarga de Node.js ↗
Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v
Se instala una vez y sirve para todo lo que usa Node.js
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Consulta precios y planes gratis en su sitio.
Son ajustes del programa, no claves. No hace falta registrarse; rellénalos como explica el autor.
HIBIRA_APP_ID Hibira app ID (hibira.io portal)Las descripciones siguen en el inglés original.
SettingsDeveloperEdit Config
{
"mcpServers": {
"approval-gate": {
"command": "npx",
"args": [
"-y",
"@hibira-io/mcp-approval-gate"
],
"env": {
"GATE_COMMAND": "your-value",
"HIBIRA_APP_ID": "your-value",
"HIBIRA_KEY": "your-value",
"HIBIRA_SECRET": "your-value"
}
}
}
}Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Usa Approval gate for databases y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Claude dice que está usando Approval gate for databases o muestra una herramienta de Approval gate for databases en la respuesta, ya está conectado
El comando de arriba funciona sin estos valores. Añádelos solo si quieres cambiar algo, según la descripción del autor.
GATE_LABEL The database's name on the approval pageGATE_PUSH_INTERESTS Comma-separated push interests that receive approval requestsGATE_MODE writes (default), all or none · valor por defecto writesLas descripciones siguen en el inglés original.
Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión
ChatGPT todavía no puede conectar Approval gate for databases
Approval gate for databases se instala en tu computadora, pero ChatGPT solo conecta servidores que funcionan en la web
A · Usa una app que pueda conectar Approval gate for databases
B · Otros en Bases de datos y conjuntos de datos que funcionan con ChatGPT
Elegidos entre los más usados de la misma categoría, solo los que se conectan con una dirección y sin clave
Funciona con Claude Code, pero hay que preparar algo antes
Necesitas una clave de Approval gate for databases (créala en el sitio del autor) · 1 ajuste(s) que rellenar (HIBIRA_APP_ID) · Instala Node.js en tu computadora primero (una sola vez)
Copia este mensaje en un chat de Claude Code. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.
Instala el MCP server Approval gate for databases para Claude Code en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): claude mcp add --scope user approval-gate --env GATE_COMMAND=your-value --env HIBIRA_APP_ID=your-value --env HIBIRA_KEY=your-value --env HIBIRA_SECRET=your-value -- npx -y @hibira-io/mcp-approval-gate 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) En GATE_COMMAND, HIBIRA_KEY, HIBIRA_SECRET, HIBIRA_APP_ID deja "your-value" y dime que pegue yo el valor real en el archivo o en el campo de la app. Nunca me pidas escribir una clave en el chat. 5) Haz lo acordado y comprueba que las herramientas de Approval gate for databases aparecen de verdad.Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.
¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter
node -vMac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter
Windows: abre Inicio, escribe Windows PowerShell y elige Abrir
Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl
Abrir la página de descarga de Node.js ↗
Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v
Se instala una vez y sirve para todo lo que usa Node.js
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Consulta precios y planes gratis en su sitio.
Son ajustes del programa, no claves. No hace falta registrarse; rellénalos como explica el autor.
HIBIRA_APP_ID Hibira app ID (hibira.io portal)Las descripciones siguen en el inglés original.
Mac: pulsa Command+Espacio y escribe Terminal · Windows: abre PowerShell
claude mcp add --scope user approval-gate --env GATE_COMMAND=your-value --env HIBIRA_APP_ID=your-value --env HIBIRA_KEY=your-value --env HIBIRA_SECRET=your-value -- npx -y @hibira-io/mcp-approval-gateCambia “your-value” por tu clave antes de pulsar Enter
Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Deberías ver Approval gate for databases en la lista como conectado
Usa Approval gate for databases y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Claude Code dice que está usando Approval gate for databases o muestra una herramienta de Approval gate for databases en la respuesta, ya está conectado
El comando de arriba funciona sin estos valores. Añádelos solo si quieres cambiar algo, según la descripción del autor.
GATE_LABEL The database's name on the approval pageGATE_PUSH_INTERESTS Comma-separated push interests that receive approval requestsGATE_MODE writes (default), all or none · valor por defecto writesLas descripciones siguen en el inglés original.
Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Funciona con Cursor, pero hay que preparar algo antes
Necesitas una clave de Approval gate for databases (créala en el sitio del autor) · 1 ajuste(s) que rellenar (HIBIRA_APP_ID) · Instala Node.js en tu computadora primero (una sola vez)
Copia este mensaje en un chat de Cursor. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.
Instala el MCP server Approval gate for databases para Cursor en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "mcpServers": { "approval-gate": { "command": "npx", "args": [ "-y", "@hibira-io/mcp-approval-gate" ], "env": { "GATE_COMMAND": "your-value", "HIBIRA_APP_ID": "your-value", "HIBIRA_KEY": "your-value", "HIBIRA_SECRET": "your-value" } } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) En GATE_COMMAND, HIBIRA_KEY, HIBIRA_SECRET, HIBIRA_APP_ID deja "your-value" y dime que pegue yo el valor real en el archivo o en el campo de la app. Nunca me pidas escribir una clave en el chat. 5) Haz lo acordado y comprueba que las herramientas de Approval gate for databases aparecen de verdad.Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.
¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter
node -vMac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter
Windows: abre Inicio, escribe Windows PowerShell y elige Abrir
Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl
Abrir la página de descarga de Node.js ↗
Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v
Se instala una vez y sirve para todo lo que usa Node.js
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Consulta precios y planes gratis en su sitio.
Son ajustes del programa, no claves. No hace falta registrarse; rellénalos como explica el autor.
HIBIRA_APP_ID Hibira app ID (hibira.io portal)Las descripciones siguen en el inglés original.
En la configuración de Approval gate for databases, GATE_COMMAND, HIBIRA_KEY, HIBIRA_SECRET, HIBIRA_APP_ID está vacío; añade tu clave y guarda
Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Usa Approval gate for databases y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Cursor dice que está usando Approval gate for databases o muestra una herramienta de Approval gate for databases en la respuesta, ya está conectado
El comando de arriba funciona sin estos valores. Añádelos solo si quieres cambiar algo, según la descripción del autor.
GATE_LABEL The database's name on the approval pageGATE_PUSH_INTERESTS Comma-separated push interests that receive approval requestsGATE_MODE writes (default), all or none · valor por defecto writesLas descripciones siguen en el inglés original.
Nombres de menú comprobados con la ayuda de Cursor el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Funciona con VS Code, pero hay que preparar algo antes
Necesitas una clave de Approval gate for databases (créala en el sitio del autor) · 1 ajuste(s) que rellenar (HIBIRA_APP_ID) · Instala Node.js en tu computadora primero (una sola vez)
Copia este mensaje en un chat de VS Code. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.
Instala el MCP server Approval gate for databases para VS Code en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "servers": { "approval-gate": { "type": "stdio", "command": "npx", "args": [ "-y", "@hibira-io/mcp-approval-gate" ], "env": { "GATE_COMMAND": "your-value", "HIBIRA_APP_ID": "your-value", "HIBIRA_KEY": "your-value", "HIBIRA_SECRET": "your-value" } } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) En GATE_COMMAND, HIBIRA_KEY, HIBIRA_SECRET, HIBIRA_APP_ID deja "your-value" y dime que pegue yo el valor real en el archivo o en el campo de la app. Nunca me pidas escribir una clave en el chat. 5) Haz lo acordado y comprueba que las herramientas de Approval gate for databases aparecen de verdad.Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.
¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter
node -vMac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter
Windows: abre Inicio, escribe Windows PowerShell y elige Abrir
Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl
Abrir la página de descarga de Node.js ↗
Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v
Se instala una vez y sirve para todo lo que usa Node.js
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Consulta precios y planes gratis en su sitio.
Son ajustes del programa, no claves. No hace falta registrarse; rellénalos como explica el autor.
HIBIRA_APP_ID Hibira app ID (hibira.io portal)Las descripciones siguen en el inglés original.
En la configuración de Approval gate for databases, GATE_COMMAND, HIBIRA_KEY, HIBIRA_SECRET, HIBIRA_APP_ID está vacío; añade tu clave y guarda
Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Usa Approval gate for databases y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si VS Code dice que está usando Approval gate for databases o muestra una herramienta de Approval gate for databases en la respuesta, ya está conectado
El comando de arriba funciona sin estos valores. Añádelos solo si quieres cambiar algo, según la descripción del autor.
GATE_LABEL The database's name on the approval pageGATE_PUSH_INTERESTS Comma-separated push interests that receive approval requestsGATE_MODE writes (default), all or none · valor por defecto writesLas descripciones siguen en el inglés original.
Nombres de menú comprobados con la ayuda de VS Code el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Otras apps que usan MCP, como Windsurf, Zed o Gemini CLI, añaden servidores de forma distinta. Míralo en la lista de apps
Ver todas las apps que usan MCP →
La configuración JSON está en “Para desarrolladores”, abajo
Claude Code
claude mcp add --scope user approval-gate --env GATE_COMMAND=your-value --env HIBIRA_APP_ID=your-value --env HIBIRA_KEY=your-value --env HIBIRA_SECRET=your-value -- npx -y @hibira-io/mcp-approval-gateClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"approval-gate": {
"command": "npx",
"args": [
"-y",
"@hibira-io/mcp-approval-gate"
],
"env": {
"GATE_COMMAND": "your-value",
"HIBIRA_APP_ID": "your-value",
"HIBIRA_KEY": "your-value",
"HIBIRA_SECRET": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"approval-gate": {
"command": "npx",
"args": [
"-y",
"@hibira-io/mcp-approval-gate"
],
"env": {
"GATE_COMMAND": "your-value",
"HIBIRA_APP_ID": "your-value",
"HIBIRA_KEY": "your-value",
"HIBIRA_SECRET": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"approval-gate": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@hibira-io/mcp-approval-gate"
],
"env": {
"GATE_COMMAND": "your-value",
"HIBIRA_APP_ID": "your-value",
"HIBIRA_KEY": "your-value",
"HIBIRA_SECRET": "your-value"
}
}
}
}GATE_COMMAND secreto obligatorio envHIBIRA_APP_ID obligatorio envHIBIRA_KEY secreto obligatorio envHIBIRA_SECRET secreto obligatorio envGATE_LABEL envGATE_PUSH_INTERESTS envGATE_MODE envLas descripciones siguen en el inglés original.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
npm: @hibira-io/mcp-approval-gateSegún cómo se conecta este servidor y la documentación de cada app, comprobado el 10 nov 2026.
Se ejecutan en tu computadora en
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 16 nov 2026
El nombre en el registro se verificó con el dominio hibira.io (el registro comprueba quién es dueño del dominio)
Último cambio de código: hace 3 días
Usa MIT
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Sin entradas en OSV.dev para @hibira-io/mcp-approval-gate@0.4.0
Solo revisa esta versión del paquete, no todas sus dependencias · revisado 16 nov 2026
Pregunta, comparte un consejo o avisa de que no funciona. Ordenado por lo que la gente marcó como útil.
Aún no hay publicaciones. Sé la primera persona en preguntar o compartir.
Lo publicado aquí lo escriben usuarios, no el equipo de PopNx.
Aún no hay reseñas
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 3 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: GATE_COMMAND, HIBIRA_KEY, HIBIRA_SECRET
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez hace 3 días, y la última versión (0.4.0) llegó al registro hace 3 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: QueryWeaver, Supabase, Neon, DBCode, Keboola MCP
Misma categoría, otros creadores, comandos ya revisados. Primero los oficiales, luego por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
An MCP server for Text2SQL: transforms natural language into SQL using graph schema understanding.
MCP server for interacting with the Supabase platform
Official Neon MCP server for managing Neon projects and Lakebase Postgres databases.
Query and explore 100+ databases through your DBCode connections.
Connect your AI assistants to Keboola and expose your data, transformations, SQL queries, ...
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
@hibira-io/mcp-approval-gate sits in front of the MCP server that connects your assistant to a database. Reads go straight through. Anything that changes data or schema waits until another person approves it on a hosted approval page, sent to their phone as a push notification. Then it runs once, exactly as approved.
A real session: Claude Code asks to mark order 1042 as refunded through DBHub. The UPDATE waits and the assistant never gets the approval link. The request shows up in the store manager's Hibira Approvals inbox on her phone (it is also sent to her as a push notification); she opens it, checks the statement and approves, and the assistant finishes the change. (MP4 · the same request rejected)
It works with any MCP server, and is tested with:
postgres-mcp)mcp.supabase.com)and with Claude (Desktop, Code and claude.ai), Cursor, ChatGPT and any other MCP client.
assistant ──► approval gate ──► database MCP server ──► database
│ writes only ▼ Hibira approval page + push ──► supervisor taps Approve / Reject
Most database MCP servers offer two choices: read-only, or let the assistant write anything. Client-side "allow this tool?" prompts are answered by the same person who asked. The gate adds the step a team usually wants for production data: a supervisor approval by someone else, with the exact statement in front of them.
UPDATE, DROP TABLE, ...), warnings such as "DELETE without WHERE changes every row", and the full statement.-- is the database server's usual command. There are no keys to copy.To connect ahead of time from a terminal instead, run npx -y @hibira-io/mcp-approval-gate login. status and logout work the same way. The connection is a token, kept in ~/.config/hibira/approval-gate.json, that can only ask for and read that workspace's approvals. Admins see every connected gate in the workspace settings and can revoke one at any time.
claude mcp add shop-db -e GATE_LABEL=shop-production \
-- npx -y @hibira-io/mcp-approval-gate \ -- npx -y @bytebase/dbhub --transport stdio --dsn "postgres://user:pass@host:5432/shop"
claude_desktop_config.json, .cursor/mcp.json and the others take the same shape:
{
"mcpServers": { "shop-db": { "command": "npx", "args": [ "-y", "@hibira-io/mcp-approval-gate", "--label", "shop-production", "--", "npx", "-y", "@bytebase/dbhub", "--transport", "stdio", "--dsn", "postgres://user:pass@host:5432/shop" ] } } }
postgres-mcp:
"args": ["-y", "@hibira-io/mcp-approval-gate", "--label", "analytics", "--",
"uvx", "postgres-mcp", "--access-mode=unrestricted"], "env": { "DATABASE_URI": "postgresql://..." }
--access-mode=unrestricted is fine here: the gate is what holds writes back.
Supabase (local server):
"args": ["-y", "@hibira-io/mcp-approval-gate", "--label", "supabase-prod", "--",
"npx", "-y", "@supabase/mcp-server-supabase@latest", "--project-ref= "], "env": { "SUPABASE_ACCESS_TOKEN": "sbp_..." }
execute_sql with a SELECT runs right away; writes, apply_migration, deploy_edge_function, branch merges and project pauses wait for approval.
Supabase (hosted server):
"args": ["-y", "@hibira-io/mcp-approval-gate", "--label", "supabase-prod",
"--upstream-url", "https://mcp.supabase.com/mcp?project_ref= ", "--header", "Authorization: Bearer ${SUPABASE_ACCESS_TOKEN}"],
Web clients need an HTTPS URL, so run the gate as a small server next to your database and put HTTPS in front of it (your reverse proxy, a tunnel, or a platform such as Fly.io or Railway):
npx -y @hibira-io/mcp-approval-gate login # once, on the server
export GATE_TOKEN="$(openssl rand -hex 24)" # keep it secret npx -y @hibira-io/mcp-approval-gate --http --host 0.0.0.0 --port 8787 \ --label shop-production \ -- npx -y @bytebase/dbhub --transport stdio --dsn "$DATABASE_URL"
The endpoint is https://your-host/mcp/ ; clients that can send headers may use https://your-host/mcp with Authorization: Bearer .
The gate refuses to listen on a non-local address without GATE_TOKEN. A Dockerfile is included. In a container, where there is no terminal to sign in from, pass the workspace token as HIBIRA_APPROVALS_TOKEN (copy it from ~/.config/hibira/approval-gate.json after login on any machine), or watch the gate's log for the connect link on first start.
The gate works in front of any MCP server. For a few common ones, --preset knows which tools only read and which change something, and gives the approval a plain title such as "Stripe: POST /v1/refunds" or "GitHub: merge pull request acme/shop#42". --allow and --gate still win over a preset.
| Preset | Waits for approval | Runs right away |
|---|---|---|
stripe | stripe_api_write, send_money, transfer_money, convert_currency, ... | stripe_api_read, search, docs, analytics |
github | merges, pushes, file changes, new repos, workflow runs, comments | get_*, list_*, search_*, *_read |
gmail | sending, replying, forwarding, deleting, filters | reading, searching, drafts |
shopify | graphql_mutation, creating, updating, discounts, inventory | queries, analytics, docs |
Stripe (hosted server, with an agent API key):
claude mcp add stripe -- npx -y @hibira-io/mcp-approval-gate --preset stripe \
--upstream-url https://mcp.stripe.com --header 'Authorization: Bearer ${STRIPE_AGENT_KEY}'
GitHub (official server in Docker):
claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=... \
-- npx -y @hibira-io/mcp-approval-gate --preset github \ -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
For Gmail and Shopify, put --preset gmail or --preset shopify in front of the server you already use. Tools a preset does not know follow the usual rules below.
A write call waits up to 50 seconds (--wait) for the decision, sending progress updates so the client does not give up early:
approval_id. The gate adds one tool, check_approval: when the person says it is decided, the assistant calls it with that approval_id, and the call runs if it was approved. Asking for the same call again reuses the same request.The assistant does not get the approval link when the gate is connected to an Approvals workspace (its members are notified and decide signed in), or when the request reaches the supervisor another way (--push-interests, --push-users or --channel), so the person chatting with it cannot approve their own change from the chat. Without any of those, the link is the only way to reach a supervisor, so the assistant shows it for you to forward. --show-link always or never overrides this.
With the default --mode writes:
--gate always wait; tools in --allow never do (a trailing * matches a prefix).sql, query, statement, queries, ...) wait if any statement changes something: INSERT, UPDATE, DELETE, MERGE, CREATE, ALTER, DROP, TRUNCATE, GRANT, COPY, CALL, DO, SET, VACUUM, data-changing WITH, SELECT ... INTO, EXPLAIN ANALYZE of a write, SELECT of functions such as setval or pg_terminate_backend, and anything it cannot parse. Comments, strings and dollar-quoted bodies are skipped, so SELECT 'DROP TABLE x' is a read.readOnlyHint or named like a read (list_, get_, search_, describe_, explain_, analyze_, ...). Everything else waits.--mode all sends every call for approval, reads included. --mode none turns the gate off (useful while testing).
The gate is a second pair of eyes, not a permission system. Give the database user only the rights it needs too.
The same package is a hook for Claude Code, Codex, Cursor and Hermes Agent. Shell commands that are hard to take back wait until a second person in your Hibira Approvals workspace approves them; everything else runs as usual.
| Waits for approval | Examples |
|---|---|
| Deleting files | rm -rf src, find . -delete, git clean -fdx (not rm -rf node_modules, dist, build, ...) |
| Rewriting git history | git push --force, git reset --hard, git branch -D, deleting remote branches |
| Deploys and releases | `vercel -