dutic-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DUTIC_DATA_DIR | No | Directory to store session and profile data | ~/.dutic |
| DUTIC_SEMESTER | No | Semester, e.g. 2026A | 2026A |
| DUTIC_BROWSER_CHANNEL | No | Browser channel: chrome, msedge, or chromium | chrome |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 |
| dutic_get_sisacad_gradesA | Devuelve las notas parciales OFICIALES de SISACAD que el usuario capturó con |
| 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_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 |
| dutic_list_participantsA | Lista TODOS los participantes de un curso recorriendo la paginación (nombre, rol, grupo, último acceso y, con |
| 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 ( |
| 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 |
| 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. |
| 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 |
| 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 |
| 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 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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