Alphorn について
Alphorn MCP Server は、AI エージェントをオープンソースの通知ルーター Alphorn に接続します。タスクの完了や失敗、判断依頼を設定済みのチャネルへ通知するワークフロー向けで、ホスト型とセルフホスト型の Alphorn に対応します。
主な機能
- 01send_notification による通知送信
- 02タイトル、優先度、タグの指定
- 03Alphorn のフィルターによる通知振り分け
- 04ホスト型・セルフホスト型 Alphorn への接続
活用シーン
- 01コーディングタスクの完了を通知する
- 02タスクの失敗や停止を関係者に知らせる
- 03人の判断が必要なときに依頼を送る
- 04優先度に応じて通知先を振り分ける
MCP 対応
MCP サーバーは send_notification ツールを提供し、Alphorn の webhook にメッセージを送信します。Alphorn の設定により、Slack、Telegram、Discord、メール、SMS、プッシュ通知などへ振り分けられます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @alphorn/mcpALPHORN_WEBHOOK_URLシークレットWebhook Endpoint URL, e.g. https://app.alphorn.dev/n/V1StGXR8_Z5jdHi6B-myTALPHORN_API_KEYシークレットWebhook API key (alp_...), if the webhook requires oneローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
1掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| tags | array | いいえ | ユーザーがフィルタリングや振り分けに使えるタグ。例:["ai-agent", "completed"]。 |
| title | string | いいえ | 短いタイトル。プロジェクト名から始めてください。例:"my-app - tests passing"。 |
| message | string | はい | 何が起きたか、ユーザーに何をしてほしいかを 1~2 文で説明します。 |
| priority | integer | いいえ | 1(最低)~5(緊急)。完了時は 2、ユーザーからの入力が必要な場合は 3、作業が停止または失敗した場合は 4 を使用します。 |
詳細
Alphorn MCP サーバー
オープンソースの通知ルーターである Alphorn 用の MCP サーバーです。AI エージェント(Claude Code、Claude Desktop、Cursor、Codex、その他の MCP クライアント)に send_notification ツールを提供し、タスクが完了したとき、失敗したとき、または判断が必要なときに、Alphorn で設定した任意のチャンネル(Slack、Telegram、Discord、メール、SMS、プッシュ通知など)を通じてエージェントから通知を受け取れます。
app.alphorn.dev のホステッドサービスと、セルフホスト版の Alphorn の両方で動作します。
セットアップ
- Alphorn でウェブフックを作成し、Endpoint URL をコピーします。Require API key を有効にした場合は、API キーもコピーしてください(ドキュメント)。
- 次の 2 つの環境変数を使って、MCP クライアントにサーバーを追加します。
| 変数 | 値 |
|---|---|
ALPHORN_WEBHOOK_URL | Endpoint URL。例:https://app.alphorn.dev/n/V1StGXR8_Z5jdHi6B-myT |
ALPHORN_API_KEY | ウェブフックの API キー(alp_...)。ウェブフックで API キーが不要な場合は設定しないでください。 |
Claude Code
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(ワンクリックバンドル)
最新リリースから alphorn.mcpb をダウンロードして開きます。Claude Desktop で Endpoint URL と API キーを尋ねられます。
Claude Desktop、Cursor、その他の JSON 設定クライアント
claude_desktop_config.json、~/.cursor/mcp.json、またはクライアントの MCP 設定に追加します。
{
"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
# ~/.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_..." }
ツール
send_notification
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
message | string | はい | 何が起きたのか、エージェントがあなたに何を求めているのか(最大 4,000 文字) |
title | string | いいえ | 短いタイトル。例:my-app - tests passing(最大 200 文字) |
priority | integer 1-5 | いいえ | 2 = 完了、3 = 入力が必要、4 = ブロック中または失敗、5 = 緊急 |
tags | string[] | いいえ | Alphorn でのフィルタリングやルーティングに使うタグ。例:["ai-agent", "completed"] |
このツールは Alphorn の送信エンドポイントをラップしています。HTTP で直接使用する場合は、API リファレンスとOpenAPI 3.1 仕様を参照してください。
Alphorn のフィルターを使って、各通知の送信先を決定できます。たとえば、優先度 4 以上の場合にのみ SMS を送信できます。
開発
pnpm install
pnpm test # builds, then runs the tests against a local fake endpoint
リリース
package.json、server.json(両方のフィールド)、manifest.json、およびsrc/server.tsのVERSIONのversionを更新します。npm publish --access publicv<version>タグをプッシュします(または Publish to MCP Registry ワークフローを実行します)。GitHub OIDC 経由でserver.jsonを MCP Registry に公開します。pnpm bundleを実行し、alphorn.mcpbを GitHub リリースに添付します。
ライセンス
AGPL-3.0-or-later
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。