From c5375b8a7737328c7c1ff9d3f664e5443612c5bb Mon Sep 17 00:00:00 2001 From: Markus Fritsche Date: Sun, 17 May 2026 23:33:30 +0000 Subject: [PATCH] v1.2.1/#22: LMCP_HOST + LMCP_CONF env support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds two env vars to the packaged server.lua so hosts can switch fully to the packaged entrypoint (combined with v1.2.0's tools.d/ plugin scan): LMCP_HOST — interface to bind on (default 0.0.0.0). Hosts that need .18-only binding (hertz) or similar single-NIC constraints set this. Threaded into lmcp.new opts.host. LMCP_CONF — path to a conf file with bearer-token entries (e.g. /opt/herding/etc/hertz-tools.conf). Read by lmcp.lua's read_conf; the `.godparticle` entry becomes the bearer token. Threaded into lmcp.new opts.conf. Both unset → unchanged behavior (binds 0.0.0.0, no conf file). Together with v1.2.0's tools.d/ scan, this lets a host like hertz ship NO override server.lua — just an /opt/lmcp/tools.d/hertz.lua plugin file and a systemd unit that points at the packaged server.lua with LMCP_HOST=192.168.88.18 + LMCP_CONF=/opt/herding/ etc/hertz-tools.conf. apt upgrade then delivers all packaged improvements automatically. Co-Authored-By: Claude Opus 4.7 (1M context) --- server.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server.lua b/server.lua index f2457f1..48a79f6 100644 --- a/server.lua +++ b/server.lua @@ -200,6 +200,13 @@ end local server_name = os.getenv("LMCP_NAME") or (WINDOWS and "windows-tools" or "linux-tools") local server = lmcp.new(server_name, { port = tonumber(os.getenv("LMCP_PORT") or arg[1]) or 8080, + -- LMCP_HOST: bind interface (default 0.0.0.0). Hosts that need + -- single-interface binding (hertz: 192.168.88.18 only) set this. + host = os.getenv("LMCP_HOST"), + -- LMCP_CONF: path to a conf file with bearer-token entries + -- (e.g. /opt/herding/etc/hertz-tools.conf). Read by lmcp.lua's + -- read_conf; the `.godparticle` entry becomes the bearer token. + conf = os.getenv("LMCP_CONF"), }) -- ---- Tools ----