Beschikbare tools
Waarom niet één tool per Moodle-functie
Moodle biedt per rol honderden webservicefuncties. Voor elke daarvan een MCP-tool tonen zou in sommige clients de toolimport breken en in andere de antwoordkwaliteit verslechteren. Daarom is het getoonde oppervlak losgekoppeld van de aanroepbare catalogus.
Een assistent ziet ongeveer vijftien tools, hoe groot de catalogus van je Moodle ook is, en bereikt de rest op aanvraag.
De samengestelde set
De meest voorkomende taken zijn eersteklas tools, gefilterd op de rollen van de sleutel:
| Tool | Wat het beantwoordt |
|---|---|
| core_webservice_get_site_info | Sitenaam, versie, wie je bent |
| core_enrol_get_users_courses | Voor welke cursussen iemand is ingeschreven |
| core_course_get_courses_by_field | Een cursus zoeken op id, korte naam… |
| core_course_get_contents | Secties, activiteiten en bronnen van een cursus |
| core_enrol_get_enrolled_users | Deelnemers van een cursus |
| gradereport_user_get_grade_items | Cijfers van iemand in een cursus |
| core_calendar_get_calendar_events | Komende gebeurtenissen en deadlines |
| mod_assign_get_assignments | Opdrachten in de cursussen |
| mod_forum_get_forum_discussions | Discussies in een forum |
| core_message_get_messages | Berichten van een gebruiker |
| core_group_get_course_groups | Groepen in een cursus |
| core_user_get_users_by_field | Een gebruiker zoeken op id, e-mail, gebruikersnaam |
| moodle_request_file_upload | Een tijdelijke upload-URL ophalen — zie bestanden uploaden |
De gateway
Drie meta-tools bereiken de rest van de catalogus zonder hem te tonen:
- moodle_find_tools(zoekterm) — doorzoekt de volledige, door de rollen toegestane catalogus op trefwoord. Geeft maximaal 25 resultaten, zodat zoeken de context van de assistent nooit overspoelt.
- moodle_tool_schema(naam) — haalt het invoerschema van één tool op.
- moodle_run_tool(naam, argumenten) — voert elke door de rollen toegestane tool uit.
In de praktijk zoekt de assistent, leest het schema en doet de aanroep — daarom kan hij dingen die niet in bovenstaande tabel staan, zonder dat jij iets instelt.
Wat de plug-in toevoegt
Naast Moodles eigen functies levert local_mcpconnector eigen externe functies voor taken die de kern-webservices niet dekken: toetsen, SCORM- en H5P-activiteiten, bestandsbronnen, vragen importeren, badges uitreiken en cursussen back-uppen of herstellen. Ze verschijnen in de catalogus als elke andere tool en volgen dezelfde rolcontrole.
De volledige catalogus
Alle tools die je via de gateway bereikt — de rest van Moodles eigen functies plus die van de plug-in — staan met een korte beschrijving in de volledige toolcatalogus.
Grenzen die altijd gelden
- Rollen — een tool die de rollen van de sleutel niet toestaan, wordt niet getoond en is niet uitvoerbaar.
- Sleutelbeperkingen — alleen-lezen, toegestane tools en toegestane cursussen worden serverzijdig bij elke aanroep afgedwongen, ook via de gateway. Zie sleutels en rechten.
- Goedkeuring in de chat — in de chat van het paneel draaien alleen lezende verkenningstools onbewaakt; alles wat Moodle kan wijzigen vraagt het eerst.
Die controles draaien op de server, dus een assistent kan er niet omheen onderhandelen.