LDK服务器MCP工具

一个将LDK服务器操作暴露为AI代理工具的MCP服务器。

  • by tnull
  • Rust
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 tnull/ldk-server-mcp

使用说明

ldk服务器mcp

注: 此回购已转移到 ldk-server 工作空间,因此被存档。

一 MCP(模型上下文协议) 暴露的服务器 LDK服务器 操作作为AI代理的工具。它通过stdio在JSON-RPC 2.0上通信,并使用TLS连接到LDK服务器实例 ldk-server-client 图书馆。

建筑

cargo build --release

配置

服务器按此优先级顺序读取配置(最高获胜):

  1. 环境变量: LDK_BASE_URL, LDK_API_KEY, LDK_TLS_CERT_PATH
  2. CLI参数: --config <path> 指向TOML配置文件
  3. 默认路径: ~/.ldk-server/config.toml, ~/.ldk-server/tls.crt, ~/.ldk-server/{network}/api_key

TOML配置格式与 ldk-server-cli:

[node]
grpc_service_address = "127.0.0.1:3536"
network = "signet"

[tls]
cert_path = "/path/to/tls.crt"

用法

独立

export LDK_BASE_URL="localhost:3000"
export LDK_API_KEY="your_hex_encoded_api_key"
export LDK_TLS_CERT_PATH="/path/to/tls.crt"
./target/release/ldk-server-mcp

或者使用配置文件:

./target/release/ldk-server-mcp --config /path/to/config.toml

使用克劳德桌面

将以下内容添加到您的Claude Desktop MCP配置中(claude_desktop_config.json):

{
  "mcpServers": {
    "ldk-server": {
      "command": "/path/to/ldk-server-mcp",
      "env": {
        "LDK_BASE_URL": "localhost:3000",
        "LDK_API_KEY": "your_hex_encoded_api_key",
        "LDK_TLS_CERT_PATH": "/path/to/tls.crt"
      }
    }
  }
}

使用克劳德代码

添加到您的Claude Code MCP设置中(.claude/settings.json):

{
  "mcpServers": {
    "ldk-server": {
      "command": "/path/to/ldk-server-mcp",
      "env": {
        "LDK_BASE_URL": "localhost:3000",
        "LDK_API_KEY": "your_hex_encoded_api_key",
        "LDK_TLS_CERT_PATH": "/path/to/tls.crt"
      }
    }
  }
}

可用工具

服务器将37个一元LDK服务器RPC作为MCP工具公开。

流式RPC,例如 subscribe_events 以及非RPC HTTP端点,例如 metrics 不作为工具暴露。

节点

工具 说明
get_node_info 检索节点信息,包括node_id、同步状态和最佳块
get_balances 检索所有已知余额的概览(链上和闪电)

在链上

工具 说明
onchain_receive 生成新的链上比特币融资地址
onchain_send 将链上比特币支付发送到一个地址

支付

工具 说明
bolt11_receive 创建BOLT11闪电发票以接收付款
bolt11_receive_for_hash 为特定付款哈希创建BOLT11闪电发票
bolt11_claim_for_hash 手动为特定付款哈希申请BOLT11付款
bolt11_fail_for_hash 手动失败特定支付哈希的BOLT11支付
bolt11_receive_via_jit_channel 创建BOLT11闪电发票,通过LSPS2 JIT渠道接收
bolt11_receive_variable_amount_via_jit_channel 创建可变金额BOLT11闪电发票,通过LSPS2 JIT渠道接收
bolt11_send 支付BOLT11闪电发票
bolt12_receive 创建BOLT12报价以接收闪电付款
bolt12_send 支付BOLT12闪电优惠
spontaneous_send 向Lightning节点发送自发(密钥发送)付款
unified_send 根据BIP 21 URI或BIP 353人类可读名称发送付款

频道

工具 说明
open_channel 使用远程节点打开新的Lightning通道
close_channel 合作关闭闪电通道
force_close_channel 单方面强制关闭闪电通道
list_channels 列出所有已知的闪电通道
update_channel_config 更新频道的转发费和CLTV增量
splice_in 通过加入链上资金来增加渠道的余额
splice_out 通过拼接到链上来降低通道的平衡

付款历史记录

工具 说明
list_payments 列出所有付款(支持通过page_token分页)
get_payment_details 通过ID获取特定付款的详细信息
list_forwarded_payments 列出所有转发的付款(支持通过page_token分页)

同行

工具 说明
connect_peer 无需打开通道即可连接到Lightning对等端
disconnect_peer 断开与Lightning对等端的连接
list_peers 列出所有已知的Lightning对等体

公用事业

工具 说明
decode_invoice 解码BOLT11发票并返回其解析字段
decode_offer 解码BOLT12报价并返回其解析字段
sign_message 使用节点的密钥对消息进行签名
verify_signature 根据消息和公钥验证签名
export_pathfinding_scores 导出Lightning路由器使用的寻路分数

MCP协议

  • 协议版本: 2024-11-05
  • 运输:stdio(每行一条JSON-RPC 2.0消息)
  • 方法: initialize, tools/list, tools/call

测试

cargo test

许可证

根据以下任一方式获得许可

由您选择。