Dsa Tracker Mcp Server

io.github.ashmitrrrPublished by GitHub account ashmitrrrv1.0.1Updated Oct 25, 2026

Track DSA/LeetCode practice with spaced repetition, ships with NeetCode 150.

Overview

AI-generated overview

A local MCP server that tracks DSA/LeetCode practice with spaced repetition, shipping with the NeetCode 150 problem list.

What you can do
Log attempts on problems with outcome, confidence and time, which schedules the next review date and matches loosely typed problem names to the right entry. Get the next problem to work on, prioritizing overdue reviews over new problems, with an optional category filter. View overall stats: solved counts, per-category breakdown, daily streak and total time. Search and filter problems by name, category, difficulty or status, and read the full attempt history for a problem. Read progress and problem-list resources, and use prompts for a daily review session or an explanation of a category's core pattern.
When to use it
Useful if you are working through a coding-interview problem list such as NeetCode 150 and want an assistant to decide what to review next, log attempts conversationally, and report progress and streaks.
Requirements
Runs locally as a Python package (PyPI dsa-tracker-mcp), typically launched with uvx or installed via pip; Claude Desktop is the documented client. Optional environment variables DSA_TRACKER_DB (SQLite database path) and DSA_TRACKER_PROBLEMS_FILE (custom problem list JSON) override the defaults. No account or API key.
Before you install
It writes practice data to a local SQLite database, so point DSA_TRACKER_DB at a location you are comfortable persisting. A custom problem list file is read from the path you give. No credentials, payments or third-party data sharing are described.

Installation

In SourceWeft

  1. Open Dsa Tracker Mcp Server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

dsa-tracker-mcp

mcp-name: io.github.ashmitrrr/dsa-tracker-mcp-server

[PyPI]

This is an MCP server for tracking your progress through your DSA questions and comes loaded with a default list of NeetCode 150 (any custom DSA problem list can be switched per user) with built-in spaced repetition. Built with FastMCP and SQLite.

Talk to it naturally from Claude: "what should I work on next", "log that I solved Two Sum, confidence 4, took 12 minutes", "how's my progress", "show me my history on Contains Duplicate".

Features

  • Spaced repetition — problems you struggle with come back sooner, problems you nail come back later. Schedule is based on how you rated each attempt (gave up / struggled / solved) and your confidence (1-5).
  • List-agnostic — ships with the full NeetCode 150 (150 problems, 18 categories) but can load any custom problem list via a JSON file.
  • Fuzzy matching — log an attempt with a loosely-typed problem name ("two sum", "contains dupe") and it'll match the right problem.
  • Stats & streaks — solved counts, per-category breakdown, daily streak, total time spent.

Tools

ToolDescription
log_attemptLog an attempt at a problem (status, confidence 1-5, time spent). Schedules the next review.
get_next_problemGet what to work on next: an overdue review, or the next new problem in order. Optional category filter.
get_statsOverall progress summary — solved counts, per-category breakdown, streak, total time.
search_problemsSearch/filter problems by name, category, difficulty, or status.
get_problem_historyAll logged attempts for a given problem, chronological.

Resources

  • dsa://progress — current progress snapshot
  • dsa://problem-list — full list of tracked problems

Prompts

  • daily_review — generates a daily review session based on what's due
  • explain_pattern(category) — explains the core pattern/approach for a given category

Installation

dsa-tracker-mcp is published on PyPI, no manual cloning or virtual environments needed. The recommended way to run it is with uv, which downloads and runs the package on demand.

Claude Desktop

Add to your claude_desktop_config.json (Settings → Developer → Edit Config):

json
{  "mcpServers": {    "dsa-tracker": {      "command": "uvx",      "args": ["dsa-tracker-mcp"]    }  }}

Restart Claude Desktop completely after saving.

Alternative: pip install

If you'd rather install it directly:

bash
pip install dsa-tracker-mcp

Then point your config at the installed console script:

json
{  "mcpServers": {    "dsa-tracker": {      "command": "dsa-tracker-mcp"    }  }}

From source

bash
git clone https://github.com/ashmitrrr/dsa-tracker-mcp-server.gitcd dsa-tracker-mcp-serverpython3 -m venv .venvsource .venv/bin/activate   # on Windows: .venv\Scripts\activatepip install -e .

Environment variables (optional)

VariableDefaultDescription
DSA_TRACKER_DB~/.dsa_tracker_mcp/progress.dbPath to the SQLite database
DSA_TRACKER_PROBLEMS_FILE(none, uses built-in NeetCode 150)Path to a JSON file with a custom problem list

To set these with uvx, add an env block to your config:

json
{  "mcpServers": {    "dsa-tracker": {      "command": "uvx",      "args": ["dsa-tracker-mcp"],      "env": {        "DSA_TRACKER_PROBLEMS_FILE": "/absolute/path/to/my-problems.json"      }    }  }}

Custom problem list format

json
[  {    "name": "Two Sum",    "category": "Arrays & Hashing",    "difficulty": "Easy",    "url": "https://leetcode.com/problems/two-sum/"  }]

url and difficulty are optional and will be auto-filled where possible. order_index is assigned automatically based on list order.

Spaced repetition logic

OutcomeNext review
Gave up1 day
Struggled, confidence ≤ 22 days
Struggled, confidence ≥ 34 days
Solved, confidence ≤ 37 days
Solved, confidence ≥ 421 days

get_next_problem prioritizes overdue reviews before suggesting new problems.

Example prompts

  • "What should I work on next?"
  • "I just solved Valid Anagram, confidence 5, took 6 minutes, log it"
  • "How's my progress on Trees?"
  • "Show me my history on Two Sum"
  • "Give me a daily review"

License

MIT — see LICENSE.

Source: README.md at commit cd14db9

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts