By jmagar
Send push notifications via apprise-mcp — a Rust MCP bridge to the Apprise universal notification library (Slack, Discord, email, Telegram, and 100+ services).
This plugin requires configuration values that are prompted when the plugin is enabled. Sensitive values are stored in your system keychain.
no_authRun the MCP HTTP server without bearer-token auth. Only safe when an upstream gateway enforces auth before traffic reaches apprise-mcp.
${user_config.no_auth}Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
api_tokenBearer token for MCP HTTP authentication (APPRISE_MCP_TOKEN). Generate one with `openssl rand -hex 32` or `just gen-token`. Must match what the server is configured with.
${user_config.api_token}auth_modeServer auth mode. `bearer` uses only the static API token. `oauth` enables Google OAuth/JWT for clients like Codex while the API token is still accepted for this Claude Code plugin connection. OAuth requires public_url, google_client_id, google_client_secret, and auth_admin_email.
${user_config.auth_mode}public_urlPublic base URL for OAuth issuer/resource metadata, e.g. https://apprise.example.com. Required when auth_mode=oauth.
${user_config.public_url}server_urlBase URL the MCP client connects to, e.g. http://localhost:8765. The plugin appends /mcp — do NOT include a trailing /mcp path.
${user_config.server_url}use_dockerTrue: run via the bundled docker compose stack (containerized, exposes port 8765, mounts /data as a volume). False: run the binary as a systemd user service.
${user_config.use_docker}apprise_urlBase URL of the upstream Apprise API server (APPRISE_URL), e.g. http://apprise:8000. This is the Apprise notification service, not the MCP server.
${user_config.apprise_url}apprise_tokenOptional bearer token for the upstream Apprise API server (APPRISE_TOKEN). Leave empty for open installs.
${user_config.apprise_token}auth_admin_emailBootstrap allowed Google account for OAuth mode. The server refuses to start OAuth without an allowlisted account.
${user_config.auth_admin_email}google_client_idGoogle OAuth client ID used when auth_mode=oauth. Create a Web application OAuth client in Google Cloud Console.
${user_config.google_client_id}google_client_secretGoogle OAuth client secret used when auth_mode=oauth.
${user_config.google_client_secret}MCP server and CLI for Apprise — a universal push notification library that supports 80+ services (Slack, Discord, PagerDuty, Gotify, ntfy, Telegram, email, and many more).
apprise-mcp bridges Claude (and any MCP client) to an Apprise API server so that AI agents can send push notifications as part of their workflows — alerts, status updates, job completions, incident reports.
Claude / MCP client
|
apprise-mcp (this server)
| HTTP REST
Apprise API server (http://your-host:8766)
|
80+ notification services
(Slack, Discord, email, ntfy, Gotify, ...)
See docs/QUICKSTART.md for a 5-minute setup guide.
appriseThe server exposes a single apprise tool with an action selector.
notify — send to configured tag (or all services){
"action": "notify",
"body": "Deployment succeeded",
"tag": "ops",
"title": "Deploy complete",
"type": "success"
}
tag is optional. Omit it to broadcast to all configured services.
notify_url — stateless one-off notification{
"action": "notify_url",
"urls": "slack://tokenA/tokenB/tokenC",
"body": "Critical error in prod",
"title": "ALERT",
"type": "failure"
}
No pre-configuration on the Apprise server required.
health — server health check{ "action": "health" }
help — inline documentation{ "action": "help" }
| type | meaning |
|---|---|
info | Informational (default) |
success | Successful operation |
warning | Non-critical warning |
failure | Critical failure / error |
# Send to all services under the "ops" tag
apprise notify "Backup finished" --tag ops --title "Backup" --type success
# Stateless one-off (no server pre-configuration needed)
apprise notify-url "slack://tokenA/tokenB/tokenC" "Hello from CLI"
# Health check
apprise health
# Raw JSON output
apprise health --json
# MCP modes
apprise serve # HTTP MCP server (default)
apprise mcp # stdio MCP transport
| Variable | Default | Description |
|---|---|---|
APPRISE_URL | http://localhost:8000 | Apprise API server URL |
APPRISE_TOKEN | (empty) | API token (optional for open installs) |
APPRISE_MCP_HOST | 0.0.0.0 | MCP HTTP bind host |
APPRISE_MCP_PORT | 8765 | MCP HTTP bind port |
APPRISE_MCP_TOKEN | (none) | Static bearer token for MCP HTTP auth |
RUST_LOG | info | Log filter |
{
"mcpServers": {
"apprise": {
"command": "apprise",
"args": ["mcp"],
"env": {
"APPRISE_URL": "http://100.120.242.29:8766"
}
}
}
}
cargo build --release
# Binary: target/release/apprise
Minimum Rust version: 1.86
This tool connects to a running Apprise API server, not the Python library directly.
Quick start with Docker:
docker run -p 8000:8000 caronc/apprise:latest
The API server lets you pre-configure notification services under named tags via its web UI or REST API, then notify them by tag from apprise-mcp.
npx claudepluginhub jmagar/dendrite --plugin appriseQuery, monitor, and manage Unraid servers via GraphQL API through MCP tools. Supports system info, Docker, VMs, array/parity, notifications, plugins, rclone, and live telemetry.
Core homelab agents, commands, and setup/health skills for self-hosted service management. Includes interactive credential setup wizard and unified service health dashboard.
UniFi network management via MCP tools. Monitor devices, clients, network health, firewall rules, and perform management operations.
Gotify push notifications and management via MCP tools with HTTP fallback. Sends alerts for long-running tasks, plan completions, and blocked states.
Agents, commands, skills, and scripts for scaffolding, reviewing, aligning, and deploying homelab MCP server plugins. Includes canonical Python, TypeScript, and Rust server templates.
Memory compression system for Claude Code - persist context across sessions
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.