LND MCP Server

by pblittle
Verified

Integrations

  • Utilizes .env files for configuration of LND node connection details like certificates, macaroons, host, and port.

  • Used for cloning the repository during installation.

  • Provides repository access for installation and contribution to the LND MCP Server project.

ライトニングネットワーク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形式で返されます。現在は基本的なチャネルクエリをサポートしており、より広範なノードステータス、請求書、ルーティングデータに対応できるよう積極的に進化しています。

クエリ例

自然言語で質問する:

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:prod

Tor経由でLNDノードに接続する

Tor 隠しサービスとして実行されている LND ノードに接続するには:

  1. Tor がシステムにインストールされ、実行されていることを確認します。
    # macOS (using Homebrew) brew install tor brew services start tor # Ubuntu/Debian sudo apt install tor sudo systemctl start tor
  2. Tor 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=9050
  3. TLS証明書が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-26
  • MCP インスペクター バージョン1.7.0
  • MCPエージェントの互換性(例:Goose)
  • 直接ノードアクセスのための gRPC サポート
  • 安全なリモートアクセスのためのLNCサポート
  • JSONと自然言語出力形式

貢献

セットアップ、スタイル、テストのガイダンスについては、 CONTRIBUTING.md を参照してください。

ライセンス

Apache License 2.0。LICENSEを参照してください。

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Lightning Network ノードに接続し、チャネル情報に対する自然言語クエリを可能にし、モデル コンテキスト プロトコルを通じて人間が判読できる応答と構造化された JSON データの両方を提供します。

  1. What It Does
    1. Example Query
      1. Supported Features
        1. Quick Start
          1. Run with a Real Node (LND via gRPC or LNC)
        2. Test with MCP Inspector
          1. Compatibility
            1. Contributing
              1. License
                ID: 2f0s0rw11f