The gole of this project is to build the MCP server around the open sourse learning management platform, also this will act as reference for the blog on MCP related blog on jayantkhd.vencel.app
View on GitHub ↗A production-grade MCP (Model Context Protocol) server wrapping a self-hosted Moodle LMS — exposing role-gated tools, resources, and prompts to any AI client (Claude Desktop, Claude Code, Cursor, and more).
📝 This repo doubles as the reference implementation for a blog series on MCP at jayantkhd.vercel.app.
What makes this different from a toy MCP server
- Role-gated tool lists — a student and a teacher connecting to the same server see different tools. A learner's client never even sees createcourse. - Real auth, done twice — first with Moodle web-service token mapping, then the full MCP OAuth 2.1 spec (Keycloak, Protected Resource Metadata, scopes, Dynamic Client Registration). - All three MCP primitives — tools, resources (course://{id}, quiz://{id}), and prompts (quizme, studyplan). - Clean tools over a messy legacy API — Moodle's Web Services API is famously clunky; the MCP layer is where the design work lives.
Path What ------ CLAUDE.md Full project plan, locked decisions, phase roadmap docker/ Docker Compose for Moodle + DB (+ Keycloak later) mcpserver/ The MCP server (Python, FastMCP, uv-managed) docs/briefs/ Per-phase blog briefs — the posts themselves are published on the blog, not here notes/ API cheat-sheets, gotchas, decisions
🚧 Phase 1 complete — Moodle 5.2.1 running in Docker Compose with a fully scripted seed (courses, weighted quiz, test users, Web Services + REST tokens). Next up: exploring the Moodle API by hand, then the MCP server itself.
From the project README.
Add the radar badge to your README — it shows your project was picked up by MCP Radar and links to this page:
[](https://mcp.liqiwa.com/s/Jayantkhandebharad--MCP-LMS-OSS.html)
Turn scattered notes, docs and transcripts into a queryable Markdown wiki — an LLM knowledge-base compiler with MCP access, no embeddings, self-hosted.
alxgntv/substack-api-mcpMCP server for Substack posts (FastMCP + substack-api-client)
sm18lr88/STT-MCPFast, local speech-to-text MCP server
simonw/mcp-explorerCLI tool for exploring an MCP server
sandeepbazar/ocm-mcp-serverAn MCP server that lets AI agents operate a multi-cluster Kubernetes fleet through an Open Cluster Management hub, with policy, approval, and audit between the model and your clusters.
Vladimir-Human/ru-marketplace-mcpДевять российских маркетплейсов и китайский Taobao как MCP-серверы: Wildberries, Ozon, Яндекс Маркет, Детский мир, Авито, Мегамаркет, Lamoda, DNS, Ситилинк. Плюс сравнение цен по всем сразу. Только чт
The top new MCP servers of the week, every Monday. No spam, unsubscribe anytime.