Lightning Enable MCP Server について
Lightning Enable MCP Server は、AI エージェントに Lightning 決済とエージェント間取引のツールを提供します。請求書払い、有料 API の利用、支出管理に加え、L402 による API 販売や Nostr 上でのサービス発見・決済に対応します。
主な機能
- 01Lightning 請求書と L402 チャレンジの支払い
- 02有料 API の検索とマニフェスト取得
- 03予算設定と支出記録
- 04請求書作成とウォレット操作
- 05L402 による API アクセス販売
- 06Nostr 上でのエージェントサービス発見と決済
活用シーン
- 01エージェントによる API のリクエスト単位の支払い
- 02エンドポイントと料金情報を含む API の検索
- 03エージェントの支出制限とレシート確認
- 04他のエージェントへのサービス提供と決済
MCP 対応
MCP サーバーとして、AI エージェントにウォレット、請求書、L402 決済、予算、API 発見のツールを提供します。Producer と Agent Service Agreement のツールでは、サービス販売や Nostr 上での発見、リクエスト、決済を行えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
17掲載時のツール一覧 · 5 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| nwc_connection_string | string | いいえ | NWC 接続文字列(nostr+walletconnect://...)。報告のみの場合は省略します。 |
詳細
Lightning Enable の一部 — Lightning 上でのエージェントコマースのためのインフラストラクチャです。
Lightning Enable MCP サーバー
独自の API を収益化 — 30 日間の無料トライアル
エージェントは Lightning 経由でリクエストごとに API 料金を支払います — 月額 49 ドルの定額サブスクリプションで、すべてのサットを 100%受け取れます。
- 無料トライアルを開始 — 30 日間、今日の支払いは不要です
- Fast Lane — Lightning 経由で 100 サットを支払います。カードは不要です
- 料金
または、エージェントを離れずに登録できます。create_lightning_enable_account ツールを呼び出してください。
AI エージェントが Lightning Network で支払いを行い、エージェント間コマースに参加できるようにする、オープンソースの MCP(Model Context Protocol)サーバーです。ウォレット、請求書、L402、予算、API 検索のツールは、ウォレットさえあればすぐに利用できます。プロデューサーツール(L402 経由でアクセスを販売)と Agent Service Agreement(ASA)ツール(Nostr 上でのエージェント間の検索、リクエスト、決済、証明)を利用するには、Agentic Commerce サブスクリプションが必要です。ツールの全一覧をご覧ください。
.NET と Python で利用できます。
できること
AI エージェントに Lightning ウォレットを持たせると、次のことができます。
- 請求書を支払う — 任意の BOLT11 請求書に Lightning 経由で Bitcoin を送金します
- L402 API にアクセスする — L402 チャレンジに自動で支払い、シームレスに API にアクセスします
- API を検索する — L402 API レジストリを検索し、キーワードやカテゴリで有料 API を探したり、特定の API のマニフェストを取得してエンドポイントの詳細や料金を確認したりできます
- 支出を追跡する — 予算上限、永続的なレシートログ、残高確認を利用できます
- 請求書を作成する — 支払いを受け取るための請求書を生成します
- ウォレット操作を実行する — BTC 価格、通貨交換、オンチェーン送金(Strike。オンチェーン送金は LND にも対応)
- Lightning Enable アカウントを自動作成する —
create_lightning_enable_accountは、L402 経由で約 100 サットのアクティベーション手数料を支払い、加盟店 API キーを返します。これは、プロトコルそのものとなる無料から有料への登録フォームであり、ブラウザーやチェックアウトページを使わずにプロデューサーと ASA のツールを利用できるようにします。 - サービスを販売する(L402 Producer) — 販売者アカウントの設定、API の L402 対応、ルートの価格設定、公開リストへの掲載、支払いチャレンジの発行、支払いトークンの検証を、すべて 1 つのツールから実行できます。REST に触れずに、エージェントが API キーから有料エンドポイントまで設定できます
- エージェントコマース(ASA) — Nostr 上でエージェント間サービスを検索、リクエスト、決済、評価できます
クイックスタート
1. インストール
# .NET
dotnet tool install -g LightningEnable.Mcp
# Python
pip install lightning-enable-mcp
# Python (no install)
uvx lightning-enable-mcp
# Docker
docker pull refinedelement/lightning-enable-mcp:latest
2. 初回実行 — setup_wallet
ウォレットがなければ何も機能しないため、まずはここから始めます。エージェントに次のように依頼してください。
Run setup_wallet
引数なしで実行すると、設定されているウォレットと、認証情報の取得元(プロバイダーとソース)が報告されます。認証情報そのものが表示されることはありません。ウォレットが設定されていない場合は、セットアップ手順が返されます。
最短の方法は NWC です。 ウォレットアプリ(Alby Hub、CoinOS、または任意の NIP-47 ウォレット)で Nostr Wallet Connect 接続を作成し、nostr+walletconnect:// 文字列をコピーして、エージェントに渡します。
Run setup_wallet with this connection string: nostr+walletconnect://...
setup_wallet は文字列を検証し、ウォレットに接続して応答することを確認した後、ファイルのアクセス権を自分のユーザーのみに制限して ~/.lightning-enable/config.json に書き込みます。ウォレットが申告するメソッドと残高が報告されます。その後、サーバーを再起動して新しいウォレットを読み込ませてください。
または、環境変数を設定する方法もあります(以下のClaude Desktop の設定など)。このサーバーの中心的な用途である L402 には、支払いのプリイメージを返すウォレットが必要です。
- Strike —
STRIKE_API_KEY。https://dashboard.strike.me から取得します。 - NWC —
NWC_CONNECTION_STRING。CoinOS / CLINK / Alby Hub から取得します。 - LND(自分のノード。常にプリイメージを返します)—
LND_REST_HOST+LND_MACAROON_HEX- ノードの証明書が自己署名の場合は、
LND_TLS_CERT_PATHにノードのtls.certを設定します(TLS をその証明書に固定します)。LND_SKIP_TLS_VERIFY=trueは最終手段であり、推奨設定ではありません。任意の設定:LND_FEE_LIMIT_SATS、LND_PAYMENT_TIMEOUT_SECONDS。
- ノードの証明書が自己署名の場合は、
⚠️ OpenNode(
OPENNODE_API_KEY)は、請求書の発行/直接支払いにのみ対応しています。プリイメージを返さないため、L402 のチャレンジには支払えません。 L402(中核となる用途)を利用する場合、これを唯一のウォレットにしないでください。
複数のウォレットを設定した場合、優先順位は LND > NWC > Strike > OpenNode です。また、環境変数は設定ファイルより優先されます。環境変数に上書きされる接続文字列を setup_wallet が書き込むことはなく、どの変数を解除すべきかが通知されます。完全な互換性一覧については、対応ウォレットを参照してください。
3. 一連の処理が機能することを確認 — test_l402_payment
エージェントに次のように依頼してください。
Run test_l402_payment
公開されている 1 sat の L402 エンドポイントに対して、一連の支払いを実行します。これにより、ウォレットが接続されていて、プリイメージを返し、実際の L402 支払いを完了できることを確認できます。「ウォレットは本当に機能している?」への答えが一行で得られ、費用は約 1 satoshi です。
4. その後はお楽しみ — T シャツを購入
一連の処理が機能したら、L402 を利用する実稼働中のウェブストア、Lightning Enable Storeを試してみてください。Claude に次のように依頼してください。
Buy me a Lightning Enable t-shirt from store.lightningenable.com
(こちらには残高のあるウォレットと配送先住所が必要です。そのため、最初の動作確認には test_l402_payment の方が手軽です。必要なのは 1 sat だけで、配送も不要です。)
Claude Desktop への手動インストール(MCPB バンドル)
ワンクリックでインストールして設定ファイルを編集せずに済ませるには、JSON を手作業で編集する代わりに、mcpb/ ディレクトリにあるパッケージ済みの MCPB バンドルを入手します。npx -y @anthropic-ai/mcpb pack mcpb lightning-enable-mcp.mcpb でローカルにビルドするか、mcpb.yml の CI 実行から .mcpb アーティファクトをダウンロードしてください。生成された .mcpb ファイルをダブルクリックするか、Claude Desktop の「設定」→「拡張機能」にドラッグすると、Claude Desktop がテキストの設定ファイルではなく、独自の設定 UI からウォレットの認証情報(Strike、NWC、または LND)と任意の Lightning Enable API キーを尋ねます。バンドルの内容については mcpb/README.md を、Anthropic MCP Directory への提出状況については mcpb/SUBMISSION.md を参照してください。
Claude Desktop の設定
claude_desktop_config.json に追加します:
.NET:
{
"mcpServers": {
"lightning-enable": {
"command": "lightning-enable-mcp",
"env": {
"STRIKE_API_KEY": "your-strike-api-key"
}
}
}
}
dotnet tool install -g LightningEnable.Mcp を実行すると、lightning-enable-mcp コマンドが PATH に追加されます。Claude Desktop がコマンドを見つけられない場合は、command にフルパスを設定してください。Windows では "C:\\Users\\<you>\\.dotnet\\tools\\lightning-enable-mcp.exe"(JSON ではバックスラッシュを二重にする必要があります)、macOS では /Users/<you>/.dotnet/tools/lightning-enable-mcp、Linux では /home/<you>/.dotnet/tools/lightning-enable-mcp を指定します。設定ファイルでは、%USERPROFILE% や $HOME などの環境変数は展開されません。
Python:
{
"mcpServers": {
"lightning-enable": {
"command": "uvx",
"args": ["lightning-enable-mcp"],
"env": {
"STRIKE_API_KEY": "your-strike-api-key"
}
}
}
}
設定ファイルの場所:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/claude/claude_desktop_config.json
ホスト環境へのデプロイ
自動承認のしきい値を超える支払いには、人間の承認が必要です。サーバーが短い確認コードを生成してあなたに送信し、あなたがそのコードを読み上げてから初めて、エージェントは処理を続行できます。コードはツールの結果には表示されないため、プロンプトインジェクションを受けたエージェントが結果を読んで自らの支出を承認することはできません。
これは、信頼できるローカルホストで使うオペレーター向けの確認手段として扱ってください。独立した承認境界ではありません。エージェントのホストがサーバーのコンソール、ログストリーム、承認ファイル、または Webhook の送信先を読み取れる場合、エージェントもコードを読み取れます。
この仕組みが機能するには、コードが人間に届く必要があります。ノート PC では、コードはサーバーのコンソール(stderr)に表示され、あなたはそこで確認できます。一方、ホスト環境のサーバー(claude.ai コネクタ、Docker コンテナー、サーバーフリートなど)では stderr を監視している人がいません。また、共有ホストではエージェント自身がコードを読み取る可能性があります。そのため、承認チャネルを選択します。
| チャネル | しきい値を超えた場合の動作 | 使用する状況 |
|---|---|---|
stderr(デフォルト) | コードがサーバーのコンソールに出力されます。 | サーバーをローカルで実行し、出力を確認する場合。 |
refuse | 支払いは拒否されます。コードは生成されません。 | ホスト環境で実行しており、コードを受け取れる人がいない場合。 |
webhook | 保留中の確認が HMAC 署名付きで URL に POST されます。コードをエージェントに伝えます。 | チャット、ページャー、承認アプリなどの運用チャネルがある場合。 |
file | 同じ JSON 行がファイルに追記されます。そのファイルを tail して確認できます。 | ログから承認を収集する場合。 |
チャネルにかかわらず、次の 2 つのルールが適用されます。コードがエージェントに返されることはなく、通知の送信に失敗したことを理由に支払いが承認されることもありません。配信に失敗した場合は支払いが拒否され、コードは無効になります。
コードは 6 文字で、一度だけ使用でき、金額、ツール、送信先の正確な組み合わせに紐づけられます。同時に有効にできるコードは最大 3 個で、無効なコードの入力が連続して 5 回あると、保留中のすべてのコードが無効になります。コードの有効期間はデフォルトで 120 秒です。変更するには confirmation.ttlSeconds(または LIGHTNING_ENABLE_CONFIRMATION_TTL_SECONDS)を設定してください。設定可能な範囲は 30~900 秒です。非同期の webhook および file チャネルでは、300~600 秒が実用的な値です。
チャネルの選択
優先順位は、環境変数、設定ファイル、自動判定の順です。
{
"confirmation": {
"channel": "webhook",
"webhookUrl": "https://ops.example.com/lightning-approvals",
"webhookSecret": "<shared secret>",
"filePath": "/var/log/lightning-enable/confirmations.jsonl",
"ttlSeconds": 600
}
}
| 環境変数 | 上書きする設定 |
|---|---|
LIGHTNING_ENABLE_CONFIRMATION_CHANNEL | confirmation.channel(stderr | refuse | webhook | file) |
LIGHTNING_ENABLE_CONFIRMATION_WEBHOOK_URL | confirmation.webhookUrl |
LIGHTNING_ENABLE_CONFIRMATION_WEBHOOK_SECRET | confirmation.webhookSecret |
LIGHTNING_ENABLE_CONFIRMATION_FILE | confirmation.filePath(デフォルトは ~/.lightning-enable/confirmations.jsonl) |
LIGHTNING_ENABLE_HOSTED | ホステッド環境のデプロイを宣言するには 1 に設定します(以下を参照) |
チャネルが設定されていない場合、サーバーは次のように判断します。
| stdin | LIGHTNING_ENABLE_HOSTED | チャネル | 起動時の警告 |
|---|---|---|---|
| TTY | 任意の値 | stderr | なし |
| TTY ではない | 未設定または 0 | stderr | あり — 誰も読んでいない可能性があります |
| TTY ではない | 1 | refuse | あり — 上限超過の支払いは拒否されます |
stdio の MCP サーバーでは stdin は常にパイプ接続されるため、この警告は注意喚起であり、状況の診断ではありません。
人が実際にコンソールを見ている場合は、無視してください。LIGHTNING_ENABLE_HOSTED=1 は、安全な設定を有効にするための明示的なオプトインです。動作が自動的に切り替わることはありません。
サーバーが解析できないチャネル名は、安全側に倒して refuse として扱い、起動時にその旨を通知します。そのため、入力ミスによって、誰も読まないコードが気付かないうちに再び有効になることはありません。
Webhook ペイロード
Content-Type: application/json を指定した POST を使用します。HMAC-SHA256 署名は {timestamp}.{body} に対して生成されます。Lightning Enable API が加盟店の webhook に署名するのと同じ方式です。
X-LightningEnable-Signature: t=1757203200,v1=9f86d081...
{
"type": "payment.confirmation_required",
"nonce": "AB12CD",
"tool": "pay_invoice",
"amountSats": 50000,
"amountUsd": 12.34,
"destination": "lnbc500u1pj9npjpp5abcdefghijklmnopqr...",
"description": "lnbc500u1pj9npjpp5...",
"summary": "pay_invoice — $12.34 (50,000 sats), invoice lnbc500u1pj9npjpp5...",
"createdAt": "2026-09-07T12:00:00Z",
"expiresAt": "2026-09-07T12:02:00Z",
"expiresInSeconds": 120
}
file チャネルは、このオブジェクトを確認ごとに1行の JSON としてそのまま書き込み、POSIX ではファイルの権限を 0600 に固定します。このファイルには有効な承認コードが保存されます。
Webhook について、次の2点に注意してください。
- URL はパブリックでなければなりません。エージェントが指定した URL と同じ接続時 SSRF ガードを通るため、プライベート、ループバック、またはメタデータのアドレスは起動時に拒否されます。
- リダイレクトは一切追跡されません。
3xxの応答は配信失敗として扱われるため、署名付きの承認が届くのは設定した URL だけです。
コードの有効期限は120秒です。また、承認された金額、ツール、宛先に厳密に紐付けられます。
対応ウォレット
| ウォレット | セットアップ | L402 サポート |
|---|---|---|
| Strike | API キー | はい |
| LND | REST + macaroon | はい(保証されています) |
| NWC (CoinOS) | 接続文字列 | はい |
| NWC (CLINK) | 接続文字列 | はい |
| NWC (Alby Hub) | 接続文字列 | はい |
| OpenNode | API キー | いいえ(preimage がありません) |
支出上限
上限は ~/.lightning-enable/config.json に保存され、実行時は読み取り専用です。エージェントは自身の上限を引き下げることはできますが、引き上げることはできません。上限は USD、satoshi、またはその両方で設定できます。
{
"limits": {
"maxPerPayment": 500.00,
"maxPerSession": 100.00,
"maxPerPaymentSats": 5000,
"maxPerSessionSats": 50000,
"autoApproveSats": 100
}
}
| キー | 環境変数 | 意味 |
|---|---|---|
maxPerPayment | — | 1回の支払いあたりの最大 USD 額 |
maxPerSession | — | 1セッションあたりの最大 USD 額 |
maxPerPaymentSats | LIGHTNING_ENABLE_MAX_PER_PAYMENT_SATS | 1回の支払いあたりの最大 satoshi 数 |
maxPerSessionSats | LIGHTNING_ENABLE_MAX_PER_SESSION_SATS | 1セッションあたりの最大 satoshi 数 |
autoApproveSats | LIGHTNING_ENABLE_AUTO_APPROVE_SATS | BTC 価格を取得できない場合に、確認なしで支払いに使える satoshi 数 |
satoshi 建ての上限を設定する理由。 USD の上限は現在の BTC 価格を使って換算する必要があります。そのため、すべての価格情報源が停止している場合、支払いを確認できず拒否されます。これは適切な動作ですが、エージェントも停止してしまいます。satoshi の上限には換算が不要なので、satoshi 予算を設定したエージェントは価格情報が停止しても動作を続けられます。すべての抜け道をふさぐには、maxPer…Sats の両方のキーを設定してください。
両方の通貨単位で上限を設定した場合、各チェックではより厳しい上限が適用されます。budget(action="status") は、どちらの通貨単位の上限が適用されているか(bindingDenomination)、実効上限の satoshi 数、価格情報を取得できたかどうか、そして障害モードが有効かどうかを報告します。
価格情報の障害時の動作
サトシ単位の上限は、引き続き支出を制限します。ただし、上限が示すのは「これを超えてはいけない」ということだけで、「人の確認なしでこの金額までなら問題ない」ということではありません。通常はこの後者を示す USD のティア階層も、価格情報がなければ評価できません。そのため、承認はフェイルクローズとなります。
autoApproveSatsが設定されている場合 — その値以下の支払いは自動承認されます。それを超える支払いは通常の確認フローに進みます(エージェントがサーバーコンソールに表示されたコードを人に尋ねます)。autoApproveSatsが設定されていない場合 — 価格情報の取得元が復旧するまで、すべての支払いに確認が必要です。
autoApproveSats はティアであり、上限ではありません。maxPerPaymentSats や maxPerSessionSats を超える範囲まで広げることはできず、これらの値が先にチェックされます。価格情報が利用できる間は完全に無視され、その場合は通常どおり USD のティアで判断されます。
自動支払いの経路(L402 の自動支払い、
send_onchain、agent_services action=settle)では、確認が必要な支払いはプロンプトを表示せずに拒否されます。障害時には、autoApproveSatsの範囲内でのみ処理が進みます。
ツール
正式な一覧:17 個のツール — 14 個は無料(初期状態のまま、ウォレットだけで利用可能)+ LIGHTNING_ENABLE_API_KEY が必要な 3 個(Agentic Commerce サブスクリプション)。この表は、告知されるすべての件数の唯一の参照元です。両方のポートにあるツール一覧ガードテストによってコードに固定されており、差異があると CI が失敗します。
このうち 5 個は アクション ツールです。action(receipts の場合は source)を渡して操作を選択します。これらは、以前は毎回のセッションでエージェントのコンテキストにスキーマが読み込まれていた、単一目的のツール 16 個を置き換えます。ツールプロファイルと以前のツール名を参照してください。以前の名前はすべて引き続き使用できます。
ASA の利用可否に関する注意。 ホストされた Lightning Enable API では、
agent_servicesのdiscover、request、settle、publish、unpublish、reputationアクションが動作します。ホストされた API にはアテステーションを受け付けるルートがないため、attestは拒否されます。そのため、この API を通じてレビューを残すことはできません。エージェントサービス契約を参照してください。
| ツール | アクセス | 機能 |
|---|---|---|
setup_wallet | 無料 | 設定済みのウォレットを報告するか、NWC 接続文字列を貼り付けてウォレットを接続します |
pay_invoice | 無料 | BOLT11 Lightning インボイスを直接支払い、プリイメージを取得します |
pay_l402_challenge | 無料 | L402 チャレンジ(インボイス+マカロン)を支払い、トークンを取得します |
access_l402_resource | 無料 | URL を取得し、L402 チャレンジがあれば自動で支払います |
test_l402_payment | 無料 | 公開されている 1 sat の L402 エンドポイントを使ってウォレットをセルフテストします |
discover_api | 無料 | L402 API レジストリを検索するか、API マニフェストを取得します |
create_invoice | 無料 | 支払いを受け取るための BOLT11 インボイスを作成します |
check_invoice_status | 無料 | 作成したインボイスが支払われたか確認します |
get_balance | 無料 | ウォレット残高:sats、すべての通貨(Strike)、およびウォレット情報 |
budget | 無料 | action:status(上限とセッション中の支出を読み取る)または tighten(実行時の上限を引き下げる) |
receipts | 無料 | source:durable(追記専用のレシートログ)または session(このセッションの支払い) |
wallet_ops | 無料 | action:price、exchange、または send_onchain(Strike。send_onchain は LND でも利用可能)。send_onchain には address、amountSats、confirmationNonce、および省略可能な intentId を指定します(新しいものを指定するのは、同じアドレスに同じ金額を再度支払う場合に限ります。重複は再送されず、ステータスとして報告されます) |
verify_confirmation_code | 無料 | 帯域外の支払い確認コードを検証します(検証のみで、支払いは行いません) |
create_lightning_enable_account | 無料 | セルフブートストラップ登録:およそ 100 sats を支払い、マーチャント API キーを取得します |
l402_producer | Agentic Commerce | action:configure_receive、status、create_proxy、add_endpoint、publish、list_challenges、create、verify — 販売者側の機能一式 |
agent_services | Agentic Commerce | action:discover、request、settle、publish、unpublish、attest、reputation |
renew_lightning_enable_subscription | Agentic Commerce | 設定済みの API キーに対する Agentic Commerce の購入または 30 日間の延長に使う、サーバー価格設定の L402 インボイスを支払います(maxSats の既定値は 50,000 です) |
create_lightning_enable_account は無料で、ゲート対象の 3 個のツールに必要な API キーをセルフプロビジョニングします。ウォレットを持つエージェントは、およそ 100 sats の有効化手数料を支払うと、その場でこれらのツールを利用できるようになります。
すべてのツールには MCP アノテーションが付いています。人が読めるタイトルと明示的な readOnlyHint に加えて、ウォレットを使う可能性のあるツールには destructiveHint が付いています。アクションツールには、最も広範なアクションを基準にアノテーションが付いています。そのため、budget は tighten が書き込みを行うため読み取り専用ではなく、wallet_ops は send_onchain があるため破壊的です。
リソース
永続的なレシートログは MCP リソースとしても公開されているため、クライアントはモデルがツール呼び出しにターンを費やさずに、ログを添付または表示できます。
| URI | 内容 |
|---|---|
lightning-enable://receipts | 最新の200件のレシートをJSONL(application/x-ndjson)形式で表示します(古い順) |
lightning-enable://receipts/{paymentHash} | 1つの支払いハッシュについて記録されたすべてのレシート |
どちらもreceiptsツールと同じ経路で読み取られ、読み取り境界で認証情報に該当するフィールドが秘匿されます。つまり、プリイメージがプロセスの外に出ることはありません。支払いハッシュは安全な参照情報です。プリイメージは支払いの証明であり、レシートのフィールドではありません。リソースはツールプロファイルの影響を受けず、モデルのコンテキスト内でスキーマのトークンを消費しません。
ツールプロファイルと旧ツール名
公開される各ツールのJSONスキーマは、各セッションの開始時にエージェントのコンテキストへ読み込まれます。そのため、ツールの公開範囲は毎ターンのトークンコストになります。LIGHTNING_ENABLE_TOOL_PROFILEで、公開する範囲を選択してください。
| プロファイル | ツール | 使用する状況 |
|---|---|---|
lite | 6 — setup_wallet、pay_invoice、access_l402_resource、get_balance、budget、receipts | エージェントがウォレットの取得、支払い、予算内での利用のみを必要とする場合 |
standard (デフォルト) | 17 — 上記の表を参照 | 旧ツール構成よりスキーマを約40%削減しつつ、すべてを利用する場合 |
full | 33 — standardに統合前のすべての名前を追加 | 旧ツール名を使ってプロンプトやスクリプトを記述している場合 |
{
"mcpServers": {
"lightning-enable": {
"command": "uvx",
"args": ["lightning-enable-mcp"],
"env": {
"STRIKE_API_KEY": "your-strike-api-key",
"LIGHTNING_ENABLE_TOOL_PROFILE": "lite"
}
}
}
}
プロファイルが制御するのは一覧への掲載のみです。 プロファイルに掲載されないツールも名前を指定すれば呼び出せます。また、すべてのプロファイルで旧名も引き続きディスパッチされます。プロファイルを絞ると、モデルのコンテキストに渡されるスキーマが減りますが、機能が削除されることはありません。
旧名 → 新しい呼び出し
旧名は受け付けられますが、fullを除き公開されません。各旧名は新しいツールに転送され、結果には置き換え先を示すdeprecatedマーカーが含まれます。v3.0.0で削除予定 — 新しい名前に移行してください。
| 旧ツール | 新しい呼び出し |
|---|---|
| get_budget_status | budget(action="status") |
| configure_budget | budget(action="tighten") |
| get_receipts | receipts(source="durable") |
| get_payment_history | receipts(source="session") |
| get_btc_price | wallet_ops(action="price") |
| exchange_currency | wallet_ops(action="exchange") |
| send_onchain | wallet_ops(action="send_onchain") |
| create_l402_challenge | l402_producer(action="create") |
| verify_l402_payment | l402_producer(action="verify") |
| discover_agent_services | agent_services(action="discover") |
| request_agent_service | agent_services(action="request") |
| settle_agent_service | agent_services(action="settle") |
| publish_agent_capability | agent_services(action="publish") |
| unpublish_agent_capability | agent_services(action="unpublish") |
| publish_agent_attestation | agent_services(action="attest") |
| get_agent_reputation | agent_services(action="reputation") |
| confirm_payment | verify_confirmation_code |
| check_wallet_balance | get_balance |
| get_all_balances | get_balance |
最後の3つはこの統合より前から存在しており、fullを含むすべてのプロファイルで非公開のままです。
ドキュメント
- .NET README — .NETの全ドキュメント
- Python README — Pythonの全ドキュメント
- 全ドキュメント — すべてのツールを網羅した完全ガイド
- AI支出のセキュリティ — 予算管理と安全性
リポジトリ構成
lightning-enable-mcp/
├── dotnet/
│ ├── src/LightningEnable.Mcp/ # .NET MCP server
│ ├── tests/LightningEnable.Mcp.Tests/ # .NET tests
│ └── LightningEnable.Mcp.sln # Solution file
├── python/
│ └── lightning-enable-mcp/ # Python MCP server
├── .github/workflows/publish-mcp.yml # CI/CD
├── LICENSE # MIT
└── README.md # This file
L402 で販売する(l402_producer ツール)
販売者側の機能をすべてまとめたツールです。action を渡して操作を選択します。どの操作にも LIGHTNING_ENABLE_API_KEY(Agentic Commerce サブスクリプション)が必要です。ウォレットから支出する操作はありません。
API バージョン。
create、verify、create_proxy、add_endpoint、publishは、すべての Lightning Enable API ビルドで動作します。configure_receiveには NWC 受け取りレーンが必要で、list_challengesにはチャレンジ一覧取得ルートが必要です。どちらも、このバージョンが対象とする API リリースに含まれています。まずl402_producer(action="status")を実行してください。機能を利用できない場合も適切に対応し、接続先のデプロイでサポートされている機能を知らせます。
| 操作 | 引数 | 機能 |
|---|---|---|
configure_receive | nwc_connection_string (任意) | L402 の支払い先を、自分が管理するウォレットに設定します |
status | limit | プラン、受け取り用ウォレット、オンボーディングのチェックリスト、最近の発行内容を表示します(読み取り専用) |
create_proxy | name、target_base_url、description、default_price_sats | 既存の API を L402 の背後に置きます |
add_endpoint | proxy_id、endpoint_id、path、http_method、summary、price_sats | 1 つのルートに価格を設定します |
publish | proxy_id、service_name、service_description、categories | 他のエージェントが見つけられるよう、サービスを掲載します |
list_challenges | challenge_status、limit、offset | 発行した内容を確認します(読み取り専用) |
create | resource、price_sats、description | 単発の請求書と macaroon チャレンジを発行します |
verify | macaroon、preimage | アクセスを許可する前に、支払者のトークンを確認します |
API キーから有料エンドポイントまで
ダッシュボードも REST クライアントも不要で、人手を介する必要もありません。各ステップは 1 回のツール呼び出しで完了します。
- API キーを取得します。
create_lightning_enable_accountを実行すると、ウォレットから約 100 sats の有効化手数料が支払われ、キーが~/.lightning-enable/config.jsonに書き込まれます。制限付きツールを有効にするには、サーバーを再起動してください。(すでにキーがある場合はスキップしてください。) - 支払い先を自分のウォレットに設定します。
l402_producer(action="configure_receive")を実行します。引数を指定しない場合は、このサーバーがすでに支払いに使用している NWC ウォレットを再利用します。別のウォレットを使うには、nwc_connection_stringを渡してください。この文字列がそのまま表示されることはなく、表示されるのは<set>のみです。 - 現在の状況を確認します。
l402_producer(action="status")を実行すると、プラン、受け取り用ウォレット、オンボーディングのチェックリストが表示されるため、エージェントは未完了の項目を確認できます。 - API を L402 の背後に置きます。
l402_producer(action="create_proxy", name="Weather API", target_base_url="https://api.example.com", default_price_sats=25)を実行すると、proxy_idと公開ベース URL が返されます。その配下のすべてのリクエストは、支払いが完了するまで402を返すようになります。 - 各ルートに価格を設定します。
l402_producer(action="add_endpoint", proxy_id="weather-api", endpoint_id="forecast", path="/forecast", http_method="GET", price_sats=10)を実行します。ルートごとに繰り返してください。 - サービスを掲載します。
l402_producer(action="publish", proxy_id="weather-api", service_description="Five-day forecasts for agents", categories=["weather"])を実行すると、OpenAPI とマニフェストの URL が返されます。他のエージェントはdiscover_apiを通じてこのサービスを見つけられます。 - 入金を確認します。
l402_producer(action="list_challenges", challenge_status="paid")を実行すると、支払いハッシュ、リソース、金額、ステータスが表示されます。macaroon と preimage は表示されません。
プロキシを使わないリソース(ファイル、レポート、単発の回答など)の場合は、ステップ 4〜6 を省略し、create/verify を直接使用してください。
支払いはあなたのウォレットに精算されます。Lightning Enable が資金を保管することはありません。
エージェントサービス契約(agent_services ツール)
1 つのツールで利用できる、Nostr 上のエージェント間コマースです。action を渡して操作を選択します。
agent_services には LIGHTNING_ENABLE_API_KEY(Agentic Commerce サブスクリプション)が必要です。action="settle" では、予算の上限に従ってウォレット残高も使用されます。
ホスト型の Lightning Enable API は、アテステーションを受け付けるルートがないため、attest を拒否します。そのため、この API 経由でレビューを投稿することはできません。discover、request、settle、publish、unpublish、reputation は利用できます。
| アクション | 説明 |
|---|---|
| discover | カテゴリー、ハッシュタグ、キーワードからエージェントの機能を検索します |
| publish | Nostr ネットワークにエージェントのサービスを公開します(kind 38400)。公開は一度だけ行ってください。呼び出すたびに新しいリスティングと L402 プロキシが作成されます。リスティングを変更するには、unpublish してから再度 publish するか、Lightning Enable ダッシュボードで編集します |
| unpublish | 公開済みのリスティングを取り下げます。L402 プロキシを無効化し、NIP-09 による削除を発行します |
| request | 別のエージェントにサービスをリクエストします(kind 38401) |
| settle | L402 Lightning 決済を通じてエージェントサービスの料金を支払います |
| attest | サービス完了後にエージェントへのレビュー/評価を投稿します(kind 38403) |
| reputation | プロトコル上のアテステーションからエージェントの評判スコアを確認します |
エージェントコマースの仕組み
- 発見 —
agent_services(action="discover", category="translation")で、翻訳を提供するエージェントを検索します - リクエスト —
agent_services(action="request", capability_event_id=..., budget_sats=100)でサービスをリクエストします - 決済 —
agent_services(action="settle", l402_endpoint=...)で Lightning 経由で支払い、結果を受け取ります - レビュー —
agent_services(action="attest", subject_pubkey=..., agreement_id=..., rating=5)でプロトコル上の評判を構築します(ホスト型 API はこのアクションを拒否します)
動的な価格設定では、提供側は l402_producer(action="create") を使って合意した価格で請求書を生成します。リクエスト側は支払いを行い、提供側は l402_producer(action="verify") で検証します。
旧ツール名の 7 つ(discover_agent_services、settle_agent_service、…)も引き続き利用できます。旧名 → 新しい呼び出しを参照してください。
関連プロジェクト
- le-agent-sdk (Python) —
pip install le-agent-sdk - le-agent-sdk (TypeScript) —
npm install le-agent-sdk - le-agent-sdk (.NET) —
dotnet add package LightningEnable.AgentSdk
プライバシー
Lightning Enable は資金を保管しません。資金を保管するのは、接続されたウォレットまたは決済プロバイダー(Strike、OpenNode、LND、NWC ウォレット)です。MCP サーバーはローカルで実行され、設定したウォレット/プロバイダー、および L402 の検出では L402 API レジストリと通信します。提供されたウォレット認証情報は、お使いのマシン上に保管されます(ホスト型 API の場合は、保存時に暗号化されます)。収集されるデータ、関係する第三者、保持期間、お問い合わせ先([email protected])については、プライバシーポリシー全文をご覧ください。
サポート
不具合や問題が発生した場合は、[email protected] までメールでご連絡ください。担当者が確認します。一般的な質問については、Discord にご参加ください:https://discord.gg/rX7NxHY8vx。 バグ報告や機能リクエストは、このリポジトリで Issue を作成してください。
ライセンス
MIT — LICENSE を参照してください。
リンク
- Lightning Enable — 決済導入ミドルウェア
- ドキュメント — ドキュメント全文
- ストア — L402 のライブデモ
- NuGet — .NET パッケージ
- PyPI — Python パッケージ
- Docker Hub — Docker イメージ
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。