Moodle MCP Server

Integrations

  • Enables interaction with the Moodle platform to manage courses, students, assignments, and quizzes, including viewing student lists, providing feedback on assignments, examining quiz attempts, and grading submissions.

  • Required runtime environment (v14 or higher) for executing the MCP server that connects to Moodle's API.

Moodle MCP 서버

LLM이 Moodle 플랫폼과 상호 작용하여 과정, 학생, 과제 및 퀴즈를 관리할 수 있도록 하는 MCP(모델 컨텍스트 프로토콜) 서버입니다.

특징

학생 관리 도구

  • 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. 이 저장소를 복제하세요:

지엑스피1

  1. 종속성 설치:
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 # Replace with your course ID
  1. 서버를 빌드하세요:
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

검사기는 브라우저에서 디버깅 도구에 액세스할 수 있는 URL을 제공합니다.

Moodle API 토큰 얻기

  1. 관리자로 Moodle 사이트에 로그인하세요
  2. 사이트 관리 > 플러그인 > 웹 서비스 > 토큰 관리로 이동하세요.
  3. 코스를 관리하는 데 필요한 권한이 있는 새 토큰을 만듭니다.
  4. 생성된 토큰을 복사하여 .env 파일에 추가하세요.

보안

  • .env 파일이나 Moodle API 토큰을 절대 공유하지 마세요.
  • MCP 서버가 관리해야 하는 코스에만 액세스할 수 있는지 확인하세요.
  • 최소한 필요한 권한이 있는 토큰을 사용하세요

특허

MIT

-
security - not tested
F
license - not found
-
quality - not tested

LLM이 자연어 명령을 통해 수업, 학생, 과제 및 퀴즈를 관리하기 위해 Moodle 플랫폼과 상호 작용할 수 있도록 하는 MCP 서버입니다.

  1. Features
    1. Student Management Tools
    2. Assignment Management Tools
    3. Quiz Management Tools
  2. Requirements
    1. Installation
      1. Usage with Claude
        1. Development
          1. Debugging
        2. Obtaining a Moodle API Token
          1. Security
            1. License
              ID: x1nxui4s5k