MCP server for knowledge base exploration, semantic search, and code understanding via embeddings and graph analysis
Knomit has 8 tools with basic naming and descriptions, but significant gaps in schema completeness and parameter documentation. Tool names follow verb_noun convention (knomit_learn, knomit_query, knomit_explain), which is good. However, input schemas visible in the source show minimal parameter descriptions and lack type constraints (enums, ranges, formats). For example, knomit_learn accepts 'paths' (array), 'branch' (string), and 'binding' (string) with only brief descriptions like 'File paths to learn', no guidance on path format, required vs optional, or valid branch patterns. knomit_query's 'limit' parameter has no min/max bounds. No output schemas are documented anywhere in the provided code. Error handling is not visible in the source. The server appears to be a knowledge-base tool for code analysis, but the tool definitions lack the depth needed for reliable LLM invocation.
Explain code by exploring the knowledge base and generating explanations
Generate hypothetical facts about code for exploration
Learn facts about code by ingesting files, commits, or branches into the knowledge base
Query the knowledge base for facts matching a semantic search
List and manage repositories in the knowledge base
Retract facts from the knowledge base
Review code changes and generate insights via graph analysis
Update facts in the knowledge base
No output schemas documented. Tools return unspecified structures; LLMs cannot plan downstream calls or extract required fields.
Parameter descriptions are minimal (10-30 chars). 'File paths to learn', 'Git branch to learn from' lack guidance on format, constraints, or when to use each parameter.
No type constraints on parameters. 'limit' in knomit_query has no min/max. 'action' in knomit_repos should be an enum (list|add|remove) but is free-form string.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | <=2025-11-25 | v2 |
No error handling guidance visible. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next.
Destructive tools (knomit_update, knomit_retract, knomit_hypothesize, knomit_review) lack confirmation or dry-run support. No indication that these modify state or are irreversible.