t

tejpalvirk

@tejpalvirk/student
0 Stars 320 次浏览 tejpalvirk 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "student": {
      "args": [
        "run",
        "--rm",
        "-i",
        "mcp/student"
      ],
      "command": "docker"
    }
  }
}

服务介绍

学生MCP服务器

一个MCP服务器实现,提供管理学生知识图谱的工具,能够以结构化的方式表示课程、作业、考试、概念和学习资源。该服务器帮助学生跟踪他们的学术进度、管理截止日期并优化他们的学习过程。

功能

  • 持久化的教育上下文:在多个会话中维护教育实体及其关系的结构化知识图谱
  • 学习会话管理:通过唯一ID跟踪学习会话,并记录随时间的变化
  • 课程管理:以结构化格式组织课程、讲座、作业和考试
  • 概念映射:连接学习概念以展示关系和先修要求
  • 作业跟踪:监控作业状态、截止日期和相关资源
  • 考试准备:跟踪考试日期并组织学习材料
  • 截止日期管理:跟踪即将到来的作业和考试截止日期
  • 资源组织:将学习资源与特定课程和概念关联起来
  • 进度监控:跟踪课程、作业和考试的完成状态
  • 知识连接:可视化不同教育概念之间的关系

实体

学生MCP服务器识别以下实体类型:

  • course:正在修读的学术课程
  • assignment:家庭作业、项目和其他提交的工作
  • exam:测试、小测验和其他评估
  • concept:知识主题和学习目标
  • resource:教科书、文章、视频和其他学习材料
  • note:个人学习笔记和观察
  • lecture:单独的课堂会议
  • project:较大的教育项目或任务
  • question:用于学习或复习的具体问题
  • term:学术学期
  • goal:学习目标
  • professor:课程讲师和教师
  • status:实体状态值(活跃、完成、待处理、放弃)
  • priority:优先级水平值(高、低)

关系

实体可以通过以下关系类型进行连接:

  • 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:将实体与其当前状态链接(活跃、完成、待处理、放弃)
  • has_priority:将实体与其优先级水平链接(高、低)
  • precedes:表明一个任务或作业在序列中位于另一个之前

状态和优先级管理

学生MCP服务器提供了全面的状态和优先级跟踪功能:

  • 状态值

    • active:当前正在工作或学习
    • completed:已完成或成功提交
    • pending:尚未开始但已计划
    • abandoned:不再追求
  • 优先级值

    • high:需要立即关注或对成绩有重大影响
    • low:可以在完成更高优先级事项后再处理- 顺序学习管理:
    • 定义哪些作业或概念必须在其他之前完成
    • 按逻辑顺序组织学习活动
    • 在相关学习任务之间创建依赖关系
    • 通过课程材料构建结构化的学习路径

可用工具

学生MCP服务器提供了以下工具,用于与教育知识进行交互:

startsession

启动一个新的学习会话,生成唯一的会话ID,并显示当前课程、即将到来的截止日期、最近学习的概念和过去的学习会话。通过has_status关系显示状态信息,通过has_priority关系显示优先级水平,并基于顺序依赖关系识别接下来可以工作的作业。

loadcontext

为特定实体(如课程、作业等)加载详细上下文,根据实体类型显示相关信息。包括状态信息、优先级水平以及相关实体之间的顺序关系。

endsession

通过一个结构化的多阶段过程记录学习会话的结果:

  1. summary: 记录会话摘要、持续时间和课程重点
  2. conceptsLearned: 记录会话期间学习的概念
  3. assignmentUpdates: 跟踪作业更新
  4. statusUpdates: 记录实体状态值的变化
  5. courseStatus: 更新整体课程状态、优先级作业和顺序关系
  6. newConcepts: 记录会话期间学到的新概念
  7. assembly: 所有会话数据的最终组装

buildcontext

在知识图谱中创建新的实体、关系或观察结果:

  • entities: 添加新的教育实体(如课程、作业、概念、状态、优先级等)
  • relations: 创建实体之间的关系(包括has_statushas_priorityprecedes
  • observations: 向现有实体添加观察结果

deletecontext

从知识图谱中移除实体、关系或观察结果:

  • entities: 移除教育实体
  • relations: 移除实体之间的关系(包括状态、优先级和顺序关系)
  • observations: 从实体中移除特定的观察结果

advancedcontext

从知识图谱中检索信息:

  • graph: 获取整个知识图谱
  • search: 根据查询条件搜索节点
  • nodes: 按名称获取特定节点
  • course: 获取特定课程的详细信息
  • deadlines: 获取即将到来的截止日期
  • assignment: 获取特定作业的详细信息
  • exam: 获取特定考试的详细信息
  • concepts: 获取关于概念的信息
  • lecture: 获取关于讲座的信息
  • term: 获取关于学术学期的详细信息
  • status: 查找具有特定状态值的实体
  • priority: 查找具有特定优先级值的实体
  • sequence: 识别学习活动的顺序关系

领域特定功能

学生MCP服务器包括专门针对教育领域的功能:

  • getCourseOverview: 包括讲座、作业、考试和资源在内的课程全面视图
  • getUpcomingDeadlines: 查找即将到期的作业和考试
  • getAssignmentStatus: 获取作业的详细状态,包括进度和相关概念
  • getExamPrep: 获取考试准备材料及相关概念
  • findRelatedConcepts: 发现不同教育概念之间的联系
  • getStudyProgress: 跨课程跟踪学习进度
  • getTermOverview: 获取学术学期的课程和工作概览
  • getConceptMastery: 评估对特定概念的理解程度
  • getStatusOverview: 查看具有特定状态的所有实体(如活跃、已完成、待处理、放弃)
  • getPriorityItems: 识别高优先级的作业和学习任务- getLearningSequence: 基于前置关系可视化学习活动的顺序

示例提示

开始会话

让我们开始我的计算机科学课程的新学习会话。

加载课程上下文

加载我的微积分101课程的上下文,以便我可以查看即将到来的作业和考试。

记录学习进度

我刚刚完成了2小时的微积分101学习。我专注于极限和导数,完成了关于基本微分的家庭作业,并记下了链式法则的笔记。我已经将极限内容标记为已完成,并将导数练习设为高优先级。我对下周即将到来的考试感到更有信心了。

管理学习材料

为我的数据结构课程创建一个名为“二叉树”的新概念,描述为“二叉树是一种每个节点最多有两个子节点的树形数据结构。”将其状态设置为激活,并使其先于“图算法”概念。

将我的“数据库作业”状态更新为“已完成”,并添加我已成功实现所有必需查询的信息。将“高级SQL”概念标记为下次学习会话的高优先级。

使用方法

此MCP服务器使学生能够:

  • 保持学习连续性:跨多个学习会话跟踪你所学的内容
  • 优化学习时间:专注于高优先级的作业和概念
  • 跟踪学术进度:监控课程、作业的完成情况以及概念掌握程度
  • 准备考试:组织学习材料并跟踪备考进度
  • 管理截止日期:关注即将到期的作业和考试
  • 连接知识:查看不同课程中概念之间的关系
  • 优先处理工作:专注于高优先级的作业和学习任务
  • 构建学习结构:为相关概念的学习创建逻辑序列
  • 跟踪状态:监控作业、项目和学习活动的状态

配置

与Claude Desktop一起使用

将以下内容添加到你的claude_desktop_config.json文件中:

从GitHub安装并通过npx运行

json
{
"mcpServers": {
"student": {
"command": "npx",
"args": [
"-y",
"github:tejpalvirk/student"
]
}
}
}

全局安装并直接运行

首先,全局安装该软件包:

bash
npm install -g github:tejpalvirk/student

然后配置Claude Desktop:

json
{
"mcpServers": {
"student": {
"command": "contextmanager-student"
}
}
}

Docker

json
{
"mcpServers": {
"student": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"mcp/student"
]
}
}
}

构建

从源代码构建

bash

克隆仓库

git clone https://github.com/tejpalvirk/contextmanager.git
cd contextmanager

安装依赖

npm install

构建服务器

npm run build

运行服务器

cd student
node student_index.js

Docker:

bash
docker build -t mcp/student -f student/Dockerfile .

许可证

此MCP服务器根据MIT许可证许可。这意味着你可以自由地使用、修改和分发该软件,但需遵守MIT许可证的条款和条件。更多详情,请参阅项目仓库中的LICENSE文件。

环境变量

Student MCP Server支持以下环境变量来自定义数据存储位置:

  • MEMORY_FILE_PATH: 存储知识图谱数据的路径

    • 可以是绝对路径或相对路径(相对路径使用当前工作目录)
    • 默认值: ./student/memory.json
  • SESSIONS_FILE_PATH: 存储会话数据的路径

    • 可以是绝对路径或相对路径(相对路径使用当前工作目录)
    • 默认值: ./student/sessions.json

示例用法:

bash

在当前目录中存储数据

MEMORY_FILE_PATH="./student-memory.json" SESSIONS_FILE_PATH="./student-sessions.json" npx github:tejpalvirk/contextmanager-student

在特定位置存储数据(绝对路径)

MEMORY_FILE_PATH="/path/to/data/student-memory.json" npx github:tejpalvirk/contextmanager-student

在用户主目录中存储数据

MEMORY_FILE_PATH="$HOME/contextmanager/student-memory.json" npx github:tejpalvirk/contextmanager-student请提供需要翻译的英文技术文档内容。您目前只提供了翻译要求,但没有给出具体的文档文本。请将文档文本一并提供,以便我能够准确地进行翻译。

相关 MCP 服务