MCP server for tracking DSA/LeetCode practice with spaced repetition. Ships with NeetCode 150, supports any custom problem list.
Five tools with complete schemas and descriptions. Naming follows verb_noun convention (log_attempt, get_next_problem, search_problems, get_problem_history, get_stats). Descriptions are substantive (100-250 chars), explaining WHAT and WHEN. All parameters have types and descriptions. However, output schemas are not documented in the source, LLMs cannot see what fields to expect from responses. Error handling is absent: no guidance on recovery, no categorization of failures. Parameter descriptions lack format constraints (e.g., 'problem_name' accepts 1-200 chars but no guidance on special characters or case sensitivity beyond 'case-insensitive'). Spaced repetition logic is complex but not surfaced in tool descriptions, risking LLM misuse.
Get the next problem to practice based on spaced repetition scheduling. Returns a problem that is due for review (next_review_date <= today), prioritizing problems that have been attempted before. Optionally filters by category.
Get the full attempt history for a specific problem, including all logged attempts with dates, statuses, time taken, confidence levels, and notes.
Get overall progress statistics: total problems, solved count, solve rate, average confidence, and breakdown by category and difficulty.
Log an attempt at a problem. Records the outcome (solved/struggled/gave_up), time taken, confidence level, and optional notes. Automatically schedules the next review date based on spaced repetition rules.
Search and filter problems by name, category, difficulty, or status. Returns matching problems with their current status (not_started, solved, struggled, gave_up).
Output schemas not documented. LLMs cannot see what fields get_stats, get_problem_history, or search_problems return. This forces agents to guess at response structure and risks failed downstream chaining.
No error handling guidance. Tools lack descriptions of failure modes (e.g., 'problem not found', 'database error') and recovery steps. Agents cannot self-correct on failures.
Spaced repetition rules embedded in tool descriptions but not formalized. 'log_attempt' description mentions 'spaced repetition rules' but does not state them. LLMs cannot reason about when to call this tool vs. alternatives.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Parameter 'confidence' in log_attempt defaults to 3 if not provided, but this is only documented in the spaced repetition function comment, not in the parameter description. LLMs may not understand the default behavior.
No pagination or result limits documented. search_problems and get_stats could return hundreds of items, exhausting context. No limit parameter or documentation of max results.