tuaulavirtual-unam-mcp
tuaulavirtual-unam-mcp
Servidor MCP para el aula virtual Moodle de la UNAM
(tuaulavirtual.educatic.unam.mx). Permite que Claude Code, Claude Desktop, Cursor
o cualquier cliente MCP consulte tus cursos, tareas, fechas de entrega, descargue
materiales y, si se lo pides, entregue tareas por ti.
Usa la API REST oficial de Moodle (servicio moodle_mobile_app) y, como respaldo,
una sesión web para leer páginas que la API no cubre.
Requisitos
uv instalado. En macOS:
brew install uv. En cualquier sistema:curl -LsSf https://astral.sh/uv/install.sh | sh.Tu usuario y contraseña del aula virtual.
Instalación en 2 pasos
1. Guarda tus credenciales (se piden de forma interactiva y quedan en
~/.config/tuaulavirtual-unam-mcp/.env con permisos solo para tu usuario):
uvx --from git+https://github.com/AlanMagno1/tuaulavirtual-unam-mcp tuaulavirtual-unam-mcp setup2. Registra el servidor en Claude Code:
claude mcp add tuaulavirtual-unam -s user -- uvx --from git+https://github.com/AlanMagno1/tuaulavirtual-unam-mcp tuaulavirtual-unam-mcpListo. Abre Claude Code y pídele, por ejemplo:
¿Qué tareas tengo pendientes?
Revisa https://tuaulavirtual.educatic.unam.mx/mod/assign/view.php?id=469144 y dime qué piden.
Otros clientes (Claude Desktop, Cursor, etc.)
Agrega esto a la configuración JSON de servidores MCP del cliente:
{
"mcpServers": {
"tuaulavirtual-unam": {
"command": "uvx",
"args": ["--from", "git+https://github.com/AlanMagno1/tuaulavirtual-unam-mcp", "tuaulavirtual-unam-mcp"]
}
}
}Variables de entorno (alternativa al archivo de configuración)
Variable | Descripción |
| URL del Moodle. Default: |
| Usuario del aula virtual |
| Contraseña |
| Carpeta de descargas. Default: |
| Carpeta de configuración. Default: |
Las variables de entorno tienen prioridad sobre el archivo .env. Funciona con
cualquier Moodle que tenga habilitado el servicio móvil, cambiando MOODLE_URL.
Otros Moodle de la UNAM (CUAED, idiomas, etc.)
El mismo servidor sirve para cualquier Moodle con el servicio móvil habilitado. Al
correr setup, escribe la URL del Moodle en la primera pregunta en vez de aceptar
la default. URLs verificadas:
Aula | URL para |
Tu Aula Virtual (default) |
|
Aulas Virtuales CUAED |
|
Ambiente Virtual de Idiomas |
|
Ojo: aulas-virtuales.cuaed.unam.mx (con guion) es solo el portal informativo; el
Moodle de CUAED está en la URL de la tabla. En CUAED el login web está desactivado,
así que la herramienta fetch_page no funciona ahí; las demás sí.
Dos o más aulas a la vez
Cada aula necesita su propia carpeta de configuración y su propio nombre de servidor.
setup avisa si vas a sobrescribir una configuración existente. Ejemplo para agregar
CUAED junto a Tu Aula Virtual:
# 1. Credenciales de CUAED en una carpeta aparte
TUAULAVIRTUAL_MCP_CONFIG_DIR=~/.config/cuaed-mcp \
uvx --from git+https://github.com/AlanMagno1/tuaulavirtual-unam-mcp tuaulavirtual-unam-mcp setup
# 2. Segundo servidor en Claude Code
claude mcp add cuaed-unam -s user -e TUAULAVIRTUAL_MCP_CONFIG_DIR=$HOME/.config/cuaed-mcp -- \
uvx --from git+https://github.com/AlanMagno1/tuaulavirtual-unam-mcp tuaulavirtual-unam-mcpClaude verá las herramientas de ambos servidores con prefijos distintos y elegirá el correcto según el aula o la URL que menciones.
Herramientas
Herramienta | Qué hace |
| Verifica la conexión y devuelve el usuario autenticado. |
| Cursos en los que estás inscrito. |
| Secciones y módulos de un curso, con fechas y archivos. |
| Detalle de una tarea: instrucciones, fechas, adjuntos y estado de tu entrega. Acepta la URL completa |
| Descarga un archivo a |
| Inicia sesión por web y devuelve el texto de cualquier página del aula. |
| Sube un archivo local al área de borradores; devuelve |
| Guarda una entrega (texto en línea y/o archivos) y opcionalmente la envía para calificación. |
Comandos
tuaulavirtual-unam-mcp setup # captura credenciales y prueba la conexión
tuaulavirtual-unam-mcp check # imprime el usuario autenticado
tuaulavirtual-unam-mcp # arranca el servidor MCP por stdio (lo usa el cliente)Seguridad
Tus credenciales nunca salen de tu máquina: solo se envían a la URL del Moodle configurada, para obtener un token del servicio móvil.
El token se guarda en
~/.config/tuaulavirtual-unam-mcp/token.json(permisos 600) y se renueva automáticamente si Moodle lo invalida.submit_assignmententrega tareas en tu nombre. Claude solo debe usarla cuando se lo pidas explícitamente.
Desarrollo
git clone https://github.com/AlanMagno1/tuaulavirtual-unam-mcp
cd tuaulavirtual-unam-mcp
uv sync
uv run tuaulavirtual-unam-mcp checkPara probar cambios locales en Claude Code sin publicar:
claude mcp add tuaulavirtual-unam -s user -- uv --directory /ruta/a/tuaulavirtual-unam-mcp run tuaulavirtual-unam-mcpLicencia
MIT