Skip to content
Back to skills

Apprise

ASecurity

Send push notifications through apprise-rmcp — a standalone Rust MCP bridge to the Apprise universal notification library (Slack, Discord, email, Telegram, and 100+ more). Use this skill whenever the user wants to send a notification, push an alert, notify a service, fire off a push message, or use Apprise in any way — even if they just say "send me an alert" or "let me know when X is done". Covers three tiers: MCP tool (preferred), CLI binary, and direct REST API curl calls. Trigger phrases ...

  • 2 stars
  • 0 votes
  • 1 copy
  • 4 views
  • Added August 30, 2026
ai-agentsrustbashapici/cddocumentation

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned August 30, 2026

npx -y skills add dinglebear-ai/rapprise --skill apprise --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Apprise?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Apprise
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dinglebear-ai-apprise/badge)](https://www.skillsdirectory.com/skills/dinglebear-ai-apprise)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: apprise
description: >
  Send push notifications through apprise-rmcp — a standalone Rust MCP bridge to the
  Apprise universal notification library (Slack, Discord, email, Telegram, and 100+ more).
  Use this skill whenever the user wants to send a notification, push an alert, notify a service,
  fire off a push message, or use Apprise in any way — even if they just say "send me an alert"
  or "let me know when X is done". Covers three tiers: MCP tool (preferred), CLI binary, and
  direct REST API curl calls. Trigger phrases include: send notification, push alert, Apprise
  notify, send push notification, alert via Apprise, notify service, send alert, notify via
  apprise, ping me, fire an alert, send a Slack notification, Discord alert, Telegram message,
  send me an email, notify via Pushover, route to Slack/Discord/Telegram/email/PagerDuty.
---

# Apprise — Universal Push Notifications

Send notifications through 100+ services (Slack, Discord, email, Telegram, PagerDuty, Pushover,
and more) via `apprise-rmcp`. Choose the tier that matches what's available.

---

## Tier 1 (Preferred): MCP Tool

**Tool name:** `apprise`  
**Dispatch:** set `action` to one of the actions below.

### notify — send to a tag group or all services

```
apprise(action="notify", body="<message>")
apprise(action="notify", body="<message>", tag="<tag>", title="<title>", type="<type>")
```

| Parameter | Required | Notes |
|-----------|----------|-------|
| `body` | yes | Notification message body |
| `tag` | no | Named group (e.g. `servers`, `ops`). Omit to notify **all** configured services |
| `title` | no | Notification title |
| `type` | no | `info` (default) · `success` · `warning` · `failure` |

**Examples:**
```
# Alert the "servers" tag group
apprise(action="notify", body="Disk at 95%", tag="servers", title="Disk Warning", type="warning")

# Notify every configured service
apprise(action="notify", body="Deploy to production complete", title="CI/CD", type="success")

# Simple informational — type defaults to info
apprise(action="notify", body="Backup finished successfully")
```

### notify_url — stateless one-off (no server config needed)

```
apprise(action="notify_url", urls="<apprise-url-schema>", body="<message>")
apprise(action="notify_url", urls="<url>", body="<message>", title="<title>", type="<type>")
```

| Parameter | Required | Notes |
|-----------|----------|-------|
| `urls` | yes | Apprise URL schema string |
| `body` | yes | Notification message body |
| `title` | no | Notification title |
| `type` | no | `info` · `success` · `warning` · `failure` |

**Common URL schemas:**
```
slack://tokenA/tokenB/tokenC
discord://webhook_id/webhook_token
mailto://user:pass@gmail.com
telegram://bottoken/chatid
pushover://userkey/apptoken
```

**Examples:**
```
apprise(action="notify_url", urls="slack://T0/B0/C0", body="Build failed", title="CI", type="failure")
apprise(action="notify_url", urls="discord://webhook_id/token", body="All tests passed", type="success")
```

### health — server liveness check

```
apprise(action="health")
```

Returns `{"status": "OK"}` when the Apprise API server is reachable.

### help — built-in documentation

```
apprise(action="help")
```

---

## Tier 2 (Fallback): CLI Binary

Binary: `/home/jmagar/workspace/apprise-rmcp/target/release/rapprise`

```bash
# Notify a tag group
rapprise notify "Disk at 95%" --tag servers --title "Disk Warning" --type warning

# Notify all configured services
rapprise notify "Deploy complete" --title "CI/CD" --type success

# Simple notification (type defaults to info)
rapprise notify "Backup done"

# Stateless one-off via URL schema
rapprise notify-url "slack://tokenA/tokenB/tokenC" "Build failed" --title "CI" --type failure
rapprise notify-url "discord://webhook_id/token" "Deploy done" --type success

# Health check
rapprise health
```

**Type aliases accepted:** `warn` → warning, `fail`/`error` → failure

---

## Tier 3 (Last Resort): Direct REST API

Uses `${APPRISE_URL:-http://localhost:8000}`. Add `-H "Authorization: Bearer $APPRISE_TOKEN"` and
`-H "X-Apprise-API-Key: $APPRISE_TOKEN"` if auth is required.

```bash
# Notify a tag group
curl -X POST "${APPRISE_URL:-http://localhost:8000}/notify/servers" \
  -H "Content-Type: application/json" \
  -d '{"title":"Disk Warning","body":"Disk at 95%","type":"warning"}'

# Notify all configured services
curl -X POST "${APPRISE_URL:-http://localhost:8000}/notify" \
  -H "Content-Type: application/json" \
  -d '{"title":"CI/CD","body":"Deploy complete","type":"success"}'

# Stateless — include "urls" field, trailing slash required
curl -X POST "${APPRISE_URL:-http://localhost:8000}/notify/" \
  -H "Content-Type: application/json" \
  -d '{"urls":"slack://tokenA/tokenB/tokenC","title":"CI","body":"Build failed","type":"failure"}'

# Health check
curl "${APPRISE_URL:-http://localhost:8000}/health"
```

---

## Notification types

| Type | When to use |
|------|-------------|
| `info` | Default — routine information |
| `success` | Completed successfully |
| `warning` | Non-critical issue needing attention |
| `failure` | Critical failure or error |

---

## Environment variables

| Variable | Purpose |
|----------|---------|
| `APPRISE_URL` | Apprise API server base URL (optional; default `http://localhost:8000`) |
| `APPRISE_TOKEN` | Bearer token for Apprise API auth (optional) |
| `APPRISE_MCP_HOST` | MCP HTTP bind host |
| `APPRISE_MCP_PORT` | MCP HTTP bind port (default 40050) |
| `APPRISE_MCP_TOKEN` | Static token for MCP HTTP auth |

---

## Key notes

- **Tag routing:** `tag` targets a pre-configured group of services on the Apprise server. Use when your Apprise config defines named keys like `servers`, `alerts`, `ops`.
- **Stateless `notify_url`:** bypasses all server config — ideal for one-off or dynamic routing where the destination isn't pre-configured.
- **Response representation:** upstream JSON remains structured JSON; non-JSON success is returned as text. Do not assume a synthetic wrapper.
- **Auth dual-header:** if `APPRISE_TOKEN` is set, both `Authorization: Bearer` and `X-Apprise-API-Key` are sent for compatibility with older Apprise versions.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.