diff --git a/arch/lmcp/PKGBUILD b/arch/lmcp/PKGBUILD index 3d364ce01..3ff210050 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.0 +pkgver=1.1.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=('d758a9504389528cb8940ea81bc8cf47afad8c01166aef3484ac4f5752445532') +sha256sums=('80c2e815aa61a2d3baab051c51cd247bdefa9dd03d72c4867b99c49b6eae9cb9') package() { cd "${pkgname}" diff --git a/debian/lmcp/build-deb.sh b/debian/lmcp/build-deb.sh index 12c189a17..3d30a8383 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.0 -UPSTREAM_TAG=v1.1.0 +PKGVER=1.1.1 +UPSTREAM_TAG=v1.1.1 PKGREL=1 -LMCP_TARBALL_SHA256=d758a9504389528cb8940ea81bc8cf47afad8c01166aef3484ac4f5752445532 +LMCP_TARBALL_SHA256=80c2e815aa61a2d3baab051c51cd247bdefa9dd03d72c4867b99c49b6eae9cb9 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 2b0859f2d..b57bd522e 100644 --- a/debian/lmcp/debian/changelog +++ b/debian/lmcp/debian/changelog @@ -1,3 +1,20 @@ +lmcp (1.1.1-1) bookworm trixie; urgency=medium + + * Bug fix: omit empty inputSchema.properties at tool registration. + The json.lua empty-table-as-array gotcha (same one that bit + `ping` in v1.0.0-rc1) was re-surfacing on tool inputSchemas + declared with `properties = {}` — spec-strict MCP clients (Zod) + rejected the tools/list with "expected: record, received: array". + lmcp:tool() now normalises empty properties tables by dropping + the key entirely (JSON Schema permits omitting `properties` on + `type:object`, meaning "any object — no constraints"). + Discovered live on a hertz-tools deployment where two custom + no-arg tools (lxc_list, network_status) tripped the Zod check + and caused Claude Code to mark the entire MCP endpoint as + disconnected. + + -- Markus Fritsche Mon, 18 May 2026 00:55:00 +0000 + lmcp (1.1.0-1) bookworm trixie; urgency=medium * Concurrent handler dispatch (closes #20): tool handlers run in