{
  "markdown": "<p align=\"center\">\n  <img src=\"assets/logo-256.png\" width=\"96\" alt=\"AgentPing logo\">\n</p>\n\n<h1 align=\"center\">AgentPing</h1>\n\n<p align=\"center\">\n  <b>Let your AI agent notify you — by email, Slack, Discord, or webhook.</b><br>\n  A hosted, remote <a href=\"https://modelcontextprotocol.io\">MCP</a> server. One tool: <code>send_notification</code>.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://ping.mgm-llc.org\">Website</a> ·\n  <a href=\"https://ping.mgm-llc.org/docs\">Docs</a> ·\n  <a href=\"https://ping.mgm-llc.org/signup\">Get an API key (free)</a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://ping.mgm-llc.org/signup\"><b>▶ Get your free API key → ping.mgm-llc.org/signup</b></a>\n</p>\n\n---\n\n## What it does\n\nLong-running agents work while you're away. AgentPing gives them a `send_notification` tool so they can reach you the moment something matters:\n\n- ✅ **Task done** — \"Migration finished, 3,412 rows updated.\"\n- 🙋 **Approval needed** — \"Ready to deploy to prod. Confirm?\"\n- 📊 **Here's the result** — daily summary, scrape output, build status.\n- 🚨 **Something broke** — error alerts from an autonomous run.\n\nNotifications go to any channel you configure: **email, Slack, Discord, or a custom webhook**.\n\n> 🔒 **Read-only by design.** AgentPing can only *send* the notifications your agent triggers. It has no access to your inbox, files, or accounts.\n\n## Connect it (MCP client config)\n\n**A. Remote URL** — Cursor and any client that supports Streamable HTTP:\n\n```json\n{\n  \"mcpServers\": {\n    \"agentping\": {\n      \"url\": \"https://ping.mgm-llc.org/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer YOUR_API_KEY\" }\n    }\n  }\n}\n```\n\n**B. Stdio bridge** — works with every MCP client (incl. Claude Desktop):\n\n```json\n{\n  \"mcpServers\": {\n    \"agentping\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-remote\", \"https://ping.mgm-llc.org/mcp\", \"--header\", \"Authorization: Bearer YOUR_API_KEY\"]\n    }\n  }\n}\n```\n\nGet your API key by signing up at [ping.mgm-llc.org](https://ping.mgm-llc.org/signup) and setting your destinations. See the [full docs](https://ping.mgm-llc.org/docs) for per-client steps and Slack/Discord webhook setup.\n\n## Tool\n\n| Tool | Arguments | Notes |\n|---|---|---|\n| `send_notification` | `title` (string, required), `message` (string, optional), `channel` (optional) | `channel` ∈ `all` \\| `email` \\| `slack` \\| `discord` \\| `webhook`. Default: all configured channels. |\n\n## Pricing\n\n- **Free** — 100 notifications/month.\n- **Pro** — $9/mo or $90/yr — 10,000 notifications/month.\n\n## Protocol\n\nStateless **Streamable HTTP** (JSON-RPC 2.0): `initialize`, `tools/list`, `tools/call`, `ping`. Auth via `Authorization: Bearer <api_key>` (or `?key=` for clients that can't set headers).\n\n## Self-hosting\n\nBuilt on Cloudflare Workers + D1 + Hono. To run your own instance:\n\n```bash\nnpm install\nnpm run db:local\nnpm run dev            # http://localhost:8787\n```\n\n`.dev.vars` needs `APP_SECRET` (and `RESEND_API_KEY` to enable email).\n\n```bash\nnpx wrangler login\nnpx wrangler d1 create agentping       # put database_id in wrangler.jsonc\nnpm run db:remote\nnpx wrangler secret put APP_SECRET\nnpx wrangler secret put RESEND_API_KEY\n# Stripe billing (optional):\nnpx wrangler secret put STRIPE_SECRET_KEY\nnpx wrangler secret put STRIPE_WEBHOOK_SECRET\nnpx wrangler deploy\n```\n\nSet `vars.APP_URL` to the production URL and attach a custom domain.\n\n## License\n\nMIT · Operated by MGM LLC.\n",
  "bytes": 3399,
  "sha": "998562fc424cefde46ee232149a8bb34e1cb0eeb5e88f6746d418da4aa562e99",
  "repo_slug": "noriget/agentping",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_noriget_agentping_a4e00846/readme"
}