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

MIT License skills.sh npm PyPI Smithery Glama score

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 construirComienza con
Notificaciones y preguntas para un agente de codificaciónLas instrucciones de configuración a continuación
Una aprobación de herramienta aplicada en el Vercel AI SDKEjemplo ejecutable de AI SDK
Un flujo de trabajo de LangGraph que se ramifica según una decisión humanaEjemplo ejecutable de LangGraph
Otro framework de agentesTodas 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.

SuperficieRespuestas
MóvilConfirmació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 MacPreguntas de cuenta personal, incluida la respuesta con teclado. No se proporciona actualmente una bandeja de entrada de clientes de Partner.
SlackBotones, menús de elección y modales de texto cuando la integración y el destinatario están configurados.
NavegadorRespaldo 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:

HerramientaDescripción
send_notificationEnvía una notificación push con contexto enriquecido opcional (cambios de archivos, errores, próximos pasos)
ask_userPregunta al usuario vía push - sí/no, opción múltiple o texto libre
wait_for_answerSondeo largo para la respuesta del usuario a una pregunta
cancel_questionCancela una pregunta pendiente que ya no es relevante
list_sessionsVista de solo lectura de tus sesiones de agente en vivo y preguntas pendientes
propose_scopeRatifica 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

PaqueteRegistroDescripción
pusharynpmEl CLI de Pushary: configuración, hooks de permisos y doctor. También publicado como @pushary/agent-hooks, el mismo paquete
hermes-plugin-pusharyPyPIPlugin nativo de Hermes Agent

Agentes compatibles

Funciona con cualquier agente que admita skills.sh o el Protocolo de Contexto de Modelo:

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