p

peancor

@peancor/moodle-mcp-server
0 Stars 303 次浏览 peancor 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "moodle-mcp-server": {
      "args": [
        "C:\\path\\to\\moodle-mcp-server\\build\\index.js"
      ],
      "autoApprove": [],
      "command": "C:\\path\\to\\node.exe",
      "disabled": false,
      "env": {
        "MOODLE_API_TOKEN": "your_moodle_api_token",
        "MOODLE_API_URL": "https://your-moodle.com/webservice/rest/server.php",
        "MOODLE_COURSE_ID": "your_course_id"
      }
    }
  }
}

服务介绍

Moodle MCP 服务器

MCP(Model Context Protocol)服务器使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

安装

  1. 克隆此仓库:
    bash
    git clone https://github.com/your-username/moodle-mcp-server.git
    cd moodle-mcp-server

  2. 安装依赖项:
    bash
    npm install

  3. 创建一个.env文件并配置如下内容:

MOODLE_API_URL=https://your-moodle.com/webservice/rest/server.php
MOODLE_API_TOKEN=your_api_token
MOODLE_COURSE_ID=1 # 替换为您的课程ID

  1. 构建服务器:
    bash
    npm run build

与Claude一起使用

要在Claude Desktop上使用,请添加服务器配置:

对于MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
对于Windows: %APPDATA%/Claude/claude_desktop_config.json

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用户,路径应使用反斜杠:

json
{
"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课程进行交互,以:

  • 查看学生列表及其提交
  • 为作业提供评论和评分
  • 检查测验尝试并提供反馈

开发

开发时自动重建:
bash
npm run watch

调试

MCP服务器通过stdio通信,这可能会使调试变得困难。我们建议使用MCP Inspector

bash
npm run inspector

Inspector将提供一个URL,以便您在浏览器中访问调试工具。

获取Moodle API令牌

  1. 以管理员身份登录到您的Moodle站点
  2. 转到站点管理 > 插件 > Web服务 > 管理令牌
  3. 创建具有管理课程所需权限的新令牌
  4. 复制生成的令牌并将其添加到您的.env文件中

安全性

  • 切勿共享您的.env文件或Moodle API令牌- 确保MCP服务器仅能访问其需要管理的课程
  • 使用具有最小必要权限的令牌

许可证

MIT

相关 MCP 服务