README
🚀 Moodle MCP 服务器
Moodle MCP 服务器是一个基于 MCP(模型上下文协议)的工具,它让大型语言模型 (LLM) 能够与 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 和反馈评论
📦 安装指南
环境要求
- 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 # 将 1 替换为您的课程 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": []
}
}
}
📚 详细文档
开发
要进行开发,请按照以下步骤操作:
- 克隆此仓库
- 安装依赖项(如上所述)
- 在终端中运行
npm run dev开始开发服务器
调试
要进行调试,请使用 MCP Inspector:
npx mcp-inspect .
在浏览器中访问 http://localhost:8090 查看文档。
安全性
- 确保 API 令牌的安全,不要将其公开
- 使用 HTTPS 在生产环境中保护通信
- 定期更新软件以防止安全漏洞
📄 许可证
该项目受 MIT 许可证的约束。请参阅 LICENSE 了解详细信息。
Scan to contact