unblock
unblock
Una sola cola para todo lo que tus agentes necesitan de ti.
Un agente que se topa con un muro que solo un humano puede franquear — una clave de API, un clic en la consola, una concesión de OAuth, una aprobación — registra una solicitud estructurada y o sigue trabajando o se estaciona. Respondes un lote de ellas en una sola página, secretos incluidos, y las estacionadas se despiertan.
Nunca lees una transcripción para averiguar qué quería un agente.
Por qué existe
Toda herramienta con un humano en el circuito para agentes resuelve un tercio de este problema. interrupt() de LangGraph tiene las semánticas de espera correctas y no incluye ninguna cola ni interfaz. HumanLayer y gotoHuman tienen solicitudes estructuradas y las enrutan a través de un SaaS. Los servidores de preguntas MCP locales son de un solo agente, síncronos, y devuelven la respuesta directamente a través del resultado de la herramienta — que es exactamente donde una clave de API jamás debe ir.
unblock es los tres a la vez: local-first, secretos que permanecen fuera del contexto del modelo, y una única cola para todos los agentes de la máquina.
Related MCP server: human-loop-mcp
Cómo funciona
Dos llamadas, y solo una de ellas detiene al agente.
llamada | ¿bloquea? | ¿cuántas a la vez? |
| no — devuelve un ticket, el agente sigue trabajando | ilimitadas |
| sí — espera hasta que se responda | una por agente |
Esa única restricción es lo que hace seguro responder parcialmente. Responder a una solicitud registrada nunca interrumpe nada, así que puedes responderlas en cualquier orden. Responder a la estacionada despierta al agente, y este recoge todas las respuestas registradas que llegaron mientras estaba ausente.
Un agente que necesita tres cosas declara un único park con tres campos. No se estaciona tres veces, porque solo puede detenerse en un único lugar.
Secretos
Un secreto escrito en el formulario nunca regresa por el canal que va a parar al contexto de un modelo. El daemon lo almacena y le entrega al agente una referencia:
op://Private/abc123/credential # 1Password — masks the value if printed
ub_9cjp4t-stripe_key # macOS keychain
$UNBLOCK_STRIPE_KEY # env file, 0600El agente lo resuelve en el momento en que lo necesita y nunca lo imprime. Se prefiere 1Password cuando op ha iniciado sesión, porque op run enmascara el valor incluso si un subproceso lo muestra en pantalla — el único backend con esa protección.
Instalación
npm install -g unblockd # daemon, MCP server, CLI (binary: unblock)
unblock daemon startLuego apunta un agente hacia él. Para Claude Code:
claude mcp add unblock -- npx unblockd mcpE instala la skill para que los agentes sepan cuándo estacionarse:
npx skills add aneym/unblock --skill unblock -gherdr
herdr plugin install aneym/unblock --yesalt+p u abre el modo unblock: un panel ampliado con toda la cola, acotado al perfil activo, en el que se puede responder directamente. Las respuestas despiertan al agente en su panel.
El plugin también lista los agentes que herdr ha detectado como bloqueados pero que nunca declararon una solicitud — debajo de los que sí declararon, de modo que un estancamiento silencioso siga siendo visible.
Responder desde el móvil
unblock link genera una URL efímera. Muere al enviar la respuesta y expira con un temporizador, así que una pestaña abandonada en tu bolsillo no seguirá viva mañana. Sírvela a través de tu propia tailnet, o usa un túnel rápido si no tienes tailnet:
tailscale serve --https=8799 127.0.0.1:4488 # tailnet only
cloudflared tunnel --url http://127.0.0.1:4488 # no accountEstructura
src/schema.js ask + field validation, the profile rule
src/store.js SQLite queue, one-park-per-agent, drafts, links
src/secrets.js 1Password -> keychain -> env file
src/daemon.js HTTP API, the answer page, SSE
src/mcp.js MCP server: file / park / check / cancel
web/ the answer page
plugin/ herdr plugin
skills/unblock/ the discipline agents follow before parkingCero dependencias de npm. La cola es un único archivo SQLite en ~/.local/state/unblock/queue.db.
Licencia
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Give any AI agent a way to ask a person — for approval, a decision, an answer or a review.
Shared task queue for humans and AI agents: leases, handoffs, approvals and signed receipts.
Contact point for AI agents: describe a missing capability or need; a human operator helps.
Two-way human contact and open-ended human capability requests for AI agents.
381
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to ask clarification questions and receive structured user input through a Human-in-the-Loop interface.1MIT
- AlicenseBqualityDmaintenanceEnables AI agents to ask human operators questions through polished browser dialogs, supporting text/choice/confirmation inputs and file attachments.7MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to request human decisions for subjective or high-stakes choices through MCP tools like ask_human and provision_api_key.-
- AlicenseNot gradedqualityCmaintenanceProvides durable queues, human-in-the-loop approval gates, and an audit trail for AI agent fleets, enabling blocking approval requests and reliable work handoffs.6 npmMIT