Skip to main content
Glama

Moodle MCP 서버

Claude, ChatGPT, Google Gemini 및 모든 AI 모델을 Moodle LMS 인스턴스에 연결하는 Model Context Protocol (MCP) 서버이자 REST API입니다. Go 언어로 작성되었습니다.

학생들은 자신이 선호하는 AI를 통해 Moodle 계정과 상호작용하여 강의 확인, 성적 조회, 마감 기한 추적, 과제 제출, 알림 확인 등을 수행할 수 있습니다.

지원 플랫폼:

  • Claude (데스크톱, 코드) - MCP 사용 (가장 쉬움!)

  • ChatGPT (Plus) - REST API + Actions 사용

  • Google Gemini - REST API + Apps Script 사용

  • 기타 모든 AI - REST API (HTTP 엔드포인트) 사용

기능

도구

설명

login

Moodle 사이트에 대화형으로 로그인

get_site_info

Moodle 사이트 및 사용자 정보 조회

get_user_profile

프로필 세부 정보 조회

list_courses

수강 중인 모든 강의 목록 조회

get_course_contents

섹션, 리소스 및 활동 조회

get_course_details

강의 메타데이터 조회

get_grades

특정 강의의 성적 조회

get_grades_overview

모든 강의의 성적 요약 조회

get_assignments

강의 과제 조회

get_upcoming_assignments

모든 강의의 다가오는 과제 조회

submit_assignment

과제 텍스트 내용 제출

get_calendar_events

다가오는 캘린더 이벤트 조회

get_upcoming_deadlines

긴급도순으로 정렬된 마감 기한 조회

get_notifications

메시지 및 알림 조회

요구 사항

  • Claude 데스크톱 (macOS, Windows 또는 Linux)

  • 소속 기관의 Moodle 계정

빠른 시작

AI 플랫폼 선택:

AI 플랫폼

가이드

소요 시간

🤖 Claude (권장)

Windows / macOS

2분

💬 ChatGPT

ChatGPT 설정

15분

🔍 Google Gemini

Gemini 설정 / Gemini Windows

20분

🌐 다중 AI

전체 모델 가이드

1시간

여기서 시작하세요: Claude를 사용한다면 위의 Windows/macOS 가이드를 따르세요 (2분 소요!)

코딩을 모르시나요? 모든 가이드에는 기술적 지식이 없어도 따라 할 수 있는 단계별 지침이 포함되어 있습니다.


설치 (가장 쉬운 방법)

Windows (PowerShell)

PowerShell을 열고 다음을 실행하세요:

irm https://raw.githubusercontent.com/Jawadh-Salih/moodle-mcp-server/main/install.ps1 | iex

이 명령은 자동으로 바이너리를 C:\Users\YourName\moodle-mcp\moodle-mcp.exe에 다운로드하고 설치합니다.

macOS / Linux (Bash)

터미널을 열고 다음을 실행하세요:

curl -fsSL https://raw.githubusercontent.com/Jawadh-Salih/moodle-mcp-server/main/install.sh | bash

이 명령은 자동으로 바이너리를 ~/.moodle-mcp/moodle-mcp에 다운로드하고 설치합니다.

수동 설치 (개발자용)

소스에서 직접 빌드하려면:

# Clone the repository
git clone https://github.com/Jawadh-Salih/moodle-mcp-server.git
cd moodle-mcp-server

# Build the binary
go mod tidy
go build -o moodle-mcp ./cmd/moodle-mcp/

사용법

옵션 1: 대화형 로그인 (권장)

설정 없이 서버를 시작하세요. Claude와 대화할 때 login 도구를 사용하여 인증합니다:

"Log in to my Moodle at https://online.uom.lk with username student@uom.lk"

Claude가 비밀번호를 요청하며 인증을 진행합니다.

옵션 2: 환경 변수

자동 로그인을 위해 자격 증명을 환경 변수로 설정하세요:

export MOODLE_URL=https://online.uom.lk
export MOODLE_USERNAME=your-username
export MOODLE_PASSWORD=your-password

또는 Moodle API 토큰이 있는 경우:

export MOODLE_URL=https://online.uom.lk
export MOODLE_TOKEN=your-api-token

Claude 데스크톱 설정

자동 설치 프로그램을 사용한 경우:

설치 프로그램이 정확한 경로를 보여줍니다. 그대로 복사하세요!

수동 설정

Claude 데스크톱 설정 파일을 찾으세요:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

옵션 A: 대화형 로그인 (권장 - 설정 파일에 자격 증명 저장 안 함)

{
  "mcpServers": {
    "moodle": {
      "command": "/path/to/moodle-mcp"
    }
  }
}

그 후 Claude에서 login 도구를 사용하여 대화형으로 인증하세요.

옵션 B: 자격 증명 저장

{
  "mcpServers": {
    "moodle": {
      "command": "/path/to/moodle-mcp",
      "env": {
        "MOODLE_URL": "https://online.uom.lk",
        "MOODLE_USERNAME": "your-username",
        "MOODLE_PASSWORD": "your-password"
      }
    }
  }
}

Windows 예시 경로:

  • 자동 설치: C:\Users\YourName\moodle-mcp\moodle-mcp.exe

  • 수동 빌드: C:\Users\YourName\Go\bin\moodle-mcp.exe

macOS 예시 경로:

  • 자동 설치: /Users/yourname/.moodle-mcp/moodle-mcp

  • 수동 빌드: /Users/yourname/moodle-mcp-server/moodle-mcp

다중 AI 플랫폼 지원

MCP 사용 (Claude 전용)

  • ✅ Claude 데스크톱 (macOS, Windows, Linux)

  • ✅ Claude Code (VSCode, 터미널)

REST API 사용 (ChatGPT, Gemini, 기타 AI)

  • ✅ ChatGPT (사용자 지정 GPT Actions 사용)

  • ✅ Google Gemini (Apps Script 사용)

  • ✅ HTTP 클라이언트 접근이 가능한 모든 AI

  • ✅ 사용자 지정 스크립트 및 통합

각 플랫폼별 자세한 지침은 전체 모델 설정을 참조하세요.

REST API 서버 실행

ChatGPT, Gemini 또는 기타 AI 모델의 경우 REST API 모드를 실행하세요:

# Start REST API server
go run ./cmd/moodle-mcp/ -mode rest -port 8080

# Or if you built the binary:
./moodle-mcp -mode rest -port 8080

# View API docs
curl http://localhost:8080/api/docs

서버는 http://localhost:8080에서 대기하며 다음 REST 엔드포인트를 제공합니다:

  • POST /api/login - 인증

  • GET /api/courses - 강의 목록 조회

  • GET /api/grades?course_id=123 - 성적 조회

  • GET /api/assignments/upcoming - 다가오는 과제 조회

  • 그 외 다수!

운영 환경(ChatGPT/Gemini)의 경우 클라우드에 배포하세요:


대화 예시

연결 후 Claude에게 다음과 같이 물어볼 수 있습니다:

  • "수강 중인 강의 목록을 보여줘"

  • "CS101 성적이 어떻게 돼?"

  • "이번 주에 마감인 과제가 뭐야?"

  • "데이터 구조 강의 내용을 보여줘"

  • "읽지 않은 알림이 있어?"

  • "앞으로 7일 이내에 마감인 과제는 뭐야?"

작동 원리

이 서버는 moodle_mobile_app 서비스 토큰과 함께 Moodle의 Web Services REST API를 사용합니다. 이 서비스는 대부분의 Moodle 설치에서 기본적으로 활성화되어 있으므로 별도의 관리자 설정이 필요하지 않습니다.

문제 해결

"Invalid login" 오류: 사용자 이름과 비밀번호를 다시 확인하세요. 일부 기관은 이메일을 사용자 이름으로 사용하고, 다른 기관은 별도의 ID를 사용합니다.

"Web service not available" 오류: Moodle 관리자가 모바일 웹 서비스를 비활성화했을 수 있습니다. 사이트 관리 > 플러그인 > 웹 서비스 > 모바일에서 활성화해 달라고 요청하세요.

성적이 표시되지 않음: 성적 보고서 API는 gradereport/user:view 권한이 필요합니다. 이는 학생에게는 표준 권한이지만 일부 사이트에서는 제한될 수 있습니다.

라이선스

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jawadh-Salih/moodle-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server