
Moodle MCP Server

2025.03.10
5
JavaScript教育管理课程自动化交流协作
Moodle MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,旨在让大型语言模型(LLMs)能够与 Moodle 平台进行交互,管理课程、学生、作业和测验。该服务提供了学生管理、作业管理和测验管理等功能,适用于教育领域的自动化管理场景。
View on GitHub
Overview
基本能力
产品定位
Moodle MCP Server 是一个教育管理工具,通过 MCP 协议实现与 Moodle 平台的交互,主要用于自动化管理课程、学生、作业和测验。
核心功能
- 学生管理工具
-
list_students
:获取课程中注册的学生列表,包括 ID、姓名、电子邮件和最后访问时间。 -
作业管理工具
get_assignments
:获取课程中所有可用的作业,包括 ID、名称、描述、截止日期和最高分数。get_student_submissions
:检查学生对特定作业的提交,需要作业 ID 和学生 ID(可选)。-
provide_assignment_feedback
:为学生提交的作业提供评分和评论,需要学生 ID、作业 ID、分数和反馈评论。 -
测验管理工具
get_quizzes
:获取课程中所有可用的测验,包括 ID、名称、描述、开放/关闭日期和最高分数。get_quiz_attempts
:检查学生对特定测验的尝试,需要测验 ID 和学生 ID(可选)。provide_quiz_feedback
:为测验尝试提供评论,需要尝试 ID 和反馈评论。
适用场景
- 教育机构自动化管理课程和学生信息。
- 教师或管理员通过 LLMs 自动化批改作业和测验。
- 学生提交作业和测验后自动获取反馈。
工具列表
- 学生管理工具
-
list_students
:列出课程中的所有学生及其基本信息。 -
作业管理工具
get_assignments
:获取课程中的所有作业信息。get_student_submissions
:查看学生对特定作业的提交。-
provide_assignment_feedback
:为学生作业提供评分和评论。 -
测验管理工具
get_quizzes
:获取课程中的所有测验信息。get_quiz_attempts
:查看学生对特定测验的尝试。provide_quiz_feedback
:为测验尝试提供评论。
常见问题解答
- 如何获取 Moodle API Token?
- 登录 Moodle 站点管理员账户。
- 转到“站点管理”>“插件”>“Web 服务”>“管理令牌”。
- 创建具有课程管理权限的新令牌。
-
将生成的令牌复制到
.env
文件中。 -
如何调试 MCP 服务器?
-
使用
npm run inspector
启动 MCP Inspector,通过浏览器访问调试工具。 -
如何确保安全性?
- 不要共享
.env
文件或 Moodle API 令牌。 - 确保 MCP 服务器仅访问必要的课程。
- 使用具有最低必要权限的令牌。
使用教程
使用依赖
- Node.js (v14 或更高版本)
- Moodle API 令牌(具有适当权限)
- Moodle 课程 ID
安装教程
- 克隆仓库:
git clone https://github.com/your-username/moodle-mcp-server.git
cd moodle-mcp-server
- 安装依赖:
npm install
- 创建
.env
文件并配置:
MOODLE_API_URL=https://your-moodle.com/webservice/rest/server.php
MOODLE_API_TOKEN=your_api_token
MOODLE_COURSE_ID=1 # 替换为你的课程 ID
- 构建服务器:
npm run build
调试方式
- 使用 MCP Inspector 调试:
npm run inspector
- 开发时自动重建:
npm run watch