Jon's Pushover MCP Server
Enables sending push notifications to your devices via Pushover, allowing you to receive alerts and messages with customizable titles, URLs, priorities, and sounds.
README
Jon's Pushover MCP Server
An MCP server for sending push notifications via Pushover.
Requirements
- Python 3.10+
- Pushover account with API token and user key
Environment Variables
| Variable | Required | Description |
|---|---|---|
PUSHOVER_API_TOKEN |
Yes | Application API token from https://pushover.net/apps |
PUSHOVER_USER_KEY |
Yes | User key from https://pushover.net |
Installation
# Clone the repository
git clone <your-repo-url>
cd jons-mcp-pushover
# Install with uv
uv pip install -e .
Running the Server
uv run jons-mcp-pushover
Claude Desktop Configuration
Add this to your Claude Desktop config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"pushover": {
"command": "uv",
"args": ["run", "--project", "/path/to/jons-mcp-pushover", "jons-mcp-pushover"],
"env": {
"PUSHOVER_API_TOKEN": "your-api-token-here",
"PUSHOVER_USER_KEY": "your-user-key-here"
}
}
}
}
Adding to Claude Code
# Register the MCP server with Claude Code
claude mcp add jons-mcp-pushover \
-e PUSHOVER_API_TOKEN=your-api-token-here \
-e PUSHOVER_USER_KEY=your-user-key-here \
-- uv run --directory /path/to/jons-mcp-pushover jons-mcp-pushover
Available Tools
send_notification
Send a push notification to your devices.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
message |
string | Yes | - | The notification message body |
title |
string | No | App name | Title shown at top of notification |
url |
string | No | - | URL to include (tappable in notification) |
url_title |
string | No | - | Label for the URL |
priority |
integer | No | 0 | Priority: -2 (silent) to 2 (emergency) |
sound |
string | No | device default | Notification sound name |
Example:
send_notification(
message="Build completed successfully!",
title="CI Pipeline",
url="https://github.com/user/repo/actions",
url_title="View Build",
priority=1,
sound="magic"
)
Development
Setup
# Install with dev dependencies
uv pip install -e ".[dev]"
Running Tests
# Run all tests
uv run pytest
# Run with coverage
uv run pytest --cov=src
# Run a specific test
uv run pytest tests/test_pushover.py::test_send_notification_success
Code Quality
# Type check
uv run mypy src/jons_mcp_pushover
# Format code
uv run black src tests
# Lint code
uv run ruff check src tests
Project Structure
jons-mcp-pushover/
├── src/
│ ├── __init__.py
│ └── jons_mcp_pushover/
│ ├── __init__.py # Package exports
│ ├── constants.py # Configuration constants
│ ├── exceptions.py # Custom exceptions
│ ├── utils.py # Utility functions
│ ├── server.py # FastMCP server setup
│ └── tools/
│ ├── __init__.py # Tool exports
│ └── pushover.py # Pushover notification tool
├── tests/
│ ├── conftest.py # Test fixtures
│ └── test_pushover.py # Pushover tool tests
├── pyproject.toml # Project configuration
├── CLAUDE.md # AI assistant guidance
└── README.md # This file
Adding New Tools
- Create a new file in
src/jons_mcp_pushover/tools/or add to an existing file - Write an async function with type hints and a docstring:
async def my_tool(param: str) -> str: """Brief description for the MCP tool listing. Args: param: What this parameter does. Returns: What the tool returns. """ return f"Result: {param}" - Export from
src/jons_mcp_pushover/tools/__init__.py - Register in
server.pywithmcp.tool(my_tool)
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.