From 47bd27460bd06b9d9dc020b87e3eb42e6c7abedb Mon Sep 17 00:00:00 2001 From: "garzasecure@pm.me" Date: Sun, 12 Apr 2026 22:58:22 +0000 Subject: [PATCH] fix: add required search_mode param to knowledge_hit_test MaxKB API requires the search_mode field in hit_test requests. Without it, the API returns a 500 error. Added search_mode parameter with options: 'embedding' (vector), 'keywords' (full-text), or 'blend' (hybrid), defaulting to 'embedding'. --- maxkb_mcp/server.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/maxkb_mcp/server.py b/maxkb_mcp/server.py index 7f5ce41..2f0dff3 100644 --- a/maxkb_mcp/server.py +++ b/maxkb_mcp/server.py @@ -428,6 +428,7 @@ async def knowledge_hit_test( query: str, top_n: int = 5, similarity: float = 0.6, + search_mode: str = "embedding", workspace: str | None = None, ) -> str: """Test knowledge retrieval by searching for relevant paragraphs. @@ -437,6 +438,8 @@ async def knowledge_hit_test( query: Search query text top_n: Number of results to return similarity: Minimum similarity threshold (0-1) + search_mode: Search mode — 'embedding' (vector), 'keywords' (full-text), + or 'blend' (hybrid). Defaults to 'embedding'. """ c = _get_client() r = await c.post( @@ -445,6 +448,7 @@ async def knowledge_hit_test( "query_text": query, "top_number": top_n, "similarity": similarity, + "search_mode": search_mode, }, ) return json.dumps(r, indent=2, ensure_ascii=False)