Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Query Moodle LMS data through natural language. Attach your agent to your LMS data.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
MOODLE_URL, MOODLE_TOKENAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"moodle-aql": {
"command": "npx",
"args": [
"-y",
"moodle-mcp-server-aql"
],
"env": {
"MOODLE_URL": "your-value",
"MOODLE_TOKEN": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add moodle-aql --env MOODLE_URL=your-value --env MOODLE_TOKEN=your-value -- npx -y moodle-mcp-server-aqlTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"moodle-aql": {
"command": "npx",
"args": [
"-y",
"moodle-mcp-server-aql"
],
"env": {
"MOODLE_URL": "your-value",
"MOODLE_TOKEN": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"moodle-aql": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"moodle-mcp-server-aql"
],
"env": {
"MOODLE_URL": "your-value",
"MOODLE_TOKEN": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto csmediapro bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: MOODLE_URL, MOODLE_TOKEN
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.6) kam vor 42 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Signoff
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Five gates that make an agent's 'done' provable: run them, read the verdict, audit the record.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Ask your Moodle instance anything. Get structured answers in seconds.
moodle-mcp-server is an open-source MCP (Model Context Protocol) server that connects AI agents directly to Moodle's Web Services API. It is the first reference implementation of the Agentic Query Layer (AQL) pattern — a software design pattern for giving large language models safe, permission-aware, read-only access to structured data.
Instead of learning report builders, writing SQL, or exporting CSVs, you ask questions in plain English — the AI agent queries your LMS and returns structured data.
AQL pattern: https://csmediapro.com/notes/agentic-query-layer Project home: https://csmediapro.com/products/moodle-mcp-server npm package: https://www.npmjs.com/package/moodle-mcp-server-aql MCP Registry: io.github.csmediapro/moodle-mcp-server-aql
Most users launch the server through an MCP client such as 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" } } } }
# Clone the repo
git clone https://github.com/csmediapro/moodle-mcp-server cd moodle-mcp-server
npm install
cp packages/server/.env.example packages/server/.env
npm run server:build node packages/server/dist/index.js
User field display settings are generated per Moodle instance and stored locally at packages/server/data/user-field-schema.json. This file is intentionally ignored by git because it can include site-specific custom profile fields.
After connecting to a Moodle site, run the refresh_user_field_schema tool once to discover available standard and custom user fields. A minimal example shape is included at packages/server/data/user-field-schema.example.json.
Separately installed plugins can use this schema to flatten custom profile fields into stable keys such as school. The premium user-directory plugin, for example, uses it to cache and summarize full-user directory fields outside the OSS core.
The core owns two different server identity fields:
server.id — stable machine identity, for example mcp_8f3k2q9xserver.name — human-facing display labelIf server.id is missing, the core generates one once and persists it to the resolved config file before startup continues.
Environment overrides:
MOODLE_MCP_CONFIG or MOODLE_MCP_SERVER_CONFIG — choose the config file pathSERVER_ID — explicit server.id overrideSERVER_NAME — explicit server.name overrideSERVER_VERSION — explicit server.version overrideIf server.id is missing and the resolved config path is not writable, startup fails deliberately.
# From the project root
cp packages/client/.env.example packages/client/.env npm run client:dev
The client will auto-detect your Moodle instance and present a chat interface where you can ask questions in plain English.
moodle-mcp-server needs an AI model to power the natural-language interface. You bring the model — the moodle-mcp-server core and reference client support any MCP-compatible provider.
Running a local model keeps all data on your own hardware — nothing leaves your network. Modern quantized models run well on consumer GPUs and even CPU-only setups.
Performance: A quantized 24B model on a single RTX 3090 delivers ~1.5-second responses after the first query — faster than most cloud APIs once the system is initialized.
# 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 chains
Then point the reference client at http://localhost:11434 (Ollama's default).
# Download a GGUF model (example: Devstral 24B Q4)
llama-server -m devstral-24b-Q4_K_M.gguf --ctx-size 60000 --port 8080
Point the reference client at http://localhost:8080/v1.
| Model | Size | Best For | Hardware |
|---|---|---|---|
| Gemma 3 12B | ~7 GB VRAM | Fast tool calls, straightforward queries | Single consumer GPU |
| Qwen 3 14B | ~8.5 GB VRAM | Complex reasoning, multi-tool chains | Single consumer GPU |
| Devstral 24B Q4 | ~14.5 GB VRAM | Maximum capability, 60K context | RTX 3090 / 4090 |
Anthropic (Claude):
export ANTHROPIC_API_KEY=sk-ant-...
Select "Anthropic" in the reference client's provider dropdown. Claude Sonnet offers the most reliable tool-calling behavior.
OpenAI (GPT):
export OPENAI_API_KEY=sk-...
Select "OpenAI" in the provider dropdown. GPT-4o performs well on structured queries.
Ollama Cloud: Uses the same API as local Ollama, hosted at https://ollama.com/v1. Good middle ground — faster than local cold starts, more private than big cloud providers.
Claude Desktop connects to the moodle-mcp-server core directly over stdio — no reference client needed.
Add to your Claude Desktop config (claude_desktop_config.json):
{
"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" } } } }
Restart Claude Desktop. The server's tools will appear in Claude's tool list — ask questions directly.
| Tool | Description |
|---|---|
list_courses | Full course catalog with category drill-down |
get_course | Detail view for any course |
list_course_users | Enrolled users with roles and access data (now supports course name search with interactive selection) |
list_assignments | All assignments with due dates |
list_categories | Full hierarchy with exact parent resolution |
get_site_info | Instance overview — site name, version, course count |
get_user | Detail view for a Moodle user |
list_user_courses | Courses for a specific user |
search_users | User search by standard Moodle identity fields |
search_courses_by_name | Search for courses by name with partial matching and interactive selection |
This project is a reference implementation of the Agentic Query Layer (AQL) pattern — a layer that sits between an AI agent and your data, providing permission-aware, read-only, plain-language access without exposing the underlying data to the model.
User (plain English question)
│ ▼ AI Agent (Claude / GPT / Gemini / Ollama / local) │ ▼ MCP Protocol moodle-mcp-server ← AQL connector for Moodle ├── 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 API
dist/index.js — runs as a subprocess, used by Claude Desktop and similar clientsThe OSS core intentionally ships with stdio only. Any network-facing wrapper, remote supervision, or premium plugin attachment belongs in a separate commercial node agent or wrapper.
AGPL v3 — see LICENSE.
This means you can:
moodle-mcp-server core for free, in any environmentYou cannot:
moodle-mcp-server core as a closed-source competing commercial productMoodle is a trademark of Moodle Pty Ltd. moodle-mcp-server is an independent CSMediaPro project and is not affiliated with, endorsed by, sponsored by, or officially connected to Moodle Pty Ltd or the Moodle project. The name is used descriptively to identify compatibility with Moodle LMS.
moodle-mcp-server is built and maintained by CSMediaPro, a software development company specializing in AI integration, systems engineering, and workflow automation. It is the first reference implementation of the Agentic Query Layer (AQL) pattern.