Moodle MCP 服务器是一个基于 MCP(模型上下文协议)的服务器,它能让大语言模型(LLMs)与 Moodle 平台进行交互,以管理课程、学生、作业和测验等内容。
list_students - 获取课程中注册学生的列表
get_assignments - 获取课程中所有可用的作业
get_student_submissions - 查看学生对特定作业的提交情况
provide_assignment_feedback - 为学生的作业提交提供分数和评论
get_quizzes - 获取课程中所有可用的测验
get_quiz_attempts - 查看学生对特定测验的尝试情况
provide_quiz_feedback - 为测验尝试提供评论
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
要在 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 服务器通过标准输入输出进行通信,这可能会使调试变得困难。我们建议使用 MCP Inspector:
npm run inspector
Inspector 会提供一个 URL,你可以在浏览器中访问调试工具。
.env 文件中.env 文件或 Moodle API 令牌本项目采用 MIT 许可证。