Pushary

Notificações push e aprovações com intervenção humana para agentes de IA: faça uma pergunta durante a execução e receba a resposta direto na tela de bloqueio do celular.

Documentação

Pushary Agent Skill

Notificações push e humano-no-loop para agentes de IA. Aprove pelo seu celular.
Comece agora  ·  Diretório de skills  ·  Reportar um bug

MIT License skills.sh npm PyPI Smithery Glama score


Seu agente de IA termina um refactor de 20 minutos enquanto você prepara um café. Sem o Pushary, você nunca saberia até voltar a verificar. Com o Pushary, você recebe uma notificação push no seu celular no momento em que termina - ou uma pergunta na tela de bloqueio quando o agente precisa de uma decisão. É a ferramenta por trás de "continue, me avise no celular se precisar de algo".

O Pushary é um serviço hospedado: US$ 9,99/mês após um teste de 3 dias com cartão. Funciona com Claude Code, Claude Cowork, Codex, Cursor, Windsurf, Hermes, Lovable ou qualquer cliente MCP, e não requer assinatura do Claude Max. Se você usa Claude Code com Claude Max, o Anthropic Remote Control cobre essa configuração gratuitamente. O Pushary cobre o que ele não cobre: Codex, Cursor, Claude Code sem Max, uma frota multi-agente, controle de políticas obrigatório, botões de resposta na tela de bloqueio e um trilha de auditoria de cada pergunta e resposta.

Como Funciona

AI Agent  ->  MCP Protocol  ->  Pushary API  ->  Push Notification  ->  Your Phone

O Pushary é um servidor MCP que conecta seu agente de codificação de IA a notificações push. O agente chama as ferramentas do Pushary por meio do Model Context Protocol, e você recebe notificações instantaneamente em qualquer dispositivo.

Três tipos de pergunta - confirmações sim/não, múltipla escolha e entrada de texto livre. Seu agente escolhe o tipo certo para a situação.

Notificações com contexto rico - os agentes podem incluir alterações de arquivos, detalhes de erros e próximos passos sugeridos em uma página de detalhes que você vê ao tocar na notificação.

Identificação do agente - quando você executa vários agentes, cada notificação mostra qual agente está perguntando, para você sempre saber ao que está respondendo.

Hooks de permissão - encaminhe os prompts de aprovação de ferramentas do Claude Code por notificações push para que você possa aprovar ou negar pelo celular.


Configuração: Claude Code

Opção 0: Plugin do Claude Code (um comando)

Este repositório é um plugin do Claude Code. Instale-o e você obtém as ferramentas MCP, os hooks de permissão e a skill em uma única etapa:

/plugin marketplace add Pushary/pushary-skill
/plugin install pushary

Defina PUSHARY_API_KEY no seu ambiente (obtenha uma chave em pushary.com, US$ 9,99/mês após um teste de 3 dias). O Claude Code expande ${PUSHARY_API_KEY} na configuração MCP do plugin.

Escolha um caminho de instalação. Se você já executou npx @pushary/agent-hooks setup, os mesmos hooks já estão no seu ~/.claude/settings.json; instalar o plugin por cima executa cada hook duas vezes. Ou desinstale o plugin ou execute npx @pushary/agent-hooks clean antes de mudar.

Opção A: Servidor MCP (notificações + perguntas)

O agente chama as ferramentas do Pushary quando quer notificá-lo ou fazer uma pergunta.

1. Cadastre-se em pushary.com/sign-up e obtenha sua chave de API.

2. Instale a skill:

npx skills add Pushary/pushary-skill

3. Adicione o servidor MCP às configurações do seu Claude Code (~/.claude/settings.json ou projeto .claude/settings.json):

{
  "mcpServers": {
    "pushary": {
      "url": "https://pushary.com/api/mcp/mcp",
      "headers": {
        "Authorization": "Bearer pk_xxx.sk_xxx"
      }
    }
  }
}

Substitua pk_xxx.sk_xxx pela sua chave de API.

4. Ative as notificações no seu celular visitando o painel do Pushary e permitindo notificações do navegador.

É isso. O agente enviará notificações proativamente quando tarefas forem concluídas, erros ocorrerem ou decisões forem necessárias.

Opção B: Hooks de Permissão (aprovar/negar ferramentas via push)

Encaminhe os prompts de permissão integrados do Claude Code por notificações push. Quando o agente quiser executar um comando ou editar um arquivo, você recebe uma notificação push para aprovar ou negar pelo celular.

1. Instale o pacote de hooks:

npm install -g @pushary/agent-hooks

2. Defina sua chave de API no seu perfil de shell (~/.zshrc ou ~/.bashrc):

export PUSHARY_API_KEY="pk_xxx.sk_xxx"

3. Adicione o hook às configurações do seu Claude Code (~/.claude/settings.json):

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash|Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "pushary-hook",
            "timeout": 120
          }
        ]
      }
    ]
  }
}

4. Configure políticas de timeout no seu painel do Pushary:

FerramentaTimeoutSe não houver resposta
Bash60sNegar automaticamente
Write60sPerguntar no terminal
Edit45sPerguntar no terminal
Read0sAprovar automaticamente

Quando você não responde a uma notificação push a tempo, o fallback configurado entra em ação: aprovar automaticamente, negar automaticamente ou voltar ao prompt de permissão normal do terminal.

Opção C: Ambas (recomendado)

Use as Opções A e B juntas. O servidor MCP lida com notificações e perguntas voluntárias. O hook de permissão lida com aprovações de ferramentas. Eles usam a mesma chave de API e o mesmo painel.


Configuração: Hermes Agent

Opção A: Plugin Nativo (recomendado)

Integração completa com ferramentas nativas do Hermes e notificações automáticas de erros.

1. Instale o plugin:

pip install hermes-plugin-pushary

2. Ative-o:

hermes plugins enable pushary

3. Defina sua chave de API:

export PUSHARY_API_KEY="pk_xxx.sk_xxx"

4. (Opcional) Defina o nome do seu agente:

export PUSHARY_AGENT_NAME="Hermes - my-project"

O plugin registra 4 ferramentas nativas (pushary_notify, pushary_ask, pushary_wait, pushary_cancel) e envia automaticamente notificações push quando as ferramentas retornam erros.

Defina PUSHARY_AUTO_NOTIFY_SESSION_END=1 para também ser notificado quando uma sessão do Hermes terminar.

Opção B: Servidor MCP + Skill

Se você preferir MCP em vez do plugin nativo:

1. Adicione ao ~/.hermes/config.yaml:

mcp:
  servers:
    pushary:
      url: https://pushary.com/api/mcp/sse
      headers:
        Authorization: "Bearer ${PUSHARY_API_KEY}"

2. Instale a skill:

hermes skills tap add Pushary/pushary-skill
hermes skills install pushary-hermes

Configuração: OpenAI Codex

O Codex tem suporte nativo a MCP. Um comando:

1. Defina sua chave de API no seu perfil de shell (~/.zshrc ou ~/.bashrc):

export PUSHARY_API_KEY="pk_xxx.sk_xxx"

2. Adicione o servidor MCP:

codex mcp add pushary --url https://pushary.com/api/mcp/mcp --bearer-token-env-var PUSHARY_API_KEY

É isso. O Codex agora tem acesso a todas as ferramentas do Pushary - notificações, perguntas e contexto rico.

Ou use o assistente de configuração (configura tudo, incluindo a chave de API):

npx @pushary/agent-hooks setup

Configuração: Cursor / Windsurf / Outros Agentes MCP

1. Adicione o servidor MCP à configuração MCP do seu agente (geralmente .cursor/mcp.json ou similar):

{
  "mcpServers": {
    "pushary": {
      "url": "https://pushary.com/api/mcp/mcp",
      "headers": {
        "Authorization": "Bearer pk_xxx.sk_xxx"
      }
    }
  }
}

2. Instale a skill (se seu agente suportar skills.sh):

npx skills add Pushary/pushary-skill

Configuração: Lovable

Lovable é um construtor de aplicativos hospedado, então não há etapa de instalação local (npx skills add não se aplica). Você conecta o servidor MCP na interface do Lovable e depois cola a skill no Knowledge do Lovable para que o agente a use por conta própria.

1. Conecte o servidor MCP. No Lovable, vá em Settings -> Connectors -> Personal connectors (planos Lovable pagos), clique em New MCP server, defina a URL como https://pushary.com/api/mcp/mcp, escolha Bearer token e cole sua chave de API (pk_xxx.sk_xxx).

2. Adicione a skill ao Knowledge. O Lovable não pode instalar skills via npx, então cole as instruções da skill em Settings -> Knowledge. Use o SKILL-LITE.md condensado como fonte. Isso faz o agente Lovable notificá-lo quando um build termina e perguntar antes de mudanças arriscadas, sem você precisar solicitar toda vez.

O Lovable recebe apenas notificações e perguntas (sem controle obrigatório, pois não tem hook de permissão). Guia completo: Guia do Lovable.


Configuração: Claude Cowork

Claude Cowork é o espaço de trabalho agêntico da Anthropic dentro dos aplicativos Claude. É uma superfície hospedada (npx skills add não se aplica), então você conecta o Pushary como um conector personalizado e adiciona a skill pelo upload de skills do próprio Cowork.

1. Conecte o servidor MCP. Obtenha seu link de conector no painel do Pushary (Settings -> Connections, seção Claude). No Claude, abra Settings -> Connectors -> Add custom connector, deixe os campos OAuth vazios e cole o link. Os conectores são por conta, então o mesmo conector está disponível dentro do Cowork; ative-o em uma sessão em Customize -> Connectors.

2. Adicione a skill. Compacte a pasta skills/pushary-cowork e envie-a no Cowork em Customize -> Skills (skills precisam de execução de código ativada). Alternativamente, cole o bloco de instruções permanentes do seu painel do Pushary em Claude Settings -> Cowork, para que toda sessão avise você na conclusão e pergunte antes de etapas arriscadas, sem você precisar solicitar toda vez.

O Cowork recebe apenas notificações e perguntas (sem controle obrigatório; o Cowork não expõe hooks). Guia completo: Guia do Claude Cowork. Repositório de plugin dedicado: Pushary/cowork-plugin.


Ferramentas

A skill expõe 5 ferramentas MCP:

FerramentaDescrição
send_notificationEnvia uma notificação push com contexto rico opcional (alterações de arquivos, erros, próximos passos)
ask_userPergunta ao usuário via push - sim/não, múltipla escolha ou texto livre
wait_for_answerLong-poll pela resposta do usuário a uma pergunta
cancel_questionCancela uma pergunta pendente que não é mais relevante
list_sessionsVisualização somente leitura das suas sessões de agente ativas e perguntas pendentes

Documentação completa das ferramentas com parâmetros, exemplos e diretrizes de uso está em skills/pushary/SKILL.md.

Humano-no-Loop

O agente pode fazer perguntas de decisão via push e aguardar sua resposta:

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

Suporta três tipos de pergunta:

  • Confirm - decisões binárias sim/não
  • Select - escolha entre 2-6 opções
  • Input - resposta em texto livre

O fluxo usa ask_user -> wait_for_answer com tentativas automáticas. As respostas persistem por 10 minutos, então não há pressa.

Pacotes

PacoteRegistroDescrição
@pushary/agent-hooksnpmHooks de permissão do Claude Code
hermes-plugin-pusharyPyPIPlugin nativo do Hermes Agent

Agentes Compatíveis

Funciona com qualquer agente que suporte skills.sh ou o Model Context Protocol:

Publicando a entrada no registro MCP

server.json não é publicado ao fazer merge. O registro MCP serve um registro por versão, então uma edição aqui não chega a ninguém até que a nova versão seja enviada ao registro, e o texto antigo continua sendo o que todo agente lê.

Caminho do dia a dia: aumente version em server.json e faça merge em main. O workflow Release MCP registry entry captura isso.

Esse workflow precisa de uma credencial que ainda não possui. O registro concede direitos de publicação como io.github.<repository_owner>/*, obtidos da claim repository_owner do token OIDC do GitHub. Nosso servidor é io.github.Pushary/pushary e o monorepo é de propriedade de aadilghani1, então OIDC sem token do monorepo não pode alcançar o namespace. Até que uma das duas correções no cabeçalho desse workflow seja aplicada, a execução para com um erro explícito em vez de passar silenciosamente.

Fallback manual, a partir deste diretório:

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

Verifique o que o registro realmente serve, que é o único número que importa:

curl -s "https://registry.modelcontextprotocol.io/v0/servers?search=pushary"

Esse endpoint retorna todas as versões, da mais antiga para a mais nova. Leia a entrada cujo _meta."io.modelcontextprotocol.registry/official".isLatest é true; a primeira linha da lista é o registro mais antigo, não o ativo.

Contribuindo

Contribuições são bem-vindas! Leia o guia de contribuição antes de enviar um pull request.

Segurança

Se você descobrir uma vulnerabilidade de segurança, por favor, reporte-a de forma responsável. Consulte SECURITY.md para obter detalhes.

Financiamento

Este projeto é totalmente financiado pela RalphNex OU, uma agência de desenvolvimento de software estoniana.

Licença

MIT - Copyright (c) 2025 RalphNex OU