Send yourself a push notification from an AI assistant. No account, one environment variable.
MCPpedia last refreshed this data
io.github.MatthiasMAigner/webhooky-mcp is an MCP server that send yourself a push notification from an AI assistant. No account, one environment variable. Its tool list has not been published yet over stdio, requires no API key, and scores 64/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"webhooky": {
"env": {
"WEBHOOKY_URL": "https://api.webhooky.app/YOUR_KEY"
},
"args": [
"-y",
"webhooky-mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Send yourself a push notification from an AI assistant. No account, one environment variable.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
npx -y 'webhooky-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked webhooky-mcp against OSV.dev.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in ai-ml / communication
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
An open-source AI agent that brings the power of Gemini directly into your terminal.
🛡️ BLA (Blind LLM Agents) — Adversarial defense shield that protects binaries, Electron apps, JS bundles, Python, and WebAssembly against AI reverse-engineering agents like REA. Poison -> Exhaust -> Hallucinate.
Open source device layer for AI agents: control mobile, web, TV, and desktop apps over MCP
MCP Security Weekly
Get CVE alerts and security updates for io.github.MatthiasMAigner/webhooky-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Gives an AI assistant one ability: send a push notification to your phone. Useful when you ask it to do something long-running and then walk away, it can tell you itself instead of writing code that tells you.
You: Run the migration and let me know when it's done.
Claude: [runs it, then calls send_notification]
📱 ✅ Migration done · 14,203 rows · 6m12s
Install the Webhooky app (iOS · Android), create an endpoint and copy its URL. No account needed, the URL exists the moment the app opens. The free plan covers 100 notifications per month across up to 3 endpoints.
claude mcp add webhooky -e WEBHOOKY_URL=https://api.webhooky.app/YOUR_KEY -- npx -y webhooky-mcp
Add to claude_desktop_config.json:
{
"mcpServers": {
"webhooky": {
"command": "npx",
"args": ["-y", "webhooky-mcp"],
"env": { "WEBHOOKY_URL": "https://api.webhooky.app/YOUR_KEY" }
}
}
}
Same shape: command npx, args ["-y", "webhooky-mcp"], and WEBHOOKY_URL in
the environment.
send_notification| Argument | Type | Required | Notes |
|---|---|---|---|
title | string | yes | Max 100 characters |
message | string | no | Max 500 characters. Omit to use the endpoint's configured text |
sound | enum | no | One of the 40 sound ids. Omit to use the endpoint's sound |
vibrate | boolean | no | Overrides the endpoint's vibration setting |
Returns a confirmation including how many devices it reached. It reports an error, rather than a cheerful success, when the notification was accepted but not delivered, which is what happens when the free plan's monthly quota is used up. Webhooky answers HTTP 200 in that case on purpose, so that senders like Stripe don't retry, and this server unpacks that distinction for you.
list_soundsThe 40 sounds grouped by meaning (money, success, failure, informational, attention-grabbing, playful), so the assistant can pick one that matches the event instead of guessing from an id.
| Variable | Required | Default | Notes |
|---|---|---|---|
WEBHOOKY_URL | yes | (none) | Your full endpoint URL, key included |
WEBHOOKY_TIMEOUT_MS | no | 10000 | Request timeout |
WEBHOOKY_URL must be https, except on localhost / 127.0.0.1, where plain
http is allowed because nothing leaves the machine.
Your endpoint URL can do exactly one thing: trigger a notification on your phone. It cannot read your history, reach your account or expose any data. Anyone who knows it can send you notifications, and that is the whole blast radius. This server therefore takes it only from the environment, never as a tool argument: a model can't be talked into sending to a different endpoint, and the key never enters the conversation. It is also stripped from any error message before it is returned.
Treat WEBHOOKY_URL the way you would a Slack incoming webhook URL: keep it out
of public repositories, but it is not a password. If it leaks, delete the endpoint in the app and create a new one. The old URL
dies instantly.
npm install
npm test # drives the server over real stdio against a stub endpoint
MIT · Aigner Software e.U.