ライトニングネットワークMCPサーバー
Lightning Network MCPサーバーは、 Gooseなどで実行される大規模言語モデル(LLM)エージェントが自然言語を使用してLightningノードデータをクエリできるようにします。モデルコンテキストプロトコル(MCP)仕様バージョン2025-03-26を実装し、MCP Inspector 1.7.0と完全に互換性があります。
サーバーはgRPCまたはLightning Node Connect(LNC)を使用してノードに接続し、読み取り可能なサマリーと機械可読なJSON出力の両方を返します。モジュール化され、テスト可能で、Core LightningやEclairなどの追加のノードタイプをサポートできるように拡張可能な設計になっています。
アーキテクチャの詳細については、 ARCHITECTURE.md を参照してください。
何をするのか
このシステムは自然言語によるプロンプトを解釈し、ユーザーの意図を判別し、ドメインロジックを評価し、Lightningノードにクエリを実行します。レスポンスは平易な言語と構造化されたJSON形式で返されます。現在は基本的なチャネルクエリをサポートしており、より広範なノードステータス、請求書、ルーティングデータに対応できるよう積極的に進化しています。
Related MCP server: MCP Snapshot Server
クエリ例
自然言語で質問する:
Show me my channels人間が読める形式の応答を取得します。
Your node has 5 channels with a total capacity of 0.05000000 BTC (5,000,000 sats).
4 channels are active and 1 is inactive.
Your channels:
1. ACINQ: 0.02000000 BTC (2,000,000 sats) (active)
2. Bitrefill: 0.01000000 BTC (1,000,000 sats) (active)
3. LightningTipBot: 0.00800000 BTC (800,000 sats) (active)
4. Wallet of Satoshi: 0.00700000 BTC (700,000 sats) (active)
5. LN+: 0.00500000 BTC (500,000 sats) (inactive)さらに、アプリケーション用の構造化された JSON データ:
{
"channels": [
{
"remote_alias": "ACINQ",
"capacity": 2000000,
"local_balance": 800000,
"active": true
},
...
],
"summary": {
"total_capacity": 5000000,
"active_channels": 4,
"inactive_channels": 1,
"largest_channel_alias": "ACINQ",
"average_local_balance": 750000
}
}JSON 出力は同じデータの構造化されたバージョンを提供し、LLM エージェント、UI レイヤー、または下流のアプリケーションでの使用に最適化されています。
サポートされている機能
現在、システムは基本的なチャネル クエリをサポートしています。
「チャンネルを見せて」
次のドメインにわたって、より堅牢なクエリが開発中です。
チャンネル
「私のチャンネルの健全性はどうですか?」
「非アクティブなチャンネルはありますか?」請求書
「今週、請求書を何枚受け取りましたか?」
「前回の支払いはいくらでしたか?」ノード
「最も接続しているノードはどれですか?」
「最後に支払いを転送したノードはどれですか?」ルーティング
「過去 24 時間にどれだけルーティングしましたか?」
「ルーティングの大部分を行っているチャネルはどれですか?」
クイックスタート
これにより、実際のノードを使用したゼロ構成の開発エクスペリエンスが提供されます。
実際のノードで実行(gRPC 経由の LND または LNC)
cp .env.example .env
# Configure .env with your LND credentials
npm run mcp:prodTor経由でLNDノードに接続する
Tor 隠しサービスとして実行されている LND ノードに接続するには:
Tor がシステムにインストールされ、実行されていることを確認します。
# macOS (using Homebrew) brew install tor brew services start tor # Ubuntu/Debian sudo apt install tor sudo systemctl start torTor SOCKS プロキシ設定を使用して
.envファイルを構成します。CONNECTION_TYPE=lnd-direct LND_HOST=your-node-address.onion LND_PORT=10009 LND_TLS_CERT_PATH=/path/to/tls.pem # Use PEM format for better compatibility LND_MACAROON_PATH=/path/to/admin.macaroon SOCKS_PROXY_HOST=localhost SOCKS_PROXY_PORT=9050TLS証明書がPEM形式(
-----BEGIN CERTIFICATE-----で始まる)であることを確認してください。生の証明書をお持ちの場合は、extract-credentials.jsスクリプトを使用して変換できます。
資格情報抽出ツールの使用
lndconnect URL (モバイル アプリでよく使用される) がある場合は、次のコマンドを使用して資格情報を抽出できます。
# Extract credentials from an lndconnect URL
node scripts/extract-credentials.js "lndconnect://your-node.onion:10009?cert=BASE64CERT&macaroon=BASE64MACAROON"
# Or set LNDCONNECT_URL in your .env file and run
node scripts/extract-credentials.jsこのスクリプトは次のことを行います。
ホスト、ポート、証明書、マカロンを抽出する
証明書をPEM形式に変換する(適切な接続に必要)
ファイルをtest/fixturesディレクトリに保存します。
.env ファイルに追加する設定を印刷します
MCP Inspectorでテストする
公式 MCP インスペクターを使用してサーバーをテストするには:
npm install -g @modelcontextprotocol/inspector
npm run build
LOG_LEVEL=warn npx @modelcontextprotocol/inspector node scripts/inspect.js互換性
MCP仕様バージョン
2025-03-26MCP インスペクター バージョン
1.7.0MCPエージェントの互換性(例:Goose)
直接ノードアクセスのための gRPC サポート
安全なリモートアクセスのためのLNCサポート
JSONと自然言語出力形式
貢献
セットアップ、スタイル、テストのガイダンスについては、 CONTRIBUTING.md を参照してください。
ライセンス
Apache License 2.0。LICENSEを参照してください。