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
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:
| Ferramenta | Timeout | Se não houver resposta |
|---|---|---|
| Bash | 60s | Negar automaticamente |
| Write | 60s | Perguntar no terminal |
| Edit | 45s | Perguntar no terminal |
| Read | 0s | Aprovar 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:
| Ferramenta | Descrição |
|---|---|
send_notification | Envia uma notificação push com contexto rico opcional (alterações de arquivos, erros, próximos passos) |
ask_user | Pergunta ao usuário via push - sim/não, múltipla escolha ou texto livre |
wait_for_answer | Long-poll pela resposta do usuário a uma pergunta |
cancel_question | Cancela uma pergunta pendente que não é mais relevante |
list_sessions | Visualizaçã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
| Pacote | Registro | Descrição |
|---|---|---|
@pushary/agent-hooks | npm | Hooks de permissão do Claude Code |
hermes-plugin-pushary | PyPI | Plugin nativo do Hermes Agent |
Agentes Compatíveis
Funciona com qualquer agente que suporte skills.sh ou o Model Context Protocol:
- Claude Code (MCP + hooks de permissão)
- Claude Cowork (conector personalizado + upload de skill)
- Hermes Agent (plugin nativo ou MCP)
- Cursor (MCP)
- Windsurf (MCP)
- Lovable (conector MCP + skill via Knowledge)
- OpenAI Codex (MCP)
- E 39+ outros agentes
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