FCPC-lms-mcp-server
FCPC LMS MCP-Server
Ein MCP-Server, der es einem KI-Assistenten ermöglicht, Fragen zum eigenen Moodle-Konto eines Studierenden zu beantworten – anstehende Aufgaben, ungelesene Nachrichten, ausstehende Tests und eingeschriebene Kurse.
Studierende verbinden sich über Claude im Web, auf dem Telefon oder auf dem Desktop, indem sie eine URL registrieren. Keine Softwareinstallation, keine manuell zu kopierenden Tokens.
Entwickelt für das First City Providential College, funktioniert aber mit jeder Moodle-Website, die Webservices aktiviert hat.
Was er beantworten kann
Wann deine Aufgaben fällig sind
Ungelesene Nachrichten von Lehrkräften und Mitschülern
Tests, die du noch nicht abgeschlossen hast
In welchen Kursen du eingeschrieben bist
"Do I have any new messages?"
"What is due this week?"Related MCP server: Moodle MCP Server
Zwei Möglichkeiten, ihn auszuführen
Remote-Server | Lokaler Server | |
Für wen | Eine Klasse oder eine ganze Einrichtung | Eine Person, auf dem eigenen Rechner |
Client | Claude (Web, iOS, Android, Desktop) | Jeder MCP-Client auf diesem Rechner |
Einrichtung | Eine URL | Nichts, aber das Repo muss installiert sein |
Anmeldung | OAuth, von Claude verwaltet | Ein Token in |
Einstiegspunkt |
|
|
Die meisten Bereitstellungen wollen den Remote-Server.
Remote-Server (empfohlen)
Voraussetzungen
Python 3.11 oder neuer
cloudflared (
brew install cloudflared) oder jede andere Möglichkeit, eine HTTPS-Adresse bereitzustellenEin Moodle-Konto auf der Website, das während der Einrichtung einmal verwendet wird, um die Website-Adresse zu speichern
Für den Administrator
Führe
setup.command(macOS) odersetup.bat(Windows) einmal aus und melde dich an. Dadurch wird deine Moodle-Website-Adresse in.envgeschrieben.Führe
start-server.commandaus. Es gibt die URL aus, die du weitergeben kannst:
https://xxxx.trycloudflare.com/mcpDas Schließen dieses Fensters stoppt den Server. Lasse es also offen, während der
Dienst genutzt wird. Kostenlose trycloudflare.com-Adressen ändern sich bei
jedem Neustart; verwende einen
named tunnel
für eine feste Adresse.
Für Studierende
Öffne claude.ai in einem beliebigen Browser, auch auf dem Telefon.
Gehe zu Einstellungen → Connectors → Benutzerdefinierten Connector hinzufügen.
Gib ihm einen beliebigen Namen und füge die URL ein, die du erhalten hast.
Claude öffnet die Moodle-Anmeldeseite. Melde dich mit deinem üblichen Moodle-Benutzernamen und -Passwort an.
Das ist die gesamte Einrichtung. Danach funktioniert es auch in den Claude-Mobil-Apps.
Connectors können nur hinzugefügt werden über die Claude-Website, aber ein Telefon-Browser funktioniert einwandfrei. Sobald sie hinzugefügt sind, werden sie mit den Apps synchronisiert.
So funktioniert die Anmeldung
Student's Claude ──HTTPS──▶ MCP server ──▶ Moodle
(OAuth)Jeder Benutzer wird durch eine OAuth-Anmeldung identifiziert. Wenn sich ein Studierender anmeldet, wird sein Moodle-Token in das Zugriffstoken selbst verschlüsselt und an Claude zurückgegeben.
Der Server speichert keine Moodle-Tokens und keine Passwörter
Ein Passwort wird einmal verwendet, um ein Token zu erhalten, und dann verworfen
Ein Benutzer kann niemals die Daten eines anderen Benutzers sehen
.oauth_key (der Verschlüsselungsschlüssel) und .oauth_clients.json sind
Geheimnisse. Beide sind von git ausgeschlossen. Das Löschen von .oauth_key
meldet alle ab.
Lokaler Server
Zum Ausführen des MCP-Servers auf deinem eigenen Rechner über stdio.
Führe
setup.command/setup.bataus, oder:
python -m venv venv
source venv/bin/activate # macOS/Linux
.\venv\Scripts\activate # Windows PowerShell
pip install -r requirements.txt
python setup_gui.pyRichte deinen MCP-Client auf
server.pyaus. Zum Beispiel in derclaude_desktop_config.jsonvon Claude Desktop:
{
"mcpServers": {
"moodle": {
"command": "/path/to/venv/bin/python",
"args": ["/path/to/server.py"]
}
}
}Um genau zu sehen, was die KI erhält:
python list_tools.pyEs gibt auch zwei eigenständige Chat-Clients, client.py (OpenAI) und
client_localLLM.py (ollama). Beide nehmen das Server-Skript als Argument:
python client.py server.pyTests
selftest.py prüft alles, was ohne Browser geprüft werden kann: die
Moodle-Verbindung, beide Server, den OAuth-Ablauf bis zu einem echten
Tool-Aufruf und dass Benutzer die Daten anderer nicht sehen können.
python selftest.py # all checks
python selftest.py --offline # skip anything needing the networkEs beendet sich mit 0, wenn alles bestanden ist, und gibt die verbleibenden manuellen Schritte aus: den Connector in Claude registrieren, sich anmelden, eine Frage stellen und dies auf einem Telefon wiederholen.
Führe es nach der Installation, nach Codeänderungen und auf dem Rechner aus, der den Server hosten wird.
Hinweise zu Moodle
Einige Moodle-Websites befinden sich hinter Cloudflare und lehnen normale
HTTPS-Clients mit HTTP 403 ab. Anfragen laufen daher über curl_cffi mit einem
Browser-TLS-Fingerabdruck. Deshalb kann der Server nicht etwa in Apps Script
neu implementiert werden und sollte an einem Ort laufen, der einen normal
aussehenden Netzwerkpfad hat.
Benutzer, die sich über SSO (Google und ähnliches) bei Moodle anmelden, können
login/token.php nicht verwenden. decode_token.py deckt diesen Fall ab.
Dateien
Datei | Zweck |
| Remote-MCP-Server mit OAuth, für Claude-Connectors |
| OAuth-Autorisierungsserver; speichert keine Tokens |
| Die Moodle-Anmeldeseite, die Claude öffnet |
| Lokaler MCP-Server über stdio |
| Moodle-API-Client, ein Token pro Instanz |
| Token-Abruf und |
| Einrichtungsassistent |
| Einrichtung per Doppelklick (macOS / Windows) |
| Remote-Server veröffentlichen (macOS) |
| Installation Ende-zu-Ende prüfen |
| Die Tools ausgeben, die die KI sieht |
| Token von der Befehlszeile abrufen |
| Token-Extraktion für SSO-Benutzer |
| Eigenständige Chat-Clients |
Danksagungen
Der MCP-Server selbst (server.py, client.py, client_localLLM.py) wurde
geschrieben von Jiseong JEONG (@jeongjisung690).
Ursprüngliches Repository: https://github.com/jeongjisung690/Moodle---MCP-server
Dieses Repository fügt hinzu:
Unterstützung für Moodle-Websites hinter Cloudflare
Automatischen Token-Abruf aus Benutzername und Passwort
Token-Extraktion für SSO-Benutzer
Einen Einrichtungsassistenten für nicht-technische Benutzer
Einen Remote-MCP-Server mit OAuth, sodass Studierende sich mit einer einzigen URL verbinden
Lizenz
Es wurde keine Lizenz festgelegt. Bitte kontaktiere die Autoren, bevor du diesen Code verwendest oder weiterverbreitest.
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
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Moodle learning management systems through the Moodle REST API. Supports course management, user enrollment, assignments, forums, quizzes, and file operations through natural language.14MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Moodle learning management systems through the REST API. Supports course management, user enrollment, assignment handling, and forum operations through natural language.14MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to interact with Moodle via web services, allowing tasks like listing courses, assignments, events, and downloading files.104MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to read your Moodle courses, list materials, quizzes, and search content to plan exam preparation through natural language.1
Related MCP Connectors
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Connect AI assistants to ITM Platform projects, tasks, budgets, risks, and team workload.
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/Ogaaawa/FCPC-lms-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server