Push notifications and human-in-the-loop for AI coding agents.
Get started
·
Skills directory
·
Report a bug
Your AI agent finishes a 20-minute refactor while you're making coffee. Without Pushary, you'd never know until you checked back. With Pushary, you get a push notification on your phone the moment it's done - or a question on your lock screen when the agent needs a decision.
AI Agent -> MCP Protocol -> Pushary API -> Push Notification -> Your Phone
Pushary is an MCP server that connects your AI coding agent to push notifications. The agent calls Pushary's tools over the Model Context Protocol, and you receive notifications instantly on any device.
Three question types - yes/no confirmations, multiple choice, and free text input. Your agent picks the right one for the situation.
Rich context notifications - agents can include file changes, error details, and suggested next steps in a detail page you see when tapping the notification.
Agent identification - when you run multiple agents, each notification shows which agent is asking so you always know what you're responding to.
Permission hooks - route Claude Code's tool approval prompts through push notifications so you can approve or deny from your phone.
The agent calls Pushary tools when it wants to notify you or ask a question.
1. Sign up at pushary.com/sign-up and get your API key.
2. Install the skill:
npx skills add Pushary/pushary-skill3. Add the MCP server to your Claude Code settings (~/.claude/settings.json or project .claude/settings.json):
{
"mcpServers": {
"pushary": {
"url": "https://pushary.com/api/mcp/mcp",
"headers": {
"Authorization": "Bearer pk_xxx.sk_xxx"
}
}
}
}Replace pk_xxx.sk_xxx with your API key.
4. Enable notifications on your phone by visiting your Pushary dashboard and allowing browser notifications.
That's it. The agent will proactively send you notifications when tasks complete, errors occur, or decisions are needed.
Route Claude Code's built-in permission prompts through push notifications. When the agent wants to run a command or edit a file, you get a push notification to approve or deny from your phone.
1. Install the hook package:
npm install -g @pushary/agent-hooks2. Set your API key in your shell profile (~/.zshrc or ~/.bashrc):
export PUSHARY_API_KEY="pk_xxx.sk_xxx"3. Add the hook to your Claude Code settings (~/.claude/settings.json):
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash|Write|Edit",
"hooks": [
{
"type": "command",
"command": "pushary-hook",
"timeout": 120
}
]
}
]
}
}4. Configure timeout policies in your Pushary dashboard:
| Tool | Timeout | If no response |
|---|---|---|
| Bash | 60s | Auto-deny |
| Write | 60s | Ask in terminal |
| Edit | 45s | Ask in terminal |
| Read | 0s | Auto-approve |
When you don't respond to a push notification in time, the configured fallback kicks in: auto-approve, auto-deny, or fall back to the normal terminal permission prompt.
Use Option A and Option B together. The MCP server handles notifications and voluntary questions. The permission hook handles tool approvals. They use the same API key and dashboard.
Full integration with native Hermes tools and automatic error notifications.
1. Install the plugin:
pip install hermes-plugin-pushary2. Enable it:
hermes plugins enable pushary3. Set your API key:
export PUSHARY_API_KEY="pk_xxx.sk_xxx"4. (Optional) Set your agent name:
export PUSHARY_AGENT_NAME="Hermes - my-project"The plugin registers 4 native tools (pushary_notify, pushary_ask, pushary_wait, pushary_cancel) and automatically sends push notifications when tools return errors.
Set PUSHARY_AUTO_NOTIFY_SESSION_END=1 to also get notified when a Hermes session ends.
If you prefer MCP over the native plugin:
1. Add to ~/.hermes/config.yaml:
mcp:
servers:
pushary:
url: https://pushary.com/api/mcp/sse
headers:
Authorization: "Bearer ${PUSHARY_API_KEY}"2. Install the skill:
hermes skills tap add Pushary/pushary-skill
hermes skills install pusharyCodex has native MCP support. One command:
1. Set your API key in your shell profile (~/.zshrc or ~/.bashrc):
export PUSHARY_API_KEY="pk_xxx.sk_xxx"2. Add the MCP server:
codex mcp add pushary --url https://pushary.com/api/mcp/mcp --bearer-token-env-var PUSHARY_API_KEYThat's it. Codex now has access to all Pushary tools - notifications, questions, and rich context.
Or use the setup wizard (configures everything including the API key):
npx @pushary/agent-hooks setup1. Add the MCP server to your agent's MCP config (usually .cursor/mcp.json or similar):
{
"mcpServers": {
"pushary": {
"url": "https://pushary.com/api/mcp/mcp",
"headers": {
"Authorization": "Bearer pk_xxx.sk_xxx"
}
}
}
}2. Install the skill (if your agent supports skills.sh):
npx skills add Pushary/pushary-skillLovable is a hosted app builder, so there is no local install step (npx skills add does not apply). You connect the MCP server in Lovable's UI, then paste the skill into Lovable's Knowledge so the agent uses it on its own.
1. Connect the MCP server. In Lovable, go to Settings -> Connectors -> Personal connectors (paid Lovable plans), click New MCP server, set the URL to https://pushary.com/api/mcp/mcp, choose Bearer token, and paste your API key (pk_xxx.sk_xxx).
2. Add the skill to Knowledge. Lovable cannot install skills via npx, so paste the skill guidance into Settings -> Knowledge. Use the condensed SKILL-LITE.md as the source. This makes the Lovable agent notify you when a build finishes and ask before risky changes, without you prompting each time.
Lovable gets notifications and questions only (no enforced gate, since it has no permission hook). Full walkthrough: Lovable guide.
The skill exposes 5 MCP tools:
| Tool | Description |
|---|---|
send_notification |
Send a push notification with optional rich context (file changes, errors, next steps) |
ask_user |
Ask the user a question via push - yes/no, multiple choice, or free text |
wait_for_answer |
Long-poll for the user's response to a question |
cancel_question |
Cancel a pending question that's no longer relevant |
list_sessions |
Read-only view of your live agent sessions and pending questions |
Full tool documentation with parameters, examples, and usage guidelines is in skills/pushary/SKILL.md.
The agent can ask you decisions via push and wait for your answer:
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
Supports three question types:
- Confirm - yes/no binary decisions
- Select - pick from 2-6 options
- Input - free text response
The flow uses ask_user -> wait_for_answer with automatic retries. Answers persist for 10 minutes, so there's no rush.
| Package | Registry | Description |
|---|---|---|
@pushary/agent-hooks |
npm | Claude Code permission hooks |
hermes-plugin-pushary |
PyPI | Hermes Agent native plugin |
Works with any agent that supports skills.sh or the Model Context Protocol:
- Claude Code (MCP + permission hooks)
- Hermes Agent (native plugin or MCP)
- Cursor (MCP)
- Windsurf (MCP)
- Lovable (MCP connector + skill via Knowledge)
- OpenAI Codex (MCP)
- And 39+ more agents
Contributions are welcome! Please read the contributing guide before submitting a pull request.
If you discover a security vulnerability, please report it responsibly. See SECURITY.md for details.
This project is fully funded by RalphNex OU, an Estonian software development agency.
MIT - Copyright (c) 2025 RalphNex OU