Moodle MCP Server

Moodle MCP Server

site icon
2025.03.10 5
JavaScript教育管理课程自动化交流协作
Moodle MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,旨在让大型语言模型(LLMs)能够与 Moodle 平台进行交互,管理课程、学生、作业和测验。该服务提供了学生管理、作业管理和测验管理等功能,适用于教育领域的自动化管理场景。
View on GitHub

Overview

基本能力

产品定位

Moodle MCP Server 是一个教育管理工具,通过 MCP 协议实现与 Moodle 平台的交互,主要用于自动化管理课程、学生、作业和测验。

核心功能

  1. 学生管理工具
  2. list_students:获取课程中注册的学生列表,包括 ID、姓名、电子邮件和最后访问时间。

  3. 作业管理工具

  4. get_assignments:获取课程中所有可用的作业,包括 ID、名称、描述、截止日期和最高分数。
  5. get_student_submissions:检查学生对特定作业的提交,需要作业 ID 和学生 ID(可选)。
  6. provide_assignment_feedback:为学生提交的作业提供评分和评论,需要学生 ID、作业 ID、分数和反馈评论。

  7. 测验管理工具

  8. get_quizzes:获取课程中所有可用的测验,包括 ID、名称、描述、开放/关闭日期和最高分数。
  9. get_quiz_attempts:检查学生对特定测验的尝试,需要测验 ID 和学生 ID(可选)。
  10. provide_quiz_feedback:为测验尝试提供评论,需要尝试 ID 和反馈评论。

适用场景

  • 教育机构自动化管理课程和学生信息。
  • 教师或管理员通过 LLMs 自动化批改作业和测验。
  • 学生提交作业和测验后自动获取反馈。

工具列表

  1. 学生管理工具
  2. list_students:列出课程中的所有学生及其基本信息。

  3. 作业管理工具

  4. get_assignments:获取课程中的所有作业信息。
  5. get_student_submissions:查看学生对特定作业的提交。
  6. provide_assignment_feedback:为学生作业提供评分和评论。

  7. 测验管理工具

  8. get_quizzes:获取课程中的所有测验信息。
  9. get_quiz_attempts:查看学生对特定测验的尝试。
  10. provide_quiz_feedback:为测验尝试提供评论。

常见问题解答

  1. 如何获取 Moodle API Token?
  2. 登录 Moodle 站点管理员账户。
  3. 转到“站点管理”>“插件”>“Web 服务”>“管理令牌”。
  4. 创建具有课程管理权限的新令牌。
  5. 将生成的令牌复制到 .env 文件中。

  6. 如何调试 MCP 服务器?

  7. 使用 npm run inspector 启动 MCP Inspector,通过浏览器访问调试工具。

  8. 如何确保安全性?

  9. 不要共享 .env 文件或 Moodle API 令牌。
  10. 确保 MCP 服务器仅访问必要的课程。
  11. 使用具有最低必要权限的令牌。

使用教程

使用依赖

  • Node.js (v14 或更高版本)
  • Moodle API 令牌(具有适当权限)
  • Moodle 课程 ID

安装教程

  1. 克隆仓库:
git clone https://github.com/your-username/moodle-mcp-server.git
cd moodle-mcp-server
  1. 安装依赖:
npm install
  1. 创建 .env 文件并配置:
MOODLE_API_URL=https://your-moodle.com/webservice/rest/server.php
MOODLE_API_TOKEN=your_api_token
MOODLE_COURSE_ID=1  # 替换为你的课程 ID
  1. 构建服务器:
npm run build

调试方式

  1. 使用 MCP Inspector 调试:
npm run inspector
  1. 开发时自动重建:
npm run watch

许可证

该项目遵循 MIT 开源许可条款。