World Monitor
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.
Descripción del creador (original en inglés)
Moodle MCP server for teachers: review assignment submissions, grade and give feedback; SSO login
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_TOKEN_FILE, MOODLE_TOKEN, MOODLE_TIMEOUT, MOODLE_CHROME, MOODLE_DEBUGLos 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": {
"command": "npx",
"args": [
"-y",
"@av-leschinskiy/moodle-mcp"
],
"env": {
"MOODLE_URL": "your-value",
"MOODLE_TOKEN_FILE": "your-value",
"MOODLE_TOKEN": "your-value",
"MOODLE_TIMEOUT": "your-value",
"MOODLE_CHROME": "your-value",
"MOODLE_DEBUG": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add moodle --env MOODLE_URL=your-value --env MOODLE_TOKEN_FILE=your-value --env MOODLE_TOKEN=your-value --env MOODLE_TIMEOUT=your-value --env MOODLE_CHROME=your-value --env MOODLE_DEBUG=your-value -- npx -y @av-leschinskiy/moodle-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"moodle": {
"command": "npx",
"args": [
"-y",
"@av-leschinskiy/moodle-mcp"
],
"env": {
"MOODLE_URL": "your-value",
"MOODLE_TOKEN_FILE": "your-value",
"MOODLE_TOKEN": "your-value",
"MOODLE_TIMEOUT": "your-value",
"MOODLE_CHROME": "your-value",
"MOODLE_DEBUG": "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": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@av-leschinskiy/moodle-mcp"
],
"env": {
"MOODLE_URL": "your-value",
"MOODLE_TOKEN_FILE": "your-value",
"MOODLE_TOKEN": "your-value",
"MOODLE_TIMEOUT": "your-value",
"MOODLE_CHROME": "your-value",
"MOODLE_DEBUG": "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.
MOODLE_TOKEN_FILE envMOODLE_TIMEOUT envMOODLE_CHROME envMOODLE_DEBUG envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Según cómo se conecta este servidor y la documentación de cada app, comprobado el 10 nov 2026.
Se ejecutan en tu computadora en
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
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 10 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub av-leschinskiy, dueña del repo
Último cambio de código: hace 12 días
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ó 2 de 2 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 hace 12 días, y la última versión (0.2.1) llegó al registro hace 12 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: World Monitor, Claude Flow, Tldraw
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.
AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.
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.
An MCP server for AI assistants (Claude Code, Cursor, Codex and other stdio clients) on top of the Moodle web services REST API. It is built for teachers: the assistant can see courses, assignments and student submissions, download submission files, and save a grade with feedback, acting as the teacher and only after the teacher confirms. Unlike student-oriented Moodle MCP servers, the focus here is reviewing assignments and grading.
The server works with any Moodle site that has the mobile web service (moodle_mobile_app) enabled: the token is issued the same way as for the Moodle mobile app, so login through an external OAuth provider with a captcha works too.
moodle-mcp-login command. /admin/tool/mobile/launch.php should open rather than return an error.The example below uses https://moodle.example.org; replace it with your Moodle address exactly as it appears in the browser (scheme, host, path; a trailing slash does not matter).
MOODLE_URL=https://moodle.example.org npx -y -p @av-leschinskiy/moodle-mcp moodle-mcp-login
A Chrome window opens: log in to the site as usual and solve the captcha yourself. The command prints Logged in as on and closes the window. Without -p, npx would start the server instead of the login command. Chrome is looked up in PATH; on macOS and Windows, set its path in MOODLE_CHROME.
claude mcp add moodle -e MOODLE_URL=https://moodle.example.org -- npx -y @av-leschinskiy/moodle-mcp
Add -s user to enable it for all projects; without it, only for the current one.
Codex, with a command or a block in ~/.codex/config.toml:
codex mcp add moodle --env MOODLE_URL=https://moodle.example.org -- npx -y @av-leschinskiy/moodle-mcp
[mcp_servers.moodle]
command = "npx" args = ["-y", "@av-leschinskiy/moodle-mcp"] env = { MOODLE_URL = "https://moodle.example.org" }
Cursor and other clients: a stdio server with the command npx -y @av-leschinskiy/moodle-mcp and the MOODLE_URL variable:
{
"mcpServers": { "moodle": { "command": "npx", "args": ["-y", "@av-leschinskiy/moodle-mcp"], "env": { "MOODLE_URL": "https://moodle.example.org" } } } }
From a repository clone, use node /dist/index.js and node /dist/cli/login.js instead of npx: dist/ is committed, no build is needed.
10 tools in total; 3 of them require user confirmation.
| Category | Tools | Confirmation | Covers |
|---|---|---|---|
| Site | 2 | — | who I am, Moodle version, available functions, my courses |
| Assignments and submissions | 4 | — | course assignments, participants and submission statuses, what needs the teacher across a course, full submission |
| Files | 1 | — | downloading submission files to disk |
| Grading | 3 | 3 | grade and feedback, submission comment, returning a submission for rework |
Full list of names
Site
moodle_list_coursesmoodle_site_infoAssignments and submissions
moodle_get_submissionmoodle_list_assignmentsmoodle_list_pending_submissionsmoodle_list_submissionsFiles
moodle_download_fileGrading
moodle_add_submission_comment — confirmationmoodle_revert_submission_to_draft — confirmationmoodle_save_grade — confirmationThe server acts on your behalf: it sees and changes the same things you do in the Moodle interface. The host asks for confirmation only for writes that students will see: a grade with feedback, a submission comment, returning a submission to draft (destructiveHint: true). Downloading a file also writes, but only to your disk, and needs no confirmation.
Responses are trimmed for the model context: HTML in descriptions and submissions is converted to plain text, times to ISO, a grade that is not set to null, and participant emails are never returned.
| Variable | Required | Default | Description |
|---|---|---|---|
MOODLE_URL | yes | — | Moodle site address (wwwroot), e.g. https://moodle.example.org |
MOODLE_TOKEN_FILE | — | ~/.config/mcp-moodle/token.json | Where moodle-mcp-login saves the token (path is resolved via homedir()) |
MOODLE_TOKEN | — | — | Web service token override (CI / smoke tests) |
MOODLE_TIMEOUT | — | 30000 | Timeout of a single API request (ms) |
MOODLE_CHROME | — | — | Chrome/Chromium binary for moodle-mcp-login (looked up in PATH by default) |
MOODLE_DEBUG | — | false | 1/true/yes/on enables debug output to stderr and debug level in the host log channel |
The token file has 0600 permissions and stores the site address it was issued for: if it does not match MOODLE_URL, the server asks you to run moodle-mcp-login. The server reads the file on every request, so there is no need to restart the host after logging in again. The token is scrubbed from error messages, logs and tool responses (including file URLs).
The Chrome profile used for login is kept separate from your main one (~/.config/mcp-moodle/chrome-profile): site cookies persist, so logging in again often works without a password.
npm install # also enables the git hooks (.githooks)
npm run dev # tsx, no compilation npm run build # native TypeScript 7 → dist/ npm run verify # typecheck + lint + tests + docs check MOODLE_URL=… npm run smoke # read-only tool chain against a live Moodle
Build only with npm run build: devDependencies contain two compiler versions, details. dist/ is committed; the pre-commit hook builds and stages it, bumps the patch version and regenerates the tables above. Architecture and rules are in AGENTS.md (in Russian).