Outils disponibles
Pourquoi pas un outil par fonction Moodle
Moodle expose des centaines de fonctions de services web par rôle. Lister un outil MCP pour chacune casserait l'import d'outils dans certains clients et dégraderait la qualité des réponses dans d'autres. La surface exposée est donc découplée du catalogue invocable.
Un assistant voit une quinzaine d'outils, quelle que soit la taille du catalogue de votre Moodle, et atteint le reste à la demande.
L'ensemble sélectionné
Les tâches les plus courantes sont exposées comme outils de premier niveau, filtrés par les rôles de la clé :
| Outil | Ce qu'il répond |
|---|---|
| core_webservice_get_site_info | Nom du site, version, qui vous êtes |
| core_enrol_get_users_courses | Les cours auxquels un utilisateur est inscrit |
| core_course_get_courses_by_field | Rechercher un cours par id, nom abrégé… |
| core_course_get_contents | Sections, activités et ressources d'un cours |
| core_enrol_get_enrolled_users | Participants d'un cours |
| gradereport_user_get_grade_items | Notes d'un utilisateur dans un cours |
| core_calendar_get_calendar_events | Événements et échéances à venir |
| mod_assign_get_assignments | Devoirs des cours |
| mod_forum_get_forum_discussions | Discussions d'un forum |
| core_message_get_messages | Messages d'un utilisateur |
| core_group_get_course_groups | Groupes d'un cours |
| core_user_get_users_by_field | Rechercher un utilisateur par id, courriel, identifiant |
| moodle_request_file_upload | Obtenir une URL d'envoi temporaire — voir envoyer des fichiers |
La passerelle
Trois méta-outils atteignent le reste du catalogue sans le lister :
- moodle_find_tools(requête) : recherche par mot-clé dans tout le catalogue autorisé par les rôles. Renvoie jusqu'à 25 résultats, de sorte que l'exploration n'inonde jamais le contexte de l'assistant.
- moodle_tool_schema(nom) : récupère le schéma d'entrée d'un outil.
- moodle_run_tool(nom, arguments) : exécute n'importe quel outil autorisé par les rôles.
En pratique, l'assistant cherche, lit le schéma et lance l'appel — c'est pourquoi il peut faire des choses absentes du tableau ci-dessus sans que vous configuriez quoi que ce soit.
Ce qu'apporte le plugin
Au-delà des fonctions natives de Moodle, local_mcpconnector fournit ses propres fonctions externes pour des tâches que les services web du cœur ne couvrent pas : créer des tests, des activités SCORM et H5P, des ressources fichier, importer des questions, délivrer des badges, sauvegarder ou restaurer des cours. Elles apparaissent dans le catalogue comme tout autre outil et respectent le même contrôle des rôles.
Le catalogue complet
Tous les outils atteints via la passerelle — le reste des fonctions propres de Moodle plus celles du plugin — apparaissent avec une brève description dans le catalogue complet des outils.
Les limites qui s'appliquent toujours
- Rôles : un outil que les rôles de la clé n'autorisent pas n'est ni listé ni exécutable.
- Restrictions de la clé : lecture seule, outils autorisés et cours autorisés sont appliqués côté serveur à chaque appel, y compris via la passerelle. Voir clés et permissions.
- Approbation dans le chat : dans le chat du panneau, seuls les outils de découverte en lecture seule s'exécutent sans supervision ; tout ce qui pourrait modifier Moodle vous demande d'abord.
Ces contrôles s'exécutent côté serveur : un assistant ne peut pas les contourner par la négociation.