📡 MCP Radar

threos/mcp4lms

Connect Claude (or any MCP client) to your university's Moodle LMS: read-only access to courses, deadlines, assignments, grades and course files.

⭐ 3 stars
⑂ 0 forks
TypeScript
momentum ▲ 15.0
created 2026-10-11
on radar since 2026-10-13
chatgptclaudeclaude-codecursoreducationgeminilmsmcpmcp-servermcp-serversmcp-toolsmoodlemoodle-mcpmoodle-pluginsschoolschool-managementuniversityuniversity-assignmentuniversity-coursework
View on GitHub ↗Homepage ↗

About mcp4lms

Connect Claude (or any MCP client) to your university's LMS. Works with Moodle™.

Students connect once with a bookmark, get a personal key, and add one URL to Claude. Claude then gets read-only access to their courses, deadlines, assignments, grades, announcements and the text of course files.

[!NOTE] Mcp4Lms is an experimental, non-profit, volunteer-run open-source project. It is not affiliated with or endorsed by any university, Moodle HQ, Anthropic, OpenAI, Google or Anysphere.

- 🔐 How it works - 🏫 For universities and LMS admins - 🏢 Hosted MCP for institutions - 🛡️ Security - 🧑‍💻 Development - 🚀 Deploying your own instance - ⚠️ Limits and known gaps - 📄 License

Where What ------ D1 accounts Account id, LMS URL and user id, an HKDF key verifier, the LMS token encrypted with AES-256-GCM under a key derived from the user key, and the chosen expiry KV OAUTHKV OAuth clients, grants and token hashes. Grant props are encrypted with token-derived keys D1 downloadlinks Per link: the file URL and LMS token, encrypted under a secret only the link holds. Deleted on use, after 5 minutes, or on reconnect, revoke or deletion Nowhere The user key, the LMS password, plaintext tokens, names, emails, course data

- Expiry. Students choose 24 hours, 7, 30 or 90 days (default 90). After that the account is refused, and an hourly cron revokes its grants and deletes the row. - Lost key. Connecting again issues a new key, invalidates the old one and revokes all grants. - No access logs. Workers invocation logs are off and the code writes no request logs.

From the project README.

Maintaining this server?

Add the radar badge to your README — it shows your project was picked up by MCP Radar and links to this page:

[![On MCP Radar](https://mcp.liqiwa.com/badge.svg)](https://mcp.liqiwa.com/s/threos--mcp4lms.html)

Related MCP servers

arcmira/mcp

YouTube transcript search for your AI. Find who said what with timestamps, mentions, sponsors, and recommendations. Remote MCP and agent skills.

⭐ 3TypeScript
VoltAgent/official-mcp-servers

A curated directory of 280+ official MCP servers from the companies behind the products. No unofficial forks, no abandoned projects.

⭐ 195
Kerneta/daidocs

Open plain-text file format for AI memory. Your assistant's long-term memory as .dai files on your disk: readable by Claude, GPT, Gemini, Cursor, local models and grep (all LLM models work). MCP serve

⭐ 29JavaScript
Cripacx/mediagen

AI image and video generation skill for Claude Code and other coding agents — Gemini, OpenAI and Kie AI behind one CLI and MCP server, with EU AI Act content marking.

⭐ 56TypeScript
replenhq/replen

Smarter AI Development Workflows

⭐ 5TypeScript
dhavanikgithub/chartbrew-mcp

Chartbrew + AI agents. MCP server exposing Chartbrew's documented API: teams, connections, datasets, dashboards, charts, live queries, and secure embedding. TypeScript · stdio · restricted/unrestricte

⭐ 3TypeScript

📬 Get the weekly radar in your inbox

The top new MCP servers of the week, every Monday. No spam, unsubscribe anytime.