项目简介
闪电网络 MCP 服务器 (Lightning MCP Server) 是一个基于 Model Context Protocol (MCP) 构建的后端应用,旨在通过自然语言查询的方式,向大型语言模型(LLM)客户端提供您的闪电网络节点信息。它充当 LLM 和闪电网络节点之间的桥梁,允许用户以人类友好的方式询问关于其闪电网络通道状态、流动性等问题,并返回结构化的 JSON 数据和易于理解的文本回复。
主要功能点
- 自然语言查询: 使用简单的自然语言提问,即可查询闪电网络通道信息。
- 多连接方式支持: 支持直接连接到 LND 节点、通过 Lightning Node Connect (LNC) 进行远程连接,以及使用 Mock 模式进行测试。
- MCP 协议兼容: 完全兼容 Model Context Protocol,可与任何支持 MCP 协议的 LLM 客户端(如 Claude、Block Goose 等)配合使用。
- 结构化数据输出: 除了人类可读的文本回复,还提供结构化的 JSON 数据,方便 LLM 应用进行进一步处理和集成。
安装步骤
-
克隆仓库:
git clone https://github.com/pblittle/lightning-mcp-server.git cd lightning-mcp-server -
安装依赖:
npm install -
构建项目:
npm run build
服务器配置
MCP 客户端需要配置以下 JSON 格式信息以连接到闪电网络 MCP 服务器:
{ "serverName": "lightning-mcp-server", "command": "node", "args": [ "dist/index.js" ], "transport": "stdio" }
配置参数说明:
- 'serverName': 服务器的名称,可以自定义,用于在 MCP 客户端中标识该服务器。
- 'command': 启动 MCP 服务器的命令,这里使用 'node' 运行 JavaScript 代码。
- 'args': 传递给启动命令的参数,'dist/index.js' 指向编译后的服务器入口文件。
- 'transport': 指定 MCP 服务器使用的传输协议,这里使用 'stdio' (标准输入输出)。
请注意:
- 上述配置为最简配置,适用于 Mock 模式。
- 如果需要连接到真实的 LND 节点或使用 LNC,您需要配置 '.env' 文件并选择相应的连接类型。 具体配置方法请参考仓库 README.md 文件中的 "Quick Start" 部分。
- 不同的连接类型(Mock, LND Direct, LNC)需要设置不同的环境变量,例如 LND 节点的证书路径、Macaroon 文件路径、LND 主机地址和端口,或者 LNC 连接字符串等。
基本使用方法
-
启动 MCP 服务器:
- Mock 模式 (无需 LND 节点): 运行 'npm run mcp:mock' 命令启动 Mock 服务器。
- LND 节点连接模式 或 LNC 连接模式: 请先配置 '.env' 文件,然后运行 'npm run mcp:prod' 命令启动服务器。
-
使用 MCP Inspector (或任何 MCP 客户端) 连接到服务器:
- 确保已安装 MCP Inspector (安装命令: 'npm install -g @modelcontextprotocol/inspector')。
- 运行 'npx @modelcontextprotocol/inspector' 启动 MCP Inspector。
- 在 MCP Inspector 中,选择 "stdio" 连接方式,并使用上面提供的服务器配置信息进行连接。
-
在 MCP Inspector 中输入自然语言查询:
- 例如,输入 "Show me all my channels" 或 "What is the health of my channels?" 等问题,即可向服务器发送查询请求。
- 服务器将返回包含人类可读文本和结构化 JSON 数据的响应。
示例查询
- 'Show me all my channels' (显示所有通道)
- 'List my active channels' (列出活跃通道)
- 'What is the health of my channels?' (通道健康状况如何?)
- 'How is my channel liquidity distributed?' (通道流动性分布如何?)
信息
分类
商业系统