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으로 반환됩니다. 현재 기본적인 채널 쿼리를 지원하며, 더 광범위한 노드 상태, 송장 및 라우팅 데이터를 포함하도록 적극적으로 발전하고 있습니다.

예제 쿼리

자연어로 질문하기:

지엑스피1

사람이 읽을 수 있는 응답을 받으세요:

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 또는 LNC를 통한 LND)로 실행

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