Intelligent, self-validating engineering knowledge base MCP server
SysQlow-MCP has 14 tools with explicit schemas and descriptions visible in src/index.ts. Naming follows verb_noun convention (store_knowledge, recall_knowledge, etc.). Descriptions are present and substantive (100-200 chars typical), exceeding the 20-char minimum. However, several critical gaps reduce the score: (1) Parameter descriptions lack detail on constraints, ranges, and valid values, e.g., 'phase' in audit_coherence lists options in description but not as enum; (2) Output schemas are not documented, tools return data but LLMs cannot see the response structure; (3) Error handling is minimal, no recovery guidance or actionable error messages visible; (4) Some parameters accept free-form strings where enums would be safer (e.g., projectScope accepts 'all'|'current'|'generic'|UUID but is not constrained); (5) No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels (WRITE, IRREVERSIBLE). Composition is sound, tools are single-purpose and chainable. Security: no secrets in params, but no audit logging visible.
Runs structural, semantic, and relational audits on the knowledge base to detect inconsistencies and suggest improvements.
Detects the current project workspace by analyzing the filesystem for manifest files.
Discovers semantic relations between snippets using embeddings and materializes them in the database.
Returns the current LLM API quota usage and remaining budget for the day.
Returns the HTML dashboard for visualizing the knowledge graph and server status.
Analyzes the current codebase and automatically extracts and stores technical knowledge snippets.
Merges two projects by reassigning all snippets from one project to another.
Output schemas not documented. Tools return data (e.g., recall_knowledge returns snippets, audit_coherence returns audit results) but LLMs cannot see the response structure. This forces LLMs to guess field names and types, increasing errors and wasting tokens on clarification.
Parameter constraints not formalized as enums. 'phase' in audit_coherence accepts 'structural'|'semantic'|'relations'|'all' but is a free-form string. 'projectScope' accepts 'all'|'current'|'generic'|UUID but lacks enum constraint. LLMs hallucinate invalid values.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite explicit risk levels. merge_projects is IRREVERSIBLE, audit_coherence with autoApply=true is WRITE, but tools lack annotations to signal this to clients.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Reassigns a snippet to a different project or makes it generic.
Searches and recalls stored technical snippets using Full-Text Search (FTS) with keyword fallback.
Runs the full coherence engine (structural audit, semantic audit, relation discovery) in the background.
Performs semantic vector search on technical snippets using embeddings.
Configures the daily LLM API quota limit and reset time.
Persists a new technical snippet into the Turso database.
Validates a technical snippet against external sources and updates its confidence score.
Error handling lacks recovery guidance. No visible error messages that tell LLMs what to do next (e.g., 'User not found. Try search_users() first.'). Errors are likely raw exceptions without actionable context.
Parameter descriptions lack detail on constraints and valid ranges. E.g., 'maxSnippets' in learn_codebase has no min/max bounds; 'resetHour' in set_budget_config says '0-23' in description but not as a formal constraint. LLMs cannot validate inputs before calling.