Skip to main content

Notification MCP Server

An MCP (Model Context Protocol) server for sending notifications via SendGrid (email) and Pushover (push notifications).

Features

  • Email via SendGrid: Send plain text and HTML emails
  • Push Notifications via Pushover: Send to mobile devices with priority levels, custom sounds, and URL attachments
  • User Validation: Validate Pushover user/group keys before sending

Installation

# Using uv (recommended)
uv pip install notification-mcp-server

# Using pip
pip install notification-mcp-server

Configuration

Set the following environment variables:

SendGrid (Email)

  • SENDGRID_API_KEY - Your SendGrid API key (required for email)
  • SENDGRID_FROM_EMAIL - Default sender email address
  • SENDGRID_FROM_NAME - Default sender name (optional)

Pushover (Push Notifications)

  • PUSHOVER_TOKEN - Your Pushover application token (required for push)
  • PUSHOVER_USER - Default Pushover user/group key

General

  • NOTIFICATION_TIMEOUT - Request timeout in seconds (default: 30)

Usage

As a standalone server (stdio)

notification-mcp-server

With HTTP transport

notification-mcp-server --transport streamable-http --port 8000

MCP Configuration

Add to your MCP client configuration (e.g., Claude Desktop):

{
  "mcpServers": {
    "notification": {
      "command": "notification-mcp-server",
      "env": {
        "SENDGRID_API_KEY": "your-sendgrid-api-key",
        "SENDGRID_FROM_EMAIL": "noreply@yourdomain.com",
        "PUSHOVER_TOKEN": "your-pushover-token",
        "PUSHOVER_USER": "your-pushover-user-key"
      }
    }
  }
}

Or with uvx:

{
  "mcpServers": {
    "notification": {
      "command": "uvx",
      "args": ["notification-mcp-server"],
      "env": {
        "SENDGRID_API_KEY": "your-sendgrid-api-key",
        "SENDGRID_FROM_EMAIL": "noreply@yourdomain.com",
        "PUSHOVER_TOKEN": "your-pushover-token",
        "PUSHOVER_USER": "your-pushover-user-key"
      }
    }
  }
}

Available Tools

send_email

Send an email via SendGrid.

Parameters:

  • to (required): Recipient email address
  • subject (required): Email subject line
  • body (required): Plain text email body
  • html_body (optional): HTML email body
  • from_email (optional): Override sender email
  • from_name (optional): Override sender name

Example:

send_email(
    to="user@example.com",
    subject="Meeting Reminder",
    body="Don't forget our meeting at 3pm.",
    html_body="<p>Don't forget our meeting at <b>3pm</b>.</p>"
)

send_push

Send a push notification via Pushover.

Parameters:

  • title (required): Notification title
  • message (required): Notification message body
  • user_key (optional): Pushover user/group key (uses default if not provided)
  • priority (optional): -2 to 2 (default: 0)
    • -2: Lowest (no sound/vibration)
    • -1: Low (quiet hours respected)
    • 0: Normal
    • 1: High (bypasses quiet hours)
    • 2: Emergency (requires acknowledgment)
  • url (optional): URL to include with message
  • url_title (optional): Title for the URL
  • sound (optional): Notification sound
  • device (optional): Specific device name

Example:

send_push(
    title="Server Alert",
    message="CPU usage exceeded 90%",
    priority=1,
    sound="siren"
)

validate_pushover_user

Validate a Pushover user or group key.

Parameters:

  • user_key (required): User or group key to validate
  • device (optional): Device name to validate

Example:

validate_pushover_user(user_key="uQiRzpo4DXghDmr9QZgGZN27UU9JDR")

Development

# Clone the repository
git clone https://github.com/yourusername/notification-mcp-server.git
cd notification-mcp-server

# Install dependencies with uv
uv sync

# Run tests
uv run pytest

# Run linting
uv run ruff check .

License

MIT

Metadata

Release files for notification-mcp-server 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for notification-mcp-server 0.1.0
File Size Uploaded
notification_mcp_server-0.1.0.tar.gz 8.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for notification-mcp-server 0.1.0
File Interpreter ABI Platform
notification_mcp_server-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 20.0 kB

Release files / notification_mcp_server-0.1.0.tar.gz

Download URL notification_mcp_server-0.1.0.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
40efe259159cedfb03f5ffcbb6a74fb81a0a9888b8415db18697c5758a0953f0
BLAKE2b-256 checksum
How to use checksums
1946756fdcd52626c236aa0e005a15546114de63f71ff6a9b4e31392ccc677b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release files / notification_mcp_server-0.1.0-py3-none-any.whl

Download URL notification_mcp_server-0.1.0-py3-none-any.whl
Size 12.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5feb61b48fbac282e241d38d94804156f11d1ca192b77f0a4188f00c51afde5
BLAKE2b-256 checksum
How to use checksums
55f8f1ad1d453d78813825f577d1956eb62f394d724065034044f07bbf9baa14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page