MCP server for sending notifications via SendGrid email and Pushover push notifications
Project description
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 addressSENDGRID_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 addresssubject(required): Email subject linebody(required): Plain text email bodyhtml_body(optional): HTML email bodyfrom_email(optional): Override sender emailfrom_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 titlemessage(required): Notification message bodyuser_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 messageurl_title(optional): Title for the URLsound(optional): Notification sounddevice(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 validatedevice(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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file notification_mcp_server-0.1.0.tar.gz.
File metadata
- Download URL: notification_mcp_server-0.1.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40efe259159cedfb03f5ffcbb6a74fb81a0a9888b8415db18697c5758a0953f0
|
|
| MD5 |
42c573c1134e65860b3c2139157bc519
|
|
| BLAKE2b-256 |
1946756fdcd52626c236aa0e005a15546114de63f71ff6a9b4e31392ccc677b0
|
File details
Details for the file notification_mcp_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: notification_mcp_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5feb61b48fbac282e241d38d94804156f11d1ca192b77f0a4188f00c51afde5
|
|
| MD5 |
2aec8588ec83b2bd469f83a10255a865
|
|
| BLAKE2b-256 |
55f8f1ad1d453d78813825f577d1956eb62f394d724065034044f07bbf9baa14
|