From afefdc9f9244cfc04a81ba442a3ca677dd7a4076 Mon Sep 17 00:00:00 2001 From: "Peter.Morton" Date: Sun, 22 Mar 2026 12:46:36 -0500 Subject: [PATCH] feat: add proper input schema to obsidian_search tool MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added complete inputSchema definition for the obsidian_search tool with all parameters matching the Obsidian CLI specification: Parameters (per 'obsidian search help'): - query (string, required): Search query text - path (string, optional): Limit search to folder path - limit (number, optional): Maximum number of results - total (boolean, optional): Return match count instead of files - case (boolean, optional): Case sensitive search - format (enum, optional): Output format (text|json, default: text) The inputSchema is now properly exposed via tools/list, enabling: - Better parameter documentation in MCP clients - Automatic parameter validation - Type hints in Claude Desktop - Improved developer experience Previously the schema was empty { properties: {} }, now it fully documents all available parameters with types and descriptions. Files changed: - src/tools/search.ts: Added complete inputSchema definition Build: ✅ 0 errors Validation: ✅ Manifest passes Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/tools/search.ts | 64 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 62 insertions(+), 2 deletions(-) diff --git a/src/tools/search.ts b/src/tools/search.ts index 5621ccf..f9be64d 100644 --- a/src/tools/search.ts +++ b/src/tools/search.ts @@ -21,10 +21,70 @@ export async function registerSearchTools(server: ObsidianMCPServer): Promise { const validated = searchSchema.parse(args) as any; const sanitized = sanitizeParameters(validated) as any;