Moodle MCP
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 엔드포인트) 사용
기능
도구 | 설명 |
| Moodle 사이트에 대화형으로 로그인 |
| Moodle 사이트 및 사용자 정보 조회 |
| 프로필 세부 정보 조회 |
| 수강 중인 모든 강의 목록 조회 |
| 섹션, 리소스 및 활동 조회 |
| 강의 메타데이터 조회 |
| 특정 강의의 성적 조회 |
| 모든 강의의 성적 요약 조회 |
| 강의 과제 조회 |
| 모든 강의의 다가오는 과제 조회 |
| 과제 텍스트 내용 제출 |
| 다가오는 캘린더 이벤트 조회 |
| 긴급도순으로 정렬된 마감 기한 조회 |
| 메시지 및 알림 조회 |
요구 사항
Claude 데스크톱 (macOS, Windows 또는 Linux)
소속 기관의 Moodle 계정
빠른 시작
AI 플랫폼 선택:
AI 플랫폼 | 가이드 | 소요 시간 |
🤖 Claude (권장) | 2분 | |
💬 ChatGPT | 15분 | |
🔍 Google Gemini | 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-tokenClaude 데스크톱 설정
자동 설치 프로그램을 사용한 경우:
설치 프로그램이 정확한 경로를 보여줍니다. 그대로 복사하세요!
수동 설정
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)의 경우 클라우드에 배포하세요:
Google Cloud Run (Gemini 권장)
Heroku (가장 간단함)
DigitalOcean (가장 높은 제어권)
대화 예시
연결 후 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
This server cannot be installed
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