Skip to main content
Glama
E-Learning ITG MCP Server

E-Learning ITG MCP Server

by Badroel07

M8ven Verified

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

  1. Autentikasi Token-Based Aman: Mendukung penggunaan ELEARNING_TOKEN (Bearer JWT) tanpa perlu menyimpan kata sandi akun di berkas teks atau konfigurasi.

  2. Monitoring Tugas: Melihat daftar tugas aktif, deadline, nama mata kuliah, dosen, jenis tugas (individu/kelompok), dan status pengumpulan.

  3. 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).

  4. 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 build

Konfigurasi Environment (.env)

Salin file .env.example menjadi .env:

cp .env.example .env

Isi konfigurasi pada file .env:

ELEARNING_URL=https://elearning.itg.ac.id
ELEARNING_TOKEN=eyJ0eXAiOiJKV1QiLCJhbGci...

Cara mengambil Bearer Token secara mandiri:

  1. Buka https://elearning.itg.ac.id/ di browser dan login seperti biasa.

  2. Buka DevTools (F12 atau Ctrl+Shift+I) -> tab Console.

  3. Jalankan: localStorage.getItem("token") lalu tekan Enter.

  4. Salin string token tersebut ke dalam variabel ELEARNING_TOKEN di 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

elearning_login

Login menggunakan NIM/password jika token kedaluwarsa.

elearning_get_dashboard

Mengambil ringkasan tugas, evaluasi, dan pengumuman.

elearning_list_tugas

Mengambil daftar tugas beserta filter status, jenis (individu/kelompok), dan tenggat waktu.

elearning_get_tugas_detail

Melihat rincian tugas dan memeriksa status otorisasi kamera.

elearning_submit_tugas

Mengunggah berkas tugas lokal dengan auto-bypass webcam jika wajib.

elearning_submit_tugas_link

Mengunggah tautan jawaban tugas (Google Drive, GitHub, dll.) secara instan.

elearning_get_jadwal

Mengambil jadwal kuliah mingguan.

elearning_get_materi

Mengambil materi kuliah dan tautan unduhan.

elearning_get_khs

Mengambil data KHS dan perolehan SKS per semester.


Lisensi

MIT

Available Tools

9 tools
elearning_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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 9 tools

    Disambiguation4/5

    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.

    Naming Consistency4/5

    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.

    Tool Count5/5

    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.

    Completeness4/5

    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

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers