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. 03NeetCode 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 の使用を推奨します。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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。