{
  "schemaVersion": "1.0",
  "item": {
    "slug": "lightning-mcp-server",
    "name": "Lightning MCP Server",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Roasbeef/lightning-mcp-server",
    "canonicalUrl": "https://clawhub.ai/Roasbeef/lightning-mcp-server",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/lightning-mcp-server",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=lightning-mcp-server",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "templates/env.txt",
      "scripts/install.sh",
      "scripts/setup-claude-config.sh",
      "scripts/configure.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/lightning-mcp-server"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/lightning-mcp-server",
    "agentPageUrl": "https://openagent3.xyz/skills/lightning-mcp-server/agent",
    "manifestUrl": "https://openagent3.xyz/skills/lightning-mcp-server/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/lightning-mcp-server/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "MCP LNC Server",
        "body": "Build and configure the MCP server that connects AI assistants to Lightning\nnodes via Lightning Node Connect (LNC). LNC uses encrypted WebSocket tunnels\nthrough a mailbox relay, so the agent never needs direct gRPC access, TLS\ncertificates, or macaroons — just a 10-word pairing phrase from Lightning\nTerminal.\n\nThe MCP server is read-only by default — it exposes 18 tools for querying\nnode state but cannot send payments or modify channels."
      },
      {
        "title": "Quick Start",
        "body": "# 1. Build the MCP server binary\nskills/lightning-mcp-server/scripts/install.sh\n\n# 2. Configure environment (mailbox server, dev mode, etc.)\nskills/lightning-mcp-server/scripts/configure.sh\n\n# 3. Add to Claude Code as an MCP server\nskills/lightning-mcp-server/scripts/setup-claude-config.sh\n\nThen restart Claude Code. The lnc_connect tool will be available to connect\nto any lnd node using a pairing phrase."
      },
      {
        "title": "How It Works",
        "body": "Claude Code  <--stdio-->  lightning-mcp-server  <--LNC WebSocket-->  Mailbox  <-->  lnd\n\nClaude Code launches lightning-mcp-server as a subprocess (stdio transport)\nAgent calls lnc_connect with a pairing phrase and password\nServer generates an ephemeral ECDSA keypair and opens an encrypted WebSocket\ntunnel through the mailbox relay\nOnce connected, the agent can call any of the 18 read-only tools\nlnc_disconnect closes the tunnel\n\nNo keys, certs, or macaroons are stored on disk — the pairing phrase is the\nonly credential, and it's handled in-memory only."
      },
      {
        "title": "Installation",
        "body": "# Build from source (requires Go 1.24+)\nskills/lightning-mcp-server/scripts/install.sh\n\n# Verify\nlightning-mcp-server -version\n\nThe install script builds from the lightning-mcp-server/ directory in this repo."
      },
      {
        "title": "Configuration",
        "body": "# Generate .env with defaults\nskills/lightning-mcp-server/scripts/configure.sh\n\n# Production (mainnet via Lightning Terminal)\nskills/lightning-mcp-server/scripts/configure.sh --production\n\n# Development (local regtest)\nskills/lightning-mcp-server/scripts/configure.sh --dev --mailbox aperture:11110\n\nConfiguration is stored in lightning-mcp-server/.env. Key settings:\n\nVariableDefaultDescriptionLNC_MAILBOX_SERVERmailbox.terminal.lightning.today:443Mailbox relay serverLNC_DEV_MODEfalseEnable development modeLNC_INSECUREfalseSkip TLS verification (dev only)LNC_CONNECT_TIMEOUT30Connection timeout in seconds"
      },
      {
        "title": "Option 1: claude mcp add (recommended)",
        "body": "Register the MCP server with a single command — no build step required:\n\n# Zero-install via npx (downloads pre-built binary)\nclaude mcp add --transport stdio lnc -- npx -y @lightninglabs/lightning-mcp-server\n\n# With environment variables for production\nclaude mcp add --transport stdio \\\n  --env LNC_MAILBOX_SERVER=mailbox.terminal.lightning.today:443 \\\n  lnc -- npx -y @lightninglabs/lightning-mcp-server\n\n# For development/regtest\nclaude mcp add --transport stdio \\\n  --env LNC_MAILBOX_SERVER=localhost:11110 \\\n  --env LNC_DEV_MODE=true \\\n  --env LNC_INSECURE=true \\\n  lnc -- npx -y @lightninglabs/lightning-mcp-server\n\nScope options: --scope local (default, just you), --scope project (shared\nvia .mcp.json), --scope user (all your projects)."
      },
      {
        "title": "Option 2: Setup script (from source)",
        "body": "# Add lightning-mcp-server to Claude Code's MCP config\nskills/lightning-mcp-server/scripts/setup-claude-config.sh\n\n# Project-level config (current project only)\nskills/lightning-mcp-server/scripts/setup-claude-config.sh --scope project\n\n# Global config (all projects)\nskills/lightning-mcp-server/scripts/setup-claude-config.sh --scope global\n\nThis adds the server to Claude Code's .mcp.json (project) or\n~/.claude.json (global) configuration. After restarting Claude Code, the\nLNC tools will be available."
      },
      {
        "title": "Option 3: Manual configuration",
        "body": "Add to .mcp.json in your project root:\n\n{\n  \"mcpServers\": {\n    \"lnc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@lightninglabs/lightning-mcp-server\"],\n      \"env\": {\n        \"LNC_MAILBOX_SERVER\": \"mailbox.terminal.lightning.today:443\"\n      }\n    }\n  }\n}\n\nOr with a locally built binary:\n\n{\n  \"mcpServers\": {\n    \"lnc\": {\n      \"command\": \"lightning-mcp-server\",\n      \"env\": {\n        \"LNC_MAILBOX_SERVER\": \"mailbox.terminal.lightning.today:443\"\n      }\n    }\n  }\n}\n\nOr run via Docker:\n\n{\n  \"mcpServers\": {\n    \"lnc\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\", \"--rm\", \"-i\", \"--network\", \"host\",\n        \"--env\", \"LNC_MAILBOX_SERVER\",\n        \"--env\", \"LNC_DEV_MODE\",\n        \"--env\", \"LNC_INSECURE\",\n        \"lightning-mcp-server\"\n      ]\n    }\n  }\n}"
      },
      {
        "title": "Connection",
        "body": "ToolDescriptionlnc_connectConnect to lnd via LNC pairing phraselnc_disconnectClose active LNC connection"
      },
      {
        "title": "Node",
        "body": "ToolDescriptionlnc_get_infoNode alias, version, sync status, block heightlnc_get_balanceWallet balance (on-chain) and channel balance"
      },
      {
        "title": "Channels",
        "body": "ToolDescriptionlnc_list_channelsActive/inactive channels with capacity, balanceslnc_pending_channelsChannels being opened or closed"
      },
      {
        "title": "Invoices",
        "body": "ToolDescriptionlnc_decode_invoiceDecode a BOLT11 invoicelnc_list_invoicesList invoices with paginationlnc_lookup_invoiceLook up invoice by payment hash"
      },
      {
        "title": "Payments",
        "body": "ToolDescriptionlnc_list_paymentsPayment history with paginationlnc_track_paymentTrack specific payment by hash"
      },
      {
        "title": "Peers & Network",
        "body": "ToolDescriptionlnc_list_peersConnected peers with statslnc_describe_graphLightning Network topology samplelnc_get_node_infoDetailed info about a specific node"
      },
      {
        "title": "On-Chain",
        "body": "ToolDescriptionlnc_list_unspentUTXOs with confirmationslnc_get_transactionsOn-chain transaction historylnc_estimate_feeFee estimates for confirmation targets"
      },
      {
        "title": "Security Model",
        "body": "No stored credentials: Pairing phrase is handled in-memory only. Ephemeral\nECDSA keypairs are generated per session.\nRead-only: No payment, channel, or state-changing operations are exposed.\nThe agent can observe but not modify.\nEncrypted tunnels: All traffic is encrypted end-to-end through the mailbox\nrelay. The mailbox cannot read the traffic.\nNo direct access: The agent machine never connects directly to the lnd\nnode's gRPC port — all traffic goes through the mailbox."
      },
      {
        "title": "Comparison with Direct gRPC Access",
        "body": "MCP LNC ServerDirect lncli/gRPCCredentialPairing phrase (in-memory)TLS cert + macaroon (on disk)NetworkWebSocket via mailbox relayDirect TCP to gRPC portFirewallNo inbound ports neededPort 10009 must be reachablePermissionsRead-only (hardcoded)Depends on macaroon scopeSetupPairing phrase from Lightning TerminalExport cert + macaroon files"
      },
      {
        "title": "Prerequisites",
        "body": "Go 1.24+ for building from source\nLightning Terminal (litd) on the target node for generating pairing phrases\nClaude Code for MCP integration"
      },
      {
        "title": "\"pairing phrase must be exactly 10 words\"",
        "body": "The pairing phrase is generated by Lightning Terminal. It must be exactly 10\nspace-separated words."
      },
      {
        "title": "\"connection timeout\"",
        "body": "Check that the mailbox server is reachable. For production, ensure\nmailbox.terminal.lightning.today:443 is not blocked by a firewall."
      },
      {
        "title": "\"TLS handshake failure\"",
        "body": "If using a local regtest setup, enable dev mode and insecure mode:\n\nskills/lightning-mcp-server/scripts/configure.sh --dev --insecure"
      },
      {
        "title": "Tools not appearing in Claude Code",
        "body": "Restart Claude Code after running setup-claude-config.sh. Check that\nlightning-mcp-server is on your $PATH:\n\nwhich lightning-mcp-server"
      }
    ],
    "body": "MCP LNC Server\n\nBuild and configure the MCP server that connects AI assistants to Lightning nodes via Lightning Node Connect (LNC). LNC uses encrypted WebSocket tunnels through a mailbox relay, so the agent never needs direct gRPC access, TLS certificates, or macaroons — just a 10-word pairing phrase from Lightning Terminal.\n\nThe MCP server is read-only by default — it exposes 18 tools for querying node state but cannot send payments or modify channels.\n\nQuick Start\n# 1. Build the MCP server binary\nskills/lightning-mcp-server/scripts/install.sh\n\n# 2. Configure environment (mailbox server, dev mode, etc.)\nskills/lightning-mcp-server/scripts/configure.sh\n\n# 3. Add to Claude Code as an MCP server\nskills/lightning-mcp-server/scripts/setup-claude-config.sh\n\n\nThen restart Claude Code. The lnc_connect tool will be available to connect to any lnd node using a pairing phrase.\n\nHow It Works\nClaude Code  <--stdio-->  lightning-mcp-server  <--LNC WebSocket-->  Mailbox  <-->  lnd\n\nClaude Code launches lightning-mcp-server as a subprocess (stdio transport)\nAgent calls lnc_connect with a pairing phrase and password\nServer generates an ephemeral ECDSA keypair and opens an encrypted WebSocket tunnel through the mailbox relay\nOnce connected, the agent can call any of the 18 read-only tools\nlnc_disconnect closes the tunnel\n\nNo keys, certs, or macaroons are stored on disk — the pairing phrase is the only credential, and it's handled in-memory only.\n\nInstallation\n# Build from source (requires Go 1.24+)\nskills/lightning-mcp-server/scripts/install.sh\n\n# Verify\nlightning-mcp-server -version\n\n\nThe install script builds from the lightning-mcp-server/ directory in this repo.\n\nConfiguration\n# Generate .env with defaults\nskills/lightning-mcp-server/scripts/configure.sh\n\n# Production (mainnet via Lightning Terminal)\nskills/lightning-mcp-server/scripts/configure.sh --production\n\n# Development (local regtest)\nskills/lightning-mcp-server/scripts/configure.sh --dev --mailbox aperture:11110\n\n\nConfiguration is stored in lightning-mcp-server/.env. Key settings:\n\nVariable\tDefault\tDescription\nLNC_MAILBOX_SERVER\tmailbox.terminal.lightning.today:443\tMailbox relay server\nLNC_DEV_MODE\tfalse\tEnable development mode\nLNC_INSECURE\tfalse\tSkip TLS verification (dev only)\nLNC_CONNECT_TIMEOUT\t30\tConnection timeout in seconds\nClaude Code Integration\nOption 1: claude mcp add (recommended)\n\nRegister the MCP server with a single command — no build step required:\n\n# Zero-install via npx (downloads pre-built binary)\nclaude mcp add --transport stdio lnc -- npx -y @lightninglabs/lightning-mcp-server\n\n# With environment variables for production\nclaude mcp add --transport stdio \\\n  --env LNC_MAILBOX_SERVER=mailbox.terminal.lightning.today:443 \\\n  lnc -- npx -y @lightninglabs/lightning-mcp-server\n\n# For development/regtest\nclaude mcp add --transport stdio \\\n  --env LNC_MAILBOX_SERVER=localhost:11110 \\\n  --env LNC_DEV_MODE=true \\\n  --env LNC_INSECURE=true \\\n  lnc -- npx -y @lightninglabs/lightning-mcp-server\n\n\nScope options: --scope local (default, just you), --scope project (shared via .mcp.json), --scope user (all your projects).\n\nOption 2: Setup script (from source)\n# Add lightning-mcp-server to Claude Code's MCP config\nskills/lightning-mcp-server/scripts/setup-claude-config.sh\n\n# Project-level config (current project only)\nskills/lightning-mcp-server/scripts/setup-claude-config.sh --scope project\n\n# Global config (all projects)\nskills/lightning-mcp-server/scripts/setup-claude-config.sh --scope global\n\n\nThis adds the server to Claude Code's .mcp.json (project) or ~/.claude.json (global) configuration. After restarting Claude Code, the LNC tools will be available.\n\nOption 3: Manual configuration\n\nAdd to .mcp.json in your project root:\n\n{\n  \"mcpServers\": {\n    \"lnc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@lightninglabs/lightning-mcp-server\"],\n      \"env\": {\n        \"LNC_MAILBOX_SERVER\": \"mailbox.terminal.lightning.today:443\"\n      }\n    }\n  }\n}\n\n\nOr with a locally built binary:\n\n{\n  \"mcpServers\": {\n    \"lnc\": {\n      \"command\": \"lightning-mcp-server\",\n      \"env\": {\n        \"LNC_MAILBOX_SERVER\": \"mailbox.terminal.lightning.today:443\"\n      }\n    }\n  }\n}\n\n\nOr run via Docker:\n\n{\n  \"mcpServers\": {\n    \"lnc\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\", \"--rm\", \"-i\", \"--network\", \"host\",\n        \"--env\", \"LNC_MAILBOX_SERVER\",\n        \"--env\", \"LNC_DEV_MODE\",\n        \"--env\", \"LNC_INSECURE\",\n        \"lightning-mcp-server\"\n      ]\n    }\n  }\n}\n\nAvailable Tools (18)\nConnection\nTool\tDescription\nlnc_connect\tConnect to lnd via LNC pairing phrase\nlnc_disconnect\tClose active LNC connection\nNode\nTool\tDescription\nlnc_get_info\tNode alias, version, sync status, block height\nlnc_get_balance\tWallet balance (on-chain) and channel balance\nChannels\nTool\tDescription\nlnc_list_channels\tActive/inactive channels with capacity, balances\nlnc_pending_channels\tChannels being opened or closed\nInvoices\nTool\tDescription\nlnc_decode_invoice\tDecode a BOLT11 invoice\nlnc_list_invoices\tList invoices with pagination\nlnc_lookup_invoice\tLook up invoice by payment hash\nPayments\nTool\tDescription\nlnc_list_payments\tPayment history with pagination\nlnc_track_payment\tTrack specific payment by hash\nPeers & Network\nTool\tDescription\nlnc_list_peers\tConnected peers with stats\nlnc_describe_graph\tLightning Network topology sample\nlnc_get_node_info\tDetailed info about a specific node\nOn-Chain\nTool\tDescription\nlnc_list_unspent\tUTXOs with confirmations\nlnc_get_transactions\tOn-chain transaction history\nlnc_estimate_fee\tFee estimates for confirmation targets\nSecurity Model\nNo stored credentials: Pairing phrase is handled in-memory only. Ephemeral ECDSA keypairs are generated per session.\nRead-only: No payment, channel, or state-changing operations are exposed. The agent can observe but not modify.\nEncrypted tunnels: All traffic is encrypted end-to-end through the mailbox relay. The mailbox cannot read the traffic.\nNo direct access: The agent machine never connects directly to the lnd node's gRPC port — all traffic goes through the mailbox.\nComparison with Direct gRPC Access\n\tMCP LNC Server\tDirect lncli/gRPC\nCredential\tPairing phrase (in-memory)\tTLS cert + macaroon (on disk)\nNetwork\tWebSocket via mailbox relay\tDirect TCP to gRPC port\nFirewall\tNo inbound ports needed\tPort 10009 must be reachable\nPermissions\tRead-only (hardcoded)\tDepends on macaroon scope\nSetup\tPairing phrase from Lightning Terminal\tExport cert + macaroon files\nPrerequisites\nGo 1.24+ for building from source\nLightning Terminal (litd) on the target node for generating pairing phrases\nClaude Code for MCP integration\nTroubleshooting\n\"pairing phrase must be exactly 10 words\"\n\nThe pairing phrase is generated by Lightning Terminal. It must be exactly 10 space-separated words.\n\n\"connection timeout\"\n\nCheck that the mailbox server is reachable. For production, ensure mailbox.terminal.lightning.today:443 is not blocked by a firewall.\n\n\"TLS handshake failure\"\n\nIf using a local regtest setup, enable dev mode and insecure mode:\n\nskills/lightning-mcp-server/scripts/configure.sh --dev --insecure\n\nTools not appearing in Claude Code\n\nRestart Claude Code after running setup-claude-config.sh. Check that lightning-mcp-server is on your $PATH:\n\nwhich lightning-mcp-server"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Roasbeef/lightning-mcp-server",
    "publisherUrl": "https://clawhub.ai/Roasbeef/lightning-mcp-server",
    "owner": "Roasbeef",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/lightning-mcp-server",
    "downloadUrl": "https://openagent3.xyz/downloads/lightning-mcp-server",
    "agentUrl": "https://openagent3.xyz/skills/lightning-mcp-server/agent",
    "manifestUrl": "https://openagent3.xyz/skills/lightning-mcp-server/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/lightning-mcp-server/agent.md"
  }
}