Herramientas disponibles
Por qué no hay una herramienta por función de Moodle
Moodle expone cientos de funciones de servicio web por rol. Listar una herramienta MCP por cada una rompería la importación de herramientas en algunos clientes y empeoraría la calidad de las respuestas en otros, así que la superficie expuesta está desacoplada del catálogo invocable.
Un asistente ve alrededor de quince herramientas, por grande que sea el catálogo de tu Moodle, y llega al resto bajo demanda.
El conjunto curado
Las tareas más habituales se exponen como herramientas de primer nivel, filtradas por los roles de la clave:
| Herramienta | Qué responde |
|---|---|
| core_webservice_get_site_info | Nombre del sitio, versión y quién eres |
| core_enrol_get_users_courses | En qué cursos está matriculado un usuario |
| core_course_get_courses_by_field | Buscar un curso por id, nombre corto… |
| core_course_get_contents | Secciones, actividades y recursos de un curso |
| core_enrol_get_enrolled_users | Participantes de un curso |
| gradereport_user_get_grade_items | Calificaciones de un usuario en un curso |
| core_calendar_get_calendar_events | Próximos eventos y fechas límite |
| mod_assign_get_assignments | Tareas de los cursos |
| mod_forum_get_forum_discussions | Debates de un foro |
| core_message_get_messages | Mensajes de un usuario |
| core_group_get_course_groups | Grupos de un curso |
| core_user_get_users_by_field | Buscar un usuario por id, correo o nombre de usuario |
| moodle_request_file_upload | Obtener una URL temporal de subida; ver subir archivos |
La pasarela
Tres meta-herramientas alcanzan el resto del catálogo sin listarlo:
- moodle_find_tools(consulta): busca por palabra clave en todo el catálogo permitido por los roles. Devuelve hasta 25 resultados, de modo que la exploración nunca inunda el contexto del asistente.
- moodle_tool_schema(nombre): obtiene el esquema de entrada de una herramienta.
- moodle_run_tool(nombre, argumentos): ejecuta cualquier herramienta permitida por los roles.
En la práctica el asistente busca, lee el esquema y ejecuta la llamada, que es por lo que puede hacer cosas que no aparecen en la tabla anterior sin que configures nada.
Qué aporta el plugin
Más allá de las funciones propias de Moodle, local_mcpconnector incluye sus propias funciones externas para tareas que los servicios web del núcleo no cubren: crear cuestionarios, actividades SCORM y H5P, recursos de archivo, importar preguntas, emitir insignias y hacer copias de seguridad o restaurar cursos. Aparecen en el catálogo como cualquier otra herramienta y respetan el mismo control de roles.
Catálogo completo
Todas las herramientas a las que se llega a través de la pasarela — el resto de funciones propias de Moodle más las del plugin — aparecen con una descripción breve en el catálogo completo de herramientas.
Límites que siempre se aplican
- Roles: una herramienta que los roles de la clave no permitan ni se lista ni se puede ejecutar.
- Restricciones de la clave: solo lectura, herramientas permitidas y cursos permitidos se comprueban en el servidor en cada llamada, también a través de la pasarela. Consulta claves y permisos.
- Aprobación en el chat: en el chat del panel solo se ejecutan sin supervisión las herramientas de exploración de solo lectura; cualquier cosa que pueda cambiar Moodle te pregunta antes.
Esas comprobaciones se ejecutan en el servidor, así que un asistente no puede negociar para saltárselas.