A Model Context Protocol server that implements real-time codebase semantic search using Qdrant vector database and Ollama embeddings. Provides tools for searching codebases, monitoring ingestion status, and triggering workspace synchronization.
Three tools with clear verb-noun naming (qdrant_search, get_sync_status, ingest_workspace) and reasonable descriptions (100-150 chars). However, parameter descriptions are sparse or missing entirely. qdrant_search has good schema detail with file_extensions array and path_prefix, but get_sync_status and ingest_workspace have empty input objects with no documentation. No output schemas are documented anywhere in the source. Error handling is absent, no guidance on what happens on failure, no recovery hints. Tool descriptions lack WHEN/WHY context and prerequisites. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels (READ_ONLY vs WRITE).
Retrieve the real-time status of the codebase vector ingestion pipeline. Use this to check if files are still being indexed, how many files are queued for debouncing, and how many files have been successfully synchronized.
Trigger a full recursive scan and ingestion of all non-ignored files in the workspace directory. Use this to seed/index a new project or force a complete synchronization with Qdrant.
Search your local codebases via semantic vector queries hosted on your home lab server. Use this to find implementation patterns, look up technical definitions, or trace structural business logic context.
get_sync_status and ingest_workspace have empty input schemas (no properties documented).
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., file paths, sync counts, status codes).
Tool descriptions lack WHEN/WHY context and prerequisites. 'Retrieve the real-time status' does not explain when to call it or what the response contains. Descriptions should be 50-200 chars with clear intent.
No error handling guidance. No recovery hints (e.g., 'If Qdrant is unreachable, check QDRANT_HOST and QDRANT_PORT'). No categorization of errors as retryable vs fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Tool annotations missing. ingest_workspace is destructive (WRITE risk) but has no destructiveHint. get_sync_status is read-only but has no readOnlyHint. Agents cannot distinguish safe from unsafe operations.