MCP context & instinct engine — learned rules from sessions with confidence scoring
The server provides 6 context and instinct management tools with schemas and descriptions visible in src/server/index.ts. All tools follow verb_noun naming convention (get_, list_, apply_, build_). Descriptions are present but brief (45-90 chars), lacking depth on WHEN to use each tool and what downstream actions they enable. Input schemas are complete with required fields and basic type information, but parameter descriptions are minimal (10-25 chars). No output schemas are documented, forcing LLMs to infer result structures. The tool set is thematically coherent (context retrieval, syntax rules, auto-corrections, instincts) but lacks error recovery guidance and composition details. This is a borderline D/C server, functional definitions but missing production-grade detail expected for agent reasoning.
Apply auto-correction patterns from matching contexts to text
Approve an instinct for active use (sets approved_by to human)
Build a complete injection payload (contexts + instincts) for a tool/input combination
Get syntax-specific rules for a tool category
Get complete context (rules, syntax, preferences) for a specific tool
List all loaded context categories and their descriptions
List loaded instincts with filtering and pagination. Returns {total, matched, returned, offset, store, items} where store reports the resolved instincts directory and how it was resolved. Use include_rules=false for compact listings when many instincts are loaded (MCP client UIs may truncate large responses around 40-50KB).
No output schemas documented. LLMs cannot infer what fields build_injection(), get_tool_context(), or list_instincts() return, forcing them to guess structure and increasing composition errors.
Parameter descriptions are minimal (10-25 chars). 'Tool name or category' is too vague, does it accept 'git' or 'git-commit'? Are there aliases? What is the canonical format? No constraints guide LLM input.
Tool descriptions lack WHEN/WHY guidance. 'Get complete context' does not explain when an agent should call this vs get_syntax_rules or build_injection. No disambiguation for similar tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 14 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 41 | - | v1 |
Record a positive, negative, or neutral outcome for an instinct
Reject/deactivate an instinct and lower its confidence
Store a new instinct candidate. Created as inactive with auto approval — use approve_instinct for human approval.
Push all local YAML instincts to mcp-memory-service. Requires memory bridge to be configured and connected.
No error handling guidance. What happens if tool_name='nonexistent'? Can the LLM recover? Should it call list_available_contexts() first? No recovery hints.
Ambiguous parameter names. 'tool' vs 'tool_name' used inconsistently across build_injection and get_tool_context. LLMs may conflate them or fail to pass the right param.
apply_auto_corrections accepts 'text' parameter with no format or length constraints. What is the max length? What character sets are valid? No guidance prevents invalid input.
build_injection description is vague. 'Build a complete injection payload' does not clarify what data structure it returns or how an agent uses the result in downstream calls.