关于 Moodle MCP Server
Moodle MCP Server 是一个 MCP 服务,使 LLM 能够与 Moodle 平台交互,管理课程、学生、作业和测验。适用于教师或教务人员通过 Claude 等客户端处理日常教学管理工作。
主要功能
- 01课程信息查询,支持分页与指定课程
- 02学生名单及最近访问时间查询
- 03作业列表与学生提交内容查询
- 04作业评分与评语提交
- 05测验列表与答题尝试查询
- 06测验尝试评语提交
适用场景
- 01查看课程学生名单及其提交情况
- 02为学生作业提供评分和评语
- 03检查学生的测验尝试并给出反馈
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 Moodle 课程、学生、作业和测验相关的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Moodle MCP 服务
一个 MCP(Model Context Protocol)服务,可让大模型与 Moodle 平台交互,以管理课程、学生、作业和测验。
功能
课程管理工具
get_courses- 获取 Moodle 中的课程信息- 支持分页(
page、limit),以安全地获取所有可用课程。 - 可通过提供
courseId,选择性地获取指定课程。
- 支持分页(
学生管理工具
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 和评语
要求
- 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 # Replace with your course ID
- 构建服务:
npm run build
与 Claude 配合使用
要在 Claude Desktop 中使用,请添加服务配置:
MacOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"moodle-mcp-server": {
"command": "/path/to/node",
"args": [
"/path/to/moodle-mcp-server/build/index.js"
],
"env": {
"MOODLE_API_URL": "https://your-moodle.com/webservice/rest/server.php",
"MOODLE_API_TOKEN": "your_moodle_api_token",
"MOODLE_COURSE_ID": "your_course_id"
},
"disabled": false,
"autoApprove": []
}
}
}
Windows 用户需要使用反斜杠表示路径:
{
"mcpServers": {
"moodle-mcp-server": {
"command": "C:\\path\\to\\node.exe",
"args": [
"C:\\path\\to\\moodle-mcp-server\\build\\index.js"
],
"env": {
"MOODLE_API_URL": "https://your-moodle.com/webservice/rest/server.php",
"MOODLE_API_TOKEN": "your_moodle_api_token",
"MOODLE_COURSE_ID": "your_course_id"
},
"disabled": false,
"autoApprove": []
}
}
}
配置完成后,Claude 即可与您的 Moodle 课程交互,以便:
- 查看学生列表及其提交的作业
- 为作业添加评语和评分
- 查看测验作答记录并提供反馈
开发
启用自动重新构建进行开发:
npm run watch
调试
MCP 服务通过 stdio 通信,这可能会使调试颇具挑战。我们建议使用 MCP Inspector:
npm run inspector
Inspector 会提供一个 URL,供您在浏览器中访问调试工具。
获取 Moodle API 令牌
- 以管理员身份登录 Moodle 站点
- 前往“站点管理”>“插件”>“Web 服务”>“管理令牌”
- 创建一个具有管理课程所需权限的新令牌
- 复制生成的令牌,并将其添加到
.env文件中
安全
- 切勿分享您的
.env文件或 Moodle API 令牌 - 确保 MCP 服务只能访问其需要管理的课程
- 使用权限满足需要的最低限度的令牌
许可证
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。