
Student MCP Server
提供用于管理学生知识图谱的工具,从而能够对课程、作业、考试、概念和学习资源进行结构化表示。
README
学生 MCP 服务器
一个 MCP 服务器实现,提供用于管理学生知识图谱的工具,能够以结构化的方式表示课程、作业、考试、概念和学习资源。该服务器帮助学生跟踪他们的学业进度、管理截止日期并优化他们的学习旅程。
特性
- 持久的教育上下文: 维护跨多个会话的教育实体和关系的结构化知识图谱
- 学习会话管理: 使用唯一的 ID 跟踪学习会话,并记录随时间的进度
- 课程管理: 以结构化的格式组织课程、讲座、作业和考试
- 概念映射: 连接学习概念以显示关系和先决条件
- 作业跟踪: 监控作业状态、截止日期和相关资源
- 考试准备: 跟踪考试日期并组织学习材料
- 截止日期管理: 跟踪作业和考试的即将到来的截止日期
- 资源组织: 将学习资源连接到特定的课程和概念
- 进度监控: 跟踪课程、作业和考试的完成状态
- 知识连接: 可视化不同教育概念之间的关系
实体
学生 MCP 服务器识别以下实体类型:
- 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: 指示一个任务或作业在序列中位于另一个任务或作业之前
状态和优先级管理
学生 MCP 服务器提供全面的状态和优先级跟踪功能:
-
状态值:
- active: 当前正在进行或学习
- completed: 完成或成功提交
- pending: 尚未开始但已计划
- abandoned: 不再追求
-
优先级值:
- high: 需要立即关注或对成绩有重大影响
- low: 可以在完成更高优先级的项目后处理
-
顺序学习管理:
- 定义哪些作业或概念必须在其他作业或概念之前完成
- 以逻辑顺序组织学习活动
- 在相关的学习任务之间创建依赖关系
- 构建通过课程材料的结构化学习路径
可用工具
学生 MCP 服务器提供以下工具来与教育知识进行交互:
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: 识别学习活动的顺序关系
领域特定函数
学生 MCP 服务器包括用于教育的专门领域函数:
- getCourseOverview: 课程的全面视图,包括讲座、作业、考试和资源
- getUpcomingDeadlines: 查找即将到来的截止日期的作业和考试
- getAssignmentStatus: 获取作业的详细状态,包括进度和相关概念
- getExamPrep: 获取考试准备材料和相关概念
- findRelatedConcepts: 发现不同教育概念之间的联系
- getStudyProgress: 跟踪跨课程的学习进度
- getTermOverview: 获取学期课程和工作的概述
- getConceptMastery: 评估对特定概念的理解程度
- getStatusOverview: 查看具有特定状态的所有实体(active、completed、pending、abandoned)
- getPriorityItems: 识别高优先级的作业和学习任务
- getLearningSequence: 可视化基于 precedes 关系的学习活动序列
示例提示
启动会话
让我们为我的计算机科学课程开始一个新的学习会话。
加载课程上下文
加载我的微积分 101 课程的上下文,以便我可以查看即将到来的作业和考试。
记录学习进度
我刚刚完成了 2 小时的微积分 101 学习。我专注于极限和导数,完成了关于基本微分的家庭作业,并记下了链式法则的笔记。我已将极限内容标记为已完成,并将导数练习设置为高优先级。我对下周即将到来的考试感觉更有信心。
管理学习材料
创建一个名为“二叉树”的新概念,与我的数据结构课程相关,描述为“二叉树是一种树数据结构,其中每个节点最多有两个子节点。”将其状态设置为 active,并使其先于“图算法”概念。
将我的“数据库作业”的状态更新为“已完成”,并添加我已成功实施所有必需的查询。将“高级 SQL”概念标记为我下一次学习会话的高优先级。
用法
此 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"
]
}
}
}
构建
从源代码
# 克隆存储库
git clone https://github.com/tejpalvirk/contextmanager.git
cd contextmanager
# 安装依赖项
npm install
# 构建服务器
npm run build
# 运行服务器
cd student
node student_index.js
Docker:
docker build -t mcp/student -f student/Dockerfile .
许可证
此 MCP 服务器已获得 MIT 许可证的许可。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。有关更多详细信息,请参阅项目存储库中的 LICENSE 文件。
环境变量
学生 MCP 服务器支持以下环境变量来自定义数据的存储位置:
-
MEMORY_FILE_PATH: 知识图谱数据将存储的路径
- 可以是绝对路径或相对路径(相对路径使用当前工作目录)
- 默认值:
./student/memory.json
-
SESSIONS_FILE_PATH: 会话数据将存储的路径
- 可以是绝对路径或相对路径(相对路径使用当前工作目录)
- 默认值:
./student/sessions.json
用法示例:
# 将数据存储在当前目录中
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
推荐服务器

Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。