Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Query Moodle LMS data through natural language. Attach your agent to your LMS data.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
MOODLE_URL, MOODLE_TOKENLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"moodle-aql": {
"command": "npx",
"args": [
"-y",
"moodle-mcp-server-aql"
],
"env": {
"MOODLE_URL": "your-value",
"MOODLE_TOKEN": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add moodle-aql --env MOODLE_URL=your-value --env MOODLE_TOKEN=your-value -- npx -y moodle-mcp-server-aqlCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"moodle-aql": {
"command": "npx",
"args": [
"-y",
"moodle-mcp-server-aql"
],
"env": {
"MOODLE_URL": "your-value",
"MOODLE_TOKEN": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"moodle-aql": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"moodle-mcp-server-aql"
],
"env": {
"MOODLE_URL": "your-value",
"MOODLE_TOKEN": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub csmediapro, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: MOODLE_URL, MOODLE_TOKEN
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.1.6) llegó al registro hace 42 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, ScienceShot science reference
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
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.
Sourced, citable answers in radiation and particle physics, photonics, electronics and quantum.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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.