mcpField
L
Lightning Enable MCP Server

Lightning Enable MCP Server

ローカル
docs.lightningenable.com金融データ96 日前に更新

Lightning Enable MCP Server について

Lightning Enable MCP Server は、AI エージェントに Lightning 決済とエージェント間取引のツールを提供します。請求書払い、有料 API の利用、支出管理に加え、L402 による API 販売や Nostr 上でのサービス発見・決済に対応します。

主な機能

  1. 01Lightning 請求書と L402 チャレンジの支払い
  2. 02有料 API の検索とマニフェスト取得
  3. 03予算設定と支出記録
  4. 04請求書作成とウォレット操作
  5. 05L402 による API アクセス販売
  6. 06Nostr 上でのエージェントサービス発見と決済

活用シーン

  1. 01エージェントによる API のリクエスト単位の支払い
  2. 02エンドポイントと料金情報を含む API の検索
  3. 03エージェントの支出制限とレシート確認
  4. 04他のエージェントへのサービス提供と決済

MCP 対応

MCP サーバーとして、AI エージェントにウォレット、請求書、L402 決済、予算、API 発見のツールを提供します。Producer と Agent Service Agreement のツールでは、サービス販売や Nostr 上での発見、リクエスト、決済を行えます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
nugetLightningEnable.Mcp2.1.1
pypilightning-enable-mcp2.1.1
ocidocker.io/refinedelement/lightning-enable-mcp:2.1.1

ツール

17

掲載時のツール一覧 · 5 日前に更新

パラメーター型必須説明
nwc_connection_stringstringいいえNWC 接続文字列(nostr+walletconnect://...)。報告のみの場合は省略します。

詳細

Lightning Enable の一部 — Lightning 上でのエージェントコマースのためのインフラストラクチャです。

Lightning Enable MCP サーバー

Discord PyPI downloads NuGet downloads Docker pulls

独自の API を収益化 — 30 日間の無料トライアル

エージェントは Lightning 経由でリクエストごとに API 料金を支払います — 月額 49 ドルの定額サブスクリプションで、すべてのサットを 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_CHANNELconfirmation.channel(stderr | refuse | webhook | file)
LIGHTNING_ENABLE_CONFIRMATION_WEBHOOK_URLconfirmation.webhookUrl
LIGHTNING_ENABLE_CONFIRMATION_WEBHOOK_SECRETconfirmation.webhookSecret
LIGHTNING_ENABLE_CONFIRMATION_FILEconfirmation.filePath(デフォルトは ~/.lightning-enable/confirmations.jsonl)
LIGHTNING_ENABLE_HOSTEDホステッド環境のデプロイを宣言するには 1 に設定します(以下を参照)

チャネルが設定されていない場合、サーバーは次のように判断します。

stdinLIGHTNING_ENABLE_HOSTEDチャネル起動時の警告
TTY任意の値stderrなし
TTY ではない未設定または 0stderrあり — 誰も読んでいない可能性があります
TTY ではない1refuseあり — 上限超過の支払いは拒否されます

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 サポート
StrikeAPI キーはい
LNDREST + macaroonはい(保証されています)
NWC (CoinOS)接続文字列はい
NWC (CLINK)接続文字列はい
NWC (Alby Hub)接続文字列はい
OpenNodeAPI キーいいえ(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 額
maxPerPaymentSatsLIGHTNING_ENABLE_MAX_PER_PAYMENT_SATS1回の支払いあたりの最大 satoshi 数
maxPerSessionSatsLIGHTNING_ENABLE_MAX_PER_SESSION_SATS1セッションあたりの最大 satoshi 数
autoApproveSatsLIGHTNING_ENABLE_AUTO_APPROVE_SATSBTC 価格を取得できない場合に、確認なしで支払いに使える 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_producerAgentic Commerceaction:configure_receive、status、create_proxy、add_endpoint、publish、list_challenges、create、verify — 販売者側の機能一式
agent_servicesAgentic Commerceaction:discover、request、settle、publish、unpublish、attest、reputation
renew_lightning_enable_subscriptionAgentic 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で、公開する範囲を選択してください。

プロファイルツール使用する状況
lite6 — setup_wallet、pay_invoice、access_l402_resource、get_balance、budget、receiptsエージェントがウォレットの取得、支払い、予算内での利用のみを必要とする場合
standard (デフォルト)17 — 上記の表を参照旧ツール構成よりスキーマを約40%削減しつつ、すべてを利用する場合
full33 — 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_statusbudget(action="status")
configure_budgetbudget(action="tighten")
get_receiptsreceipts(source="durable")
get_payment_historyreceipts(source="session")
get_btc_pricewallet_ops(action="price")
exchange_currencywallet_ops(action="exchange")
send_onchainwallet_ops(action="send_onchain")
create_l402_challengel402_producer(action="create")
verify_l402_paymentl402_producer(action="verify")
discover_agent_servicesagent_services(action="discover")
request_agent_serviceagent_services(action="request")
settle_agent_serviceagent_services(action="settle")
publish_agent_capabilityagent_services(action="publish")
unpublish_agent_capabilityagent_services(action="unpublish")
publish_agent_attestationagent_services(action="attest")
get_agent_reputationagent_services(action="reputation")
confirm_paymentverify_confirmation_code
check_wallet_balanceget_balance
get_all_balancesget_balance

最後の3つはこの統合より前から存在しており、fullを含むすべてのプロファイルで非公開のままです。

ドキュメント

リポジトリ構成

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_receivenwc_connection_string (任意)L402 の支払い先を、自分が管理するウォレットに設定します
statuslimitプラン、受け取り用ウォレット、オンボーディングのチェックリスト、最近の発行内容を表示します(読み取り専用)
create_proxyname、target_base_url、description、default_price_sats既存の API を L402 の背後に置きます
add_endpointproxy_id、endpoint_id、path、http_method、summary、price_sats1 つのルートに価格を設定します
publishproxy_id、service_name、service_description、categories他のエージェントが見つけられるよう、サービスを掲載します
list_challengeschallenge_status、limit、offset発行した内容を確認します(読み取り専用)
createresource、price_sats、description単発の請求書と macaroon チャレンジを発行します
verifymacaroon、preimageアクセスを許可する前に、支払者のトークンを確認します
API キーから有料エンドポイントまで

ダッシュボードも REST クライアントも不要で、人手を介する必要もありません。各ステップは 1 回のツール呼び出しで完了します。

  1. API キーを取得します。 create_lightning_enable_account を実行すると、ウォレットから約 100 sats の有効化手数料が支払われ、キーが ~/.lightning-enable/config.json に書き込まれます。制限付きツールを有効にするには、サーバーを再起動してください。(すでにキーがある場合はスキップしてください。)
  2. 支払い先を自分のウォレットに設定します。 l402_producer(action="configure_receive") を実行します。引数を指定しない場合は、このサーバーがすでに支払いに使用している NWC ウォレットを再利用します。別のウォレットを使うには、nwc_connection_string を渡してください。この文字列がそのまま表示されることはなく、表示されるのは <set> のみです。
  3. 現在の状況を確認します。 l402_producer(action="status") を実行すると、プラン、受け取り用ウォレット、オンボーディングのチェックリストが表示されるため、エージェントは未完了の項目を確認できます。
  4. 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 を返すようになります。
  5. 各ルートに価格を設定します。 l402_producer(action="add_endpoint", proxy_id="weather-api", endpoint_id="forecast", path="/forecast", http_method="GET", price_sats=10) を実行します。ルートごとに繰り返してください。
  6. サービスを掲載します。 l402_producer(action="publish", proxy_id="weather-api", service_description="Five-day forecasts for agents", categories=["weather"]) を実行すると、OpenAPI とマニフェストの URL が返されます。他のエージェントは discover_api を通じてこのサービスを見つけられます。
  7. 入金を確認します。 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カテゴリー、ハッシュタグ、キーワードからエージェントの機能を検索します
publishNostr ネットワークにエージェントのサービスを公開します(kind 38400)。公開は一度だけ行ってください。呼び出すたびに新しいリスティングと L402 プロキシが作成されます。リスティングを変更するには、unpublish してから再度 publish するか、Lightning Enable ダッシュボードで編集します
unpublish公開済みのリスティングを取り下げます。L402 プロキシを無効化し、NIP-09 による削除を発行します
request別のエージェントにサービスをリクエストします(kind 38401)
settleL402 Lightning 決済を通じてエージェントサービスの料金を支払います
attestサービス完了後にエージェントへのレビュー/評価を投稿します(kind 38403)
reputationプロトコル上のアテステーションからエージェントの評判スコアを確認します
エージェントコマースの仕組み
  1. 発見 — agent_services(action="discover", category="translation") で、翻訳を提供するエージェントを検索します
  2. リクエスト — agent_services(action="request", capability_event_id=..., budget_sats=100) でサービスをリクエストします
  3. 決済 — agent_services(action="settle", l402_endpoint=...) で Lightning 経由で支払い、結果を受け取ります
  4. レビュー — 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、…)も引き続き利用できます。旧名 → 新しい呼び出しを参照してください。

関連プロジェクト

プライバシー

Lightning Enable は資金を保管しません。資金を保管するのは、接続されたウォレットまたは決済プロバイダー(Strike、OpenNode、LND、NWC ウォレット)です。MCP サーバーはローカルで実行され、設定したウォレット/プロバイダー、および L402 の検出では L402 API レジストリと通信します。提供されたウォレット認証情報は、お使いのマシン上に保管されます(ホスト型 API の場合は、保存時に暗号化されます)。収集されるデータ、関係する第三者、保持期間、お問い合わせ先([email protected])については、プライバシーポリシー全文をご覧ください。

サポート

不具合や問題が発生した場合は、[email protected] までメールでご連絡ください。担当者が確認します。一般的な質問については、Discord にご参加ください:https://discord.gg/rX7NxHY8vx。 バグ報告や機能リクエストは、このリポジトリで Issue を作成してください。

ライセンス

MIT — LICENSE を参照してください。

リンク

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。