Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DUTIC_DATA_DIRNoDirectory to store session and profile data~/.dutic
DUTIC_SEMESTERNoSemester, e.g. 2026A2026A
DUTIC_BROWSER_CHANNELNoBrowser channel: chrome, msedge, or chromiumchrome

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
dutic_list_tasksB

Lista tus tareas del aula virtual. scope='upcoming' usa el calendario (rápido). scope='all' barre TODOS los cursos para incluir tareas ocultas que no aparecen en el calendario (marcadas con hidden=true) — útil para no perder entregas.

dutic_list_coursesA

Lista los cursos en los que estás matriculado (id, nombre, docentes).

dutic_get_course_contentsC

Devuelve las secciones y módulos (tareas, recursos, foros...) de un curso.

dutic_get_course_tasksC

Lista las tareas de un curso concreto, incluidas las ocultas (hidden=true).

dutic_list_course_filesB

Lista los archivos/recursos descargables de un curso (con su URL de descarga).

dutic_download_fileA

Descarga un archivo del aula virtual a una ruta local. Acepta la URL de vista del módulo o directamente una URL de pluginfile.php.

dutic_read_resourceA

Descarga un recurso del aula (PDF, texto…) y devuelve su CONTENIDO como Markdown listo para analizar, SIN gastar tokens en el binario. Convierte PDFs a texto automáticamente. Úsalo cuando el usuario quiera que analices, resumas o extraigas algo de un material del curso (sílabo, informe, guía, lectura). Para binarios no soportados (docx, imágenes) avisa y sugiere descargar. Acepta la URL de vista del módulo o de pluginfile.php.

dutic_check_changesA

Compara el estado académico actual con la última vez que se revisó y devuelve QUÉ cambió: tareas nuevas (incl. ocultas), notas recién publicadas o modificadas, cambios de estado de entrega y de fecha. Actualiza la línea base salvo que save sea false. Ideal para responder '¿hay algo nuevo?' o para un chequeo periódico. Usa datos frescos (ignora la caché).

dutic_get_sisacad_gradesA

Devuelve las notas parciales OFICIALES de SISACAD que el usuario capturó con dutic sisacad (sistema aparte del aula, protegido con CAPTCHA; el usuario hace su propio login). Cada curso trae sus ítems (parcial, nota 0-20, peso %, ausente) y el weightedAverageSoFar (promedio ponderado con lo ya calificado). Sólo lee lo ya guardado — no abre navegador ni accede a datos de terceros. Si no hay datos, indícale al usuario que ejecute dutic sisacad en una terminal.

dutic_compare_gradesA

Compara el promedio ponderado de SISACAD (oficial) con el total que calcula Moodle, curso por curso (usando el nombre normalizado, sin confundir 'II' con 'III'). Útil para detectar si el aula virtual y el sistema oficial de notas están desincronizados. Requiere haber capturado antes con dutic sisacad; si no hay datos, avisa al usuario.

dutic_whoamiA

Devuelve el perfil del propio usuario: nombre, correo institucional e id.

dutic_get_assignment_detailA

Devuelve TODO lo de una tarea: la consigna/instrucciones completas, los archivos adjuntos a la consigna (guías, rúbricas — puedes leerlos con dutic_read_resource), fechas oficiales de apertura y cierre, estado de entrega, nota y quién calificó. IMPORTANTE: incluye dateConflict y datesInDescription — los docentes a veces escriben en el texto una fecha distinta a la configurada en Moodle; si dateConflict es true, AVISA al usuario de la discrepancia. Úsalo cuando el usuario pregunte qué pide una tarea o cuándo se entrega.

dutic_list_participantsA

Lista TODOS los participantes de un curso recorriendo la paginación (nombre, rol, grupo, último acceso y, con withEmail, su correo institucional). Si el curso usa grupos separados, Moodle sólo muestra a los del grupo del usuario — es lo mismo que ve en la web. Úsalo para saber quiénes son sus compañeros o de qué grupo es alguien.

dutic_find_personA

Busca a una persona entre los participantes de TODOS los cursos del usuario, por nombre o por correo. Abre su perfil y devuelve su correo, su acceso MÁS RECIENTE (lastAccess + lastSeenAgoSeconds; se toma el más reciente entre todos los cursos, no el más antiguo) y TODOS sus cursos reales (course id + grupo, GA = Grupo A). Cada curso trae shared: true/false según si TÚ llevas exactamente ese curso (mismo course id — nunca confunde tu sección con la suya) y, si lo compartes, su lastAccess a ese curso. sharedCount = cuántos comparten. Úsalo para '¿quién es X?', '¿qué cursos lleva X?', '¿cuándo se conectó X?' o buscar por correo.

dutic_get_person_profileA

Perfil de CUALQUIER usuario por su userId (sirve también para DOCENTES): nombre, correo, ROL ('Estudiante'/'Profesor' — así confirmas si es docente), zona horaria y TODOS sus cursos reales con course id y grupo. Sin courseId, prueba automáticamente tus propios cursos hasta encontrar uno que la persona también curse/dicte — no hace falta que el usuario lo busque a mano. Puede recibir un array de userIds (máx. 50) para resolver múltiples perfiles en lote.

dutic_fetch_pageA

Descarga CUALQUIER página del aula virtual con la sesión activa y devuelve su contenido. Pensada para explorar Moodle 'jugando con las URLs' — cambiar ids, ver páginas a las que no llegas por un botón: perfiles (user/view.php?id=N), cursos, foros, calificadores, etc. format: 'text' (texto legible), 'html' (crudo, para inspeccionar), 'links' (sólo enlaces internos, para descubrir a dónde navegar). Restringida al host del aula. Úsala cuando el usuario quiera investigar algo que las otras herramientas no cubren, o para descubrir ids.

dutic_get_course_teachersA

Identifica a los docentes del curso combinando los contactos del curso, los roles del listado y —lo que suele funcionar en esta aula— el nombre de quien calificó las tareas. Úsalo cuando el usuario pregunte quién es su profesor de un curso.

dutic_get_gradesA

Devuelve las calificaciones del usuario. Sin courseId: resumen de TODOS los cursos (nota total + cuántos ítems quedan por calificar). Con courseId: detalle por ítem (nota, rango, porcentaje, peso). Úsalo cuando el usuario pregunte por sus notas, promedio, o cómo va en un curso.

dutic_list_course_materialsA

Lista TODOS los archivos descargables de un curso, expandiendo las carpetas a sus archivos reales (diapositivas, lecturas, prácticas…). Devuelve nombre, URL, sección (unidad) y carpeta. Úsalo para saber qué materiales hay, y por qué unidad, antes de leer o descargar. Con section filtras a una unidad concreta.

dutic_study_courseA

Descarga todos los materiales de un curso a un directorio y CONVIERTE los PDFs a Markdown (.md) organizados por carpeta, para estudiar/analizar offline sin gastar tokens en binarios. Devuelve el manifiesto de lo guardado. Úsalo cuando el usuario quiera 'preparar/bajar el material para estudiar' de un curso. Con section bajas sólo esa unidad — útil para no descargar todo de golpe cuando el usuario quiere estudiar una unidad concreta.

dutic_pull_course_filesB

Descarga en bloque todos los archivos/recursos de un curso a un directorio local. Devuelve la lista de archivos guardados con su tamaño.

dutic_pdf_to_markdownA

Convierte un PDF que ya está en disco a Markdown/texto para analizarlo sin gastar tokens en el binario. Opcionalmente guarda el resultado en outPath. No requiere sesión de Moodle.

dutic_session_statusA

Indica si hay una sesión válida, el semestre y cuándo caduca.

dutic_refresh_sessionA

Intenta renovar la sesión sin interacción (si el SSO de Google sigue vivo). Si falla, hay que ejecutar dutic login en una terminal.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JOSETRA44/DUTIC-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server