A sovereign, dynamic skills development and spaced-repetition pedagogical engine using the Model Context Protocol.
Server has 5 tools with complete input schemas and descriptions, but quality is inconsistent. Tool names follow verb_noun convention (get_, generate_, calculate_, sync_). Descriptions are present but generic (avg ~100 chars, below 194-char baseline). Parameters have types and descriptions, but lack enums for constrained inputs (e.g., subject_segment, cognitive_dimension accept free-form strings). Output schemas are JSON-serialized strings rather than structured objects, forcing LLM parsing. Error handling is minimal, most tools return JSON error objects without recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk profiles. Two WRITE tools (sync_ai_platform_state, sync_lms_onboarding_state) lack confirmation patterns or dry-run support.
Calculates the exact next optimal review date using the standardized SuperMemo SM-2 algorithm.
Generates targeted questions mapped strictly to Bloom's Taxonomy cognitive dimensions.
Retrieves the exact deterministic lesson plan based on the student's mastery level.
AI Platform Connector: Verifies and synchronizes student progress with external platforms.
LMS Sync Bridge: Integrates with Moodle/Canvas LTI services. Parses raw SCORM quiz scores, executes SM-2 scheduling, and outputs a signed LTI payload.
Output schemas not documented; tools return JSON-serialized strings instead of structured objects. LLMs must parse unstructured text, wasting tokens and increasing hallucination risk.
Constrained parameters (subject_segment, cognitive_dimension) accept free-form strings without enum constraints. LLMs will hallucinate invalid values like 'python' or 'remember' instead of picking from valid options.
WRITE tools (sync_ai_platform_state, sync_lms_onboarding_state) lack confirmation patterns, dry-run support, or destructiveHint annotations. Agents cannot safely preview side effects before committing state changes.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Error responses lack recovery guidance. 'Invalid segment' returns a list of valid options, but other errors (e.g., invalid grade in calculate_spaced_repetition) silently clamp values without informing the LLM of the correction.
Tool descriptions are generic and lack WHEN/WHY context. E.g., 'Generates targeted questions mapped strictly to Bloom's Taxonomy' does not explain when to call this vs get_progressive_syllabus or how it fits the learning flow.