From a4f426b08ff50cd96a279bca3cecf7693f549fb8 Mon Sep 17 00:00:00 2001 From: Piers Date: Sat, 23 May 2026 15:27:33 +1000 Subject: [PATCH] =?UTF-8?q?DD-338=20Phase=20A.2=20(narrowed)=20=E2=80=94?= =?UTF-8?q?=20syncthing-blade-mcp=20catalog=20flips=20for=20list=5Ffolders?= =?UTF-8?q?=20+=20recent=5Fchanges=20cat-B=20promotion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Lockstep with syncthing-blade-mcp PR for the 2 cat-B tools whose runtime gains a `scope=` argument + filter via the A.1 _resolve_scope_folders substrate + _meta envelope: * syncthing_list_folders — scope_filtering: none → server-side; audit_surface: minimal → structured; description appended with the DD-278 scope= tag + SYNCTHING__FOLDERS env-var contract + _meta envelope tail note. * syncthing_recent_changes — same two granularity flips + description appended noting the data.folderID post-fetch filter shape. Catalog version: 0.6.1 → 0.7.0 (minor — behaviour-affecting scope= arg added per A.1 + B.1.b minor-bump precedent). Per architect amendment 2026-05-23: spec narrowed from 34-tool sweep to this 2-tool cat-B promotion only. The 32 cat-A/cat-D tools in the original spec are already conformant at honest scope_filtering: none per pack-spec v4.4.0; no edits to those rows. Co-Authored-By: Claude Opus 4.7 --- plugins/tools/syncthing-blade-mcp.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/tools/syncthing-blade-mcp.json b/plugins/tools/syncthing-blade-mcp.json index 10db886..8b13e58 100644 --- a/plugins/tools/syncthing-blade-mcp.json +++ b/plugins/tools/syncthing-blade-mcp.json @@ -4,7 +4,7 @@ "title": "Syncthing", "description": "Syncthing replication management MCP \u2014 multi-instance, token-efficient output, safe disk-space reclamation. Read and control access to Syncthing's REST API with a focus on replication awareness: knowing which folders are fully replicated across devices so you can confidently reclaim local disk space.", "tagline": "Mesh file sync with replication-aware disk reclamation", - "version": "0.6.1", + "version": "0.7.0", "author": "groupthink-dev", "license": "MIT", "icon": "/icons/syncthing-blade-mcp.svg", @@ -336,13 +336,13 @@ }, { "name": "syncthing_list_folders", - "description": "List all folders configured on an instance.", + "description": "List all folders configured on an instance. (DD-278 `scope=` tag accepted; folder set resolved via `SYNCTHING__FOLDERS` env var; _meta envelope tail.)", "risk_class": "read_only", "granularity": { - "scope_filtering": "none", + "scope_filtering": "server-side", "field_projection": "none", "deterministic_ordering": "stable", - "audit_surface": "minimal" + "audit_surface": "structured" } }, { @@ -391,13 +391,13 @@ }, { "name": "syncthing_recent_changes", - "description": "Recent file changes across all folders.", + "description": "Recent file changes across all folders. (DD-278 `scope=` tag accepted; filters the event stream to events whose `data.folderID` is in the resolved `SYNCTHING__FOLDERS` set; _meta envelope tail.)", "risk_class": "read_only", "granularity": { - "scope_filtering": "none", + "scope_filtering": "server-side", "field_projection": "none", "deterministic_ordering": "stable", - "audit_surface": "minimal" + "audit_surface": "structured" } }, {