PU

Pushover MCP Server: Push Instant Device Notifications

Send instant notifications to your devices with the Pushover MCP server for reliable, real-time alerts and easy setup.

Quick Install
npx -y @ashiknesin/pushover-mcp

Overview

The Pushover MCP Server is a small HTTP service that exposes Pushover push-notification functionality through a Model Context Protocol (MCP)–compatible endpoint. It lets model-driven agents, automation pipelines, or developer tools trigger immediate notifications to phones, tablets, and desktops via Pushover without embedding Pushover credentials into each client. By operating as an MCP tool, the server can be invoked by language models or other components that support the MCP call pattern.

This server is useful when you need reliable, low-latency alerts from automated systems (CI/CD pipelines, monitoring, chatbots, or model agents). Instead of implementing direct calls to the Pushover API in many places, you centralize notification logic and credentials in a single, auditable microservice that exposes a simple JSON API compatible with model tooling.

Features

  • MCP-compatible HTTP endpoint to send notifications programmatically
  • Thin bridge to the Pushover API (user token + app token)
  • Support for common Pushover fields: message, title, device, priority, sound, URL
  • Environment-driven configuration for credentials and port
  • Simple install/run options (Docker and source-based)
  • Minimal dependencies and lightweight runtime suitable for containers

Installation / Configuration

Prerequisites:

  • A Pushover account and application token (https://pushover.net/)
  • A Pushover user key (or group key) for the recipient(s)
  • Docker (optional) or Node.js (or the runtime the project uses)

Clone the repository and run the server. The examples below assume the repository includes a Dockerfile and a Node-based start script (package.json). Adjust commands for the actual project runtime if different.

  1. Environment variables (example .env)
# Pushover credentials
PUSHOVER_TOKEN=your-pushover-app-token
PUSHOVER_USER=your-pushover-user-key

# Optional configuration
PORT=8080
LOG_LEVEL=info
  1. Run with Docker
# Build (if Dockerfile present)
docker build -t pushover-mcp .

# Run container, passing env file
docker run --env-file .env -p 8080:8080 pushover-mcp
  1. Run from source (Node.js example)
git clone https://github.com/ashiknesin/pushover-mcp.git
cd pushover-mcp
# install deps (if package.json exists)
npm install
# start server
npm start
  1. Export environment variables (shell)
export PUSHOVER_TOKEN=your-pushover-app-token
export PUSHOVER_USER=your-pushover-user-key
export PORT=8080
npm start

Endpoints and request format (example)

  • POST /message — send a push notification
  • Content-Type: application/json
  • Body: JSON with at least message. Additional fields map to common Pushover parameters.

Example request:

curl -X POST "http://localhost:8080/message" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Deployment completed successfully",
    "title": "CI/CD",
    "device": "phone-name",
    "priority": 0,
    "url": "https://ci.example.com/build/123",
    "url_title": "View build"
  }'

Example response (success):

{
  "status": "ok",
  "request": "abc123",
  "message": "Notification queued"
}

If your deployment requires authentication for the MCP endpoint, configure API keys or network restrictions in front of the service (reverse proxy, API gateway, or firewall).

Available Resources

  • GitHub repository: https://github.com/ashiknesin/pushover-mcp
  • Pushover API docs: https://pushover.net/api
  • MCP (Model Context Protocol) — consult your model/tooling documentation for how to register external HTTP tools compatible with MCP calls

Consider exposing the server behind an internal API gateway if you want RBAC, rate limiting, or auditing. Logs should be monitored to track failed deliveries or invalid requests.

Use Cases

  • CI/CD notifications: Send build success/failure messages to on-call engineers or channel devices when pipelines finish. Example: The build system POSTs a short JSON payload to /message including title, message, and URL to the build log.

  • Model-driven alerts: A language model agent that detects actionable events (e.g., security alerts, anomalous metrics) invokes the MCP server to notify the responsible engineer in real time.

  • Home automation: Trigger device notifications from scripts or agents controlling home devices (e.g., “Garage door opened” pushed to a phone).

  • On-call escalation: Integrate with orchestration tools so the server sends higher-priority messages (priority > 0) and targets the currently on-call user device.

  • Monitoring and incident triage: Convert alerts from Prometheus, Datadog, or custom monitors into Pushover notifications with a concise title and URL for quick triage.

Field mapping quick reference

JSON fieldPushover paramDescription
messagemessageMain notification body (required)
titletitleShort heading shown with the message
devicedeviceSpecific device identifier (optional)
prioritypriority-2..2, controls alert behavior
soundsoundNamed Pushover sound (optional)
urlurlSupplementary link to show with notification
url_titleurl_titleTitle for the supplementary link

Keep in mind rate limits and post size limits enforced by Pushover. For production use, secure the MCP endpoint, rotate credentials, and monitor delivery status returned in API responses.