E-Learning ITG MCP Server
This MCP server enables an AI assistant to interact with ITG E-Learning for academic task management and information retrieval.
Log in using NIM/username and password when the token expires.
Retrieve dashboard summaries of active tasks, evaluations, online materials, and announcements.
List course tasks with deadlines, courses, lecturers, and completion status, optionally filtered by course ID.
View task details, instructions, attachments, and webcam authorization requirements.
Submit task files and optionally auto-bypass webcam photo requirements with a valid black JPEG frame.
Submit task answer links from services like Google Drive, GitHub, or YouTube and mark tasks complete.
Get weekly class schedules with times, rooms, and lecturers.
Get course materials and download links, optionally filtered by course ID.
Get KHS grades and SKS data, optionally filtered by semester.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@E-Learning ITG MCP Server show my active assignments due this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
E-Learning ITG MCP Server
Model Context Protocol (MCP) Server untuk berinteraksi dengan portal akademik E-Learning Institut Teknologi Garut (https://elearning.itg.ac.id/).
Server ini memungkinkan AI coding assistant (Claude Desktop, Cursor, Antigravity, OpenCode, Windsurf) membaca jadwal kuliah, memantau tugas, membaca materi, serta mengunggah berkas atau tautan pengumpulan tugas secara otomatis.
Fitur Utama
Autentikasi Token-Based Aman: Mendukung penggunaan
ELEARNING_TOKEN(Bearer JWT) tanpa perlu menyimpan kata sandi akun di berkas teks atau konfigurasi.Monitoring Tugas: Melihat daftar tugas aktif, deadline, nama mata kuliah, dosen, jenis tugas (individu/kelompok), dan status pengumpulan.
Pengumpulan Tugas Berkas & Tautan:
Mengunggah berkas tugas lokal via multipart/form-data.
Mendukung bypass otomatis otorisasi foto kamera (
foto_siswa) menggunakan citra JPEG hitam valid bila tugas berada pada status wajib kamera (status 2).Mengunggah langsung tautan tugas (Google Drive, GitHub, YouTube) secara instan.
Otomatis memicu finalisasi pengumpulan tugas (
set_done).
Informasi Akademik Lengkap:
Mengambil jadwal perkuliahan mingguan.
Mengambil materi perkuliahan dan tautan unduhan dokumen.
Mengambil ringkasan dashboard (indikator tugas belum selesai).
Mengambil data Kartu Hasil Studi (KHS).
Related MCP server: moodle_mcp
Instalasi & Build
git clone https://github.com/Badroel07/elearningitg-mcp-server.git
cd elearningitg-mcp-server
npm install
npm run buildKonfigurasi Environment (.env)
Salin file .env.example menjadi .env:
cp .env.example .envIsi konfigurasi pada file .env:
ELEARNING_URL=https://elearning.itg.ac.id
ELEARNING_TOKEN=eyJ0eXAiOiJKV1QiLCJhbGci...Cara mengambil Bearer Token secara mandiri:
Buka https://elearning.itg.ac.id/ di browser dan login seperti biasa.
Buka DevTools (
F12atauCtrl+Shift+I) -> tab Console.Jalankan:
localStorage.getItem("token")lalu tekan Enter.Salin string token tersebut ke dalam variabel
ELEARNING_TOKENdi file.env.
Konfigurasi Klien MCP
1. Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"elearning-itg": {
"command": "node",
"args": ["<PATH_KE_PROYEK>/dist/index.js"],
"env": {
"ELEARNING_URL": "https://elearning.itg.ac.id",
"ELEARNING_TOKEN": "TOKEN_BEARER_ANDA"
}
}
}
}2. Cursor / Antigravity (mcp.json)
{
"servers": {
"elearning-itg": {
"command": "node",
"args": ["<PATH_KE_PROYEK>/dist/index.js"],
"env": {
"ELEARNING_URL": "https://elearning.itg.ac.id",
"ELEARNING_TOKEN": "TOKEN_BEARER_ANDA"
},
"type": "stdio"
}
}
}Daftar Tools
Tool | Deskripsi |
| Login menggunakan NIM/password jika token kedaluwarsa. |
| Mengambil ringkasan tugas, evaluasi, dan pengumuman. |
| Mengambil daftar tugas beserta filter status, jenis (individu/kelompok), dan tenggat waktu. |
| Melihat rincian tugas dan memeriksa status otorisasi kamera. |
| Mengunggah berkas tugas lokal dengan auto-bypass webcam jika wajib. |
| Mengunggah tautan jawaban tugas (Google Drive, GitHub, dll.) secara instan. |
| Mengambil jadwal kuliah mingguan. |
| Mengambil materi kuliah dan tautan unduhan. |
| Mengambil data KHS dan perolehan SKS per semester. |
Lisensi
Available Tools
9 toolselearning_get_dashboardA
Mengambil ringkasan indikator dashboard E-Learning ITG (jumlah tugas aktif yang belum dikerjakan, evaluasi, materi daring, dan pengumuman).
Inputs: no named parameters.
elearning_get_jadwalA
Mengambil jadwal perkuliahan mingguan mahasiswa lengkap dengan jam, ruangan, dan dosen pengampu.
Inputs: no named parameters.
elearning_get_khsB
Mengambil Kartu Hasil Studi (KHS), daftar nilai, dan perolehan SKS mahasiswa per semester.
Inputs: semester.
elearning_get_materiB
Mengambil daftar materi perkuliahan yang diunggah dosen beserta tautan unduhan berkas.
Inputs: mapel_id.
elearning_get_tugas_detailA
Mengambil rincian instruksi tugas, berkas lampiran dosen, dan memeriksa apakah tugas tersebut mengunci pengunggahan dengan syarat otorisasi foto wajah (status 2).
Inputs: tugas_id (required).
elearning_list_tugasB
Mengambil daftar tugas kuliah mahasiswa beserta informasi tenggat waktu (deadline), mata kuliah, dosen, dan status pengerjaan.
Inputs: mapel_id.
elearning_loginB
Melakukan autentikasi ke elearning.itg.ac.id menggunakan NIM/Username dan Password. Token sesi disimpan otomatis di memori klien.
Inputs: password, username.
elearning_submit_tugasB
Mengunggah berkas jawaban tugas mahasiswa ke sistem, melakukan bypass frame hitam otomatis jika tugas meminta otorisasi foto webcam, dan menyelesaikan pengumpulan.
Inputs: tugas_id (required), file_path (required), bypass_photo.
elearning_submit_tugas_linkA
Mengunggah tautan jawaban tugas mahasiswa (seperti link Google Drive, GitHub, YouTube, dsb.) langsung ke tugas dan otomatis menyelesaikan status pengumpulan.
Inputs: link (required), tugas_id (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Each tool targets a distinct resource (dashboard, tugas, jadwal, materi, KHS) and the two submission tools are separated by payload type (file vs. link), which the descriptions make explicit. The only mild overlap is elearning_submit_tugas vs. elearning_submit_tugas_link, which an agent could pick incorrectly if it skimmed names alone.
All tools share the elearning_ prefix and a consistent snake_case verb_noun pattern (get_, list_, submit_). The sole deviation is elearning_login, which lacks a verb_noun structure, but it is unambiguous and conventional for an auth operation.
Nine tools is well-scoped for a student e-learning portal, with each tool covering a distinct workflow (auth, dashboard, tasks, submissions, schedule, materials, grades). Nothing feels redundant or missing at the count level.
The surface covers the core student lifecycle: login, dashboard summary, task listing/detail/submission (both file and link), schedule, materials, and KHS. Minor gaps exist around logout/session clearing, announcement detail, and attendance/presensi data, but agents can work around these.
Maintenance
Related MCP Connectors
Connect AI assistants to Edusign attendance, courses, learners, documents, and API docs via OAuth.
Enables AI assistants to retrieve event data and execute event management operations in Nunify.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with the Classavo education platform via natural language for course management, assignments, grading, attendance, polling, and discussions, with strict privacy controls for students.-
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to access and manage academic course information, assignments, submissions, grades, calendars, materials, recordings, and announcements through authenticated LMS sessions.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to inspect enrolled courses, extract readable text from course documents, track upcoming deadlines, view announcements, and retrieve assignment details through the platform’s REST API.MIT
- AlicenseAqualityCmaintenanceEnables an AI assistant to read course and lesson data, transcripts, PDF handouts, and progress from a digital university account, with study prompts and local resource sync. It is read-only by design, so it cannot alter attendance, completed lessons, or tests.12MIT