RAG based on cocoindex as MCP server (streamingHttp), with Haskell support. Provides hybrid search capabilities combining vector similarity and keyword metadata search for code retrieval.
The server has 6 tools with basic descriptions but critical gaps in schema documentation and parameter specification. Tool descriptions are present but generic and lack actionable guidance for LLMs. No visible input parameter schemas or output schema documentation in the provided source code. Tool names use verb-first patterns (search-*, code-*, help-*) which is good, but there's no evidence of detailed JSON Schema definitions, parameter type annotations, or error recovery guidance. The code references 'main_mcp_server.py' but the actual tool registration and schema definitions are not visible in the provided source, making it impossible to verify schema quality or validate that parameters have proper types and descriptions.
Analyze code and extract metadata for indexing
Generate embeddings for text using the configured embedding model
Get comprehensive help and examples for keyword query syntax
Perform hybrid search combining vector similarity and keyword metadata filtering. Keyword syntax: field:value, exists(field), value_contains(field, 'text'), multiple terms are AND ed, use parentheses for OR.
Perform pure keyword metadata search using field:value, exists(field), value_contains(field, 'text') syntax
Perform pure vector similarity search
No visible input parameter schemas in provided source code. Cannot verify that tools have JSON Schema definitions with proper types and descriptions for parameters.
Tool descriptions are generic and lack actionable guidance. 'Perform hybrid search combining vector similarity and keyword metadata filtering' does not explain WHEN to use this tool vs search-vector or search-keyword, what prerequisites exist, or what the LLM should expect in the response.
No visible output schema documentation. LLMs cannot determine what fields to expect from these tools, making it impossible to chain them or extract relevant data for downstream operations.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 42 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 19 | - | v1 |
search-hybrid tool description mentions 'Keyword syntax: field:value, exists(field), value_contains(field, \'text\'), multiple terms are AND ed, use parentheses for OR' inline. This should be enforced via JSON Schema constraints or a separate parameter description, not embedded in the main description.
No error handling guidance visible. Tools do not document what happens on invalid input, missing resources, or service failures. Agents will have no recovery path if a search fails or an embedding service is unavailable.