Skip to main content
Documentation

Available tools

Why not one tool per Moodle function

Moodle exposes hundreds of web-service functions per role. Listing one MCP tool for each would break tool import in some clients and degrade answer quality in others, so the exposed surface is decoupled from the invocable catalog.

An assistant sees around fifteen tools no matter how large your Moodle's catalog is, and reaches everything else on demand.

The curated set

The most common tasks are exposed as first-class tools, filtered by the key's Moodle roles:

ToolWhat it answers
core_webservice_get_site_infoSite name, version, who you are
core_enrol_get_users_coursesWhich courses a user is enrolled in
core_course_get_courses_by_fieldLook up a course by id, shortname…
core_course_get_contentsSections, activities and resources of a course
core_enrol_get_enrolled_usersParticipants of a course
gradereport_user_get_grade_itemsA user's grades in a course
core_calendar_get_calendar_eventsUpcoming events and deadlines
mod_assign_get_assignmentsAssignments across courses
mod_forum_get_forum_discussionsDiscussions in a forum
core_message_get_messagesA user's messages
core_group_get_course_groupsGroups in a course
core_user_get_users_by_fieldLook up a user by id, email, username
moodle_request_file_uploadGet a temporary upload URL — see Uploading files

The gateway

Three meta-tools reach the rest of the catalog without listing it:

  • moodle_find_tools(query) — search the full role-allowed catalog by keyword. Returns up to 25 matches, so discovery never floods the assistant's context.
  • moodle_tool_schema(name) — fetch one tool's input schema.
  • moodle_run_tool(name, arguments) — execute any role-allowed tool.

In practice the assistant searches, reads the schema and runs the call — which is why it can do things that aren't in the table above without you configuring anything.

What the plugin adds

Beyond Moodle's own functions, local_mcpconnector ships its own external functions for tasks Moodle's core web services don't cover: creating quizzes, SCORM and H5P activities, file resources, importing questions, issuing badges, and backing up or restoring courses. They appear in the catalog like any other tool and obey the same role gate.

Limits that always apply

  • Roles — a tool the key's roles don't allow is neither listed nor runnable.
  • Key restrictions — read-only, allowed tools and allowed courses are enforced server-side on every call, including through the gateway. See Keys & permissions.
  • Approval in the chat — in the panel's chat, only read-only discovery tools run unattended; anything that could change Moodle asks you first.

Those checks run on the server, so an assistant cannot negotiate its way past them.