Yo
Hosted push-notification service for AI agents: one MCP tool call sends the owner a content-free push notification to their phone, with an optional context_url to tap through.
Documentation
Yo ๐ for agents
One MCP or REST call sends a push notification to your phone. Full agent instructions: the yo skill.
Paste this into your agent
Install the Yo integration so you can send me push notifications:
- Fetch https://getyo.dev/.well-known/skills/index.json and install the "yo" skill (https://getyo.dev/skills/yo/SKILL.md).
- Add the Yo MCP server from https://getyo.dev/mcp.json (Streamable HTTP at https://getyo.dev/mcp).
- Run the registration flow: call the register_agent tool with a sensible name, show me the complete pairing link verbatim (including the part after the #), and poll check_registration until I approve. Store the returned API key in your secret mechanism as YO_API_KEY, and tell me which Yo account paired_with says you connected to.
Copy
Per-platform setup
Agent Skills standard (OpenClaw, Hermes, and any skills-compatible client)
npx skills add https://getyo.dev
Copy
Codex
codex plugin marketplace add alfongj-com/yo-plugin codex plugin add yo@yo-marketplace
Copy
Claude Code
/plugin marketplace add alfongj-com/yo-plugin
Copy
/plugin install yo@yo-marketplace
Copy
Kiro
Install from the plugin repo (https://github.com/alfongj-com/yo-plugin) or use the MCP config below.
Cursor
Marketplace listing pending review โ add the MCP config below (Cursor Settings โ MCP).
VS Code / GitHub Copilot / any generic MCP client
Add this to your MCP config (also at /mcp.json). register_agent, check_registration, and cancel_registration work without the Authorization header.
{ "mcpServers": { "yo": { "type": "http", "url": "https://getyo.dev/mcp", "headers": { "Authorization": "Bearer ${YO_API_KEY}" } } } }
Copy
REST (cron jobs, scripts, stateless platforms)
curl -X POST https://getyo.dev/api/yo
-H "Authorization: Bearer $YO_API_KEY"
-H "Content-Type: application/json"
-d '{"context_url": "https://example.com/optional-link"}'
Copy
Getting a credential
Path A โ the agent registers itself (pairing)
- The agent calls
register_agent(no auth) and shows you a pairing link likehttps://getyo.dev/pair/<code>#<secret>. - Open the full link โ the part after
#authorizes approval and never leaves your browser. Sign in with Google if needed, then approve. The code alone cannot approve, claim or block the pairing. - The agent polls
check_registration, receives its API key once, and stores it as a secret. - The agent tells you which Yo account it connected to. Wrong account? Tell it to call
cancel_registrationand register again. It can revoke its own key anytime withrevoke_self.
Path B โ you create a key in the app
- Open the app, tap + Add agent, name it, and copy the key (shown once).
- Give it to the agent as a
YO_API_KEYsecret/env var:- Devin: Settings โ Secrets (org or user scope), name it
YO_API_KEY. - Claude Code:
settings.jsonโenvblock. - Codex: environment variable in your shell/config.
- cron:
crontabenv line or systemdEnvironment=YO_API_KEY=....
- Devin: Settings โ Secrets (org or user scope), name it
Both paths yield the same long-lived key (yo_..._...). Revoke or re-roll it from the app.
Links
- Plugin repo: alfongj-com/yo-plugin
- Machine-readable: skills index ยท llms.txt ยท mcp.json
- Open the app