Saltar a contenido

Tools de lectura

27 tools de lectura: 26 con alcance read y search_users. Alcance read y capability local/mcpserver:read (por defecto, cualquier usuario autenticado), salvo search_users, que necesita el alcance admin. Cada tool respeta además lo que el usuario puede ver en Moodle. Las tools que reciben courseId aceptan también courseShortname; envía solo uno de los dos. Cuando una tool identifica a una persona, userId, username y email son alternativas: rellena solo uno.

Esta referencia sale de los esquemas de las tools de la versión 0.8.6. Los valores de format, auth, role y campos parecidos dependen de lo que tenga activado el sitio.

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, user, plugin, scopes[], server.

Alcance: read. Permisos de Moodle: Ninguno. Los datos de server solo con moodle/site:config.

Ejemplo de argumentos:

{}

search_courses

Busca cursos por nombre, nombre corto o número de id. Solo devuelve los cursos que el usuario puede ver.

Parámetro Tipo Obligatorio Por defecto Descripción
query string no "" Texto que se busca en el nombre, nombre corto, número de id o resumen del curso. (máx. 255)
limit integer no 20 Máximo de filas que se devuelven. (1–50)
offset integer no 0 Filas que se saltan.

Devuelve: total, courses[].

Alcance: read. Permisos de Moodle: Visibilidad del curso para el usuario.

Ejemplo de argumentos:

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

list_categories

Lista las categorías de cursos visibles para el usuario. Cada fila trae id, name, idnumber, path, courseCount y canCreate (moodle/course:create en esa categoría). query filtra por nombre, idnumber o ruta; onlyCreatable deja solo las categorías donde el usuario puede crear un curso.

Parámetro Tipo Obligatorio Por defecto Descripción
query string no "" Texto opcional que se busca en el nombre, el idnumber y la ruta.
onlyCreatable boolean no false Si es true, solo categorías donde el usuario puede crear un curso.

Devuelve: categories[].

Alcance: read. Permisos de Moodle: Visibilidad de la categoría; canCreate refleja moodle/course:create.

Ejemplo de argumentos:

{"onlyCreatable": true}

get_course_structure

Devuelve las secciones de un curso y, en cada una, las actividades que el usuario puede ver.

Parámetro Tipo Obligatorio Por defecto Descripción
courseId integer uno de courseId / courseShortname — Id del curso de Moodle. Alternativa a courseShortname. Envía solo uno de los dos.
courseShortname string uno de courseId / courseShortname — Nombre corto exacto del curso. Alternativa a courseId para el mismo curso. Envía solo uno de los dos. (máx. 255)

Devuelve: courseId, sections[].

Alcance: read. Permisos de Moodle: Acceso al curso.

Ejemplo de argumentos:

{"courseShortname": "STAT101"}

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 uno de courseId / courseShortname — Id del curso de Moodle. Alternativa a courseShortname. Envía solo uno de los dos.
courseShortname string uno de courseId / courseShortname — Nombre corto exacto del curso. Alternativa a courseId para el mismo curso. Envía solo uno de los dos. (máx. 255)
limit integer no 50 Máximo de filas que se devuelven. (1–200)
offset integer no 0 Filas que se saltan.

Devuelve: courseId, total, participants[].

Alcance: read. Permisos de Moodle: moodle/course:viewparticipants (moodle/site:viewuseridentity para el email, moodle/site:accessallgroups para todos los grupos).

Ejemplo de argumentos:

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

list_activities

Lista las actividades de un curso. Filtra por tipo de actividad o número de sección.

Parámetro Tipo Obligatorio Por defecto Descripción
courseId integer uno de courseId / courseShortname — Id del curso de Moodle. Alternativa a courseShortname. Envía solo uno de los dos.
courseShortname string uno de courseId / courseShortname — Nombre corto exacto del curso. Alternativa a courseId para el mismo curso. Envía solo uno de los dos. (máx. 255)
type string no — Nombre del módulo de actividad, por ejemplo page, assign o quiz. (máx. 32)
section integer no — Número de sección. Omítelo para incluir todas las secciones visibles.

Devuelve: courseId, activities[].

Alcance: read. Permisos de Moodle: Acceso al curso.

Ejemplo de argumentos:

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

get_grades_summary

Resume los elementos de calificación. Las medias siguen el ajuste de mostrar media del informe de usuario 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 uno de courseId / courseShortname — Id del curso de Moodle. Alternativa a courseShortname. Envía solo uno de los dos.
courseShortname string uno de courseId / courseShortname — Nombre corto exacto del curso. Alternativa a courseId para el mismo curso. Envía solo uno de los dos. (máx. 255)
userId integer no — Una de tres formas alternativas de identificar al mismo usuario. Rellena solo uno de userId, username o email. Aquí es opcional. Otra persona requiere moodle/grade:viewall.
username string no — Una de tres formas alternativas de identificar al mismo usuario. Rellena solo uno de userId, username o email. Aquí es opcional. Otra persona requiere moodle/grade:viewall. (máx. 100)
email string no — Una de tres formas alternativas de identificar al mismo usuario. Rellena solo uno de userId, username o email. Aquí es opcional. Otra persona requiere moodle/grade:viewall. (máx. 100)

Devuelve: courseId, canViewAll, items[].

Alcance: read. 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. El estado es pending, running, finished o failed. Una copia terminada incluye el id del curso nuevo; una tarea fallida, el error. Solo puede leerla quien la encoló o un administrador del sitio.

Parámetro Tipo Obligatorio Por defecto Descripción
taskId integer sí — Id devuelto al encolar la tarea.

Devuelve: taskId, taskType, status, courseId, error.

Alcance: read. Permisos de Moodle: Solo el usuario que encoló la tarea o un administrador del sitio.

Ejemplo de argumentos:

{"taskId": 7}

get_activity_settings

Lee los ajustes del formulario de una actividad y las claves que aceptan add_activity y update_activity en settings. settings usa los mismos nombres que el formulario de la actividad, incluidos visible, cmidnumber, groupmode, los campos de finalización y availabilityconditionsjson.

Parámetro Tipo Obligatorio Por defecto Descripción
cmid integer sí — Id del módulo de curso.

Devuelve: cmid, courseId, type, name, settings, acceptedKeys.

Alcance: read. Permisos de Moodle: moodle/course:manageactivities.

Ejemplo de argumentos:

{"cmid": 314}

Estudiante

get_my_deadlines

Plazos del usuario entre dos momentos, a partir de los eventos de acción del calendario. Solo incluye actividades que el usuario puede ver. El estado es pending o submitted.

Parámetro Tipo Obligatorio Por defecto Descripción
from integer no — Inicio del rango como marca de tiempo Unix. Por defecto, ahora.
to integer no — Fin del rango como marca de tiempo Unix. Por defecto, 30 días después de from.
courseId integer no — Limita a un curso que el usuario puede abrir. Alternativa a courseShortname. Envía solo uno de los dos.
courseShortname string no — Nombre corto exacto del curso. Alternativa a courseId para el mismo curso. Envía solo uno de los dos. (máx. 255)
limit integer no 20 Máximo de filas que se devuelven. (1–50)

Devuelve: from, to, deadlines[].

Alcance: read. Permisos de Moodle: Eventos de acción del calendario de ese usuario; visibilidad de la actividad.

Ejemplo de argumentos:

{"limit": 10}

get_my_grades

Notas y retroalimentación del usuario. Se omiten los elementos ocultos y las notas ocultas por un bloqueo. Solo cursos que el usuario puede abrir y donde tiene moodle/grade:view.

Parámetro Tipo Obligatorio Por defecto Descripción
courseId integer no — Un curso. Omítelo para leer todos los cursos matriculados. Alternativa a courseShortname. Envía solo uno de los dos.
courseShortname string no — Nombre corto exacto del curso. Alternativa a courseId para el mismo curso. Envía solo uno de los dos. (máx. 255)

Devuelve: courses[].

Alcance: read. Permisos de Moodle: moodle/grade:view en cada curso.

Ejemplo de argumentos:

{"courseId": 42}

get_my_progress

Finalización de actividades del usuario. Se omiten las actividades ocultas y no disponibles.

Parámetro Tipo Obligatorio Por defecto Descripción
courseId integer uno de courseId / courseShortname — Id del curso de Moodle. Alternativa a courseShortname. Envía solo uno de los dos.
courseShortname string uno de courseId / courseShortname — Nombre corto exacto del curso. Alternativa a courseId para el mismo curso. Envía solo uno de los dos. (máx. 255)

Devuelve: courseId, enabled, completed, total, activities[].

Alcance: read. 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 evaluación y el estado de la entrega del usuario. No devuelve entregas de otros usuarios.

Parámetro Tipo Obligatorio Por defecto Descripción
cmid integer sí — Id del módulo de curso de la tarea.

Devuelve: cmid, name, dueDate, status, submitted.

Alcance: read. 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 mensajes 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 de curso del foro.
limit integer no 20 Máximo de filas que se devuelven. (1–50)

Devuelve: cmid, name, posts[].

Alcance: read. Permisos de Moodle: mod/forum:viewdiscussion.

Ejemplo de argumentos:

{"cmid": 315, "limit": 10}

get_calendar_events

Próximos eventos del calendario del usuario: eventos del sitio y de los cursos que puede abrir. Se omiten los eventos ocultos.

Parámetro Tipo Obligatorio Por defecto Descripción
from integer no — Inicio del rango. Por defecto, ahora.
to integer no — Fin del rango. Por defecto, 30 días después de from.
courseId integer no — Limita los eventos de curso a este curso. Los eventos del sitio se siguen incluyendo. Alternativa a courseShortname. Envía solo uno de los dos.
courseShortname string no — Nombre corto exacto del curso. Alternativa a courseId para el mismo curso. Envía solo uno de los dos. (máx. 255)
limit integer no 20 Máximo de filas que se devuelven. (1–50)

Devuelve: events[].

Alcance: read. Permisos de Moodle: Visibilidad del calendario.

Ejemplo de argumentos:

{"courseId": 42}

search_course_content

Busca en las 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 uno de courseId / courseShortname — Id del curso de Moodle. Alternativa a courseShortname. Envía solo uno de los dos.
courseShortname string uno de courseId / courseShortname — Nombre corto exacto del curso. Alternativa a courseId para el mismo curso. Envía solo uno de los dos. (máx. 255)
query string sí — Texto a buscar. (máx. 200)
limit integer no 20 Máximo de filas que se devuelven. (1–50)

Devuelve: courseId, engine, results[].

Alcance: read. Permisos de Moodle: Solo actividades visibles.

Ejemplo de argumentos:

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

Profesor

get_ungraded_work

Tareas y cuestionarios pendientes de nota en los cursos donde el usuario puede calificar. Sin capability de calificar, la lista sale vacía. Respeta los grupos separados.

Parámetro Tipo Obligatorio Por defecto Descripción
courseId integer no — Limita a un curso. Omítelo para revisar todos los cursos en los que está matriculado el usuario. Alternativa a courseShortname. Envía solo uno de los dos.
courseShortname string no — Nombre corto exacto del curso. Alternativa a courseId para el mismo curso. Envía solo uno de los dos. (máx. 255)
limit integer no 20 Máximo de filas que se devuelven. (1–50)

Devuelve: activities[].

Alcance: read. Permisos de Moodle: mod/assign:grade, mod/quiz:grade.

Ejemplo de argumentos:

{"courseId": 42}

get_inactive_students

Estudiantes (usuarios que aparecen en los informes de finalización) 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 uno de courseId / courseShortname — Id del curso de Moodle. Alternativa a courseShortname. Envía solo uno de los dos.
courseShortname string uno de courseId / courseShortname — Nombre corto exacto del curso. Alternativa a courseId para el mismo curso. Envía solo uno de los dos. (máx. 255)
days integer no 14 Sin acceso al curso durante este número de días cuenta como inactivo. (1–365)
completionBelow integer no — Incluye también a quienes tienen un porcentaje de finalización por debajo de este valor. (0–100)
limit integer no 50 Máximo de filas que se devuelven. (1–200)
offset integer no 0 Filas que se saltan.

Devuelve: courseId, total, students[].

Alcance: read. Permisos de Moodle: moodle/course:viewparticipants y report/outline:view.

Ejemplo de argumentos:

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

get_submissions_status

Estado de las entregas de una tarea: entregadas, sin entregar y pendientes de nota. Requiere mod/assign:grade. Respeta los grupos separados.

Parámetro Tipo Obligatorio Por defecto Descripción
cmid integer sí — Id del módulo de curso de la tarea.
limit integer no 50 Máximo de filas que se devuelven. (1–200)

Devuelve: cmid, participants, submitted, needsGrading, notSubmitted[].

Alcance: read. Permisos de Moodle: mod/assign:grade (moodle/site:accessallgroups para ver todos los grupos).

Ejemplo de argumentos:

{"cmid": 314}

get_submission

Lee la entrega de un estudiante: texto en línea en texto plano, archivos (con el texto de txt, md, html y PDF sencillos), estado, fecha, intento, nota actual, comentario de retroalimentación y la rúbrica o guía de evaluación con los niveles elegidos. Identifica al estudiante con userId, username o email, solo uno. Requiere mod/assign:grade. Respeta los grupos separados y la calificación anónima.

Parámetro Tipo Obligatorio Por defecto Descripción
cmid integer sí — Id del módulo de curso de la tarea.
userId integer no — Una de tres formas alternativas de identificar al mismo usuario. Rellena solo uno de userId, username o email.
username string no — Una de tres formas alternativas de identificar al mismo usuario. Rellena solo uno de userId, username o email. (máx. 100)
email string no — Una de tres formas alternativas de identificar al mismo usuario. Rellena solo uno de userId, username o email. (máx. 100)

Devuelve: cmid, courseId, name, userId, fullName, status, submitted, attempt, timeModified, onlineText, files[], grade, gradeMax, gradeTime, comment, grading.

Alcance: read. Permisos de Moodle: mod/assign:grade (mod/assign:viewblinddetails para ver identidades con calificación anónima).

Ejemplo de argumentos:

{"cmid": 314, "username": "ada"}

get_quiz_results

Nota media del cuestionario (escalada al máximo del cuestionario) y las preguntas más falladas. Requiere mod/quiz:viewreports. Respeta los grupos separados.

Parámetro Tipo Obligatorio Por defecto Descripción
cmid integer sí — Id del módulo de curso del cuestionario.

Devuelve: cmid, attempts, average, questions[].

Alcance: read. Permisos de Moodle: mod/quiz:viewreports.

Ejemplo de argumentos:

{"cmid": 316}

get_activity_completion_report

Número de usuarios que han completado o no cada actividad, según el informe de finalización. Respeta los grupos separados. Se omiten las actividades ocultas.

Parámetro Tipo Obligatorio Por defecto Descripción
courseId integer uno de courseId / courseShortname — Id del curso de Moodle. Alternativa a courseShortname. Envía solo uno de los dos.
courseShortname string uno de courseId / courseShortname — Nombre corto exacto del curso. Alternativa a courseId para el mismo curso. Envía solo uno de los dos. (máx. 255)

Devuelve: courseId, enabled, activities[].

Alcance: read. 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 uno de courseId / courseShortname — Id del curso de Moodle. Alternativa a courseShortname. Envía solo uno de los dos.
courseShortname string uno de courseId / courseShortname — Nombre corto exacto del curso. Alternativa a courseId para el mismo curso. Envía solo uno de los dos. (máx. 255)
days integer no 7 Cuántos días hacia atrás se leen. (1–90)

Devuelve: courseId, events, components[].

Alcance: read. Permisos de Moodle: report/log:view.

Ejemplo de argumentos:

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

get_forum_unanswered

Debates sin respuesta en los foros de un curso que el usuario puede ver. Se aplican las restricciones de grupo y disponibilidad.

Parámetro Tipo Obligatorio Por defecto Descripción
courseId integer uno de courseId / courseShortname — Id del curso de Moodle. Alternativa a courseShortname. Envía solo uno de los dos.
courseShortname string uno de courseId / courseShortname — Nombre corto exacto del curso. Alternativa a courseId para el mismo curso. Envía solo uno de los dos. (máx. 255)
limit integer no 20 Máximo de filas que se devuelven. (1–50)

Devuelve: courseId, discussions[].

Alcance: read. Permisos de Moodle: mod/forum:viewdiscussion.

Ejemplo de argumentos:

{"courseId": 42}

Mensajería

list_conversations

Lista las conversaciones de mensajería de Moodle del usuario actual, con cuántos mensajes hay sin leer. Solo devuelve las conversaciones de las que el usuario forma parte.

Parámetro Tipo Obligatorio Por defecto Descripción
limit integer no 20 Número máximo de filas. (1–50)
offset integer no 0 Filas que se saltan.

Devuelve: conversations[].

Alcance: read. Permisos de Moodle: Solo las conversaciones del propio usuario.

Ejemplo de argumentos:

{"limit": 10}

get_conversation_messages

Lee los mensajes de una conversación de la que forma parte el usuario actual. No se marca nada como leído salvo que markAsRead sea true. Marcar como leído requiere el alcance write y la escritura activada.

Parámetro Tipo Obligatorio Por defecto Descripción
conversationId integer sí — Id de conversación devuelto por list_conversations.
limit integer no 20 Número máximo de filas. (1–100)
markAsRead boolean no false Si es true, marca la conversación como leída. Requiere el alcance write y la escritura activada.

Devuelve: conversationId, markedAsRead, messages[].

Alcance: read. Permisos de Moodle: Ser miembro de la conversación.

Ejemplo de argumentos:

{"conversationId": 17}

Cuentas (alcance admin)

search_users

Busca cuentas del sitio por nombre, usuario, email o idnumber. Devuelve id, usuario, nombre, email, si está suspendida y el último acceso. El email y el idnumber solo se buscan y devuelven si el usuario puede verlos. Requiere el alcance admin.

Parámetro Tipo Obligatorio Por defecto Descripción
query string sí — Texto que se busca en el nombre, el usuario y, cuando son visibles, el email o el idnumber. (máx. 100)
limit integer no 20 Máximo de filas que se devuelven. (1–50)

Devuelve: users[].

Alcance: admin. Permisos de Moodle: Alcance admin y moodle/user:viewdetails (sistema).

Ejemplo de argumentos:

{"query": "lovelace"}