ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Moodle MCP

โดย G36maidรุ่น 0.2.1i★ –iรันบนเครื่อง
ชื่อใน registryio.github.G36maid/moodle-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Moodle LMS for LLM agents — courses, assignments, files, submissions in one static binary.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: เกม กีฬา อาหาร และการเรียน
  • ต้องใส่ค่าเหล่านี้: MOODLE_URL, MOODLE_TOKEN

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ผู้ทำยังไม่ได้ใส่วิธีติดตั้งใน registry ให้ดู README ของผู้ทำด้านล่าง

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub G36maid ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด เกม กีฬา อาหาร และการเรียนi

  • ดาวมากกว่า 0% ของอีก 1309 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 60% ของอีก 1309 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1309 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Moodle MCP ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: MOODLE_URL, MOODLE_TOKEN

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.1) เข้า registry 20 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Rust ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Kerbside F1, Open Food Facts MCP, Modrinth MCP

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Kerbside F1

Free Formula 1 stats: standings, title maths, teammate battles and records, each linked to source.

โดย kerbside.racingเริ่มต้นอัปเดต วันนี้

รันบนคลาวด์✓ kerbside.racing

Open Food Facts MCP

MCP server for Open Food Facts product, ingredient, allergen, and nutrition lookup.

โดย mrfentmenยังใหม่มาก↓ 43/สัปดาห์อัปเดต วันนี้

รันบนเครื่อง

Modrinth MCP

Search Minecraft mods on Modrinth, filter by loader/game version, browse versions.

โดย mrfentmenยังใหม่มาก↓ 89/สัปดาห์อัปเดต วันนี้

รันบนเครื่อง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

English | 繁體中文 | 简体中文 | 日本語 | Español | Deutsch | Português | Français

A Model Context Protocol server that lets LLM agents use a real Moodle LMS — read courses, fetch assignment PDFs, write code, upload and submit — through a single static binary.

mcp-name: io.github.G36maid/moodle-mcp

Built in Rust on the official MCP SDK (rmcp). Verified live against Moodle 3.7, 4.5 and 5.2; designed for 3.7 → 5.x.

✅ Why

A generic chatbot has no way into your Moodle, so every study task stays manual — five browser tabs to answer *"what's due this week?"*, PDFs re-uploaded by hand, forums and grades copy-pasted one page at a time.

moodle-mcp signs the agent in as you. 20 typed tools cover the full student journey, and the agent chains them by itself — without ever opening a browser:

  • Batteries included — document conversion, HTML → markdown, an auth CLI and an opt-in escape hatch in one binary: no plugins, no helper scripts, no second runtime
  • Agent-native — tools take and return local file paths instead of base64; every result embeds the IDs for the next call; errors are plain-language and suggest the fix
  • Safe by default — write tools confirm with you first, submissions stay drafts until you say so; quiz-taking is intentionally not provided
  • Version-adaptive — verified against Moodle 3.7 and designed for 4.x/5.x; response differences between versions are absorbed automatically
  • One static binary — no runtime dependencies

🚀 Quick start

Needs a Moodle 3.7 → 5.x account on a site that allows the mobile-app web service (most do — see prerequisites).

# 1. Install

cargo install moodle-mcp # or a prebuilt binary / one-click .mcpb — no Rust needed

2. Log in once — prints MOODLE_URL and MOODLE_TOKEN

moodle-mcp auth

3. Connect your client (Claude Code shown; Codex/OpenCode/pi below)

claude mcp add moodle \ --env MOODLE_URL=https://moodle.example.com \ --env MOODLE_TOKEN=your-token \ -- /path/to/moodle-mcp

4. Open a chat and ask:

"What's due in the next two weeks? Plan my studying around it."

Or paste this into your agent and let it do every step (it will open moodle-mcp auth in its terminal — type your school credentials there):

Set up moodle-mcp (github.com/G36maid/moodle-mcp): read docs/src/installation.md

and docs/src/configuration.md from the repo's main branch first. Then install the binary for my platform, run moodle-mcp auth in the terminal so I can type my school credentials when it prompts, and register the server in your own MCP config using the snippet for your harness. Never store or repeat my credentials; ask before anything global.

Prebuilt binaries, SSO login, config snippets for every client, and the full environment-variable reference: Installation · Getting Started · Configuration

💬 What the agent can do

All of these work with no further setup — the agent discovers the tools from their descriptions and chains them itself:

You sayThe agent chains
*"Finish my Information Security HW1: read the assignment brief and the attached PDF, work through the problems, and submit a draft."*get_assignment (brief + attachments) → fetch_file (PDF → markdown, math included) → solves it → writes the answer file → upload_file → submit_assignment → get_assignment (verify submitted ✓)
*"Based on upcoming deadlines and course materials, build me a complete study plan for the next two weeks."*get_schedule (all deadlines) → get_course_overview per course → day-by-day plan balanced against due dates
*"I missed what happened in Data Communication this week — catch me up, including the announcements forum."*get_notifications + get_forum_discussions → get_discussion_posts → synthesized weekly digest
*"Prep me for the Software Engineering quiz: what did the teacher post about it?"*get_course_overview (quiz entry) → get_assignment (requirements) → related forum threads

🔄 How the agent works

The tools mirror how you navigate Moodle — each level's output embeds the IDs for the next:

flowchart TD

Q["💬 prompt (intent only)"] --> LC["list_courses(search?) find the course"] LC --> OV["get_course_overview(course_id) markdown map: sections · files · assignments · quizzes · forums · grades"] OV --> FD["get_forum_discussions(forum_id) → get_discussion_posts(discussion_id)"] OV --> AS["get_assignment(assignment_id) brief · attachments · submission · grade"] AS --> FF["fetch_file(url) assignment PDF → readable markdown"] FF --> WK["agent works: answers · code · report on disk"] WK --> UP["upload_file(path, filename) solution → draft area → item_id"] UP --> SB["submit_assignment(assignment_id, item_id?, finalize?) save draft or turn in"] SB --> VF["get_assignment verify: submitted ✓ files ✓"] OV --> SC["get_schedule(time window) deadlines → study plan"] OV --> GR["get_grades(course_id) graded items + feedback"]

Everything the dedicated tools don't cover is reachable through the call_ws_function + list_ws_functions escape hatch — full coverage of the ~350 functions a typical token can call (20 + 2 = 22 in total; the escape hatch is opt-in via MOODLE_ENABLE_WS_FUNCTION=true).

📚 Documentation

Full documentation lives at [moodle.ntnu.cc/docs](https://moodle.ntnu.cc/docs/) (mdBook — mdbook serve docs to read locally):

PageContents
Getting Startedfrom zero to the first prompt; no MCP experience assumed
Installationprebuilt binaries, cargo, from source
Configurationevery environment variable; config snippets for Claude Code, Codex, OpenCode, and pi
Toolsthe full 22-tool reference and the ID flow between them
Security & Authenticationtoken lifecycle, transport and write safety
Changelogrelease notes, version by version
Developmentarchitecture tour, tests, release process
Aboutwhat moodle-mcp, MCP, and Moodle are

🧰 Development

cargo test                 # unit + wiremock integration + MCP protocol tests

cargo clippy --all-targets cargo fmt -- --check cargo build --release

Project documentation lives in docs/ — mdBook, formatted with Prettier (see docs/README.md); preview with mdbook serve docs.

The landing page lives in site/ — Astro 7 + TypeScript (cd site && npm install && npm run dev, build with npm run build).

🔐 Security

Use HTTPS — the token travels with every request. It never appears in tool output or errors, is only injected into same-site Moodle URLs, and write tools confirm with you before they act. Full details: Security & Authentication.

📄 License

MIT — see LICENSE.

ถาม PopNx