Semantic search and retrieval for local documents using vector embeddings. Performs local knowledge RAG (Retrieval-Augmented Generation) with semantic search capabilities.
The server has 9 tools with mixed quality. Naming is generally verb-first and clear (search_knowledge, create_rag_report, get_search_results). However, descriptions vary significantly in quality, some are detailed and action-guiding (create_rag_report, search_knowledge), while others are sparse (cancel_indexing, get_index_status). Input schemas are present for all tools and include type definitions, but several parameters lack descriptions. Output schemas are not documented in the tool definitions. The server exhibits composition strengths (workflow guidance like 'WORKFLOW: list_search_results → search_knowledge → get_search_results → create_rag_report'), but error handling details are absent from visible tool definitions. Tool parameters accept configuration via JSON objects and arrays, but validation constraints (min/max, enum restrictions) are minimal.
Cancel an active indexing operation. Stops the current index rebuild and returns partial results.
⭐ RECOMMENDED: Generate a comprehensive markdown report using template-driven mode. ⚡ QUICK START: Just provide variables and omit template parameter to use the workspace default template. 📋 IMPORTANT: Before calling this tool, check the template schema via MCP Resources (template://current/schema) to understand required variables. Alternatively, call get_template_schema tool. WORKFLOW: (1) Check template schema (template://current/schema or template://{name}/schema), (2) Prepare variables (query, generated_at, overall_summary, sections), (3) Call create_rag_report with variables only (template parameter is optional - omit it unless you need a specific template format). ⚠️ CRITICAL OUTPUT RULE: After calling this tool, you MUST output EXACTLY these 2 lines to the user (and NOTHING else - no explanations, no additional text, no summaries): "# Report Generated Successfully" and "🔗 **Link**: [filename](path)". Copy them verbatim from the tool response.
[DEPRECATED] Use create_rag_report instead. Generate a formatted Markdown report from analyzed search results. Requires overall summary and sections with quotes.
Get current indexing status and statistics. Returns information about indexed files, embeddings, and indexing progress.
Retrieve cached search results by session ID. WORKFLOW: search_knowledge → get_search_results → create_rag_report. Returns results from a previous search with full file content, line numbers, and similarity scores.
Output schemas are not documented in tool definitions. LLMs cannot know what fields to expect from tool responses, forcing them to parse unstructured responses or make assumptions about chaining. This is critical for tools like search_knowledge and get_search_results which return session IDs and file results that downstream tools depend on.
Several tool descriptions are under 50 characters and lack WHEN to use guidance. cancel_indexing ('Cancel an active indexing operation. Stops the current index rebuild and returns partial results.') and get_index_status ('Get current indexing status and statistics. Returns information about indexed files, embeddings, and indexing progress.') do not explain the intent or prerequisites.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 56 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Get schema information for report templates. Returns available templates and their required/optional variables.
List all active search sessions. Check this before creating new searches to avoid duplicates. Returns metadata for all active sessions (query, timestamp, result count). WORKFLOW: list_search_results → (if needed) search_knowledge → get_search_results.
Rebuild the semantic search index. Use to index new documents or refresh existing embeddings. Supports full rebuild or incremental update. Shows progress via browser interface.
⚠️ BEFORE using this tool: ALWAYS call list_search_results first to check existing searches. If relevant searches exist, use get_search_results with multiple session_ids instead. Only create NEW searches if necessary. This tool performs semantic search in the workspace (NOT web search) to find relevant files, documents, and code. Returns a session ID. WORKFLOW: list_search_results → (if needed) search_knowledge → get_search_results → create_rag_report.
Parameter descriptions are absent or minimal in several tools. list_search_results has an empty properties object with no parameter documentation. cancel_indexing and get_index_status also have empty or nearly-empty parameter schemas with no guidance.
Constraint documentation is weak. rebuild_index has a 'reindex_all' boolean but no guidance on side effects or when to use each option. search_knowledge has limit (default 20, stated 'fixed: 20, not user-configurable') and min_similarity (0.0-1.0) but no minimum/maximum bounds in schema.
Error handling is not visible in tool definitions. There is no recovery guidance for common failure scenarios (e.g., 'If search fails, try rebuild_index first' or 'If indexing is locked, call cancel_indexing'). Error responses should tell the LLM what to do next per pattern:recovery-guide.
Deprecated tool not properly marked. generate_report is marked '[DEPRECATED] Use create_rag_report instead' in the description, but this should be formalized with a deprecation flag or explicit removal guidance so agents do not select it. The tool remains registered and callable, risking agent confusion.