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:
| Tool | What it answers |
|---|---|
core_webservice_get_site_info | Site name, version, who you are |
core_enrol_get_users_courses | Which courses a user is enrolled in |
core_course_get_courses_by_field | Look up a course by id, shortname… |
core_course_get_contents | Sections, activities and resources of a course |
core_enrol_get_enrolled_users | Participants of a course |
gradereport_user_get_grade_items | A user's grades in a course |
core_calendar_get_calendar_events | Upcoming events and deadlines |
mod_assign_get_assignments | Assignments across courses |
mod_forum_get_forum_discussions | Discussions in a forum |
core_message_get_messages | A user's messages |
core_group_get_course_groups | Groups in a course |
core_user_get_users_by_field | Look up a user by id, email, username |
moodle_request_file_upload | Get 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.