Dsa Tracker Mcp Server

io.github.ashmitrrr由 GitHub 帳號 ashmitrrr 發布v1.0.1更新於 Oct 25, 2026

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

已驗證STDIO僅桌面效率與工作流知識與記憶

概覽

AI 產生的概覽

一個本機 MCP 伺服器,以間隔重複追蹤 DSA/LeetCode 刷題進度,內建 NeetCode 150 題目清單。

可以做什麼
記錄題目嘗試,包含結果、信心度與花費時間,據此安排下次複習日期,並能把模糊輸入的題名對應到正確題目。取得下一道要做的題目,優先安排逾期複習而非新題,可依分類篩選。檢視整體統計:已解數量、分類明細、連續天數與總花費時間。依名稱、分類、難度或狀態搜尋與篩選題目,並查看某題的全部嘗試紀錄。讀取進度與題目清單資源,並使用提示產生每日複習或說明某分類的核心思路。
適用情境
適合正在依 NeetCode 150 等面試題單練習的人,希望助理決定下一步複習什麼、以對話方式記錄嘗試,並回報進度與連續天數。
執行需求
以 Python 套件(PyPI 上的 dsa-tracker-mcp)在本機執行,通常用 uvx 啟動或透過 pip 安裝;文件中的用戶端為 Claude Desktop。選用環境變數 DSA_TRACKER_DB(SQLite 資料庫路徑)與 DSA_TRACKER_PROBLEMS_FILE(自訂題目清單 JSON)可覆寫預設值。不需帳號或 API 金鑰。
安裝前請注意
它會把練習資料寫入本機 SQLite 資料庫,請將 DSA_TRACKER_DB 指向你願意長期保存的位置。自訂題目清單會從你指定的路徑讀取。未提及憑證、付費或將資料傳送給第三方。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Dsa Tracker Mcp Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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.

來源:README.md,提交 cd14db9

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分