小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
5
最近更新:2个月前

一个允许 LLM 通过自然语言命令管理课程、学生、作业和测验的 MCP 服务器,用于与 Moodle 平台交互。

Moodle MCP Server

一个 MCP(模型上下文协议)服务器,它使 LLMs 能够与 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 token
  • Moodle 课程 ID

安装

  1. 克隆此仓库:
bash 复制代码
git clone https://github.com/your-username/moodle-mcp-server.git
cd moodle-mcp-server
  1. 安装依赖:
bash 复制代码
npm install
  1. 创建一个 .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": []
    }
  }
}

开发

对于具有自动重建功能的开发:

bash 复制代码
npm run watch

调试

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

bash 复制代码
npm run inspector

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

获取 Moodle API Token

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

安全

  • 切勿共享您的 .env 文件或 Moodle API token
  • 确保 MCP 服务器只有权访问它需要管理的课程
  • 使用具有最低必要权限的 token

许可

MIT