使用说明
项目简介
LND MCP Server 是一个开源的 Model Context Protocol (MCP) 服务器,旨在连接到 Lightning Network Daemon (LND) 节点,并通过自然语言查询提供节点信息的访问能力。该服务器作为 MVP 版本,目前主要支持闪电网络通道数据的查询,为需要了解 LND 节点状态(从运营商到技术人员)的用户提供清晰的洞察。它可以与任何支持 MCP 协议的 LLM 应用(如 Block Goose, Claude, OpenAI 应用)配合使用。
主要功能点
- 自然语言查询接口: 支持使用简单的自然语言提问来查询 LND 节点信息,例如 "Show me all my channels"。
- 安全 LND 节点集成: 通过 TLS 证书和 Macaroon 安全地连接到用户的 LND 节点。
- 双格式响应: 提供人类可读的文本摘要和机器友好的 JSON 数据响应。
- 模块化架构: 代码结构清晰,易于维护和扩展。
- Mock LND 模式: 支持在没有真实 LND 节点的情况下进行开发和测试。
安装步骤
-
克隆仓库:
git clone https://github.com/pblittle/lnd-mcp-server.git cd lnd-mcp-server -
安装依赖:
npm install -
构建项目:
npm run build
服务器配置
MCP 服务器需要配置 LND 节点的连接信息以及服务器自身的运行参数。配置信息通过 '.env' 文件或环境变量进行设置。
以下是 MCP 客户端连接 LND MCP Server 时 需要配置的服务器启动命令 (command) 及其参数 (args),以 JSON 格式提供:
{ "serverName": "lnd-mcp-server", "command": "node", "args": [ "scripts/run-server.js" ], "env": { "LND_TLS_CERT_PATH": "/path/to/your/tls.cert", "LND_MACAROON_PATH": "/path/to/your/readonly.macaroon", "LND_HOST": "localhost", "LND_PORT": "10009", "PORT": "3000", "LOG_LEVEL": "info", "USE_MOCK_LND": "false" }, "description": "LND MCP Server - 连接到真实LND节点的MCP服务器", "notes": "请替换 '/path/to/your/tls.cert' 和 '/path/to/your/readonly.macaroon' 为您实际的LND节点 TLS 证书和只读 macaroon 文件的路径。" }
参数注释:
- serverName: 服务器名称,可以自定义,用于在 MCP 客户端中标识服务器。
- command: 启动服务器的命令,这里是 'node',表示使用 Node.js 运行时。
- args: 启动命令的参数,这里是 'scripts/run-server.js',指向服务器的启动脚本。
- env: 环境变量配置,用于配置 LND 节点连接和服务器运行参数。
- LND_TLS_CERT_PATH: LND 节点的 TLS 证书文件路径。[必填,连接真实 LND 节点时]
- LND_MACAROON_PATH: LND 节点的只读 macaroon 文件路径。[必填,连接真实 LND 节点时]
- LND_HOST: LND 节点的主机地址,默认为 'localhost'。[必填,连接真实 LND 节点时]
- LND_PORT: LND 节点的 gRPC 端口,默认为 '10009'。[必填,连接真实 LND 节点时]
- PORT: MCP 服务器监听的端口,默认为 '3000'。 [可选,可以自定义服务器端口]
- LOG_LEVEL: 日志级别,可选 'debug', 'info', 'warn', 'error', 'fatal',默认为 'info'。 [可选,可以调整日志输出级别]
- USE_MOCK_LND: 是否使用 Mock LND 模式,设置为 'true' 则使用模拟 LND 节点,'false' 则连接真实 LND 节点。默认为 'false'。 [可选,开发测试时可以设置为 'true' 使用 Mock LND]
- description: 服务器描述,用于在 MCP 客户端界面显示服务器的用途。
- notes: 配置说明,提供额外的配置提示和注意事项。
注意:
- 如果您需要连接到真实的 LND 节点,请确保 '.env' 文件中配置了正确的 'LND_TLS_CERT_PATH', 'LND_MACAROON_PATH', 'LND_HOST', 和 'LND_PORT' 环境变量,并且 'USE_MOCK_LND' 设置为 'false' 或不设置(默认为 'false')。
- 如果您只是想测试 MCP 服务器功能,可以将 'USE_MOCK_LND' 设置为 'true',并使用 'npm run mcp:mock' 命令启动服务器,此时无需配置真实的 LND 节点信息。
基本使用方法
-
启动服务器: 根据您的需求选择启动模式:
- 开发模式 (Mock LND): 'npm run mcp:dev' (使用模拟 LND 节点)
- 生产模式 (真实 LND): 'npm run mcp:prod' (连接真实 LND 节点,需要配置正确的 LND 节点信息)
- Mock 服务器模式: 'npm run mcp:mock' (仅启动 Mock MCP 服务器,用于测试)
-
使用 MCP 客户端连接: 配置您的 MCP 客户端(例如 Block Goose, MCP Inspector 或其他支持 MCP 协议的 LLM 应用),按照上述 服务器配置 中的 JSON 格式配置服务器连接信息。客户端需要使用 Stdio 传输协议与服务器进行通信。
-
发送自然语言查询: 在 MCP 客户端中,您可以向服务器发送自然语言查询,例如:
- "Show me all my channels"
- "What is the health of my channels?"
- "How is my channel liquidity distributed?"
服务器将解析您的查询,并返回包含文本摘要和 JSON 数据的响应。
使用 MCP Inspector 测试 (可选)
您可以使用 MCP Inspector 工具 (https://www.npmjs.com/package/@modelcontextprotocol/inspector) 来测试和探索 MCP-LND Server。
-
安装 MCP Inspector:
npm install -g @modelcontextprotocol/inspector -
启动 MCP 服务器 (例如 Mock 模式):
npm run mcp:mock -
启动 MCP Inspector:
npx @modelcontextprotocol/inspector -
在 Web 界面中连接:
- 点击右上角的 "Connect"。
- 设置传输类型为 "stdio"。
- 在 "Path" 中输入 'scripts/mock-server.js' 文件的路径 (如果您启动的是 mock 服务器) 或者 'scripts/run-server.js' (如果您启动的是真实 LND 服务器)。
- 点击 "Connect" 开始与 MCP 服务器交互。
通过 MCP Inspector,您可以列出可用的工具 (Tool),并尝试使用自然语言查询与 MCP-LND Server 进行交互。
信息
分类
开发者工具