moodle-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MOODLE_URL | Yes | Full HTTPS URL of the Moodle instance. | |
| MCP_LOG_LEVEL | No | Log level: error / warn / info / debug. | info |
| MOODLE_WS_TOKEN | Yes | Web Services token with edit permissions. | |
| MOODLE_WS_TIMEOUT_MS | No | Per-request timeout. | 30000 |
| MOODLE_ALLOW_INSECURE | No | Allow http:// URLs (dev-only escape hatch). | false |
| MOODLE_WS_MAX_RETRIES | No | Retry attempts on transient failures. | 3 |
| MOODLE_WS_RATE_LIMIT_PER_SEC | No | Token-bucket rate limit. | 10 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ws_rawA | Escape hatch: call any Moodle Web Services function with arbitrary parameters. Returns |
| obtener_contexto_cursoA | Returns a compact radiograph of a Moodle course: metadata, sections with module counts, recent MCP-published lessons, and enrolment counts (teachers vs students). Call this before publishing a Ficha so the agent knows where it fits. |
| publicar_ficha_claseA | Publish a FichaClase markdown file as a Moodle section with component modules. Idempotent: republishing the same Ficha updates in place, never duplicates. Default modo is |
| publicar_previewA | Publish a FichaClase in hidden preview mode. Returns the same shape as publicar_ficha_clase plus |
| confirmar_previewB | Make a previewed section (and optionally a subset of its modules) visible to students. Idempotent. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a distinct and non-overlapping purpose: obtener_contexto_curso provides course metadata, publicar_ficha_clase publishes a class file, publicar_preview publishes in hidden mode, confirmar_preview makes previews visible, and ws_raw serves as a low-level escape hatch. The descriptions clearly differentiate their roles, with no ambiguity in selection.
Naming is inconsistent with mixed conventions: obtener_contexto_curso and publicar_ficha_clase use Spanish verbs with snake_case, while confirmar_preview and publicar_preview mix Spanish verbs with English terms, and ws_raw is an English abbreviation. There is no uniform pattern across the tool set, making it chaotic and harder to predict.
With 5 tools, the count is well-scoped for the server's purpose of managing Moodle courses. Each tool serves a specific function in the publishing workflow (e.g., preview, confirmation, raw access), and none feel redundant or missing for the apparent scope, making the set appropriately sized.
The tool set covers core workflows for publishing and managing Moodle course content, including metadata retrieval, publishing with preview options, and confirmation. A minor gap exists in lacking direct update or deletion tools for existing content, but agents can work around this using the idempotent publishing tools and the ws_raw escape hatch for other operations.