From a168342fa8772003fbeadb74bd6ec4806c0a07a5 Mon Sep 17 00:00:00 2001 From: Markus Fritsche Date: Sun, 17 May 2026 23:34:07 +0000 Subject: [PATCH] lmcp: 1.1.1 -> 1.2.1 (tools.d plugin scan + LMCP_HOST/LMCP_CONF env) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tracks upstream lmcp v1.2.1 (commits e05438f + c5375b8). Combined release that lets hosts like hertz/ampere stop maintaining forked /opt/lmcp/server.lua overrides — packaged server.lua becomes the canonical entrypoint, host-local tools live in /opt/lmcp/tools.d/ as plugin files, single-interface binding + conf-file auth come via LMCP_HOST + LMCP_CONF systemd env. Closes lmcp#22 structurally. New tarball sha256: bf9cce1a84c66b1b74c5aec923c5960d60ae33c221afc8d47ce0d74b8f7ee609 Co-Authored-By: Claude Opus 4.7 (1M context) --- arch/lmcp/PKGBUILD | 4 ++-- debian/lmcp/build-deb.sh | 6 +++--- debian/lmcp/debian/changelog | 21 +++++++++++++++++++++ 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/arch/lmcp/PKGBUILD b/arch/lmcp/PKGBUILD index 3ff210050d..a223f4a13e 100644 --- a/arch/lmcp/PKGBUILD +++ b/arch/lmcp/PKGBUILD @@ -3,7 +3,7 @@ # Source of truth: git.reauktion.de/marfrit/lmcp pkgname=lmcp -pkgver=1.1.1 +pkgver=1.2.1 pkgrel=1 pkgdesc="Lightweight MCP (Model Context Protocol) server in pure Lua" arch=('any') @@ -14,7 +14,7 @@ depends=('lua' 'lua-socket') # pre-release pkgvers (e.g. 1.2.0_rc1 → v1.2.0-rc1). _tag="v${pkgver//_/-}" source=("${pkgname}-${pkgver}.tar.gz::https://git.reauktion.de/marfrit/lmcp/archive/${_tag}.tar.gz") -sha256sums=('80c2e815aa61a2d3baab051c51cd247bdefa9dd03d72c4867b99c49b6eae9cb9') +sha256sums=('bf9cce1a84c66b1b74c5aec923c5960d60ae33c221afc8d47ce0d74b8f7ee609') package() { cd "${pkgname}" diff --git a/debian/lmcp/build-deb.sh b/debian/lmcp/build-deb.sh index 3d30a83839..330af8c1e7 100755 --- a/debian/lmcp/build-deb.sh +++ b/debian/lmcp/build-deb.sh @@ -7,10 +7,10 @@ # package (Architecture: all, depends on lua + lua-socket). set -euo pipefail -PKGVER=1.1.1 -UPSTREAM_TAG=v1.1.1 +PKGVER=1.2.1 +UPSTREAM_TAG=v1.2.1 PKGREL=1 -LMCP_TARBALL_SHA256=80c2e815aa61a2d3baab051c51cd247bdefa9dd03d72c4867b99c49b6eae9cb9 +LMCP_TARBALL_SHA256=bf9cce1a84c66b1b74c5aec923c5960d60ae33c221afc8d47ce0d74b8f7ee609 HERE=$(dirname "$(readlink -f "$0")") # Reproducible build: pin all file mtimes + ar member timestamps to a fixed diff --git a/debian/lmcp/debian/changelog b/debian/lmcp/debian/changelog index b57bd522e4..7504766c6c 100644 --- a/debian/lmcp/debian/changelog +++ b/debian/lmcp/debian/changelog @@ -1,3 +1,24 @@ +lmcp (1.2.1-1) bookworm trixie; urgency=medium + + * tools.d/ plugin scan (closes lmcp#22): server.lua now scans + LMCP_TOOLS_DIR (default /opt/lmcp/tools.d on POSIX) for *.lua + files and invokes each as a function receiving (server, run). + Lets hosts ship local tool extensions alongside the packaged + generics without forking server.lua. Existing single-file + deployments without a tools.d/ directory: no behaviour change. + * LMCP_HOST + LMCP_CONF env vars: packaged server.lua now threads + these into lmcp.new(opts.host, opts.conf). Hosts that need + single-interface binding (e.g. hertz on 192.168.88.18) or a + conf-file-based bearer token (e.g. /opt/herding/etc/hertz-tools.conf) + can drive the packaged entrypoint directly via systemd env + instead of carrying a forked server.lua. + * Together with the above, hertz, ampere, and any future host with + custom tools can migrate from /opt/lmcp/server.lua forks to a + plain plugin file + standard systemd env. apt upgrade then + delivers all packaged improvements automatically. + + -- Markus Fritsche Mon, 18 May 2026 01:30:00 +0000 + lmcp (1.1.1-1) bookworm trixie; urgency=medium * Bug fix: omit empty inputSchema.properties at tool registration.