Saltar a contenido

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:

{"query": "statistics", "limit": 5}

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:

{"courseId": 42}

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:

{"courseId": 42, "limit": 50}

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:

{"courseId": 42, "type": "assign"}

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:

{"courseId": 42}

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:

{"taskId": 7}

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:

{"courseId": 42}

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:

{"courseId": 42}

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:

{"cmid": 314}

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:

{"cmid": 201}

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:

{"courseId": 42, "query": "photosynthesis"}

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:

{"cmid": 314}

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:

{"cmid": 315}

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:

{"courseId": 42, "days": 21}

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:

{"courseId": 42}

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:

{"courseId": 42, "days": 7}

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:

{"courseId": 42}