{
  "markdown": "# dsa-tracker-mcp\nmcp-name: io.github.ashmitrrr/dsa-tracker-mcp-server\n\n[![PyPI](https://img.shields.io/pypi/v/dsa-tracker-mcp)](https://pypi.org/project/dsa-tracker-mcp/)\n\nThis 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](https://github.com/modelcontextprotocol/python-sdk) and SQLite.\n\nTalk 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\".\n\n## Features\n\n- **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).\n- **List-agnostic** — ships with the full NeetCode 150 (150 problems, 18 categories) but can load any custom problem list via a JSON file.\n- **Fuzzy matching** — log an attempt with a loosely-typed problem name (\"two sum\", \"contains dupe\") and it'll match the right problem.\n- **Stats & streaks** — solved counts, per-category breakdown, daily streak, total time spent.\n\n## Tools\n\n| Tool | Description |\n|---|---|\n| `log_attempt` | Log an attempt at a problem (status, confidence 1-5, time spent). Schedules the next review. |\n| `get_next_problem` | Get what to work on next: an overdue review, or the next new problem in order. Optional category filter. |\n| `get_stats` | Overall progress summary — solved counts, per-category breakdown, streak, total time. |\n| `search_problems` | Search/filter problems by name, category, difficulty, or status. |\n| `get_problem_history` | All logged attempts for a given problem, chronological. |\n\n## Resources\n\n- `dsa://progress` — current progress snapshot\n- `dsa://problem-list` — full list of tracked problems\n\n## Prompts\n\n- `daily_review` — generates a daily review session based on what's due\n- `explain_pattern(category)` — explains the core pattern/approach for a given category\n\n## Installation\n\ndsa-tracker-mcp is published on [PyPI](https://pypi.org/project/dsa-tracker-mcp/), no manual cloning or virtual environments needed. The recommended way to run it is with [uv](https://docs.astral.sh/uv/), which downloads and runs the package on demand.\n\n### Claude Desktop\n\nAdd to your `claude_desktop_config.json` (Settings → Developer → Edit Config):\n\n```json\n{\n  \"mcpServers\": {\n    \"dsa-tracker\": {\n      \"command\": \"uvx\",\n      \"args\": [\"dsa-tracker-mcp\"]\n    }\n  }\n}\n```\n\nRestart Claude Desktop completely after saving.\n\n### Alternative: pip install\n\nIf you'd rather install it directly:\n\n```bash\npip install dsa-tracker-mcp\n```\n\nThen point your config at the installed console script:\n\n```json\n{\n  \"mcpServers\": {\n    \"dsa-tracker\": {\n      \"command\": \"dsa-tracker-mcp\"\n    }\n  }\n}\n```\n\n### From source\n\n```bash\ngit clone https://github.com/ashmitrrr/dsa-tracker-mcp-server.git\ncd dsa-tracker-mcp-server\npython3 -m venv .venv\nsource .venv/bin/activate   # on Windows: .venv\\Scripts\\activate\npip install -e .\n```\n\n## Environment variables (optional)\n\n| Variable | Default | Description |\n|---|---|---|\n| `DSA_TRACKER_DB` | `~/.dsa_tracker_mcp/progress.db` | Path to the SQLite database |\n| `DSA_TRACKER_PROBLEMS_FILE` | (none, uses built-in NeetCode 150) | Path to a JSON file with a custom problem list |\n\nTo set these with `uvx`, add an `env` block to your config:\n\n```json\n{\n  \"mcpServers\": {\n    \"dsa-tracker\": {\n      \"command\": \"uvx\",\n      \"args\": [\"dsa-tracker-mcp\"],\n      \"env\": {\n        \"DSA_TRACKER_PROBLEMS_FILE\": \"/absolute/path/to/my-problems.json\"\n      }\n    }\n  }\n}\n```\n\n### Custom problem list format\n\n```json\n[\n  {\n    \"name\": \"Two Sum\",\n    \"category\": \"Arrays & Hashing\",\n    \"difficulty\": \"Easy\",\n    \"url\": \"https://leetcode.com/problems/two-sum/\"\n  }\n]\n```\n\n`url` and `difficulty` are optional and will be auto-filled where possible. `order_index` is assigned automatically based on list order.\n\n## Spaced repetition logic\n\n| Outcome | Next review |\n|---|---|\n| Gave up | 1 day |\n| Struggled, confidence ≤ 2 | 2 days |\n| Struggled, confidence ≥ 3 | 4 days |\n| Solved, confidence ≤ 3 | 7 days |\n| Solved, confidence ≥ 4 | 21 days |\n\n`get_next_problem` prioritizes overdue reviews before suggesting new problems.\n\n## Example prompts\n\n- \"What should I work on next?\"\n- \"I just solved Valid Anagram, confidence 5, took 6 minutes, log it\"\n- \"How's my progress on Trees?\"\n- \"Show me my history on Two Sum\"\n- \"Give me a daily review\"\n\n## License\n\nMIT — see [LICENSE](LICENSE).",
  "bytes": 4634,
  "sha": "526c14652dc2a228728d2c309665f3cd563b6c54a47a3c06c5da3d987b5a2838",
  "repo_slug": "ashmitrrr/dsa-tracker-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ashmitrrr_dsa_tracker_mcp_serv_86f27ad3/readme"
}