@lightninglabs/lightning-mcp-server 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +36 -0
- package/.claude-plugin/plugin.json +12 -0
- package/README.md +307 -0
- package/bin/lightning-mcp-server +15 -0
- package/docs/architecture.md +455 -0
- package/docs/commerce.md +357 -0
- package/docs/l402-and-lnget.md +267 -0
- package/docs/mcp-server.md +285 -0
- package/docs/quickref.md +263 -0
- package/docs/security.md +298 -0
- package/docs/two-agent-setup.md +394 -0
- package/package.json +52 -0
- package/postinstall.js +160 -0
- package/skills/aperture/SKILL.md +330 -0
- package/skills/aperture/scripts/install.sh +68 -0
- package/skills/aperture/scripts/setup.sh +155 -0
- package/skills/aperture/scripts/start.sh +81 -0
- package/skills/aperture/scripts/stop.sh +57 -0
- package/skills/aperture/templates/aperture-regtest.yaml +36 -0
- package/skills/aperture/templates/aperture.yaml.template +64 -0
- package/skills/aperture/templates/docker-compose-aperture.yml +59 -0
- package/skills/commerce/SKILL.md +211 -0
- package/skills/lib/config-gen.sh +127 -0
- package/skills/lib/rest.sh +69 -0
- package/skills/lightning-security-module/SKILL.md +253 -0
- package/skills/lightning-security-module/references/architecture.md +133 -0
- package/skills/lightning-security-module/scripts/docker-start.sh +117 -0
- package/skills/lightning-security-module/scripts/docker-stop.sh +53 -0
- package/skills/lightning-security-module/scripts/export-credentials.sh +268 -0
- package/skills/lightning-security-module/scripts/install.sh +178 -0
- package/skills/lightning-security-module/scripts/setup-signer.sh +307 -0
- package/skills/lightning-security-module/scripts/start-signer.sh +152 -0
- package/skills/lightning-security-module/scripts/stop-signer.sh +240 -0
- package/skills/lightning-security-module/templates/docker-compose-signer.yml +35 -0
- package/skills/lightning-security-module/templates/signer-lnd.conf.template +69 -0
- package/skills/lnd/SKILL.md +441 -0
- package/skills/lnd/profiles/debug.env +4 -0
- package/skills/lnd/profiles/default.env +3 -0
- package/skills/lnd/profiles/regtest.env +4 -0
- package/skills/lnd/profiles/taproot.env +3 -0
- package/skills/lnd/profiles/wumbo.env +3 -0
- package/skills/lnd/references/security.md +156 -0
- package/skills/lnd/scripts/create-wallet.sh +464 -0
- package/skills/lnd/scripts/docker-start.sh +256 -0
- package/skills/lnd/scripts/docker-stop.sh +109 -0
- package/skills/lnd/scripts/import-credentials.sh +145 -0
- package/skills/lnd/scripts/install.sh +195 -0
- package/skills/lnd/scripts/lncli.sh +150 -0
- package/skills/lnd/scripts/start-lnd.sh +241 -0
- package/skills/lnd/scripts/stop-lnd.sh +218 -0
- package/skills/lnd/scripts/unlock-wallet.sh +134 -0
- package/skills/lnd/templates/docker-compose-regtest.yml +122 -0
- package/skills/lnd/templates/docker-compose-watchonly.yml +71 -0
- package/skills/lnd/templates/docker-compose.yml +49 -0
- package/skills/lnd/templates/litd-regtest.conf.template +61 -0
- package/skills/lnd/templates/litd-watchonly.conf.template +57 -0
- package/skills/lnd/templates/litd.conf.template +88 -0
- package/skills/lnd/templates/lnd.conf.template +91 -0
- package/skills/lnget/SKILL.md +288 -0
- package/skills/lnget/scripts/install.sh +69 -0
- package/skills/macaroon-bakery/SKILL.md +179 -0
- package/skills/macaroon-bakery/scripts/bake.sh +337 -0
- package/skills/mcp-lnc/SKILL.md +280 -0
- package/skills/mcp-lnc/scripts/configure.sh +130 -0
- package/skills/mcp-lnc/scripts/install.sh +103 -0
- package/skills/mcp-lnc/scripts/setup-claude-config.sh +162 -0
- package/skills/mcp-lnc/templates/env.template +16 -0
- package/versions.env +23 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Configure the MCP LNC server environment.
|
|
3
|
+
#
|
|
4
|
+
# Usage:
|
|
5
|
+
# configure.sh # Interactive defaults (production mailbox)
|
|
6
|
+
# configure.sh --production # Production settings
|
|
7
|
+
# configure.sh --dev # Development/regtest settings
|
|
8
|
+
# configure.sh --dev --mailbox host # Custom mailbox server
|
|
9
|
+
# configure.sh --dev --insecure # Dev mode with TLS verification disabled
|
|
10
|
+
#
|
|
11
|
+
# Writes to mcp-server/.env in the lightning-agent-kit repo.
|
|
12
|
+
|
|
13
|
+
set -e
|
|
14
|
+
|
|
15
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
16
|
+
MCP_SERVER_DIR="$(cd "$SCRIPT_DIR/../../.." && pwd)/mcp-server"
|
|
17
|
+
|
|
18
|
+
MAILBOX=""
|
|
19
|
+
DEV_MODE=""
|
|
20
|
+
INSECURE=""
|
|
21
|
+
TIMEOUT=""
|
|
22
|
+
MODE=""
|
|
23
|
+
|
|
24
|
+
# Parse arguments.
|
|
25
|
+
while [[ $# -gt 0 ]]; do
|
|
26
|
+
case $1 in
|
|
27
|
+
--production)
|
|
28
|
+
MODE="production"
|
|
29
|
+
shift
|
|
30
|
+
;;
|
|
31
|
+
--dev)
|
|
32
|
+
MODE="dev"
|
|
33
|
+
shift
|
|
34
|
+
;;
|
|
35
|
+
--mailbox)
|
|
36
|
+
MAILBOX="$2"
|
|
37
|
+
shift 2
|
|
38
|
+
;;
|
|
39
|
+
--insecure)
|
|
40
|
+
INSECURE="true"
|
|
41
|
+
shift
|
|
42
|
+
;;
|
|
43
|
+
--timeout)
|
|
44
|
+
TIMEOUT="$2"
|
|
45
|
+
shift 2
|
|
46
|
+
;;
|
|
47
|
+
-h|--help)
|
|
48
|
+
echo "Usage: configure.sh [options]"
|
|
49
|
+
echo ""
|
|
50
|
+
echo "Configure the MCP LNC server environment."
|
|
51
|
+
echo ""
|
|
52
|
+
echo "Modes:"
|
|
53
|
+
echo " --production Production settings (default mailbox, TLS enabled)"
|
|
54
|
+
echo " --dev Development settings (dev mode, insecure TLS)"
|
|
55
|
+
echo ""
|
|
56
|
+
echo "Options:"
|
|
57
|
+
echo " --mailbox SERVER Mailbox server address (host:port)"
|
|
58
|
+
echo " --insecure Skip TLS verification (dev only)"
|
|
59
|
+
echo " --timeout SECS Connection timeout (default: 30)"
|
|
60
|
+
exit 0
|
|
61
|
+
;;
|
|
62
|
+
*)
|
|
63
|
+
echo "Unknown option: $1" >&2
|
|
64
|
+
exit 1
|
|
65
|
+
;;
|
|
66
|
+
esac
|
|
67
|
+
done
|
|
68
|
+
|
|
69
|
+
# Verify mcp-server directory exists.
|
|
70
|
+
if [ ! -d "$MCP_SERVER_DIR" ]; then
|
|
71
|
+
echo "Error: mcp-server/ directory not found at $MCP_SERVER_DIR" >&2
|
|
72
|
+
exit 1
|
|
73
|
+
fi
|
|
74
|
+
|
|
75
|
+
# Apply mode defaults.
|
|
76
|
+
case $MODE in
|
|
77
|
+
production)
|
|
78
|
+
MAILBOX="${MAILBOX:-mailbox.terminal.lightning.today:443}"
|
|
79
|
+
DEV_MODE="${DEV_MODE:-false}"
|
|
80
|
+
INSECURE="${INSECURE:-false}"
|
|
81
|
+
;;
|
|
82
|
+
dev)
|
|
83
|
+
MAILBOX="${MAILBOX:-mailbox.terminal.lightning.today:443}"
|
|
84
|
+
DEV_MODE="${DEV_MODE:-true}"
|
|
85
|
+
INSECURE="${INSECURE:-true}"
|
|
86
|
+
;;
|
|
87
|
+
*)
|
|
88
|
+
MAILBOX="${MAILBOX:-mailbox.terminal.lightning.today:443}"
|
|
89
|
+
DEV_MODE="${DEV_MODE:-false}"
|
|
90
|
+
INSECURE="${INSECURE:-false}"
|
|
91
|
+
;;
|
|
92
|
+
esac
|
|
93
|
+
|
|
94
|
+
TIMEOUT="${TIMEOUT:-30}"
|
|
95
|
+
|
|
96
|
+
ENV_FILE="$MCP_SERVER_DIR/.env"
|
|
97
|
+
|
|
98
|
+
echo "=== Configuring MCP LNC Server ==="
|
|
99
|
+
echo ""
|
|
100
|
+
echo "Mailbox: $MAILBOX"
|
|
101
|
+
echo "Dev mode: $DEV_MODE"
|
|
102
|
+
echo "Insecure: $INSECURE"
|
|
103
|
+
echo "Timeout: ${TIMEOUT}s"
|
|
104
|
+
echo "Output: $ENV_FILE"
|
|
105
|
+
echo ""
|
|
106
|
+
|
|
107
|
+
cat > "$ENV_FILE" <<EOF
|
|
108
|
+
# MCP LNC Server Configuration
|
|
109
|
+
# Generated by configure.sh on $(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
110
|
+
|
|
111
|
+
# Mailbox relay server
|
|
112
|
+
LNC_MAILBOX_SERVER=$MAILBOX
|
|
113
|
+
|
|
114
|
+
# Enable dev mode for local/regtest environments
|
|
115
|
+
LNC_DEV_MODE=$DEV_MODE
|
|
116
|
+
|
|
117
|
+
# Skip TLS verification (only for development!)
|
|
118
|
+
LNC_INSECURE=$INSECURE
|
|
119
|
+
|
|
120
|
+
# Connection timeout in seconds
|
|
121
|
+
LNC_CONNECT_TIMEOUT=$TIMEOUT
|
|
122
|
+
EOF
|
|
123
|
+
|
|
124
|
+
chmod 600 "$ENV_FILE"
|
|
125
|
+
|
|
126
|
+
echo "Configuration written to $ENV_FILE (mode 0600)"
|
|
127
|
+
echo ""
|
|
128
|
+
echo "Next steps:"
|
|
129
|
+
echo " 1. Add to Claude Code: skills/mcp-lnc/scripts/setup-claude-config.sh"
|
|
130
|
+
echo " 2. Restart Claude Code to pick up the new MCP server"
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Build and install the MCP LNC server from source.
|
|
3
|
+
#
|
|
4
|
+
# Usage:
|
|
5
|
+
# install.sh # Build from mcp-server/ in this repo
|
|
6
|
+
# install.sh --release # Build optimized release binary
|
|
7
|
+
#
|
|
8
|
+
# Prerequisites: Go 1.24+
|
|
9
|
+
|
|
10
|
+
set -e
|
|
11
|
+
|
|
12
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
13
|
+
MCP_SERVER_DIR="$(cd "$SCRIPT_DIR/../../.." && pwd)/mcp-server"
|
|
14
|
+
RELEASE=false
|
|
15
|
+
|
|
16
|
+
# Parse arguments.
|
|
17
|
+
while [[ $# -gt 0 ]]; do
|
|
18
|
+
case $1 in
|
|
19
|
+
--release)
|
|
20
|
+
RELEASE=true
|
|
21
|
+
shift
|
|
22
|
+
;;
|
|
23
|
+
-h|--help)
|
|
24
|
+
echo "Usage: install.sh [--release]"
|
|
25
|
+
echo ""
|
|
26
|
+
echo "Build and install the MCP LNC server."
|
|
27
|
+
echo ""
|
|
28
|
+
echo "Options:"
|
|
29
|
+
echo " --release Build optimized release binary (no dev tags)"
|
|
30
|
+
exit 0
|
|
31
|
+
;;
|
|
32
|
+
*)
|
|
33
|
+
echo "Unknown option: $1" >&2
|
|
34
|
+
exit 1
|
|
35
|
+
;;
|
|
36
|
+
esac
|
|
37
|
+
done
|
|
38
|
+
|
|
39
|
+
echo "=== Installing MCP LNC Server ==="
|
|
40
|
+
echo ""
|
|
41
|
+
|
|
42
|
+
# Verify Go is installed.
|
|
43
|
+
if ! command -v go &>/dev/null; then
|
|
44
|
+
echo "Error: Go is not installed." >&2
|
|
45
|
+
echo "Install Go from https://go.dev/dl/" >&2
|
|
46
|
+
exit 1
|
|
47
|
+
fi
|
|
48
|
+
|
|
49
|
+
GO_VERSION=$(go version | grep -oE 'go[0-9]+\.[0-9]+' | head -1)
|
|
50
|
+
echo "Go version: $GO_VERSION"
|
|
51
|
+
|
|
52
|
+
# Verify mcp-server directory exists.
|
|
53
|
+
if [ ! -d "$MCP_SERVER_DIR" ]; then
|
|
54
|
+
echo "Error: mcp-server/ directory not found at $MCP_SERVER_DIR" >&2
|
|
55
|
+
echo "Are you running this from the lightning-agent-kit repo?" >&2
|
|
56
|
+
exit 1
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
if [ ! -f "$MCP_SERVER_DIR/go.mod" ]; then
|
|
60
|
+
echo "Error: go.mod not found in $MCP_SERVER_DIR" >&2
|
|
61
|
+
exit 1
|
|
62
|
+
fi
|
|
63
|
+
|
|
64
|
+
echo "Source: $MCP_SERVER_DIR"
|
|
65
|
+
echo ""
|
|
66
|
+
|
|
67
|
+
GOBIN=$(go env GOPATH)/bin
|
|
68
|
+
|
|
69
|
+
# Build the binary.
|
|
70
|
+
cd "$MCP_SERVER_DIR"
|
|
71
|
+
|
|
72
|
+
if [ "$RELEASE" = true ]; then
|
|
73
|
+
echo "Building release binary..."
|
|
74
|
+
COMMIT=$(git describe --abbrev=40 --always --dirty 2>/dev/null || echo "unknown")
|
|
75
|
+
PKG="github.com/lightninglabs/lightning-agent-kit/mcp-server"
|
|
76
|
+
go build -v -ldflags "-X ${PKG}.Commit=${COMMIT}" -o "$GOBIN/mcp-lnc-server" .
|
|
77
|
+
else
|
|
78
|
+
echo "Building debug binary..."
|
|
79
|
+
COMMIT=$(git describe --abbrev=40 --always --dirty 2>/dev/null || echo "unknown")
|
|
80
|
+
PKG="github.com/lightninglabs/lightning-agent-kit/mcp-server"
|
|
81
|
+
go build -v -tags "dev" -ldflags "-X ${PKG}.Commit=${COMMIT}" -o "$GOBIN/mcp-lnc-server" .
|
|
82
|
+
fi
|
|
83
|
+
|
|
84
|
+
echo "Done."
|
|
85
|
+
echo ""
|
|
86
|
+
|
|
87
|
+
# Verify installation.
|
|
88
|
+
if command -v mcp-lnc-server &>/dev/null; then
|
|
89
|
+
echo "mcp-lnc-server installed: $(which mcp-lnc-server)"
|
|
90
|
+
mcp-lnc-server -version 2>/dev/null || true
|
|
91
|
+
else
|
|
92
|
+
echo "Warning: mcp-lnc-server not found on PATH." >&2
|
|
93
|
+
echo "Binary built at: $GOBIN/mcp-lnc-server" >&2
|
|
94
|
+
echo "Ensure \$GOPATH/bin is in your PATH." >&2
|
|
95
|
+
echo " export PATH=\$PATH:\$(go env GOPATH)/bin" >&2
|
|
96
|
+
fi
|
|
97
|
+
|
|
98
|
+
echo ""
|
|
99
|
+
echo "Installation complete."
|
|
100
|
+
echo ""
|
|
101
|
+
echo "Next steps:"
|
|
102
|
+
echo " 1. Configure: skills/mcp-lnc/scripts/configure.sh"
|
|
103
|
+
echo " 2. Add to Claude Code: skills/mcp-lnc/scripts/setup-claude-config.sh"
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Add the MCP LNC server to Claude Code's MCP configuration.
|
|
3
|
+
#
|
|
4
|
+
# Usage:
|
|
5
|
+
# setup-claude-config.sh # Project-level config (.mcp.json)
|
|
6
|
+
# setup-claude-config.sh --scope global # Global config (~/.claude.json)
|
|
7
|
+
# setup-claude-config.sh --scope project # Project config (.mcp.json)
|
|
8
|
+
# setup-claude-config.sh --docker # Use Docker instead of local binary
|
|
9
|
+
#
|
|
10
|
+
# Requires: jq
|
|
11
|
+
|
|
12
|
+
set -e
|
|
13
|
+
|
|
14
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
15
|
+
MCP_SERVER_DIR="$(cd "$SCRIPT_DIR/../../.." && pwd)/mcp-server"
|
|
16
|
+
|
|
17
|
+
SCOPE="project"
|
|
18
|
+
USE_DOCKER=false
|
|
19
|
+
|
|
20
|
+
# Parse arguments.
|
|
21
|
+
while [[ $# -gt 0 ]]; do
|
|
22
|
+
case $1 in
|
|
23
|
+
--scope)
|
|
24
|
+
SCOPE="$2"
|
|
25
|
+
shift 2
|
|
26
|
+
;;
|
|
27
|
+
--docker)
|
|
28
|
+
USE_DOCKER=true
|
|
29
|
+
shift
|
|
30
|
+
;;
|
|
31
|
+
-h|--help)
|
|
32
|
+
echo "Usage: setup-claude-config.sh [options]"
|
|
33
|
+
echo ""
|
|
34
|
+
echo "Add the MCP LNC server to Claude Code's MCP configuration."
|
|
35
|
+
echo ""
|
|
36
|
+
echo "Options:"
|
|
37
|
+
echo " --scope project Add to .mcp.json in repo root (default)"
|
|
38
|
+
echo " --scope global Add to ~/.claude.json (all projects)"
|
|
39
|
+
echo " --docker Use Docker to run the server"
|
|
40
|
+
exit 0
|
|
41
|
+
;;
|
|
42
|
+
*)
|
|
43
|
+
echo "Unknown option: $1" >&2
|
|
44
|
+
exit 1
|
|
45
|
+
;;
|
|
46
|
+
esac
|
|
47
|
+
done
|
|
48
|
+
|
|
49
|
+
# Verify jq is available.
|
|
50
|
+
if ! command -v jq &>/dev/null; then
|
|
51
|
+
echo "Error: jq is required. Install with: brew install jq" >&2
|
|
52
|
+
exit 1
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
# Determine config file path.
|
|
56
|
+
REPO_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)"
|
|
57
|
+
case $SCOPE in
|
|
58
|
+
project)
|
|
59
|
+
CONFIG_FILE="$REPO_ROOT/.mcp.json"
|
|
60
|
+
;;
|
|
61
|
+
global)
|
|
62
|
+
CONFIG_FILE="$HOME/.claude.json"
|
|
63
|
+
;;
|
|
64
|
+
*)
|
|
65
|
+
echo "Error: --scope must be 'project' or 'global'" >&2
|
|
66
|
+
exit 1
|
|
67
|
+
;;
|
|
68
|
+
esac
|
|
69
|
+
|
|
70
|
+
echo "=== Setting Up Claude Code MCP Config ==="
|
|
71
|
+
echo ""
|
|
72
|
+
echo "Scope: $SCOPE"
|
|
73
|
+
echo "Config: $CONFIG_FILE"
|
|
74
|
+
echo ""
|
|
75
|
+
|
|
76
|
+
# Load .env to read mailbox config.
|
|
77
|
+
ENV_FILE="$MCP_SERVER_DIR/.env"
|
|
78
|
+
LNC_MAILBOX_SERVER="mailbox.terminal.lightning.today:443"
|
|
79
|
+
LNC_DEV_MODE="false"
|
|
80
|
+
LNC_INSECURE="false"
|
|
81
|
+
|
|
82
|
+
if [ -f "$ENV_FILE" ]; then
|
|
83
|
+
# Source only known variables.
|
|
84
|
+
while IFS='=' read -r key value; do
|
|
85
|
+
# Skip comments and empty lines.
|
|
86
|
+
[[ "$key" =~ ^#.*$ ]] && continue
|
|
87
|
+
[[ -z "$key" ]] && continue
|
|
88
|
+
# Trim whitespace.
|
|
89
|
+
key=$(echo "$key" | xargs)
|
|
90
|
+
value=$(echo "$value" | xargs)
|
|
91
|
+
case "$key" in
|
|
92
|
+
LNC_MAILBOX_SERVER) LNC_MAILBOX_SERVER="$value" ;;
|
|
93
|
+
LNC_DEV_MODE) LNC_DEV_MODE="$value" ;;
|
|
94
|
+
LNC_INSECURE) LNC_INSECURE="$value" ;;
|
|
95
|
+
esac
|
|
96
|
+
done < "$ENV_FILE"
|
|
97
|
+
fi
|
|
98
|
+
|
|
99
|
+
# Build the MCP server config JSON.
|
|
100
|
+
if [ "$USE_DOCKER" = true ]; then
|
|
101
|
+
MCP_ENTRY=$(jq -n \
|
|
102
|
+
--arg mailbox "$LNC_MAILBOX_SERVER" \
|
|
103
|
+
--arg devmode "$LNC_DEV_MODE" \
|
|
104
|
+
--arg insecure "$LNC_INSECURE" \
|
|
105
|
+
'{
|
|
106
|
+
command: "docker",
|
|
107
|
+
args: ["run", "--rm", "-i", "--network", "host",
|
|
108
|
+
"--env", "LNC_MAILBOX_SERVER",
|
|
109
|
+
"--env", "LNC_DEV_MODE",
|
|
110
|
+
"--env", "LNC_INSECURE",
|
|
111
|
+
"mcp-lnc-server"],
|
|
112
|
+
env: {
|
|
113
|
+
LNC_MAILBOX_SERVER: $mailbox,
|
|
114
|
+
LNC_DEV_MODE: $devmode,
|
|
115
|
+
LNC_INSECURE: $insecure
|
|
116
|
+
}
|
|
117
|
+
}')
|
|
118
|
+
else
|
|
119
|
+
# Check that binary exists.
|
|
120
|
+
BINARY_PATH=$(command -v mcp-lnc-server 2>/dev/null || echo "")
|
|
121
|
+
if [ -z "$BINARY_PATH" ]; then
|
|
122
|
+
echo "Warning: mcp-lnc-server not found on PATH." >&2
|
|
123
|
+
echo "Run install.sh first, or use --docker." >&2
|
|
124
|
+
echo ""
|
|
125
|
+
BINARY_PATH="mcp-lnc-server"
|
|
126
|
+
fi
|
|
127
|
+
|
|
128
|
+
MCP_ENTRY=$(jq -n \
|
|
129
|
+
--arg cmd "$BINARY_PATH" \
|
|
130
|
+
--arg mailbox "$LNC_MAILBOX_SERVER" \
|
|
131
|
+
--arg devmode "$LNC_DEV_MODE" \
|
|
132
|
+
--arg insecure "$LNC_INSECURE" \
|
|
133
|
+
'{
|
|
134
|
+
command: $cmd,
|
|
135
|
+
env: {
|
|
136
|
+
LNC_MAILBOX_SERVER: $mailbox,
|
|
137
|
+
LNC_DEV_MODE: $devmode,
|
|
138
|
+
LNC_INSECURE: $insecure
|
|
139
|
+
}
|
|
140
|
+
}')
|
|
141
|
+
fi
|
|
142
|
+
|
|
143
|
+
# Read or create config file.
|
|
144
|
+
if [ -f "$CONFIG_FILE" ]; then
|
|
145
|
+
CONFIG=$(cat "$CONFIG_FILE")
|
|
146
|
+
else
|
|
147
|
+
CONFIG='{}'
|
|
148
|
+
fi
|
|
149
|
+
|
|
150
|
+
# Add or update the lnc server entry.
|
|
151
|
+
UPDATED=$(echo "$CONFIG" | jq --argjson entry "$MCP_ENTRY" '.mcpServers.lnc = $entry')
|
|
152
|
+
|
|
153
|
+
echo "$UPDATED" | jq . > "$CONFIG_FILE"
|
|
154
|
+
|
|
155
|
+
echo "MCP server config written to $CONFIG_FILE"
|
|
156
|
+
echo ""
|
|
157
|
+
echo "Entry added:"
|
|
158
|
+
echo "$MCP_ENTRY" | jq .
|
|
159
|
+
echo ""
|
|
160
|
+
echo "Next steps:"
|
|
161
|
+
echo " 1. Restart Claude Code to pick up the new MCP server"
|
|
162
|
+
echo " 2. Use lnc_connect with a pairing phrase to connect to your node"
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# MCP LNC Server Configuration
|
|
2
|
+
# Copy this file to mcp-server/.env and customize for your environment.
|
|
3
|
+
|
|
4
|
+
# Default mailbox server address
|
|
5
|
+
# Production: mailbox.terminal.lightning.today:443
|
|
6
|
+
# Regtest: aperture:11110
|
|
7
|
+
LNC_MAILBOX_SERVER=mailbox.terminal.lightning.today:443
|
|
8
|
+
|
|
9
|
+
# Enable dev mode for local/regtest environments
|
|
10
|
+
LNC_DEV_MODE=false
|
|
11
|
+
|
|
12
|
+
# Skip TLS verification (only for development!)
|
|
13
|
+
LNC_INSECURE=false
|
|
14
|
+
|
|
15
|
+
# Connection timeout in seconds
|
|
16
|
+
LNC_CONNECT_TIMEOUT=30
|
package/versions.env
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Container image version pins for lightning-agent-kit.
|
|
2
|
+
#
|
|
3
|
+
# These versions are sourced by install scripts and docker-compose templates.
|
|
4
|
+
# The kit version is tracked separately in .claude-plugin/plugin.json.
|
|
5
|
+
#
|
|
6
|
+
# To override a version at runtime:
|
|
7
|
+
# LITD_VERSION=v0.17.0-alpha docker-start.sh
|
|
8
|
+
|
|
9
|
+
# Lightning Terminal (litd) — bundles lnd, loop, pool, tapd, faraday.
|
|
10
|
+
LITD_VERSION=v0.16.0-alpha
|
|
11
|
+
LITD_IMAGE=lightninglabs/lightning-terminal
|
|
12
|
+
|
|
13
|
+
# LND — used for the remote signer container (signing-only, no litd needed).
|
|
14
|
+
LND_VERSION=v0.20.0-beta
|
|
15
|
+
LND_IMAGE=lightninglabs/lnd
|
|
16
|
+
|
|
17
|
+
# Aperture — L402 reverse proxy for paid API endpoints.
|
|
18
|
+
APERTURE_VERSION=v0.4.2
|
|
19
|
+
APERTURE_IMAGE=lightninglabs/aperture
|
|
20
|
+
|
|
21
|
+
# Bitcoin Core — only used in regtest development mode.
|
|
22
|
+
BITCOIN_CORE_VERSION=30
|
|
23
|
+
BITCOIN_CORE_IMAGE=lightninglabs/bitcoin-core
|