albyhub-admin-mcp について
albyhub-admin-mcpは、Alby HubのLightningノードを確認・管理するエージェント向けのMCPサーバーです。ノードやチャネルの読み取りツールに加え、書き込みを制限または確認制にできる汎用HTTPプロキシを備えています。
主な機能
- 01ノードの識別情報・ネットワーク・バージョン取得
- 02オンチェーンとLightningの残高確認
- 03NWC接続とチャネルの一覧表示
- 04任意のAPIパスへのリクエスト転送
- 05書き込み制限とリクエスト記録
活用シーン
- 01ノードとチャネルの状態確認
- 02Hub残高とサブウォレットの確認
- 03Hubのバージョン別APIパスの調査
MCP 対応
Alby Hubのノード情報、残高、NWC接続、チャネルをMCPクライアント向けのツールとして公開します。汎用プロキシで他のAPIパスにもアクセスでき、書き込みには読み取り専用制限や確認手順を設定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y albyhub-admin-mcpALBYHUB_URLBase URL of the Alby Hub instanceALBYHUB_TOKENシークレットAlby Hub API bearer tokenALBYHUB_READ_ONLYSet true to block all write operations (recommended for first-time setup)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
6掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| body | any | いいえ | リクエスト本文。オブジェクトは JSON として渡され、文字列はそのまま渡されます。GET/HEAD/OPTIONS では無視されます。 |
| path | string | はい | Hub 上のパスです(例:`/api/info` または `/api/channels`)。ALBYHUB_URL と組み合わせて使います。 |
| query | object | いいえ | クエリ文字列パラメーター(string → string)。 |
| method | enum | はい | HTTP メソッドです。GET/HEAD/OPTIONS は常に許可されます。それ以外は READ_ONLY + REQUIRE_CONFIRM によって制御されます。GET | POST | PUT | PATCH | DELETE | HEAD | OPTIONS |
| timeout_ms | integer | いいえ | リクエストのタイムアウト時間(ms)です(デフォルトは 15000、最大は 60000)。 |
| extra_headers | object | いいえ | 追加でマージする HTTP ヘッダーです。Hub が `Authorization: Bearer` ではなく `X-API-Key` を要求する場合に便利です。 |
詳細
albyhub-admin-mcp
Alby Hub のノード管理操作を LLM エージェントに公開します。 Alby Hub HTTP API をラップする MCP サーバーです。ノード情報、残高、チャネル、NWC サブウォレットを読み取れます。NWC(nwc-mcp)が対応する範囲はウォレット単位ですが、このサーバーはその先を担います。ハブ全体のオンチェーン残高、チャネルの状態、サブウォレットの一覧を扱えます。
v0.1 — 防御的な設計。 Alby Hub の管理 API はバージョンごとに進化しており、安定した形式で公開バージョン管理されていません。そのため、v0.1 では、任意のパスにアクセスできる汎用プロキシツール(緊急用の抜け道)を 1 つと、広く確立されたエンドポイントをいくつか使う型付きラッパーを提供します。型付きラッパーが想定するエンドポイントが使用中の Hub バージョンで見つからない場合は、プロキシを使って、再リリースを待たずに正しいパスを調べられます。実際の Hub でスモークテストを行った後、v0.2 で型付きラッパーを強化する予定です。
6 つのツール
| ツール | メソッド | パス | 目的 |
|---|---|---|---|
albyhub_proxy_request | * | * | 汎用 HTTP プロキシ。まだラップされていない任意のエンドポイントに使える緊急用の抜け道です。 |
albyhub_confirm_request | * | * | proxy_request 用の 2 段階確認ディスパッチャーです。 |
albyhub_get_node_info | GET | /api/info | ノードの識別情報、ネットワーク、バージョンを取得します。 |
albyhub_get_balances | GET | /api/balances | オンチェーンと Lightning の合計残高を取得します。 |
albyhub_list_apps | GET | /api/apps | このハブでプロビジョニングされた NWC 接続(サブウォレット)を一覧表示します。 |
albyhub_list_channels | GET | /api/channels | ステータスと容量を含む Lightning チャネルを一覧表示します。 |
すべての型付きラッパーは安全な GET リクエストです。GET 以外の動作は ALBYHUB_READ_ONLY と ALBYHUB_REQUIRE_CONFIRM によって制御される albyhub_proxy_request 経由で実行されます。
必要条件
- Node 20+
- 起動中の Alby Hub インスタンス(
http://localhost:8080のデスクトップアプリ、または公開先を設定したセルフホスト環境) - Alby Hub API トークン(Hub UI の Settings → Developer / Apps)
インストール
npx -y albyhub-admin-mcp
設定
cp .env.example .env
# edit .env: set ALBYHUB_URL (default http://localhost:8080) + ALBYHUB_TOKEN
必須
| 変数 | 目的 |
|---|---|
ALBYHUB_URL | Hub のベース URL です。デフォルトは http://localhost:8080 です。リモートに公開する場合は HTTPS を使用してください。 |
ALBYHUB_TOKEN | API アクセストークンです。すべての権限を持つトークンを使うと、Hub のオンチェーン残高が引き出される可能性があります。利用者への影響を考慮し、権限を制限するか、ALBYHUB_READ_ONLY=true を使用してください。 |
任意の安全設定
| 変数 | デフォルト | 目的 |
|---|---|---|
ALBYHUB_READ_ONLY | false | proxy_request 経由の GET 以外のリクエストをすべて拒否します。初回セットアップでは強く推奨します。 |
ALBYHUB_REQUIRE_CONFIRM | false | GET 以外のリクエストに 2 段階確認を要求します。 |
ALBYHUB_MAX_REQUESTS_PER_MINUTE | 30 | 直近 60 秒間のレート制限です。 |
ALBYHUB_LOG_PATH | ./albyhub-admin-mcp.log | サーバーログです。 |
ALBYHUB_AUDIT_PATH | ./albyhub-admin-mcp-audit.log | 追記専用の JSON 行形式監査ログです。 |
Hub が型付きラッパーに 404 を返す場合は?
使用中の Hub バージョンでは、エンドポイントのパスが異なる可能性があります。albyhub_proxy_request を使って調べてください。/api/node、/info、/api/v1/info などを試します。正しいパスが見つかったら、利用時にそのパスを指定し、メンテナーに連絡して v0.2 で型付きラッパーを修正してもらえます。
agent: albyhub_proxy_request({ method: "GET", path: "/api/v1/info" })
→ { status: 200, body: { ... } } // found it
安全性の仕組み
プロキシツールの処理手順:
ALBYHUB_READ_ONLYによる制御 — GET 以外のリクエストを無条件にブロックします。- レート制限 —
requestsバケットに対し、直近 60 秒間のウィンドウで制限します。 ALBYHUB_REQUIRE_CONFIRMによる制御 — GET 以外のリクエストにはトークンを返し、albyhub_confirm_requestが実行します。- HTTP リクエスト — Bearer 認証を使用し、タイムアウトは 15 秒です(
timeout_msで変更できます)。 - 監査ログ — すべての試行(成功/ブロック/エラー)を、構造化された JSON 形式の 1 行として記録します。
GET 専用の簡易ラッパーは、設計上安全なため、手順 1 と 3 を省略します。ただし、レート制限と監査ログの対象にはなります。
関連サーバー
nwc-mcp— NIP-47 によるウォレット操作。サブウォレットごとの支出にはこちらを使用し、ハブ全体/ノードレベルの操作にはalbyhub-admin-mcpを使用してください。nostr-ops-mcp— NOSTR の ID と公開。marketplace-mcp— NIP-15 マーケットプレイスのストアフロント。
ライセンス
MIT — LICENSE を参照してください。
お問い合わせ/問題の報告
LLMOps.Pro が開発しました。
- NOSTR:
npub1hdg932jvwc3jdvkqywgqv0ue4nn60exrf92asy8mtazt3hjg7d2s2yw0nw— フォロー、DM、zap をお願いします。 - Lightning アドレス:
[email protected]— サポートへの zap や、「役に立った」という感謝のチップにご利用ください。 - バグ報告/機能リクエスト: GitHub issue を作成してください(リンクは後日掲載)。
- セキュリティ上の問題: 公開 issue を作成する前に、NOSTR の DM で非公開にご報告ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。