Alphorn

io.github.alphorn-devPublished by GitHub account alphorn-devv0.1.1Updated Oct 24, 2026

Let AI agents notify you on Slack, Telegram, email, SMS, or push via an Alphorn webhook.

Overview

AI-generated overview

Lets an AI agent send you a notification through an Alphorn webhook to Slack, Telegram, Discord, email, SMS or push when a task finishes, fails or needs input.

What you can do
  • Send a notification through the configured Alphorn webhook, with a message of up to 4,000 characters.
  • Attach an optional short title and a priority from 1 to 5 to signal finished, needs input, blocked or urgent.
  • Tag notifications so Alphorn filters can route them to specific channels, such as SMS only for high priority.
When to use it
Useful when you run long or unattended agent tasks and want to be told on your own channels when something completes, fails or needs a decision, instead of watching the session.
Requirements
Runs locally over stdio, typically via npx with the npm package. Needs a webhook created in Alphorn (hosted or self-hosted) and its endpoint URL in ALPHORN_WEBHOOK_URL; ALPHORN_API_KEY is only needed if the webhook requires an API key. Node.js and network access are required.
Before you install
The webhook endpoint URL and API key are secrets stored in the client configuration; anyone holding the URL can post to your notification channels. Notifications are sent to third-party services (Alphorn and the channels you configured), so message content leaves your machine. The tool only sends messages; it does not read or change other data.

Installation

In SourceWeft

  1. Open Alphorn in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Alphorn MCP Server

MCP server for Alphorn, the open-source notification router. It gives AI agents (Claude Code, Claude Desktop, Cursor, Codex, and any other MCP client) a send_notification tool, so an agent can tell you when a task finishes, fails, or needs your decision, on whatever channel you configured in Alphorn: Slack, Telegram, Discord, email, SMS, push, and more.

Works with the hosted service at app.alphorn.dev and with self-hosted Alphorn.

Setup

  1. Create a webhook in Alphorn and copy its Endpoint URL, plus its API key if you switched on Require API key (docs).
  2. Add the server to your MCP client with two environment variables:
VariableValue
ALPHORN_WEBHOOK_URLEndpoint URL, e.g. https://app.alphorn.dev/n/V1StGXR8_Z5jdHi6B-myT
ALPHORN_API_KEYWebhook API key (alp_...). Leave unset if the webhook does not require one.

Claude Code

bash
claude mcp add alphorn -s user \  -e ALPHORN_WEBHOOK_URL=https://app.alphorn.dev/n/V1StGXR8_Z5jdHi6B-myT \  -e ALPHORN_API_KEY=alp_... \  -- npx -y @alphorn/mcp

Claude Desktop (one-click bundle)

Download alphorn.mcpb from the latest release and open it. Claude Desktop asks for the Endpoint URL and API key.

Claude Desktop, Cursor, and other JSON-configured clients

Add to claude_desktop_config.json, ~/.cursor/mcp.json, or your client's MCP config:

json
{  "mcpServers": {    "alphorn": {      "command": "npx",      "args": ["-y", "@alphorn/mcp"],      "env": {        "ALPHORN_WEBHOOK_URL": "https://app.alphorn.dev/n/V1StGXR8_Z5jdHi6B-myT",        "ALPHORN_API_KEY": "alp_..."      }    }  }}

OpenAI Codex CLI

toml
# ~/.codex/config.toml[mcp_servers.alphorn]command = "npx"args = ["-y", "@alphorn/mcp"]env = { ALPHORN_WEBHOOK_URL = "https://app.alphorn.dev/n/V1StGXR8_Z5jdHi6B-myT", ALPHORN_API_KEY = "alp_..." }

Tool

send_notification

ArgumentTypeRequiredDescription
messagestringyesWhat happened and what the agent needs from you (max 4,000 characters)
titlestringnoShort title, e.g. my-app - tests passing (max 200 characters)
priorityinteger 1-5no2 = finished, 3 = needs input, 4 = blocked or failed, 5 = urgent
tagsstring[]noTags to filter and route on in Alphorn, e.g. ["ai-agent", "completed"]

The tool wraps Alphorn's send endpoint. For direct HTTP use, see the API reference and the OpenAPI 3.1 specification.

Use Alphorn's filters to decide where each notification goes, for example SMS only for priority 4 and above.

Development

bash
pnpm installpnpm test   # builds, then runs the tests against a local fake endpoint

Releasing

  1. Bump version in package.json, server.json (both fields), manifest.json, and VERSION in src/server.ts.
  2. npm publish --access public
  3. Push a v<version> tag (or run the Publish to MCP Registry workflow): it publishes server.json to the MCP Registry via GitHub OIDC
  4. pnpm bundle, then attach alphorn.mcpb to a GitHub release

License

AGPL-3.0-or-later

Source: README.md at commit 4cacb42

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestOct 12, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts