From bf607582440ceb53c724531d4e265aa311a97004 Mon Sep 17 00:00:00 2001 From: bherbruck Date: Mon, 12 Oct 2026 13:28:15 +0000 Subject: [PATCH] fix(#269): list_commands filter matches id, label, tab and panel, not params docs Params docs name other commands ("usable in sketch.delete"), so filtering by an id returned 56 commands. The filter now looks only at id, label, tab and panel; the tool description and docs/mcp.md say so. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01RjGw4gA5ZvKrU8MQP6sBgT --- crates/mcp/src/tools.rs | 8 ++++---- docs/mcp.md | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/crates/mcp/src/tools.rs b/crates/mcp/src/tools.rs index a2981b01..3adf306f 100644 --- a/crates/mcp/src/tools.rs +++ b/crates/mcp/src/tools.rs @@ -45,7 +45,8 @@ pub fn tool_definitions() -> Vec { "The command catalog: id, label, toolbar tab/panel, shortcut, one-line parameter docs and whether the command is \ enabled right now. Ids are dotted and lower-case (solid.extrude, sketch.create, \ solid.fillet, sketch.inspect, timeline.rollback). Optional case-insensitive \ - substring `filter` over id, label, panel and params.", + substring `filter` over id, label, tab and panel (not the parameter docs, so a command id \ + finds that command rather than every command whose docs mention it).", obj(json!({"filter": string("Substring to match, e.g. \"sketch\", \"fillet\", \"pattern\"")}), &[]), true, false, @@ -310,9 +311,8 @@ fn dispatch(b: &mut dyn Backend, name: &str, a: &Map) -> Result