l

lnd-mcp查询服务器

@pblittle/lnd-mcp-server
0 Stars 336 次浏览 pblittle 更新于 2026-08-23

连接到闪电网络节点,启用针对通道信息的自然语言查询,通过模型上下文协议提供人类可读的响应和结构化的JSON数据。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Lightning Network MCP 服务器

Lightning Network MCP 服务器允许大型语言模型(LLM)代理——例如在 Goose 中运行的代理——使用自然语言查询 Lightning 节点数据。它实现了 Model Context Protocol (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 或 LNC 的 LND)

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

通过 Tor 连接到 LND 节点

要连接到作为 Tor 隐藏服务运行的 LND 节点:

  1. 确保您的系统上安装并运行了 Tor:

    # macOS (使用 Homebrew)
    brew install tor
    brew services start tor
    
    # Ubuntu/Debian
    sudo apt install tor
    sudo systemctl start tor
    
  2. 在您的 .env 文件中配置 Tor SOCKS 代理设置:

    CONNECTION_TYPE=lnd-direct
    LND_HOST=your-node-address.onion
    LND_PORT=10009
    LND_TLS_CERT_PATH=/path/to/tls.pem  # 使用 PEM 格式以获得更好的兼容性
    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

此脚本将:

  • 提取主机、端口、证书和 macaroon
  • 将证书转换为 PEM 格式(正确连接所需)
  • 将文件保存到 test/fixtures 目录
  • 打印要添加到 .env 文件中的配置

使用 MCP 检查器测试

要使用官方的 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

相关 MCP 服务