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.

Servidor MCP de Lightning Network

El servidor MCP de Lightning Network permite que los agentes de modelos de lenguaje grandes (LLM), como los que se ejecutan en Goose , consulten los datos de los nodos Lightning mediante lenguaje natural. Implementa la especificación del Protocolo de Contexto de Modelo (MCP), versión 2025-03-26 , y es totalmente compatible con MCP Inspector 1.7.0.

El servidor se conecta a su nodo mediante gRPC o Lightning Node Connect (LNC) y devuelve resúmenes legibles y una salida JSON legible por máquina. Está diseñado para ser modular, testeable y extensible, lo que le permite admitir otros tipos de nodos, como Core Lightning y Eclair.

Para obtener detalles sobre la arquitectura, consulte ARCHITECTURE.md .

Qué hace

El sistema interpreta indicaciones en lenguaje natural, determina la intención del usuario, evalúa la lógica del dominio y consulta su nodo Lightning. Las respuestas se devuelven en lenguaje sencillo y en formato JSON estructurado. Actualmente admite consultas básicas de canal y está en constante evolución para abarcar información más amplia sobre el estado del nodo, las facturas y los datos de enrutamiento.

Ejemplo de consulta

Pregunte en lenguaje natural:

Show me my channels

Obtenga respuestas legibles para humanos:

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)

Más datos JSON estructurados para aplicaciones:

{ "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 } }

La salida JSON proporciona una versión estructurada de los mismos datos y está optimizada para su uso por parte de agentes LLM, capas de UI o aplicaciones posteriores.

Funciones compatibles

Actualmente, el sistema admite consultas de canales básicos:

  • “Muéstrame mis canales”

Se están desarrollando consultas más robustas en los siguientes dominios:

  • Canales
    “¿Cuál es la salud de mis canales?”
    "¿Tengo algún canal inactivo?"
  • Facturas
    “¿Cuántas facturas he recibido esta semana?”
    “¿Cuál fue mi último pago?”
  • Nodos
    “¿A qué nodo estoy más conectado?”
    "¿A qué nodo envié el último pago?"
  • Enrutamiento
    "¿Cuánto he enrutado en las últimas 24 horas?"
    "¿Qué canales realizan la mayor parte del enrutamiento?"

Inicio rápido

Esto proporciona una experiencia de desarrollo sin configuración utilizando nodos reales.

Ejecutar con un nodo real (LND a través de gRPC o LNC)

cp .env.example .env # Configure .env with your LND credentials npm run mcp:prod

Conexión a un nodo LND a través de Tor

Para conectarse a un nodo LND que se ejecuta como un servicio oculto de Tor:

  1. Asegúrese de que Tor esté instalado y ejecutándose en su sistema:
    # macOS (using Homebrew) brew install tor brew services start tor # Ubuntu/Debian sudo apt install tor sudo systemctl start tor
  2. Configure su archivo .env con la configuración del proxy Tor SOCKS:
    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. Asegúrese de que su certificado TLS esté en formato PEM (empieza por -----BEGIN CERTIFICATE----- ). Si tiene un certificado sin procesar, puede convertirlo con el script extract-credentials.js.

Uso de la herramienta de extracción de credenciales

Si tiene una URL lndconnect (comúnmente utilizada en aplicaciones móviles), puede extraer las credenciales usando:

# 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

Este script hará lo siguiente:

  • Extraiga el host, el puerto, el certificado y el macaroon
  • Convierte el certificado al formato PEM (necesario para una conexión adecuada)
  • Guarde los archivos en el directorio de pruebas/accesorios
  • Imprima la configuración para agregarla a su archivo .env

Prueba con MCP Inspector

Para probar el servidor utilizando el inspector oficial de MCP:

npm install -g @modelcontextprotocol/inspector npm run build LOG_LEVEL=warn npx @modelcontextprotocol/inspector node scripts/inspect.js

Compatibilidad

  • Versión de la especificación MCP 2025-03-26
  • Versión 1.7.0 de MCP Inspector
  • Compatibilidad del agente MCP (por ejemplo, Goose)
  • Compatibilidad con gRPC para acceso directo a nodos
  • Compatibilidad con LNC para acceso remoto seguro
  • Formatos de salida JSON y de lenguaje natural

Contribuyendo

Consulte CONTRIBUTING.md para obtener orientación sobre configuración, estilo y pruebas.

Licencia

Licencia Apache 2.0. Véase LICENCIA .

-
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.

Se conecta a los nodos de Lightning Network y permite consultas en lenguaje natural para obtener información del canal, proporcionando respuestas legibles para humanos y datos JSON estructurados a través del Protocolo de contexto de modelo.

  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