lmstelkom-mcp
The server lets an AI read LMS profile, course, deadline, material, and file content data, and retrieve/download supported LMS files; it does not submit assignments or write to the LMS.
View your LMS profile and file upload/download permissions with
get_profile.List courses by status: in-progress, past, future, or all with
list_courses.Check upcoming unfinished deadlines within a specified number of days with
get_upcoming_deadlines.Browse a course’s sections, activities, files, and external links with
get_course_materials.Read text from LMS files in pages, supporting PDF, PPTX, DOCX, TXT, MD, CSV, and HTML up to 50 MB with
read_file_text.Generate a browser-openable LMS file link with
get_file_link.Download LMS files to the local download folder, up to 200 MB, with
download_file.File-reading/link/download tools require
file_urlvalues fromget_course_materials; outside-LMS files, images, and unsupported formats may not be readable.
Integrates with LMS Telkom University's Moodle instance, allowing AI to view courses, upcoming deadlines, course materials, and read or download LMS files using the user's own account.
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., "@lmstelkom-mcp Tampilkan deadline tugas saya 7 hari ke depan"
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.
lms-mcp
lms-mcp menghubungkan AI dengan LMS kampus kita. Lewat penghubung ini, kita bisa minta AI melihat mata kuliah, tenggat, dan materi, serta mengambil file, memakai akun kita sendiri.
Kita membuatnya sebagai mahasiswa, terpisah dari kampus dan pengelola LMS. Aturan kuliah tetap tanggung jawab kita.

Contoh di claude.ai. Alamat LMS di jawaban AI sengaja ditutup.
Pilih cara pakai
Cara | Dipakai di | Yang perlu disiapkan |
claude.ai, ChatGPT, dan Grok | Tidak ada. Servernya sudah jalan, tinggal sambungkan | |
Claude Code, Codex, Claude Desktop, Cursor, VS Code, Antigravity, atau AI di komputer seperti LM Studio | Memasang proyek ini di komputer kita |
Lewat situs adalah cara yang paling cepat. Kunci masuk kita lewat server yang dijalankan pembuat proyek ini. Kalau dipakai di komputer, kunci masuk tetap di komputer kita.
Related MCP server: moodle-mcp
Pakai lewat situs
Server untuk teman-teman sudah jalan. Tidak perlu memasang apa pun. Yang dibutuhkan hanya browser, akun LMS, dan akun di claude.ai, ChatGPT, atau Grok.
Alamat server yang ditempel ke aplikasi AI:
https://lms-mcp.up.railway.app/mcpSebelum menyambungkan, baca PRIVASI.md. Isinya data apa saja yang dibaca dari LMS, apa yang disimpan, siapa yang bisa melihat kunci masuk, dan cara memutus akses.
1. Tambahkan alamat server ke aplikasi AI
claude.ai: buka Customize, lalu Connectors. Klik "+ Add", pilih "Add custom connector", isi nama, lalu tempel alamat di atas. Akun gratis hanya boleh punya satu sambungan buatan sendiri. Panduan resmi claude.ai.
ChatGPT: buka chatgpt.com/plugins, klik tombol plus, lalu pilih "Add custom MCP server". Isi nama, pilih Public endpoint, tempel alamat di atas, lalu lanjutkan sampai "Create as a plugin". Tidak semua akun punya menu ini. Panduan resmi ChatGPT.
Grok: buka grok.com/connectors, klik "New Connector", pilih "Custom", lalu tempel alamat di atas. Panduan resmi Grok.
Menu di ketiga aplikasi itu sering berubah. Kalau tampilannya berbeda, ikuti panduan resminya.
2. Tempel kunci masuk di halaman server
Setelah alamat ditambahkan, aplikasi AI membuka halaman server ini di browser. Judulnya "Hubungkan LMS ke", diikuti nama aplikasi AI-nya. Halaman itu menjelaskan siapa yang menjalankan server ini, dan apa yang AI boleh lakukan.

Di halaman itu ada tiga langkah:
Buka halaman token. Klik "Buka di tab baru". Halaman LMS terbuka di tab lain. Masuk ke LMS kalau diminta.
Salin tautannya. Di halaman LMS itu, klik kanan tulisan merah "Click here if the app does not open automatically", lalu pilih "Copy link address". Di HP, tekan lama tulisannya. Jangan diklik biasa, karena yang kita butuhkan adalah alamat tautannya.
Tempel tautannya. Kembali ke tab halaman server, tempel di kotak yang tersedia, lalu klik "Hubungkan".

Kalau berhasil, browser kembali ke aplikasi AI, dan lms-mcp tercatat sudah tersambung. Halaman server ini berlaku 10 menit. Kalau terlewat, ulangi dari aplikasi AI.
Tautan yang disalin itu adalah kunci masuk LMS kita. Jangan dibagikan. Jangan ditempel ke chat AI. Penjelasan lengkapnya ada di bagian Ambil kunci masuk.
3. Nyalakan di chat, lalu coba bertanya
Di claude.ai, sambungan dinyalakan per chat: klik tombol "+" di kotak chat, pilih Connectors, lalu nyalakan lms-mcp. Untuk ChatGPT dan Grok, caranya ada di panduan resmi masing-masing.
Setelah itu tanyakan dengan bahasa biasa. Contohnya:
"Mata kuliah apa saja yang saya ambil semester ini?"
"Tugas apa yang tenggatnya minggu ini? Ada yang terlambat?"
"Tampilkan materi minggu 3 mata kuliah Basis Data."
"Rangkum isi slide minggu 3 itu."
"Tugas mana di mata kuliah itu yang belum saya kumpulkan? Apa perintah dosennya?"
Saat AI pertama kali memakai lms-mcp, aplikasi AI biasanya meminta izin dulu. Izinkan supaya AI bisa membaca LMS.
Kondisi server sekarang
AI hanya bisa melihat mata kuliah, tenggat, materi, dan tugas beserta nilai dan komentar dosen. Mengumpulkan tugas, mengirim pesan, dan menulis di forum tidak bisa dilakukan dari server ini.
Tiap orang memakai kunci masuknya sendiri. Server tidak menyimpan daftar akun. Orang lain tidak bisa membuka LMS kita selama mereka tidak memegang kunci masuk kita.
Server tidur kalau sekitar 5–10 menit tidak ada yang memakai. Permintaan pertama setelah itu kadang gagal. Ulangi saja ke AI.
Server tidak menyimpan file yang dibaca.
Orang yang menjalankan server ini bisa melihat kunci masuk saat teman menempelkannya. Server harus memakai kunci itu untuk bertanya ke LMS. Teman yang tidak nyaman sebaiknya memakai cara di komputer.
Data yang AI baca juga terkirim ke perusahaan AI yang dipakai, misalnya Claude, ChatGPT, atau Grok.
Tulisan di LMS bisa berisi kalimat yang mencoba menyuruh AI. Baca dulu sebelum menyetujui.
Kalau ada masalah
Yang terjadi | Artinya | Yang dilakukan |
Halaman server menulis "Token tidak terbaca" | Tautannya tidak tersalin utuh | Salin ulang lewat "Copy link address". Jangan diketik ulang |
Halaman server menulis "LMS menolak token ini" | Kunci masuk sudah di-reset, atau masa berlakunya habis | Buka lagi halaman token, lalu salin tautan yang baru |
Halaman server menulis "Permintaan login ini sudah tidak berlaku" | Halaman dibiarkan lebih dari 10 menit | Ulangi dari aplikasi AI |
Halaman server menulis "Terlalu banyak percobaan" | Terlalu banyak yang mencoba masuk dalam satu menit | Tunggu satu menit, lalu coba lagi |
Halaman server menulis "LMS tidak bisa dihubungi" | LMS sedang lambat atau mati | Coba lagi beberapa menit kemudian |
Jawaban pertama AI gagal, atau AI bilang server tidak bisa dihubungi | Server sedang tidur | Ulangi permintaannya ke AI |
AI bilang akses ditolak ( | Masa berlaku kunci masuk habis. Biasanya sekitar 12 minggu | Sambungkan ulang dari aplikasi AI, lalu tempel kunci masuk yang baru |
AI menjawab tanpa membuka LMS | Sambungan belum dinyalakan di chat itu | Nyalakan lms-mcp di kotak chat |
Memutus akses
Hapus sambungan lms-mcp di aplikasi AI.
Reset kunci masuk di LMS: klik foto profil di kanan atas, pilih Preferences, lalu Security keys. Reset kunci untuk aplikasi HP Moodle. Semua kunci lama langsung tidak berlaku, termasuk izin yang tersimpan di aplikasi AI.
Penjelasan lengkapnya ada di PRIVASI.md.
Yang bisa diminta ke AI
Nama di kolom kiri adalah nama yang AI pakai. Kita cukup memintanya dengan bahasa biasa.
Nama | Kegunaan | Cara |
| Siapa kita, dan apakah akun ini boleh mengunduh atau mengunggah file | Keduanya |
| Daftar mata kuliah: yang sedang berjalan, yang sudah selesai, dan yang akan datang | Keduanya |
| Tenggat beberapa hari ke depan di semua mata kuliah, ditambah tugas yang terlambat dan belum dikumpulkan | Keduanya |
| Isi satu mata kuliah per bagian: kegiatan, file, dan tautan luar | Keduanya |
| Membaca tulisan di dalam file, per halaman, supaya AI bisa merangkum atau menjawab pertanyaan | Keduanya |
| Membuat tautan supaya file dibuka di browser | Keduanya |
| Daftar tugas di satu mata kuliah, lengkap dengan tenggat, status, dan nilai | Keduanya |
| Detail satu tugas: perintah dosen, aturan file, yang sudah dikirim, dan komentar dosen | Keduanya |
| Mengunduh file ke komputer kita setelah kita menekan tombol di browser. Paling besar 200 MB | Di komputer |
Setiap jawaban yang ada tanggalnya juga menyertakan jam sekarang, tanggal lengkap dengan nama hari, dan sisa waktunya. AI jadi tidak perlu menebak hari ini. Tebakan seperti itu sering meleset.
Tugas sisa salinan semester lalu dipisahkan. Tenggatnya jauh sebelum mata kuliah dimulai, jadi tidak terlihat seperti tugas yang belum dikumpulkan. Daftar tenggat juga memeriksa tugas dan kuis yang tidak muncul di kalender karena sudah ditandai selesai, serta draf yang sudah diunggah tetapi belum dikirim ke dosen.
Dari awal, AI hanya bisa melihat. Mengumpulkan tugas dimatikan sampai kita menyalakannya sendiri. Tugas gampang terkirim tanpa kita sadari, dan LMS mencatatnya atas nama kita. Mengirim pesan dan menulis di forum belum bisa.
Mengumpulkan tugas
Fitur ini baru dicoba di LMS tiruan. Mulai dari tugas latihan dulu. Untuk menyalakannya, isi LMS_ENABLE_WRITE=1 di file pengaturan.
Cara | Nama | Yang terjadi |
Di komputer |
| Halaman terbuka di browser. Kita yang menekan tombol |
Lewat situs |
| AI memberi tautan. Kita sendiri yang memilih file dan menekan tombol |
AI tidak menekan tombolnya sendiri. Di komputer, halaman konfirmasi terbuka di browser. Halaman itu menampilkan mata kuliah, bagian, tugas, tenggat, dan file. Tidak ada yang terunggah sebelum kita menekan tombol.
Banyak tugas langsung terkumpul begitu file disimpan. Tugas seperti ini tidak punya tahap simpan dulu. Halaman konfirmasi minta kita mencentang sebelum lanjut.
File lama tidak diganti diam-diam. Kalau tugas sudah berisi file, halaman yang sama minta centang untuk menggantinya.
Di komputer, file tugas hanya boleh diambil dari tempat yang aman. Tempatnya folder Dokumen, Unduhan, dan Desktop. Kita bisa mengubahnya lewat
LMS_UPLOAD_DIRS. File rahasia seperti.env, kunci masuk komputer, dancredentials.jsonditolak. File yang di dalamnya ada kunci masuk LMS juga ditolak.File yang baru diunduh dari LMS tidak bisa langsung dikumpulkan. Salin dulu ke folder lain kalau memang itu tugas kita.
Lewat situs, tautan unggah berlaku 15 menit dan sekali pakai. File diteruskan ke LMS. Server tidak menyimpannya.
Isi tugas tetap tanggung jawab kita. Yang diunggah hanya file yang kita pilih.
Konfirmasi di browser
Mengunduh file, menyimpan file tugas, dan mengirim tugas ke dosen menunggu kita. Di komputer, halaman terbuka di browser dan menunggu paling lama 3 menit. Halaman itu menampilkan mata kuliah, bagian (misalnya Minggu 3), kegiatan, dan berkasnya, sesuai yang tertulis di LMS. Tombolnya hanya bisa kita tekan. Kalau ditolak atau waktunya habis, tidak ada yang diunduh atau dikumpulkan.
Lewat situs, file tidak diunduh ke komputer. Mengumpulkan tugas tetap lewat halaman unggah. Halaman itu juga menampilkan mata kuliah serta bagiannya.
Batasan membaca file
read_file_text bisa membaca PDF, PowerPoint (PPTX), Word (DOCX), teks biasa, Markdown, CSV, dan HTML, sampai 50 MB. File tidak disimpan di server.
File di Office 365 tidak bisa dibaca dari sini. Dosen kadang menaruh materi di Office 365, lalu menautkannya ke LMS. LMS menolak mengirim file seperti itu. File ini ditandai tersimpan di luar LMS. Buka lewat
get_file_linkdi browser, lalu unggah sendiri ke AI kalau isinya perlu dibaca.Gambar tidak terbaca. PDF hasil scan hampir tidak punya tulisan. Gambar dan diagram di slide juga tidak ikut.
Beberapa format lama belum bisa, termasuk Excel, PowerPoint lama (PPT), dan Word lama (DOC).
File yang bisa dijalankan tidak diunduh, termasuk
.exe, skrip, dan halaman.html. Buka lewatget_file_linkkalau memang perlu.
Ambil kunci masuk
LMS kita hanya bisa masuk lewat Office 365. Kunci masuknya kita ambil dari halaman yang biasa dipakai aplikasi HP Moodle.
Buka halaman kunci masuk LMS, lalu masuk kalau diminta. Lewat situs, halaman server menautkannya di langkah "Buka halaman token". Di komputer, alamatnya ditampilkan oleh
uv run lms-mcp login.Klik kanan tautan "Click here if the app does not open automatically", lalu pilih "Copy link address". Gambarnya ada di langkah 2 cara lewat situs.
Tautan itu harus sama persis, huruf demi huruf. Jangan diketik ulang. Jangan disalin dari gambar. Kalau ditolak, tekan F12 di halaman itu, buka tab Console, lalu tempel perintah ini:
copy(document.getElementById('launchapp').href)Kunci masuk ini sama saja dengan membuka akun LMS kita. Jangan dibagikan. Jangan ditempel ke chat AI. Jangan ikut di tangkapan layar. Kalau sempat terkirim, reset kunci di LMS: klik foto profil di kanan atas, pilih Preferences, lalu Security keys.
Kunci ini punya masa berlaku yang diatur pengelola LMS. Biasanya sekitar 12 minggu. Kalau sudah habis, AI membalas bahwa akses ditolak (accessexception atau invalidtoken). Ulangi langkah di atas.
Pakai di komputer
Dengan cara ini, kunci masuk tidak lewat server orang lain. Yang perlu ada di komputer:
git, untuk mengambil proyek ini.
uv, untuk memasang dan menjalankannya. Python tidak perlu dipasang sendiri. uv yang menyiapkannya.
Perintah memasang uv, dari panduan resminya. Di Windows, jalankan di PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Di macOS dan Linux:
curl -LsSf https://astral.sh/uv/install.sh | shSetelah itu tutup terminal, lalu buka lagi.
1. Ambil dan pasang proyeknya
git clone https://github.com/bagusardin25/lms-mcp.git
cd lms-mcp
uv sync2. Simpan kunci masuk
uv run lms-mcp loginPerintah ini menampilkan alamat halaman kunci masuk LMS, lalu menunggu kita menempel tautannya. Cara menyalin tautannya ada di bagian Ambil kunci masuk. Tautan yang ditempel tidak tampil di layar. Tekan Enter setelah menempel.
Kalau berhasil, muncul nama kita. Kunci masuk tersimpan di ~/.lms-mcp/token.txt, dan dibaca sendiri setiap kali lms-mcp dijalankan. Di Windows, ~ adalah folder pengguna, misalnya C:\Users\nama.
File itu sengaja ada di luar folder proyek. AI yang bisa membuka folder proyek bisa membaca isinya. Yang disimpan juga hanya kunci untuk membaca LMS, bukan seluruh tautannya.
Kalau masa berlaku kunci habis, jalankan lagi perintah yang sama.
3. Cek sambungan ke LMS
uv run lms-mcp checkKalau berhasil, muncul nama kita, daftar mata kuliah yang sedang berjalan, dan tenggat terdekat.
4. Sambungkan ke aplikasi AI
Di perintah dan contoh di bawah, ganti /path/ke/lms-mcp dengan lokasi folder proyek ini. Lokasinya muncul kalau kita menjalankan pwd di dalam folder proyek. Di Windows, tulis dengan garis miring biasa, misalnya C:/Users/nama/lms-mcp.
Aplikasi | Tempat mengisinya | Panduan resmi |
Claude Code | Perintah | |
Codex | Perintah | |
Claude Desktop | Settings, Developer, lalu Edit Config. Nama filenya | |
Cursor | File | |
Antigravity | Tombol "…" di panel agen, MCP Servers, Manage MCP Servers, lalu View raw config | |
LM Studio | Tab Program, Install, lalu Edit mcp.json | |
VS Code | Command Palette, |
Claude Code
claude mcp add --scope user lms-mcp -- uv run --directory /path/ke/lms-mcp lms-mcp serveDengan --scope user, sambungan ini bisa dipakai dari folder mana pun. Tanpa itu, sambungan hanya ada di folder tempat perintahnya dijalankan. Cek hasilnya dengan claude mcp list.
Codex
codex mcp add lms-mcp -- uv run --directory /path/ke/lms-mcp lms-mcp serveCek hasilnya dengan codex mcp list.
Claude Desktop, Cursor, Antigravity, dan LM Studio
Keempatnya memakai isi yang sama. Tempel di file yang disebut di tabel:
{
"mcpServers": {
"lms-mcp": {
"command": "uv",
"args": ["run", "--directory", "/path/ke/lms-mcp", "lms-mcp", "serve"]
}
}
}Kalau file itu sudah berisi sambungan lain, tambahkan bagian "lms-mcp" saja ke dalam mcpServers yang sudah ada. Setelah disimpan, tutup aplikasinya sampai benar-benar keluar, lalu buka lagi.
VS Code
Setelah memilih Command (stdio), isi perintah ini:
uv run --directory /path/ke/lms-mcp lms-mcp serveKalau lebih suka mengisi file, VS Code memakai .vscode/mcp.json. Kuncinya servers:
{
"servers": {
"lms-mcp": {
"type": "stdio",
"command": "uv",
"args": ["run", "--directory", "/path/ke/lms-mcp", "lms-mcp", "serve"]
}
}
}Kalau aplikasinya tidak menemukan uv, isi command dengan lokasi lengkap program uv. Lokasinya muncul dengan where.exe uv di Windows, atau which uv di macOS dan Linux.
Pengaturan lain, seperti folder unduhan, boleh dibiarkan. Daftarnya ada di bagian Pengaturan di komputer.
Hal yang perlu dijaga
Isi LMS bisa ditulis siapa saja di kelas, termasuk kalimat yang mencoba menyuruh AI. Baca dulu sebelum menyetujui apa yang AI mau lakukan.
Data LMS yang dibaca AI ikut terkirim ke perusahaan pembuat AI itu. Kalau AI-nya berjalan di komputer kita, data itu tetap di komputer kita.
Kunci masuk hanya dikirim ke LMS. Tautan unduhan dari situs lain ditolak.
Semua yang kita lakukan tercatat di LMS atas nama akun kita.
Unduh, unggah, kirim tugas, dan pembuatan tautan unggah juga dicatat di
~/.lms-mcp/audit.log. Lokasinya bisa diganti lewatLMS_AUDIT_LOG. Catatan itu memuat waktu, apa yang dilakukan, berhasil atau tidak, dan nama mata kuliah atau tugas. Kunci masuk dan isi file tidak ikut.Di komputer, sambungkan ke satu AI saja. AI yang bisa membuka folder proyek bisa membaca file pengaturan. Karena itu
lms-mcp loginmenyimpan kunci masuk di luar folder proyek. Kalau kunci masuk tetap ditaruh di.env, tambahkan.envke.cursorignoresendiri.Di server yang sudah jalan, orang yang menjalankannya tetap bisa melihat kunci masuk teman. Itu batas dari cara ini, selama server yang bertanya ke LMS.
Kalau menemukan celah yang bisa membuat kunci masuk orang lain terbaca, jangan tulis di issue publik. Cara melapornya diam-diam ada di SECURITY.md.
Pengaturan di komputer
Semua pengaturan ini boleh dibiarkan kosong. Kalau ada yang ingin diubah, salin .env.example menjadi .env di folder proyek, lalu isi di sana. Di Windows perintahnya Copy-Item .env.example .env, di macOS dan Linux cp .env.example .env. File .env tidak ikut saat proyek ini diunggah ke GitHub.
Nama | Artinya |
| Boleh dikosongkan. Tautan kunci masuk. Kalau diisi, ini yang dipakai, bukan kunci yang disimpan |
| Boleh dikosongkan. Lokasi lain untuk file kunci masuk. Kalau kosong, yang dipakai |
| Boleh dikosongkan. Folder tujuan unduhan. Kalau kosong, yang dipakai |
| Boleh dikosongkan. Lokasi catatan. Kalau kosong, yang dipakai |
| Boleh dikosongkan. Isi |
| Boleh dikosongkan. Folder asal file tugas, dipisah koma. Kalau kosong, yang dipakai Dokumen, Unduhan, dan Desktop |
| Boleh dikosongkan. Alamat LMS. Kalau kosong, yang dipakai alamat LMS kampus kita |
Kalau nama yang sama juga diisi di pengaturan komputer, yang di komputer yang dipakai.
Ikut mengembangkan
Cara ikut memperbaiki proyek ini ada di CONTRIBUTING.md.
Memeriksa proyek
uv run pytestPerintah yang sama juga berjalan di GitHub setiap ada perubahan yang diunggah.
Available Tools
7 toolsdownload_fileA
Mengunduh file LMS ke folder unduhan di komputer pengguna, maksimal 200 MB.
file_url harus berasal dari get_course_materials. Link luar seperti Google Drive atau YouTube tidak bisa diunduh dengan tool ini. Hasilnya berisi lokasi file.
Inputs: file_url (required).
get_course_materialsARead-onlyIdempotent
Menampilkan isi mata kuliah per bagian: aktivitas, file, dan link luar.
Pakai id dari list_courses. Baca isi file dengan file_url lewat read_file_text. File dengan stored_outside_lms ada di luar LMS, jadi tidak bisa dibaca lewat tool: beri pengguna tautan dari get_file_link. Deskripsi dipotong sampai 500 karakter, dan field yang kosong tidak ditampilkan.
Inputs: course_id (required).
get_file_linkARead-onlyIdempotent
Membuat tautan file LMS untuk dibuka pengguna di browser.
file_url harus berasal dari get_course_materials. Pengguna perlu sudah login ke LMS di browsernya. Tool ini tidak membaca isi file.
Inputs: file_url (required).
get_profileBRead-onlyIdempotent
Menampilkan profil pengguna LMS dan izin unduh serta upload file.
Inputs: no named parameters.
get_upcoming_deadlinesARead-onlyIdempotent
Menampilkan aktivitas yang belum selesai dan jatuh tempo dalam sekian hari ke depan.
Tugas yang sudah dikumpulkan biasanya tidak ikut tampil. Tenggat yang sudah lewat tidak ditampilkan.
Inputs: days.
list_coursesBRead-onlyIdempotent
Menampilkan mata kuliah pengguna beserta id-nya.
status: inprogress (berjalan), past (selesai), future (akan datang), atau all.
Inputs: status.
read_file_textARead-onlyIdempotent
Membaca teks file LMS per halaman, untuk merangkum atau menjawab pertanyaan materi.
file_url harus berasal dari get_course_materials. Mendukung PDF, PPTX, DOCX, TXT, MD, CSV, dan HTML sampai 50 MB. File dengan stored_outside_lms tidak bisa dibaca. Gambar tidak terbaca, dan PDF hasil scan hampir tidak menghasilkan teks. Kalau next_start_page terisi dan masih perlu, panggil lagi dari halaman itu. page_count maksimal 50.
Inputs: file_url (required), page_count, start_page.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool targets a distinct action on a distinct resource, and the three file-facing tools (read_file_text, get_file_link, download_file) are explicitly differentiated in their descriptions by what they do with the file. The only mild overlap is that all three file tools take the same file_url from get_course_materials, but the boundary between reading, linking, and downloading is clear.
All seven names follow a consistent snake_case verb_noun pattern (get_profile, list_courses, get_course_materials, read_file_text, download_file). Verb choice is semantically meaningful and predictable: get_/list_ for metadata, read_ for content, download_ for local copy.
Seven tools is a tight, well-scoped set for an LMS course/materials assistant, with no redundant or filler operations. Each tool maps to a step in a plausible workflow (profile -> courses -> materials -> read/link/download), plus a deadline view.
The read path is complete end-to-end (courses, materials, file reading, linking, downloading, deadlines), but the surface is purely read-only with no grade listing, assignment submission, or announcement/forum access, which are core LMS workflows an agent would likely be asked about. These gaps will force workarounds or dead ends for common student requests.
Maintenance
Related MCP Connectors
PLATO (Pusan National University LMS) MCP server via Moodle Web Service API + ubboard scraping
Run the Geduk LMS from an AI assistant: courses, sessions, enrolments, users and catalogue.
Persistent memory, hybrid search and a goal graph for AI agents, over stdio or remote HTTP.
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceA Model Context Protocol (MCP) server that connects AI coding agents to your Moodle LMS. Fetch assignments, grades, deadlines, and sync everything to Obsidian automatically.-
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to sign into a real Moodle LMS and handle the student workflow end to end: browsing courses, schedules, forums and grades, converting assignments and attachments into markdown, and uploading and submitting work as drafts or finalized submissions. Ships as a single static binary with write actions confirmed by the user and quiz-taking deliberately excluded.29MIT
- AlicenseBqualityBmaintenanceConnects MCP-compatible AI clients to a university Moodle campus locally so users can query courses, assignments, materials, grades, forums, and calendar events, including reading attachments and PDFs. It is a read-only beta that does not modify the campus or store passwords.404MIT
- AlicenseNot gradedqualityBmaintenanceConnects AI assistants to any Moodle site through the official mobile web service, with a limited browser-session fallback, enabling access to courses, grades, deadlines, assignments, quizzes, forums, and course files. It also supports reading and downloading files and uploading or submitting assignment work under explicit confirmation.30 npmISC