Student MCP Server について
Student MCP Serverは、学生向けにコース、課題、試験、概念、学習リソースを整理する教育用ナレッジグラフを提供します。学習の進捗、状態、優先度、課題の順序も記録できます。
主な機能
- 01セッション間で知識グラフを維持
- 02コース、課題、試験の管理
- 03学習セッションと進捗の記録
- 04期限と優先度の追跡
- 05概念と学習リソースの関連付け
- 06学習順序の構築
活用シーン
- 01コースの課題と期限の確認
- 02学習セッションと概念の習熟度を記録
- 03試験準備と優先タスクの計画
- 04概念や課題の順序付け
MCP 対応
教育用ナレッジグラフを操作するツールをMCPクライアントに提供します。セッション記録、エンティティや関係の管理、コース・期限・試験・概念の検索が可能です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Student MCP Server
学生のナレッジグラフを管理するためのツールを提供し、コース、課題、試験、概念、学習リソースを構造化して表現できる MCP サーバーの実装です。このサーバーは、学生が学業の進捗を把握し、期限を管理して、学習の道のりを最適化するのに役立ちます。
機能
- 教育コンテキストの永続化:複数のセッションにわたり、教育に関するエンティティと関係性の構造化されたナレッジグラフを維持します
- 学習セッションの管理:一意の ID を使用して学習セッションを追跡し、時間の経過に伴う進捗を記録します
- コース管理:コース、講義、課題、試験を構造化された形式で整理します
- 概念のマッピング:学習概念をつなぎ、概念間の関係や前提条件を示します
- 課題の追跡:課題のステータス、提出期限、関連リソースを監視します
- 試験対策:試験日を追跡し、学習資料を整理します
- 期限の管理:課題や試験の今後の提出期限を把握します
- リソースの整理:学習リソースを特定のコースや概念に関連付けます
- 進捗の監視:コース、課題、試験の完了ステータスを追跡します
- 知識の関連付け:さまざまな教育概念間の関係を可視化します
エンティティ
Student MCP Server は、次のエンティティタイプを認識します。
- course:受講中の学術コース
- assignment:宿題、プロジェクト、その他の提出物
- exam:試験、小テスト、その他の評価
- concept:知識のトピックと学習目標
- resource:教科書、記事、動画、その他の学習教材
- note:個人的な学習ノートや所見
- lecture:個々の授業
- project:比較的大規模な教育プロジェクトや取り組み
- question:学習や復習のための具体的な質問
- term:学期
- goal:学習目標と達成目標
- professor:コースの講師や教師
- status:エンティティのステータス値(active、completed、pending、abandoned)
- priority:優先度の値(high、low)
関係性
エンティティは、次の関係タイプを通じてつなげることができます。
- enrolled_in:学生がコースを受講している
- assigned_in:課題がコースの一部である
- due_on:課題/試験に特定の期限がある
- covers:講義/リソースが概念を扱う
- references:ノートが概念を参照する
- prerequisite_for:概念が別の概念の基礎となる
- taught_by:コースが教授によって教えられる
- scheduled_for:講義/試験が特定の日時に予定されている
- contains:コースに講義/課題が含まれる
- requires:課題に特定の概念が必要である
- related_to:概念が別の概念に関連している
- created_for:ノートが特定の講義のために作成される
- studies:学習セッションが概念/試験に焦点を当てる
- helps_with:リソースが課題/概念に役立つ
- submitted:課題が特定の日付に提出される
- part_of:エンティティが別のエンティティの一部である
- included_in:より大きな構成要素に含まれる
- follows:エンティティが順序上、別のエンティティに続く
- attends:学生が講義に出席する
- graded_with:課題/試験が特定の評価基準で採点される
- has_status:エンティティを現在のステータス(active、completed、pending、abandoned)に関連付ける
- has_priority:エンティティを優先度(high、low)に関連付ける
- precedes:一連のタスクや課題の中で、あるものが別のものより先に行われることを示す
ステータスと優先度の管理
Student MCP Server は、包括的なステータスと優先度の追跡機能を提供します。
-
ステータスの値:
- active:現在取り組んでいる、または学習中です
- completed:完了した、または正常に提出済みです
- pending:まだ開始していませんが、予定されています
- abandoned:今後取り組む予定はありません
-
優先度の値:
- high:すぐに対応する必要がある、または成績に大きな影響を与えます
- low:優先度の高い項目が完了した後に対応できます
-
順序立てた学習の管理:
- 先に完了する必要がある課題や概念を定義します
- 学習活動を論理的な順序で整理します
- 関連する学習タスク間に依存関係を作成します
- コース教材を通じた体系的な学習パスを構築します
利用可能なツール
Student MCP Server は、教育に関するナレッジとやり取りするための次のツールを提供します。
startsession
新しい学習セッションを開始し、一意のセッション ID を生成して、現在のコース、今後の締め切り、最近学習した概念、過去の学習セッションを表示します。has_status リレーションを通じてステータス情報を、has_priority リレーションを通じて優先度レベルを表示し、順序依存関係に基づいて次に取り組める課題を特定します。
loadcontext
特定のエンティティ(コース、課題など)の詳細なコンテキストを読み込み、エンティティの種類に応じた関連情報を表示します。関連するエンティティのステータス情報、優先度レベル、順序関係が含まれます。
endsession
構造化された複数段階のプロセスを通じて、学習セッションの結果を記録します。
- summary:セッションの概要、所要時間、重点を置いたコースを記録します
- conceptsLearned:セッション中に学習した概念を記録します
- assignmentUpdates:課題の更新を追跡します
- statusUpdates:エンティティのステータス値の変更を記録します
- courseStatus:コース全体のステータス、課題の優先度、順序関係を更新します
- newConcepts:セッション中に新しく学んだ概念を記録します
- assembly:セッションデータ全体を最終的にまとめます
buildcontext
ナレッジグラフに新しいエンティティ、リレーション、または観察事項を作成します。
- entities:新しい教育関連エンティティ(コース、課題、概念、ステータス、優先度など)を追加します
- relations:エンティティ間の関係(has_status、has_priority、precedes など)を作成します
- observations:既存のエンティティに観察事項を追加します
deletecontext
ナレッジグラフからエンティティ、リレーション、または観察事項を削除します。
- entities:教育関連エンティティを削除します
- relations:エンティティ間の関係(ステータス、優先度、順序関係を含む)を削除します
- observations:エンティティから特定の観察事項を削除します
advancedcontext
ナレッジグラフから情報を取得します。
- graph:ナレッジグラフ全体を取得します
- search:クエリ条件に基づいてノードを検索します
- nodes:名前を指定して特定のノードを取得します
- course:特定のコースの詳細を取得します
- deadlines:今後の締め切りを取得します
- assignment:特定の課題の詳細を取得します
- exam:特定の試験の詳細を取得します
- concepts:概念に関する情報を取得します
- lecture:講義に関する情報を取得します
- term:特定の学期の詳細を取得します
- status:特定のステータス値を持つエンティティを検索します
- priority:特定の優先度値を持つエンティティを検索します
- sequence:学習活動の順序関係を特定します
分野固有の関数
Student MCP Server には、教育分野向けの専用関数が含まれています。
- getCourseOverview:講義、課題、試験、リソースを含むコースの包括的な概要を取得します
- getUpcomingDeadlines:期限が近づいている課題や試験を検索します
- getAssignmentStatus:進捗状況や関連する概念など、課題の詳細な状況を取得します
- getExamPrep:試験対策資料と関連する概念を取得します
- findRelatedConcepts:異なる教育概念間のつながりを見つけます
- getStudyProgress:コース全体の学習進捗を追跡します
- getTermOverview:学期中のコースと学習内容の概要を取得します
- getConceptMastery:特定の概念の理解度を評価します
- getStatusOverview:特定のステータス(進行中、完了、保留中、中止)のすべてのエンティティを表示します
- getPriorityItems:優先度の高い課題や学習タスクを特定します
- getLearningSequence:先行関係に基づいて、学習活動の順序を視覚化します
プロンプトの例
セッションの開始
Let's start a new study session for my Computer Science course.
コースのコンテキストを読み込む
Load the context for my Calculus 101 course so I can see upcoming assignments and exams.
学習進捗を記録する
I've just finished studying for 2 hours on Calculus 101. I focused on limits and derivatives, completed my homework assignment on basic differentiation, and took notes on the chain rule. I've marked the limits content as completed and set the derivatives practice as high priority. I'm feeling more confident about the upcoming exam next week.
学習教材を管理する
Create a new concept called "Binary Trees" related to my Data Structures course with the description "A binary tree is a tree data structure in which each node has at most two children." Set its status to active and make it precede the "Graph Algorithms" concept.
Update the status of my "Database Assignment" to "completed" and add that I successfully implemented all required queries. Mark the "Advanced SQL" concept as high priority for my next study session.
使用方法
この MCP サーバーを使用すると、学生は次のことができます。
- 学習の継続性を維持する:複数の学習セッションを通じて、学んだ内容を記録します
- 学習時間を最適化する:優先度の高い課題や概念に集中します
- 学業の進捗を追跡する:コースや課題の完了状況、概念の習得度を確認します
- 試験に備える:学習教材を整理し、試験に向けた準備状況を追跡します
- 期限を管理する:課題や試験の期限を把握します
- 知識をつなげる:コースをまたいだ異なる概念間の関係を確認します
- 学習内容に優先順位を付ける:優先度の高い課題や学習タスクに集中します
- 学習を体系化する:関連する概念を学ぶための論理的な順序を作成します
- ステータスを追跡する:課題、プロジェクト、学習活動の状況を確認します
設定
Claude Desktop での使用
claude_desktop_config.json に次の内容を追加します。
GitHub からインストールして npx で実行する
{
"mcpServers": {
"student": {
"command": "npx",
"args": [
"-y",
"github:tejpalvirk/student"
]
}
}
}
グローバルにインストールして直接実行する
まず、パッケージをグローバルにインストールします。
npm install -g github:tejpalvirk/student
次に、Claude Desktop を設定します。
{
"mcpServers": {
"student": {
"command": "contextmanager-student"
}
}
}
docker
{
"mcpServers": {
"student": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"mcp/student"
]
}
}
}
ビルド
ソースから
# Clone the repository
git clone https://github.com/tejpalvirk/contextmanager.git
cd contextmanager
# Install dependencies
npm install
# Build the server
npm run build
# Run the server
cd student
node student_index.js
Docker:
docker build -t mcp/student -f student/Dockerfile .
ライセンス
この MCP サーバーは MIT License の下でライセンスされています。MIT License の利用規約に従う限り、ソフトウェアを自由に使用、変更、配布できます。詳細については、プロジェクトリポジトリの LICENSE ファイルを参照してください。
環境変数
Student MCP Server では、データの保存場所をカスタマイズするために、次の環境変数を使用できます。
-
MEMORY_FILE_PATH:ナレッジグラフデータの保存先パス
- 絶対パスまたは相対パスを指定できます(相対パスは現在の作業ディレクトリを基準にします)
- デフォルト:
./student/memory.json
-
SESSIONS_FILE_PATH:セッションデータの保存先パス
- 絶対パスまたは相対パスを指定できます(相対パスは現在の作業ディレクトリを基準にします)
- デフォルト:
./student/sessions.json
使用例:
# Store data in the current directory
MEMORY_FILE_PATH="./student-memory.json" SESSIONS_FILE_PATH="./student-sessions.json" npx github:tejpalvirk/contextmanager-student
# Store data in a specific location (absolute path)
MEMORY_FILE_PATH="/path/to/data/student-memory.json" npx github:tejpalvirk/contextmanager-student
# Store data in user's home directory
MEMORY_FILE_PATH="$HOME/contextmanager/student-memory.json" npx github:tejpalvirk/contextmanager-student
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。