What Alphorn MCP server does
The Alphorn MCP server connects MCP-compatible AI agents to Alphorn, an open-source notification router. It gives an agent a send_notification tool for reporting events or requesting a decision from a person. Alphorn then routes each notification according to the webhook's configuration and filters.
Supported destination types named in the project include Slack, Telegram, Discord, email, SMS, and push notifications. Routing is handled by Alphorn rather than by the MCP server itself. For example, Alphorn filters can send only high-priority notifications to SMS while delivering other messages through a different channel. This places the server in the Communication category for workflows where an agent needs to reach someone outside its chat session.
How it works
The server wraps Alphorn's notification send endpoint. When the agent calls send_notification, it supplies a required message and can optionally provide a short title, a priority from 1 to 5, and an array of tags. Messages can contain up to 4,000 characters, while titles can contain up to 200 characters.
Priority values provide a convention for notification urgency: 2 represents completion, 3 indicates that input is needed, 4 represents a blocked or failed task, and 5 is urgent. Tags can be used by Alphorn filters for routing and selection. The MCP process sends the request to the webhook URL configured in its environment.
Setup and configuration
Create a webhook in Alphorn and copy its Endpoint URL. If the webhook has API-key protection enabled, also copy its key. Set ALPHORN_WEBHOOK_URL to the endpoint and set ALPHORN_API_KEY to the key. The API-key variable can be omitted when the webhook does not require authentication.
The package can be launched with npx -y @alphorn/mcp. Claude Code can register it with the claude mcp add command. Claude Desktop also has a downloadable alphorn.mcpb bundle that prompts for the endpoint and key. For Claude Desktop, Cursor, and other JSON-configured clients, add the server command and environment values to the client's MCP configuration. OpenAI Codex CLI uses its TOML MCP configuration.
The endpoint may belong to Alphorn's hosted service at app.alphorn.dev or to a self-hosted Alphorn installation. The repository's development instructions use pnpm for installation and testing, including tests against a local fake endpoint.
Tools and capabilities
The Alphorn MCP server provides one tool:
send_notification: Sends a notification through the configured Alphorn webhook. It requires message and accepts optional title, priority, and tags values.
The server does not define separate tools for individual delivery channels. Channel selection and routing rules are configured in Alphorn, including filters based on priority or tags. Direct HTTP callers can use Alphorn's API instead, but MCP clients use the exposed tool.
Limitations and notes
A webhook must be created before the server can send notifications. Delivery destinations depend on the channels and routing rules configured in Alphorn; adding this server alone does not configure Slack, Telegram, Discord, email, SMS, or push delivery.
The tool accepts one message at a time and enforces the documented message and title limits. An API key is needed only when the selected webhook requires one. The project is licensed under AGPL-3.0-or-later.