Alby Bitcoin Payments MCP について
Alby Bitcoin Payments MCP は、Nostr Wallet Connect(NWC)を通じてライトニングのビットコインウォレットを LLM に接続する MCP サーバーです。ビットコイン決済を AI アシスタントに任せたい開発者やユーザー向けです。リモートでホストされる版と、ローカルで動く STDIO 版が提供されています。
主な機能
- 01NWC によるライトニングウォレットの接続
- 02LNURL と L402 に関する知識を持つ機能
- 03リモート SSE と HTTP Streamable のエンドポイント
- 04ローカルの STDIO と HTTP の実行モード
- 05Bearer トークンまたはクエリパラメータによる NWC 接続シークレット
- 06Host ヘッダーの許可リストと L402 アドレスの検証
活用シーン
- 01AI アシスタントによるライトニング送金や受け取り
- 02n8n などの自動化ワークフローへのビットコイン決済ステップの追加
- 03L402 で保護された有料 HTTP リソースの取得
MCP 対応
本プロジェクト自体が MCP サーバーであり、NWC ウォレットの機能をツールとして MCP クライアントに公開します。リモート版は Bearer 認証または nwc クエリパラメータで接続シークレットを受け取り、ローカル版は環境変数から読み込みます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Alby Bitcoin Payments MCP サーバー
新機能: MCP に対応していないエージェント向けに、Alby CLIもご確認ください。
Nostr Wallet Connect(NWC)を使って、ビットコインのライトニングウォレットを LLM に接続します。
この MCP サーバーは、公式 MCP TypeScript SDKを使用しています。
この MCP サーバーは、Alby SDKとAlby Lightning Toolsを使用し、NWC、LNURL、L402に関する知識を備えています。
Alby MCP を利用できる場所については、**Awesome AI Bitcoin**をご覧ください。
クイックスタート
行き詰まった場合は、下記のトラブルシューティングのセクションをご覧ください。
Alby がホストする MCP サーバーを使う
エージェントがリモート MCP サーバー(SSE(N8N など)または HTTP Streamable トランスポート)に対応している場合は、Alby の MCP サーバーに接続できます。
- SSE:
https://mcp.getalby.com/sse - HTTP Streamable:
https://mcp.getalby.com/mcp
認証
どちらも、認証用に NWC 接続シークレットを指定する必要があります。方法は、Bearer 認証(推奨)または nwc クエリパラメーターです。
Bearer 認証
例:Authorization: Bearer nostr+walletconnect://...
エージェントの UI が Bearer 認証に対応している場合は、接続シークレットを Bearer 認証フィールドに貼り付けるだけです。
クエリパラメーター
エージェントが Bearer 認証に対応していない場合は、NWC 接続シークレットをクエリパラメーターとして渡せます。
例:https://mcp.getalby.com/sse?nwc=ENCODED_CONNECTION_SECRET または https://mcp.getalby.com/mcp?nwc=ENCODED_CONNECTION_SECRET
ENCODED_CONNECTION_SECRET を取得するには、ブラウザーの開発者ツールを開き(右クリック -> 検証)、自分の NWC 接続シークレットを設定してから、コンソールに次のコードを入力してください。
encodeURIComponent("nostr+walletconnect://...");
貼り付けの確認を求めるメッセージが表示された場合は、指示に従ってから、上記のコマンドをもう一度入力してください。
コマンドの実行後、出力をコピーして ENCODED_CONNECTION_SECRET に置き換えてください。次のような形式になります:nostr%2Bwalletconnect%3A%2F%2F...
Claude Web または Claude Desktop に追加する
リモート Alby MCP サーバーを使う
現時点では、リモート MCP サーバーに接続するには、少なくとも Claude Pro のサブスクリプションが必要です。
- Settings -> Connectors に移動します
- 「Add custom connector」をクリックします
- 名前を
albyにします - エンドポイント URI を入力します:
https://mcp.getalby.com/mcp?nwc=ENCODED_NWC_URL(手順は上記をご覧ください)
クライアント側
以下を claude_desktop_config.json に追加します:
{
"mcpServers": {
"nwc": {
"command": "npx",
"args": ["-y", "@getalby/mcp"],
"env": {
"NWC_CONNECTION_STRING": "YOUR NWC CONNECTION STRING HERE"
}
}
}
}
Goose Desktop に追加する
- Goose Desktop を開きます
- Settings -> Advanced Settings に移動します
- 「Add custom Extension」をクリックします
- 名前を
albyにし、タイプをHTTP Streamableに変更します - SSE エンドポイント URI を入力します:
https://mcp.getalby.com/mcp - タイムアウト:30
- 説明:なし
- 環境変数:なし
Goose CLI に追加する
Alby MCP サーバーを使う
goose configureと入力します- Add extension -> Remote Extension (HTTP Streamable) を選択します
- 名前を
albyにします - HTTP Streamable エンドポイント URI を入力します:
https://mcp.getalby.com/mcp - タイムアウト:30
- 説明:なし
- 環境変数:なし
- カスタムヘッダーを追加:はい
- ヘッダー名:
Authorization - ヘッダー値:
Bearer nostr+walletconnect://...(接続シークレットに置き換えてください)
クライアント側
goose configureと入力します- Add extension -> Command Line Extension を選択します
- 名前を
albyにします - 実行するコマンドを入力します:
npx -y @getalby/mcp - タイムアウト:30
- 説明:なし
- 環境変数:はい
- 環境変数名:
NWC_CONNECTION_STRING - 環境変数の値:
nostr+walletconnect://...(ここに NWC 接続シークレットを入力します)
Cline に追加する
以下をコピーして、Cline のプロンプトに貼り付けてください。接続文字列を更新するよう促されます。
Add the following to my MCP servers list:
"nwc": {
"command": "npx",
"args": ["-y", "@getalby/mcp"],
"env": {
"NWC_CONNECTION_STRING": "nostr+walletconnect://..."
},
"disabled": false,
"autoApprove": []
}
Claude Code に追加する
Alby MCP サーバーを使用する
claude mcp add --transport http alby https://mcp.getalby.com/mcp --header "Authorization: Bearer nostr+walletconnect://..."
SSE 経由で N8N に追加する
AI エージェントに接続した N8N ネイティブの MCP クライアントツールを使用できます。SSE エンドポイントを入力し、認証を「Bearer」に設定して、NWC 接続シークレットを貼り付けてください。
OpenRouter + anthropic/claude-3.7-sonnet でテスト済みです。
簡単な例については、N8N ワークフローをご覧ください。
STDIO 経由で N8N に追加する(コミュニティノード)
現在、この MCP サーバーはコマンドライン(STDIO)経由でのみ動作します。
n8n-nodes-mcp コミュニティノードをインストールし、ツールを有効にして n8n を実行できます。例:
N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true npx n8n
空のワークフローを作成し、AI エージェントノードを追加します。LLM モデルを設定し、新しいツール「MCP Client」を追加します(コミュニティノードであることを示すキューブが横に表示されます)。
コマンドライン(STDIO)を選択して認証情報を追加し、MCP Client を設定します。
コマンド:npx
引数:-y @getalby/mcp
環境変数:NWC_CONNECTION_STRING=nostr+walletconnect://your_key_here(パスワード欄は平文表示に切り替えられないため、テキストエディターでこの行全体を作成して貼り付けてください)
詳しい例については、N8N 有料チャットワークフローをご覧ください。
Windsurf に追加する
リモート Alby MCP サーバーを使用する
- Windsurf Editor をダウンロードして開きます。
- 下部のツールバーで「Windsurf - Settings」→「Advanced Settings」→「Cascade」→ Plugins (MCP Servers) の順にクリックします。「Manage plugins」→「View raw config」をクリックすると、「mcp_config.json」が表示されます。
- 以下を mcp_config.json に貼り付けます。
{
"mcpServers": {
"alby": {
"serverUrl": "https://mcp.getalby.com/sse?nwc=ENCODED_NWC_URL"
}
}
}
- 上記の説明に従って「ENCODED_NWC_URL」を置き換えます。「Save」をクリックし、Windsurf Editor を再起動します。
モード
STDIO
デフォルトでは、NWC MCP Server はローカルで STDIO モードで実行されます。
HTTP
次の環境変数を設定すると、Streamable HTTP(http://localhost:3000/mcp)と SSE(http://localhost:3000/sse。注:SSE は非推奨です)が有効になります。
HTTP では Bearer 認証が必要です。トークンにはウォレットの NWC 接続シークレットを指定します。README の上部にある認証のセクションをご覧ください。
リクエストの検証
HTTP エンドポイントでは、Host ヘッダーが許可リストに登録されているリクエストのみ受け付けます。ブラウザーからのリクエスト(Origin ヘッダーを含む)は拒否されます。ブラウザーではない MCP クライアントは、このヘッダーを送信しません。fetch_l402 は、ホスト名がグローバルにルーティング可能なアドレスに解決される http(s) URL のみを取得します。ループバック、リンクローカル、プライベートの範囲は拒否されます。これはベストエフォートのチェックです。取得時にホスト名が再度解決されるため、2 回の名前解決の間に応答を変更する DNS サーバーがあると、チェックを回避できる可能性があります。環境変数で設定します。
| 変数 | デフォルト | 用途 |
|---|---|---|
ALLOWED_HOSTS | localhost、127.0.0.1、[::1] | 受け付ける Host ヘッダーの値(カンマ区切り)。設定するとデフォルト値を置き換えるため、引き続き localhost を使う場合は含めてください。デプロイ時には、公開ホスト名(例:mcp.getalby.com)を設定します。 |
BIND_HOST | 127.0.0.1 | HTTP リスナーがバインドするアドレス。デフォルトではネットワークからアクセスできません。デプロイ時、または Docker で実行してホストから接続する場合は、::(または 0.0.0.0)を設定します。 |
fetch_l402 はリダイレクトを追跡しません。リダイレクト先のある URL はエラーを返します。
ソースから
前提条件
- Node.js 20+
- Yarn
- NWC に対応した Lightning ウォレットの接続文字列
インストール
yarn install
ビルド
yarn build
NWC 接続を追加する
.env.example を .env にコピーし、接続文字列を更新します。
ツールを確認する(LLM を使わずに実行/テスト)
yarn inspect
対応ツール
ツールディレクトリをご覧ください。
トラブルシューティング
モデルの使用
適切なモデル(例:Claude Sonnet 3.7)を使用してください。そうでない場合、MCP サーバーは動作しません。
ウォレットに接続できない場合、シークレットが見つかりません
NWC 接続シークレット全体を、スペースを入れずにコピーしたことを確認してください。
Alby サポートへのお問い合わせ
support.getalby.com にアクセスしてください。MCP サーバーが動作するよう、喜んでサポートいたします。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。