Tools de lectura¶
Alcance read y capability local/mcp:read (por defecto, cualquier usuario autenticado). Cada tool respeta además lo que el usuario puede ver en Moodle.
General¶
site_info¶
Devuelve el nombre del sitio, la versión de Moodle y el usuario en cuyo nombre actúa el token.
Sin parámetros.
Devuelve: site (fullName, shortName, wwwRoot, release, branch), user (id, username, fullName), plugin (component, release, version, writeEnabled), scopes. server (php, database) solo para usuarios con moodle/site:config.
Ejemplo de argumentos:
search_courses¶
Busca cursos por nombre, nombre corto, número de id o resumen. Solo devuelve los cursos que el usuario puede ver.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
query |
string | no | "" |
Texto a buscar (máx. 255). |
limit |
integer | no | 20 |
Máximo de filas (1–50). |
offset |
integer | no | 0 |
Filas que se saltan. |
Devuelve: total, courses[] (id, shortName, fullName, categoryId, visible, idNumber).
Permisos de Moodle: Visibilidad del curso para el usuario.
Ejemplo de argumentos:
get_course_structure¶
Devuelve las secciones de un curso y las actividades de cada una que el usuario puede ver.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
courseId |
integer | sí | — | Id del curso de Moodle. |
Devuelve: courseId, fullName, shortName, format, sections[] (id, section, name, summary, visible, activities[]).
Permisos de Moodle: Acceso al curso.
Ejemplo de argumentos:
list_participants¶
Lista los participantes matriculados y sus roles. El email solo se incluye con permiso de identidad.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
courseId |
integer | sí | — | Id del curso de Moodle. |
limit |
integer | no | 50 |
Máximo de filas (1–200). |
offset |
integer | no | 0 |
Filas que se saltan. |
Devuelve: courseId, total, participants[] (id, username, fullName, roles; email solo con moodle/site:viewuseridentity).
Permisos de Moodle: moodle/course:viewparticipants. Se respetan los grupos salvo que el usuario tenga moodle/site:accessallgroups.
Ejemplo de argumentos:
list_activities¶
Lista las actividades de un curso, con filtro opcional por tipo o sección.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
courseId |
integer | sí | — | Id del curso de Moodle. |
type |
string | no | — | Nombre del módulo, p. ej. page, assign, quiz. |
section |
integer | no | — | Número de sección. Omítelo para todas las visibles. |
Devuelve: courseId, activities[].
Permisos de Moodle: Acceso al curso.
Ejemplo de argumentos:
get_grades_summary¶
Resume los elementos de calificación. Las medias de clase siguen el ajuste «mostrar media» del informe de usuario del curso y moodle/grade:viewall. El número de matriculados solo se devuelve a quien puede ver todas las notas.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
courseId |
integer | sí | — | Id del curso de Moodle. |
userId |
integer | no | — | Id de usuario. Requiere ver todas las notas salvo que sea el usuario actual. |
Devuelve: courseId, canViewAll, enrolled (null salvo que el usuario pueda ver todas las notas), items[] (itemId, name, type, module, gradeMax; average y gradedCount si se permiten medias de clase; finalGrade y percentage del usuario).
Permisos de Moodle: moodle/grade:view; moodle/grade:viewall para medias y otros usuarios; las notas ocultas requieren moodle/grade:viewhidden.
Ejemplo de argumentos:
get_task_status¶
Lee una tarea en segundo plano encolada por este servidor (una copia de curso de create_course o una ejecución de build_course).
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
taskId |
integer | sí | — | Id devuelto al encolar la tarea. |
Devuelve: taskId, taskType, status (pending, running, finished, failed); courseId si terminó; error si falló.
Permisos de Moodle: Solo el usuario que encoló la tarea o un administrador del sitio. Cualquier otro recibe el mismo error que si el id no existiera.
Ejemplo de argumentos:
Estudiante¶
Las tools get_my_* solo devuelven los datos del propio usuario.
get_my_deadlines¶
Plazos del usuario actual entre dos fechas, a partir de los eventos de acción del calendario. Solo actividades que puede ver. Estado pending o submitted.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
from |
integer | no | now |
Inicio del rango (timestamp Unix). |
to |
integer | no | from + 30 days |
Fin del rango. |
courseId |
integer | no | — | Limita a un curso que el usuario puede abrir. |
limit |
integer | no | 20 |
Máximo de filas (1–50). |
Devuelve: from, to, deadlines[] (con curso y URL).
Permisos de Moodle: Eventos de acción del calendario de ese usuario; visibilidad de la actividad.
Ejemplo de argumentos:
get_my_grades¶
Notas y comentarios del usuario actual. Se omiten los elementos ocultos y las notas ocultas por bloqueo.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
courseId |
integer | no | — | Un curso. Omítelo para todos sus cursos. |
Devuelve: courses[].
Permisos de Moodle: moodle/grade:view en cada curso.
Ejemplo de argumentos:
get_my_progress¶
Finalización de actividades del usuario actual en un curso. Se omiten las ocultas y no disponibles.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
courseId |
integer | sí | — | Id del curso de Moodle. |
Devuelve: courseId, enabled, completed, total, activities[].
Permisos de Moodle: Acceso al curso.
Ejemplo de argumentos:
get_assignment_details¶
Descripción de la tarea, fecha de entrega, rúbrica o guía de calificación y el estado de la entrega del propio usuario. No devuelve entregas de otros.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
cmid |
integer | sí | — | Id del módulo de la tarea. |
Devuelve: cmid, name, dueDate, status, submitted, más el enunciado y la rúbrica o guía si existen.
Permisos de Moodle: mod/assign:view.
Ejemplo de argumentos:
get_forum_posts¶
Últimos mensajes de un foro, incluido el de avisos. Se omiten los que el usuario no puede ver por grupos, disponibilidad o visibilidad.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
cmid |
integer | sí | — | Id del módulo del foro. |
limit |
integer | no | 20 |
Máximo de filas (1–50). |
Devuelve: cmid, name, posts[].
Permisos de Moodle: mod/forum:viewdiscussion.
Ejemplo de argumentos:
get_calendar_events¶
Próximos eventos del calendario: del sitio y de los cursos que el usuario puede abrir. Se omiten los ocultos.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
from |
integer | no | now |
Inicio del rango. |
to |
integer | no | from + 30 days |
Fin del rango. |
courseId |
integer | no | — | Limita los eventos de curso a este curso (se siguen incluyendo los del sitio). |
limit |
integer | no | 20 |
Máximo de filas (1–50). |
Devuelve: events[].
Permisos de Moodle: Visibilidad del calendario.
Ejemplo de argumentos:
search_course_content¶
Busca en páginas, etiquetas y recursos visibles de un curso. Usa la búsqueda global de Moodle si está activada; si no, busca en nombres, descripciones y contenido de páginas y etiquetas.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
courseId |
integer | sí | — | Id del curso de Moodle. |
query |
string | sí | — | Texto a buscar (2–200). |
limit |
integer | no | 20 |
Máximo de filas (1–50). |
Devuelve: courseId, engine, results[].
Permisos de Moodle: Solo actividades visibles.
Ejemplo de argumentos:
Profesor¶
Cada tool comprueba el permiso de informes o de calificación indicado. Sin él, el usuario recibe un error o una lista vacía.
get_submissions_status¶
Estado de entregas de una tarea: entregadas, sin entregar y pendientes de calificar. Respeta los grupos separados.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
cmid |
integer | sí | — | Id del módulo de la tarea. |
limit |
integer | no | 50 |
Máximo de filas (1–200). |
Devuelve: cmid, participants, submitted, needsGrading, notSubmitted[].
Permisos de Moodle: mod/assign:grade (moodle/site:accessallgroups para ver todos los grupos).
Ejemplo de argumentos:
get_ungraded_work¶
Tareas y cuestionarios pendientes de calificar en los cursos donde el usuario puede calificar. Sin permiso de calificar, la lista sale vacía.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
courseId |
integer | no | — | Un curso. Omítelo para revisar todos sus cursos. |
limit |
integer | no | 20 |
Máximo de filas (1–50). |
Devuelve: activities[] (con número pendiente y la entrega más antigua).
Permisos de Moodle: mod/assign:grade, mod/quiz:grade.
Ejemplo de argumentos:
get_quiz_results¶
Nota media del cuestionario (escalada al máximo) y las preguntas más falladas. Respeta los grupos separados.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
cmid |
integer | sí | — | Id del módulo del cuestionario. |
Devuelve: cmid, attempts, average, questions[].
Permisos de Moodle: mod/quiz:viewreports.
Ejemplo de argumentos:
get_inactive_students¶
Estudiantes sin acceso al curso en los días indicados, o con finalización por debajo de completionBelow. Respeta los grupos separados.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
courseId |
integer | sí | — | Id del curso de Moodle. |
days |
integer | no | 14 |
Días sin acceso (1–365). |
completionBelow |
integer | no | — | Incluye también a quien esté por debajo de este porcentaje (0–100). |
limit |
integer | no | 50 |
Máximo de filas (1–200). |
offset |
integer | no | 0 |
Filas que se saltan. |
Devuelve: courseId, total, students[].
Permisos de Moodle: moodle/course:viewparticipants y report/outline:view.
Ejemplo de argumentos:
get_activity_completion_report¶
Número de usuarios que han completado o no cada actividad. Respeta los grupos separados y omite las actividades ocultas.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
courseId |
integer | sí | — | Id del curso de Moodle. |
Devuelve: courseId, enabled, activities[].
Permisos de Moodle: report/progress:view.
Ejemplo de argumentos:
get_course_logs_summary¶
Recuento de eventos recientes del registro estándar del curso, agrupados por componente. Con grupos separados solo cuenta eventos de usuarios visibles.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
courseId |
integer | sí | — | Id del curso de Moodle. |
days |
integer | no | 7 |
Días hacia atrás (1–90). |
Devuelve: courseId, events, components[].
Permisos de Moodle: report/log:view.
Ejemplo de argumentos:
get_forum_unanswered¶
Debates sin respuesta en los foros del curso que el usuario puede ver. Se aplican grupos y restricciones de acceso.
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
courseId |
integer | sí | — | Id del curso de Moodle. |
limit |
integer | no | 20 |
Máximo de filas (1–50). |
Devuelve: courseId, discussions[].
Permisos de Moodle: mod/forum:viewdiscussion.
Ejemplo de argumentos: