mcpField
D
dsa-tracker-mcp-server

dsa-tracker-mcp-server

本地服务
github.com/ashmitrrr科研与教育119 周前更新

关于 dsa-tracker-mcp-server

dsa-tracker-mcp-server 是用于记录和复习 DSA 题目练习的 MCP 服务。它默认包含 NeetCode 150,支持自定义题单,并根据作答结果和信心度安排复习。

主要功能

  1. 01记录尝试结果和信心度
  2. 02安排间隔复习
  3. 03使用 NeetCode 150 或自定义题单
  4. 04匹配非精确输入的题目名称
  5. 05查看进度、连续记录和历史

适用场景

  1. 01为下一次学习挑选题目
  2. 02记录解题结果和耗时
  3. 03按类别或题目查看进度

MCP 相关

提供用于记录尝试、选择下一题、搜索题目以及查看统计和历史的 MCP 工具。还提供进度和题单资源,以及每日复习和模式讲解提示词。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ashmitrrr-dsa-tracker": {
"command": "uvx",
"args": [
"dsa-tracker-mcp"
],
"env": {
"DSA_TRACKER_DB": "<DSA_TRACKER_DB>",
"DSA_TRACKER_PROBLEMS_FILE": "<DSA_TRACKER_PROBLEMS_FILE>"
}
}
}
}
启动命令uvx dsa-tracker-mcp
需要配置的环境变量
DSA_TRACKER_DBPath to the SQLite database file (default: ~/.dsa_tracker_mcp/progress.db)
DSA_TRACKER_PROBLEMS_FILEPath to a JSON file with a custom problem list (default: uses built-in NeetCode 150)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypidsa-tracker-mcp1.0.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

dsa-tracker-mcp

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

PyPI

这是一个用于跟踪你解决 DSA 题目进度的 MCP 服务,内置默认题目列表 NeetCode 150(每位用户都可以切换为自定义 DSA 题目列表),并提供内置的间隔重复功能。基于 FastMCP 和 SQLite 构建。

你可以直接用自然语言与 Claude 对话:“我接下来该练什么”“记录我做出了 Two Sum,信心评分 4,用时 12 分钟”“我的进度如何”“显示我做 Contains Duplicate 的历史记录”。

功能

  • 间隔重复 — 对你来说有难度的题目会更快回来,掌握得好的题目则会晚些复习。复习安排取决于你对每次尝试的评价(放弃/遇到困难/做出)以及你的信心评分(1-5)。
  • 不限列表 — 内置完整的 NeetCode 150(150 道题,18 个类别),也可以通过 JSON 文件加载任意自定义题目列表。
  • 模糊匹配 — 使用不太精确的题目名称(如“two sum”“contains dupe”)记录尝试时,系统会匹配正确的题目。
  • 统计与连续记录 — 已解决题目数、各类别统计、每日连续记录、总用时。

工具

工具描述
log_attempt记录一次题目尝试(状态、信心评分 1-5、用时)。安排下次复习。
get_next_problem获取接下来要练习的题目:已到期的复习题,或按顺序排列的下一道新题。可选类别筛选。
get_stats总体进度摘要 — 已解决题目数、各类别统计、连续记录、总用时。
search_problems按名称、类别、难度或状态搜索/筛选题目。
get_problem_history指定题目的全部记录尝试,按时间顺序排列。

资源

  • dsa://progress — 当前进度快照
  • dsa://problem-list — 已跟踪题目的完整列表

提示词

  • daily_review — 根据待复习内容生成每日复习环节
  • explain_pattern(category) — 讲解指定类别的核心模式/解题思路

安装

dsa-tracker-mcp 已发布到 PyPI,无需手动克隆或创建虚拟环境。推荐使用 uv 运行,它会按需下载并运行此软件包。

Claude Desktop

将以下内容添加到 claude_desktop_config.json(Settings → Developer → Edit Config):

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

保存后,完全退出并重启 Claude Desktop。

替代方式:pip install

如果你更希望直接安装:

pip install dsa-tracker-mcp

然后将配置指向已安装的控制台脚本:

{
  "mcpServers": {
    "dsa-tracker": {
      "command": "dsa-tracker-mcp"
    }
  }
}
从源代码安装
git clone https://github.com/ashmitrrr/dsa-tracker-mcp-server.git
cd dsa-tracker-mcp-server
python3 -m venv .venv
source .venv/bin/activate   # on Windows: .venv\Scripts\activate
pip install -e .

环境变量(可选)

变量默认值描述
DSA_TRACKER_DB~/.dsa_tracker_mcp/progress.dbSQLite 数据库路径
DSA_TRACKER_PROBLEMS_FILE(无,使用内置 NeetCode 150)自定义题目列表 JSON 文件的路径

要通过 uvx 设置这些变量,请在配置中添加 env 块:

{
  "mcpServers": {
    "dsa-tracker": {
      "command": "uvx",
      "args": ["dsa-tracker-mcp"],
      "env": {
        "DSA_TRACKER_PROBLEMS_FILE": "/absolute/path/to/my-problems.json"
      }
    }
  }
}
自定义题目列表格式
[
  {
    "name": "Two Sum",
    "category": "Arrays & Hashing",
    "difficulty": "Easy",
    "url": "https://leetcode.com/problems/two-sum/"
  }
]

url 和 difficulty 是可选项,在可能的情况下会自动填充。order_index 会根据列表顺序自动分配。

间隔重复逻辑

结果下次复习
放弃1 天后
遇到困难,信心 ≤ 22 天后
遇到困难,信心 ≥ 34 天后
做出,信心 ≤ 37 天后
做出,信心 ≥ 421 天后

get_next_problem 会优先安排已到期的复习题,然后再推荐新题。

示例提示词

  • “我接下来该练什么?”
  • “我刚做出了 Valid Anagram,信心评分 5,用时 6 分钟,记录一下”
  • “我在 Trees 方面的进度如何?”
  • “显示我做 Two Sum 的历史记录”
  • “给我安排一次每日复习”

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。