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:

  1. Fetch https://getyo.dev/.well-known/skills/index.json and install the "yo" skill (https://getyo.dev/skills/yo/SKILL.md).
  2. Add the Yo MCP server from https://getyo.dev/mcp.json (Streamable HTTP at https://getyo.dev/mcp).
  3. 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)

  1. The agent calls register_agent (no auth) and shows you a pairing link like https://getyo.dev/pair/<code>#<secret>.
  2. 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.
  3. The agent polls check_registration, receives its API key once, and stores it as a secret.
  4. The agent tells you which Yo account it connected to. Wrong account? Tell it to call cancel_registration and register again. It can revoke its own key anytime with revoke_self.

Path B โ€” you create a key in the app

  1. Open the app, tap + Add agent, name it, and copy the key (shown once).
  2. Give it to the agent as a YO_API_KEY secret/env var:
    • Devin: Settings โ†’ Secrets (org or user scope), name it YO_API_KEY.
    • Claude Code: settings.json โ†’ env block.
    • Codex: environment variable in your shell/config.
    • cron: crontab env line or systemd Environment=YO_API_KEY=....

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