moodle-mcp-server
moodle-mcp-server — KI-gestützte LMS-Analysen
Stellen Sie Ihrer Moodle-Instanz jede Frage. Erhalten Sie innerhalb von Sekunden strukturierte Antworten.
moodle-mcp-server ist ein quelloffener MCP (Model Context Protocol)-Server, der KI-Agenten direkt mit der Web-Services-API von Moodle verbindet. Es ist der Moodle-Connector hinter der breiteren Arbeit von CSMediaPro am Agentic Query Layer (AQL).
Statt Report-Builder zu erlernen, SQL zu schreiben oder CSVs zu exportieren, stellen Sie Ihre Fragen in einfachem Englisch – der KI-Agent fragt Ihr LMS ab und gibt strukturierte Daten zurück.
Projektseite: https://csmediapro.com/products/moodle-mcp-server
npm-Paket: https://www.npmjs.com/package/moodle-mcp-server-aql
MCP-Registry: io.github.csmediapro/moodle-mcp-server-aql
Funktionen
Kernabfragetools — Kurskatalog, Benutzereinschreibung, Aufgaben, Kategorienavigation, Standortmetadaten, Benutzersuche und Cache-Verwaltung
Premium-Reporting-Plugins — optionale Tools wie Kursabschlussberichte und letzte Aktivitäten können über die Plugin-Laufzeitumgebung angebunden werden
LLM-unabhängig — funktioniert mit Claude, GPT, Gemini, Ollama oder jedem MCP-kompatiblen KI-Client
Keine LMS-Modifikation — nutzt die bestehende Web-Services-API von Moodle, keine Plugin-Installation erforderlich
Compliance-gerechte Datenverarbeitung — sichere, effiziente Datenverarbeitung mit Datenschutz durch Design
Nur Lesezugriff — modifiziert niemals Moodle-Daten, sicher für den Produktivbetrieb
Plugin-erweiterbar — legen Sie neue Tool-Module in ein Verzeichnis; Tools und optionale Agent-Routing-Hinweise registrieren sich automatisch zur Laufzeit
Related MCP server: Moodle MCP Server
Schnellstart
Voraussetzungen
Node.js 20+
Eine Moodle-Instanz mit aktivierten Web-Services
Ein Moodle-API-Token (Site-Administration → Plugins → Web-Services → Token verwalten)
Verwendung mit einem MCP-Client
Die meisten Benutzer starten den Server über einen MCP-Client wie Claude Desktop:
{
"mcpServers": {
"moodle-mcp-server-aql": {
"command": "npx",
"args": ["-y", "moodle-mcp-server-aql"],
"env": {
"MOODLE_URL": "https://your-moodle-instance.example",
"MOODLE_TOKEN": "your-moodle-web-services-token"
}
}
}
}Einrichtung aus dem Quellcode
# Clone the repo
git clone https://github.com/csmediapro/moodle-mcp-server
cd moodle-mcp-server
# Install dependencies
npm install
# Configure
cp packages/server/.env.example packages/server/.env
# Edit .env: add your MOODLE_URL and MOODLE_TOKEN
# Run (stdio mode)
npm run server:build
node packages/server/dist/index.jsBenutzerfeld-Schema
Die Anzeigeeinstellungen für Benutzerfelder werden pro Moodle-Instanz generiert und lokal unter
packages/server/data/user-field-schema.json gespeichert. Diese Datei wird absichtlich von git ignoriert,
da sie standortspezifische benutzerdefinierte Profilfelder enthalten kann.
Nachdem Sie eine Verbindung zu einer Moodle-Site hergestellt haben, führen Sie einmalig das Tool refresh_user_field_schema aus, um
verfügbare Standard- und benutzerdefinierte Benutzerfelder zu ermitteln. Eine minimale Beispielstruktur finden Sie
unter packages/server/data/user-field-schema.example.json.
Das Plugin user-directory speichert einen normalisierten Vollbenutzer-Cache mit benutzerdefinierten
Profilfeldern, die auf oberster Ebene als Schlüssel wie school abgeflacht sind. Sobald dieser Cache existiert,
kann list_users zwischengespeicherte Benutzer im Speicher filtern, und summarize_user_directory_field
kann zwischengespeicherte eindeutige Werte und Zählungen zurückgeben. Beispielsweise fasst die Abfrage „einzigartige Schulen anzeigen“ oder
„Schulen und Anzahl der ihnen zugeordneten Benutzer anzeigen“ das zwischengespeicherte
school-Feld zusammen, ohne einen weiteren Moodle-Abruf.
Konfigurationsidentität
Der Kern besitzt zwei verschiedene Server-Identitätsfelder:
server.id— stabile Maschinenidentität, z. B.mcp_8f3k2q9xserver.name— menschenlesbares Anzeigelabel
Fehlt server.id, generiert der Kern eine einmalige ID und speichert sie in der aufgelösten Konfigurationsdatei, bevor der Start fortgesetzt wird.
Umgebungsüberschreibungen:
MOODLE_MCP_CONFIGoderMOODLE_MCP_SERVER_CONFIG— wählt den KonfigurationsdateipfadSERVER_ID— explizite Überschreibung vonserver.idSERVER_NAME— explizite Überschreibung vonserver.nameSERVER_VERSION— explizite Überschreibung vonserver.version
Fehlt server.id und der aufgelöste Konfigurationspfad ist nicht beschreibbar, schlägt der Start absichtlich fehl.
Verwendung des Referenz-Clients
# From the project root
cp packages/client/.env.example packages/client/.env
npm run client:dev
# Open http://localhost:3000Der Client erkennt Ihre Moodle-Instanz automatisch und zeigt eine Chat-Oberfläche an, in der Sie Ihre Fragen in einfachem Englisch stellen können.
Verbinden eines LLM
moodle-mcp-server benötigt ein KI-Modell, um die natürlichsprachliche Schnittstelle zu betreiben. Sie bringen das Modell mit – der moodle-mcp-server-Kern und der Referenz-Client unterstützen jeden MCP-kompatiblen Anbieter.
Option 1: Lokal ausführen (Empfohlen für Geschwindigkeit & Datenschutz)
Die Ausführung eines lokalen Modells hält alle Daten auf Ihrer eigenen Hardware – nichts verlässt Ihr Netzwerk. Moderne quantisierte Modelle laufen gut auf handelsüblichen GPUs und sogar auf reinen CPU-Systemen.
Leistung: Ein quantisiertes 24B-Modell auf einer einzelnen RTX 3090 liefert nach der ersten Abfrage Antworten in etwa 1,5 Sekunden – schneller als die meisten Cloud-APIs, sobald das System initialisiert ist.
Über Ollama (am einfachsten)
# Install Ollama: https://ollama.com
ollama pull gemma3:12b # Fast, reliable tool use (~200ms TTFT)
ollama pull qwen3:14b # Strong reasoning, good for complex queries
ollama pull deepseek-r1:14b # Excellent at multi-step chainsRichten Sie dann den Referenz-Client auf http://localhost:11434 (Ollamas Standard).
Über llama.cpp (maximale Kontrolle)
# Download a GGUF model (example: Devstral 24B Q4)
# Run the llama.cpp server:
llama-server -m devstral-24b-Q4_K_M.gguf --ctx-size 60000 --port 8080Richten Sie den Referenz-Client auf http://localhost:8080/v1.
Empfohlene lokale Modelle
Modell | Größe | Am besten geeignet für | Hardware |
Gemma 3 12B | ~7 GB VRAM | Schnelle Toolaufrufe, einfache Abfragen | Einzelne Consumer-GPU |
Qwen 3 14B | ~8,5 GB VRAM | Komplexe Schlussfolgerungen, Multi-Tool-Ketten | Einzelne Consumer-GPU |
Devstral 24B Q4 | ~14,5 GB VRAM | Maximale Leistungsfähigkeit, 60K Kontext | RTX 3090 / 4090 |
Option 2: Cloud-Anbieter
Anthropic (Claude):
export ANTHROPIC_API_KEY=sk-ant-...Wählen Sie im Auswahlmenü für den Anbieter des Referenz-Clients „Anthropic“ aus. Claude Sonnet bietet das zuverlässigste Tool-Calling-Verhalten.
OpenAI (GPT):
export OPENAI_API_KEY=sk-...Wählen Sie im Auswahlmenü für den Anbieter „OpenAI“ aus. GPT-4o arbeitet gut mit strukturierten Abfragen.
Ollama Cloud:
Verwendet dieselbe API wie lokales Ollama, gehostet unter https://ollama.com/v1. Guter Mittelweg – schneller als lokale Kaltstarts, privater als große Cloud-Anbieter.
Option 3: Claude Desktop (Direktes MCP)
Claude Desktop verbindet sich direkt über stdio mit dem moodle-mcp-server-Kern – kein Referenz-Client erforderlich.
Fügen Sie Ihrer Claude Desktop-Konfiguration (claude_desktop_config.json) hinzu:
{
"mcpServers": {
"moodle-mcp-server": {
"command": "node",
"args": ["/path/to/moodle-mcp-server/packages/server/dist/index.js"],
"env": {
"MOODLE_URL": "https://your-moodle-instance.com",
"MOODLE_TOKEN": "your-api-token"
}
}
}
}Starten Sie Claude Desktop neu. Die Tools des Servers erscheinen in Claudes Werkzeugliste – stellen Sie direkt Fragen.
Tools
Kerntools (kostenlos, quelloffen — AGPL)
Tool | Beschreibung |
| Vollständiger Kurskatalog mit Kategorie-Drilldown |
| Detailansicht für jeden Kurs |
| Eingeschriebene Benutzer mit Rollen und Zugriffsdaten (unterstützt jetzt Kurssuche mit interaktiver Auswahl) |
| Alle Aufgaben mit Fälligkeitsdaten |
| Vollständige Hierarchie mit exakter Elternauflösung |
| Instanzübersicht — Standortname, Version, Kursanzahl |
| Detailansicht für einen Moodle-Benutzer |
| Kurse für einen bestimmten Benutzer |
| Benutzersuche nach standardmäßigen Moodle-Identitätsfeldern |
| Suche nach Kursen anhand des Namens mit teilweiser Übereinstimmung und interaktiver Auswahl |
Premium-Plugins (separat erhältlich)
Advanced Reporting — Notenbücher, kursübergreifender Vergleich, benutzerdefinierter Report-Builder
User Analytics — Fortschrittsverfolgung, Engagement-Scoring, Risikokennzeichen
User Directory — zwischengespeichertes Benutzerverzeichnis und strukturierte Filterung über Standard- und benutzerdefinierte Profilfelder
Compliance Pack — Zertifizierungsverfolgung, Ablaufwarnungen, Prüfberichtsexporte
Architektur
User (plain English question)
│
▼
AI Agent (Claude / GPT / Gemini / Ollama / local)
│
▼ MCP Protocol
`moodle-mcp-server`
├── Tool Registry (core + plugins)
├── Agent Runtime Config (core + plugin rules)
├── Optimized Data Layer (secure, efficient data handling)
└── Moodle Client (REST API calls)
│
▼
Moodle Web Services APITransportmodi
Stdio —
dist/index.js— wird als Unterprozess ausgeführt, verwendet von Claude Desktop und ähnlichen Clients
Der OSS-Kern wird absichtlich nur mit stdio ausgeliefert. Jegliche netzwerkorientierte Hülle, Fernüberwachung oder Anbindung von Premium-Plugins gehört in einen separaten kommerziellen Node-Agenten oder eine Hülle.
Plugin-Dokumentation
Lizenz
AGPL v3 — siehe LICENSE.
Das bedeutet, Sie dürfen:
✅ Den
moodle-mcp-server-Kern kostenlos in jeder Umgebung nutzen✅ Den Quellcode für Ihre Bedürfnisse modifizieren
✅ Abgeleitete Werke erstellen und verbreiten
Sie dürfen nicht:
❌ Den
moodle-mcp-server-Kern als quellgeschlossenes, konkurrierendes kommerzielles Produkt neu verpacken❌ Ihn als Netzwerkdienst anbieten, ohne Ihre Modifikationen zu teilen
Markenhinweis
Moodle ist eine Marke der Moodle Pty Ltd. moodle-mcp-server ist ein unabhängiges CSMediaPro-Projekt und steht in keiner Verbindung zu Moodle Pty Ltd oder dem Moodle-Projekt, wird weder von diesen unterstützt noch gesponsert oder offiziell mit ihnen verbunden. Der Name wird beschreibend verwendet, um die Kompatibilität mit dem Moodle LMS zu kennzeichnen.
Entwickelt von CSMediaPro
moodle-mcp-server wurde entwickelt und wird gewartet von CSMediaPro, einem Softwareentwicklungsunternehmen, das auf KI-Integration, Systemtechnik und Workflow-Automatisierung spezialisiert ist.
Kontakt: contact@csmediapro.com
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that enables LLMs to interact with Moodle platforms to manage courses, students, assignments, and quizzes through natural language commands.71141MIT
- AlicenseBqualityDmaintenanceAn MCP server that enables LLMs to interact with the Moodle platform to manage courses, students, assignments, and quizzes.711MIT
- Alicense-qualityDmaintenanceA powerful Model Context Protocol (MCP) server that seamlessly integrates AI assistants with Moodle Learning Management System. Enable your AI assistant to access courses, retrieve educational content, download resources, and search through your learning materials.14MIT
- Flicense-qualityBmaintenanceA Model Context Protocol (MCP) server that connects AI coding agents to your Moodle LMS. Fetch assignments, grades, deadlines, and sync everything to Obsidian automatically.
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
An MCP server that integrates with Discord to provide AI-powered features.
An MCP server that gives your AI access to the source code and docs of all public github repos
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/csmediapro/moodle-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server