Tools
| Name | Description |
|---|---|
list_coursesList all courses in the Moodle instance | List all courses in the Moodle instance |
get_courseGet details of a specific course by ID | Get details of a specific course by ID |
create_courseCreate a Moodle course with core_course_create_courses. | Create a Moodle course with core_course_create_courses. |
update_courseUpdate a Moodle course with core_course_update_courses. | Update a Moodle course with core_course_update_courses. |
delete_courseDelete one Moodle course with core_course_delete_courses. | Delete one Moodle course with core_course_delete_courses. |
list_usersSearch for users by criteria | Search for users by criteria |
create_userCreate a new user in Moodle | Create a new user in Moodle |
update_userUpdate a Moodle user with core_user_update_users. | Update a Moodle user with core_user_update_users. |
get_enrolled_usersList users enrolled in a Moodle course. | List users enrolled in a Moodle course. |
enroll_userEnroll a Moodle user with enrol_manual_enrol_users. | Enroll a Moodle user with enrol_manual_enrol_users. |
unenroll_userUnenroll a Moodle user with enrol_manual_unenrol_users. | Unenroll a Moodle user with enrol_manual_unenrol_users. |
get_gradesGet grades for a course, optionally filtered by user | Get grades for a course, optionally filtered by user |
Triggers
| Name | Description |
|---|---|
new_enrollmentTriggers when a new user is enrolled in a course | Triggers when a new user is enrolled in a course |
Quick Start
import { WeavzClient } from '@weavz-io/sdk'
const weavz = new WeavzClient({ apiKey: 'wvz_...' })
const result = await weavz.actions.execute('moodle', 'list_courses', {
workspaceId: '550e8400-e29b-41d4-a716-446655440000',
integrationAlias: 'moodle',
input: { /* ... */ },
})Related Integrations
Works well with
Frequently Asked Questions
How do I connect Moodle to my app?
Use Weavz Hosted Connect for Custom authentication. Install the SDK, create a connection through the connect portal or API, then execute tools programmatically.
What tools does Moodle support?
Moodle supports 12 tools including List Courses, Get Course, Create Course, Update Course, Delete Course, and more.
Can I use Moodle with AI agents?
Yes. Add Moodle to an MCP server in Tool Mode or Code Mode. Code Mode provides 3 meta-tools with on-demand API discovery so agents can compose stateful workflows without loading every action schema up front.
How do I connect Moodle to ChatGPT or Claude?
Open the Weavz connector setup, sign in, choose a workspace, and add Moodle as an approved app. ChatGPT, Claude, and other remote MCP clients can then call the scoped Moodle tools exposed by that workspace.
Does Moodle work with Claude Code, Cursor, Codex, and local agents?
Yes. Remote and local MCP clients can connect to a Weavz MCP endpoint for the workspace. Local coding agents can also use the Weavz CLI to inspect apps, discover actions, run approved Moodle work, and execute Code Mode workflows from a terminal.
What can I ask an AI agent to do with Moodle?
Moodle exposes 12 tools, including List Courses, Get Course, Create Course, Update Course, Delete Course, and more. Use Weavz to keep credentials scoped, require approval for sensitive work, and audit what the agent did.
Can Moodle be used in stateful agent workflows?
Yes. Agents can combine Moodle tools with Filesystem, State KV, Human Gates, input partials, and other workspace integrations while keeping execution scoped to the selected workspace or end user.
What authentication does Moodle use?
Moodle uses Custom. Weavz stores credentials securely and uses them for authorized action execution.
How much does the Moodle integration cost?
The Moodle integration is included on all Weavz plans including the free tier with 20,000 actions per month. No credit card required.
What triggers does Moodle support?
Moodle supports 1 triggers including New Enrollment.
Connect Moodle in minutes
Get 20,000 free action executions every month. No credit card required.