Tools reference¶
63 tools in version 0.8.6. By scope: 26 read, 26 write and 11 admin. The reference groups them in two pages: 27 read tools (the 26 read ones plus search_users) and 36 write tools (the 26 write ones plus the other 10 admin ones). Clients discover them with tools/list. Disabled tools, write tools while write mode is off, and tools whose scope the user or token cannot use are not listed. Errors inside a tool come back as a tool error with a short message (for example Course not found.).
Besides tools, the server offers three MCP prompts (design_course, create_quiz_from_content, grade_assignment).
Read · General¶
| Tool | Moodle permission |
|---|---|
site_info |
None. server details only with moodle/site:config |
search_courses |
Course visibility for the user |
list_categories |
Category visibility; canCreate reflects moodle/course:create |
get_course_structure |
Course access |
list_participants |
moodle/course:viewparticipants (moodle/site:viewuseridentity for email, moodle/site:accessallgroups for every group) |
list_activities |
Course access |
get_grades_summary |
moodle/grade:view; moodle/grade:viewall for averages and other users; hidden grades need moodle/grade:viewhidden |
get_task_status |
Only the user who queued the task, or a site administrator |
get_activity_settings |
moodle/course:manageactivities |
Read · Student¶
| Tool | Moodle permission |
|---|---|
get_my_deadlines |
That user's calendar action events; activity visibility |
get_my_grades |
moodle/grade:view in each course |
get_my_progress |
Course access |
get_assignment_details |
mod/assign:view |
get_forum_posts |
mod/forum:viewdiscussion |
get_calendar_events |
Calendar visibility |
search_course_content |
Visible activities only |
Read · Teacher¶
| Tool | Moodle permission |
|---|---|
get_ungraded_work |
mod/assign:grade, mod/quiz:grade |
get_inactive_students |
moodle/course:viewparticipants and report/outline:view |
get_submissions_status |
mod/assign:grade (moodle/site:accessallgroups to see every group) |
get_submission |
mod/assign:grade (mod/assign:viewblinddetails to see identities under blind marking) |
get_quiz_results |
mod/quiz:viewreports |
get_activity_completion_report |
report/progress:view |
get_course_logs_summary |
report/log:view |
get_forum_unanswered |
mod/forum:viewdiscussion |
Read · Messaging¶
| Tool | Moodle permission |
|---|---|
list_conversations |
Only the user's own conversations |
get_conversation_messages |
Membership of the conversation |
Read · Accounts (admin scope)¶
| Tool | Moodle permission |
|---|---|
search_users |
Scope admin and moodle/user:viewdetails (system) |
Write · Courses and activities¶
| Tool | Moodle permission |
|---|---|
create_course |
moodle/course:create in the category; a copy also needs moodle/backup:backupcourse and moodle/backup:backuptargetimport (moodle/backup:userinfo with user data) |
add_section |
moodle/course:update |
add_activity |
moodle/course:manageactivities and mod/<type>:addinstance (moodle/grade:managegradingforms for a rubric) |
update_activity |
Moodle's normal activity update check (moodle/course:manageactivities); moodle/course:activityvisibility to change visible |
set_visibility |
moodle/course:visibility, moodle/course:sectionvisibility or moodle/course:activityvisibility, depending on the target |
delete_activity |
moodle/course:manageactivities |
delete_section |
moodle/course:update |
build_course |
New course: moodle/course:create in the category; existing course: moodle/course:manageactivities |
update_course |
Per field: moodle/course:changefullname (fullName), moodle/course:changeshortname (shortName), moodle/course:changesummary (summary and the image), moodle/course:visibility (visible), moodle/course:setforcedlanguage (lang); everything else moodle/course:update |
set_course_image |
moodle/course:update |
set_course_completion |
moodle/course:update |
set_availability |
Activities moodle/course:manageactivities; sections moodle/course:update |
Write · Quizzes and questions¶
| Tool | Moodle permission |
|---|---|
create_quiz |
moodle/course:manageactivities and mod/quiz:addinstance |
add_quiz_questions |
mod/quiz:manage and moodle/question:add (moodle/question:managecategory to create a category) |
import_questions |
moodle/question:add (mod/quiz:manage to add them to a quiz) |
Write · Grading¶
| Tool | Moodle permission |
|---|---|
grade_submission |
Scope write, write tools enabled and mod/assign:grade |
Write · Enrolment, roles and groups¶
| Tool | Moodle permission |
|---|---|
enrol_user |
enrol/manual:enrol |
unenrol_user |
enrol/manual:unenrol |
set_user_role |
moodle/role:assign |
create_group |
moodle/course:managegroups |
add_group_members |
moodle/course:managegroups |
remove_group_members |
moodle/course:managegroups |
Write · Forums and messaging¶
| Tool | Moodle permission |
|---|---|
create_forum_discussion |
mod/forum:addnews in the announcements forum, mod/forum:startdiscussion elsewhere; mod/forum:pindiscussions for pinned |
reply_forum_post |
mod/forum:replynews in the announcements forum, mod/forum:replypost elsewhere |
send_private_message |
moodle/site:sendmessage |
reply_conversation |
moodle/site:sendmessage and membership of the conversation |
Write · User accounts (admin scope)¶
| Tool | Moodle permission |
|---|---|
create_user |
Scope admin, write tools enabled and moodle/user:create (system) |
create_users |
Scope admin, write tools enabled and moodle/user:create (system) |
update_user |
Scope admin, write tools enabled and moodle/user:update (system) |
suspend_user |
Scope admin, write tools enabled and moodle/user:update (system) |
unsuspend_user |
Scope admin, write tools enabled and moodle/user:update (system) |
Write · Site policies (admin scope)¶
| Tool | Moodle permission |
|---|---|
set_site_policy_handler |
Scope admin, write tools enabled and moodle/site:config |
create_policy |
Scope admin, write tools enabled and tool/policy:managedocs |
update_policy |
Scope admin, write tools enabled and tool/policy:managedocs |
list_policies |
Scope admin, write tools enabled and tool/policy:managedocs |
get_policy_acceptances |
Scope admin, write tools enabled and tool/policy:viewacceptances |