Pushary
Notificaciones push y aprobaciones con intervención humana para agentes de IA: haz una pregunta a mitad de ejecución y recibe la respuesta desde la pantalla de bloqueo del teléfono.
Documentación
Pushary Agent Skill
Notificaciones push e intervención humana para agentes de IA. Aprueba desde tu teléfono.
Comenzar
·
Directorio de habilidades
·
Reportar un error
Comienza aquí
Prueba una aprobación sin registrarte → conecta una página de teléfono abierta → aprueba o rechaza → observa cómo el agente continúa o se detiene. Esta demostración en el navegador usa sondeo y estado temporal, no entrega push real ni el registro de producción.
| Lo que quieres construir | Comienza con |
|---|---|
| Notificaciones y preguntas para un agente de codificación | Las instrucciones de configuración a continuación |
| Una aprobación de herramienta aplicada en el Vercel AI SDK | Ejemplo ejecutable de AI SDK |
| Un flujo de trabajo de LangGraph que se ramifica según una decisión humana | Ejemplo ejecutable de LangGraph |
| Otro framework de agentes | Todas las integraciones de Pushary |
La habilidad y los adaptadores tienen licencia MIT. La entrega telefónica alojada requiere una cuenta de Pushary; la incorporación de aprobaciones para tus propios usuarios requiere acceso de Partner. Los dos ejemplos de frameworks también se ejecutan localmente con respuestas simuladas y sin credenciales.
Si Pushary te ayudó, dale una estrella a este repositorio. ¿Quieres ayudar? Los problemas públicos y los parches son bienvenidos.
Pushary permite que tu agente de codificación envíe actualizaciones de tareas y te pida una decisión en tu teléfono. Los hooks de host compatibles también aplican aprobaciones antes de que se ejecute una acción.
La entrega alojada requiere un plan de Pushary de pago. Las preguntas y notificaciones de MCP funcionan con cualquier cliente compatible; las aprobaciones aplicadas dependen de la integración del host.
Cómo funciona
AI Agent -> MCP Protocol -> Pushary API -> Push Notification -> Your Phone
Pushary es un servidor MCP que conecta tu agente de codificación de IA a notificaciones push. El agente llama a las herramientas de Pushary a través del Protocolo de Contexto de Modelo, y tú recibes notificaciones al instante en cualquier dispositivo.
Tres tipos de preguntas - confirmaciones de sí/no, opción múltiple y entrada de texto libre. Tu agente elige la adecuada para cada situación.
Notificaciones con contexto enriquecido - los agentes pueden incluir cambios de archivos, detalles de errores y próximos pasos sugeridos en una página de detalles que ves al tocar la notificación.
Identificación del agente - cuando ejecutas varios agentes, cada notificación muestra qué agente está preguntando para que siempre sepas a qué estás respondiendo.
Hooks de permisos - enruta las solicitudes de aprobación de herramientas de Claude Code a través de notificaciones push para que puedas aprobar o denegar desde tu teléfono.
Configuración personal: teléfono primero
Ejecuta la configuración de emparejamiento en la terminal de tu agente:
npx pushary@latest setup
Instala Pushary en tu teléfono, escanea el código QR o abre el enlace impreso, compara las huellas digitales y aprueba. La configuración luego ajusta las herramientas del agente seleccionado, los hooks compatibles y la habilidad. No necesitas copiar una clave API primero. Las cuentas personales requieren un plan de pago. Las credenciales existentes se reutilizan.
Verifica la configuración:
npx pushary@latest doctor
Pide a tu agente una pregunta de prueba inofensiva. Confirma que el dispositivo previsto la recibe y que la respuesta regresa a la misma tarea.
Para Hermes específicamente:
npx pushary@latest setup --agents hermes
Esto instala el plugin nativo en el intérprete de Hermes y lo configura. El plugin proporciona herramientas de notificación, pregunta, espera, cancelación y alcance, además de herramientas de inscripción de Partner y preguntas de clientes. Sus parámetros usan snake_case; usa la habilidad de Hermes, no los nombres de parámetros de MCP. El transporte de aprobación nativo preserva la sesión de Hermes y las aprobaciones permanentes.
Muesca del Mac y otras superficies de respuesta
Instala Pushary para Mac, inicia sesión con la misma cuenta personal y conecta tus agentes desde la aplicación. La muesca proporciona controles de confirmación, elección, texto y conjuntos de preguntas con soporte de teclado. Mantén la aplicación en ejecución para presencia y entrega; verifica una pregunta inofensiva allí, luego usa el teléfono como respaldo cuando estés lejos del Mac.
| Superficie | Respuestas |
|---|---|
| Móvil | Confirmación, elección y texto en la aplicación. Las notificaciones de confirmación compatibles exponen aprobar/denegar en la pantalla de bloqueo; las elecciones arbitrarias y el texto abren la aplicación. |
| Muesca del Mac | Preguntas de cuenta personal, incluida la respuesta con teclado. No se proporciona actualmente una bandeja de entrada de clientes de Partner. |
| Slack | Botones, menús de elección y modales de texto cuando la integración y el destinatario están configurados. |
| Navegador | Respaldo de página de decisión y notificaciones del navegador cuando el permiso está habilitado. |
La entrega sigue tus configuraciones y presencia. push_first usa presencia, push_only solicita push cada vez, notify_only mantiene las decisiones en el cliente actual y terminal_only evita el push. Una llamada API exitosa por sí sola no prueba que un dispositivo mostró la solicitud.
Configuración de Partner: tus propios clientes
El emparejamiento personal te conecta a ti, el operador. Las integraciones de Partner inscriben a cada cliente de tu aplicación a través de un enlace de conexión con alcance y dirigen las decisiones usando tu ID de cliente estable. Los clientes usan el flujo de inscripción móvil; no enrutes sus aprobaciones a tu bandeja de entrada personal del Mac ni compartas una clave API de operador.
Comienza con la guía de integración de Partner, luego un ejemplo de agente Mastra, ejemplo de AI SDK o ejemplo de LangGraph. Las herramientas eligen confirmación, elección o texto. Aprobar una acción y proporcionar una respuesta son operaciones diferentes; una respuesta de texto que dice "sí" no es permiso para ejecutar otra herramienta.
Respaldo de navegador y manual
Para el emparejamiento en el navegador:
npx pushary@latest setup --connect browser
Para un cliente que necesita configuración manual de MCP, obtén tu clave en el panel de Pushary y configura:
{
"mcpServers": {
"pushary": {
"url": "https://pushary.com/api/mcp/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Mantén la clave privada. Instala la habilidad con npx skills add Pushary/pushary-skill si el cliente admite skills.sh. El MCP manual proporciona preguntas y notificaciones cooperativas; las aprobaciones aplicadas requieren los hooks de host compatibles o la integración de runtime.
Los usuarios de Claude Code pueden instalar alternativamente este repositorio como plugin:
/plugin marketplace add Pushary/pushary-skill
/plugin install pushary
Esa ruta lee PUSHARY_API_KEY del entorno. Elige una ruta de instalación: instalar el plugin sobre hooks de Claude instalados por CLI puede ejecutar hooks dos veces. Usa npx pushary@latest clean antes de cambiar de ruta.
Configuración: Lovable
Lovable es un constructor de aplicaciones alojado, por lo que no hay paso de instalación local (npx skills add no aplica). Conectas el servidor MCP en la interfaz de Lovable y luego pegas la habilidad en el Conocimiento de Lovable para que el agente la use por sí solo.
1. Conecta el servidor MCP. En Lovable, ve a Configuración -> Conectores -> Conectores personales (planes de Lovable de pago), haz clic en Nuevo servidor MCP, establece la URL a https://pushary.com/api/mcp/mcp, elige Token Bearer y pega tu clave API (pk_xxx.sk_xxx).
2. Agrega la habilidad al Conocimiento. Lovable no puede instalar habilidades vía npx, así que pega la guía de la habilidad en Configuración -> Conocimiento. Usa el SKILL-LITE.md condensado como fuente. Esto hace que el agente de Lovable te notifique cuando una compilación termina y pregunte antes de cambios riesgosos, sin que tengas que solicitarlo cada vez.
Lovable recibe notificaciones y preguntas solamente (sin puerta aplicada, ya que no tiene hook de permisos). Guía completa: Guía de Lovable.
Configuración: Claude Chat y Cowork
Para Claude Chat o Claude Code, usa Pushary para Claude. En Chat, abre Personalizar > Plugins > Agregar > Agregar marketplace, agrega https://github.com/Pushary/claude-plugin e instala Pushary para Claude. En Claude Code, ejecuta /plugin marketplace add Pushary/claude-plugin, luego /plugin install pushary@pushary-claude-plugin.
Para Cowork, el plugin existente de Pushary para Cowork sigue disponible. Agrega https://github.com/Pushary/cowork-plugin como marketplace e instala Pushary para Cowork. Cowork también admite instrucciones permanentes en Configuración > Cowork. Su plugin existente, marketplace e identificadores de habilidad pushary-cowork se preservan.
Ambos paquetes usan el conector OAuth público y la misma habilidad compartida. Conecta Pushary desde la pestaña Conectores del plugin en Chat o Cowork, o /mcp en Claude Code, e inicia sesión con la misma cuenta de Pushary usada por tu teléfono o Mac. No se necesita CLI ni clave API para ninguno de los dos paquetes.
Si el conector falta, agrega https://pushary.com/api/mcp/mcp en Personalizar > Conectores > Agregar conector personalizado y deja los campos de ID de Cliente OAuth y Secreto vacíos. Habilita Pushary en la conversación, haz una pregunta de prueba inofensiva y verifica que tu respuesta regresa a Claude.
Estos paquetes proporcionan preguntas y notificaciones y no instalan hooks de permisos nativos. Para hooks de aprobación de Claude Code, usa la configuración de Claude Code anterior. Elige una ruta de instalación por aplicación para evitar conectores de Pushary duplicados. Guía completa de Claude.
Herramientas
La habilidad guía estas herramientas MCP:
| Herramienta | Descripción |
|---|---|
send_notification | Envía una notificación push con contexto enriquecido opcional (cambios de archivos, errores, próximos pasos) |
ask_user | Pregunta al usuario vía push - sí/no, opción múltiple o texto libre |
wait_for_answer | Sondeo largo para la respuesta del usuario a una pregunta |
cancel_question | Cancela una pregunta pendiente que ya no es relevante |
list_sessions | Vista de solo lectura de tus sesiones de agente en vivo y preguntas pendientes |
propose_scope | Ratifica el límite de una ejecución: globs de archivos, aplicados en hosts compatibles, o una promesa registrada cuando la ejecución no cambia archivos |
La documentación completa de herramientas con parámetros, ejemplos y pautas de uso está en skills/pushary/SKILL.md.
Intervención humana en el bucle
El agente puede pedirte decisiones vía push y esperar tu respuesta:
Agent: "Which auth strategy should I use?"
Options: JWT tokens / Session cookies / OAuth2 + PKCE
-> push to your phone
You: tap "JWT tokens"
Agent: proceeds with JWT implementation
Admite tres tipos de preguntas:
- Confirmar - decisiones binarias de sí/no
- Seleccionar - elige entre 2-6 opciones
- Entrada - respuesta de texto libre
Lee answered, status y handoffAction (o nextAction) del resultado de la herramienta. Haz sondeo solo según lo indicado; cancela una pregunta en vivo antes de pasarla a otra superficie y honra cualquier respuesta ganadora. La caducidad y las esperas siguen la política del servidor. El silencio no es aprobación, y una respuesta tardía no puede reiniciar un turno de agente finalizado.
Paquetes
| Paquete | Registro | Descripción |
|---|---|---|
pushary | npm | El CLI de Pushary: configuración, hooks de permisos y doctor. También publicado como @pushary/agent-hooks, el mismo paquete |
hermes-plugin-pushary | PyPI | Plugin nativo de Hermes Agent |
Agentes compatibles
Funciona con cualquier agente que admita skills.sh o el Protocolo de Contexto de Modelo:
- Claude Code (MCP + hooks de permisos)
- Claude Cowork (conector personalizado + carga de habilidad)
- Hermes Agent (plugin nativo o MCP)
- Cursor (MCP)
- Windsurf (MCP)
- Lovable (conector MCP + habilidad vía Conocimiento)
- OpenAI Codex (MCP)
- Otros clientes que admiten servidores MCP remotos
Publicación de la entrada del registro MCP
server.json no se publica fusionándolo. El registro MCP sirve un registro por versión, por lo que una edición aquí no llega a nadie hasta que la nueva versión se envía al registro, y el texto anterior sigue siendo lo que cada agente lee.
Ruta cotidiana: incrementa version en server.json, fusiona a main, luego sincroniza el espejo público de la habilidad. Su flujo de trabajo de lanzamiento publica la nueva entrada del registro.
El flujo de trabajo de publicación publica desde el repositorio público de Pushary para que GitHub OIDC pueda demostrar la propiedad del espacio de nombres io.github.Pushary/pushary. Verifica el flujo de trabajo y el resultado del registro después de la publicación.
Respaldo manual, desde este directorio:
curl -L "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
./mcp-publisher login github
./mcp-publisher publish
Comprueba lo que realmente sirve el registro, que es el único número que importa:
curl -s "https://registry.modelcontextprotocol.io/v0/servers?search=pushary"
Ese endpoint devuelve todas las versiones, de la más antigua a la más reciente. Lee la entrada cuyo _meta."io.modelcontextprotocol.registry/official".isLatest es true; la primera fila de la lista es el registro más antiguo, no el activo.
Contribuciones
¡Las contribuciones son bienvenidas! Por favor, lee la guía de contribución antes de enviar una solicitud de extracción.
Seguridad
Si descubres una vulnerabilidad de seguridad, repórtala de manera responsable. Consulta SECURITY.md para más detalles.
Financiación
Este proyecto está totalmente financiado por RalphNex OU, una agencia de desarrollo de software estonia.
Licencia
MIT - Copyright (c) 2025 RalphNex OU