Let AI do the teacher busywork — inside your own Moodle.
Connect Claude or ChatGPT to your Moodle site and let it grade assignments, enrol students, message learners, and export the gradebook — every action runs as the teacher, with Moodle's own permissions.
Goldnat for Moodle — Teacher (Pro) · AI grading, enrolment, and gradebook exports for Moodle teachers.
Why this plugin
What you get with Goldnat for Moodle — Teacher (Pro).
📝
Automated grading & feedback
AI grades assignment submissions and records the score straight into the Moodle gradebook — submitGrade runs as the teacher, so grades are attributed correctly and respect course permissions.
📊
Full gradebook access & export
Read the complete course gradebook (every student × every grade item), pull one student's grades, or export the whole thing to CSV or Excel (.xlsx) in one call — ready to share or archive.
🎓
Enrolment & messaging on autopilot
Enrol students into courses, search users, update course details, and send learners personal Moodle messages — the day-to-day admin a teacher repeats every week, handled by the AI.
🔐
Permission-aware, runs as the teacher
Every write runs as the authenticated teacher through Moodle's own capability checks. The AI can never do anything the teacher couldn't do manually.
🧩
Builds on the Free Moodle plugin
Pro is a Moodle plugin that extends the Free AI Connect core. Install both: the core provides read tools + OAuth, Pro adds the 10 teacher write/gradebook tools.
💳
Plans that fit a class or a campus
From $149/yr for a single teacher's toolkit up to $599/yr for institution-wide use. Paddle handles billing, local currency, VAT, and tax automatically.
Capabilities
What it does.
OAuth 2.0 + PKCE
Secure by design
Industry-standard OAuth 2.0 flow with PKCE. Every AI agent authenticates with proof-of-key exchange — no secrets stored client-side.
Permission-aware
Native Moodle permissions
Tool calls respect Moodle's capability system. The AI acts as the teacher and only touches courses and students that teacher can access.
REST + JSON
Servio Protocol
Manifest endpoint, tool discovery, structured JSON responses. Compatible with the Model Context Protocol standard.
10 Pro tools
Production ready
10 structured teacher tools — grading, enrolment, messaging, course updates, and gradebook CSV/Excel export — ready for production use.
Get started
Up and running.
1
Install the Free plugin first
Pro is an extension. Install the Moodle AI Connect (Free) plugin before Pro — the core provides the manifest, OAuth, and read tools Pro builds on.
2
Purchase Pro via Paddle
Sign in to your Goldnat account and pick a plan. Paddle handles checkout in your local currency with VAT and tax; your license appears in your account instantly.
3
Install the Pro plugin
Download the Pro plugin ZIP, install it through Moodle's Plugins → Install, and run the upgrade. The Pro tools register into the same manifest the core serves.
4
Grant write scope to your AI agent
When your AI agent reconnects it requests write scope. Approve it, and the 10 Pro teacher tools become callable immediately.
Compatible clients
Works with every AI client.
Pre-configured OAuth integrations for every major AI agent — including our own hosted agent at goldnat.ai. Connect in minutes, not hours.
Tools
Available tool calls.
61 tools exposed via the Servio protocol. AI agents call these by name with structured arguments.
moodle_pro
-
moodle_pro.createGradeItemCreates a new grade item in the course gradebook. Pro -
moodle_pro.updateGradeItemUpdates grade item settings (name, max grade, weight). Pro
moodle
-
moodle.addGroupMemberAdd a user to a group. User must already be enrolled in the group course. Pro -
moodle.analyzeGradeDistributionAnalyzes grade distribution in the course and returns statistics (mean, median, spread). Pro -
moodle.bulkGradeAssignmentGrade multiple students at once for one assignment. Map of userid to {grade, feedback}. Pro -
moodle.createAssignmentCreates a new assignment in the course with name, instructions, and due date. Pro -
moodle.createCalendarEventCreate a calendar event. Personal event if courseid is omitted; course-wide event (visible to all enrolled users) when courseid is provided. Pro -
moodle.createCourseCreates a new course with name, code, and category. Pro -
moodle.createCourseCategoryCreates a new course category to organize courses. Pro -
moodle.createGroupCreate a new group in a course. Returns the created group id. Pro -
moodle.createQuestionCategoryCreate a new question bank category in a course context. Organizes questions across quizzes. Pro -
moodle.createQuizCreate an empty quiz in a course. Returns quiz id + cmid; use createQuestionCategory + question-adding tools to populate. Quiz appears on course page and in gradebook immediately. Pro -
moodle.deleteAssignmentDelete an assignment activity from a course. DESTRUCTIVE — removes the assignment and all student submissions. Pro -
moodle.downloadSubmissionFileDownload a specific file from an assignment submission. Returns a signed URL or the file contents. Pro -
moodle.duplicateCourseDuplicates an existing course including its content and settings into a new course. Pro -
moodle.enrollUserEnrolls a user (student/teacher) in a given course. Pro -
moodle.exportGradebookCSVExports the course gradebook as a CSV file (students × grade items). Pro -
moodle.exportGradebookExcelExports the course gradebook as an Excel (.xlsx) file, returned base64-encoded. Pro -
moodle.extendAssignmentDueDateExtend the due date (and optionally cutoff date) on an assignment. Provide new dates as Unix timestamps. Pro -
moodle.getAssignmentSubmissionsList every submission for an assignment, with status (submitted or not), date, grade, attached files and the learner's comments. Pro -
moodle.getCategoryCoursesList all courses in a given category, with their ID, name, shortname, and visibility. Pro -
moodle.getCourseCategoriesGet details of a specific course category by ID, including name, description, parent, depth, and course count. Pro -
moodle.getCourseGradebookGet the full gradebook for a course: every enrolled student with their grade in each grade item (Pro) Pro -
moodle.getGradeCategoriesGet Grade Categories (Moodle core-gradebook) -
moodle.getGradeCategoryGet Grade Category (Moodle core-gradebook) -
moodle.getGradeFeedbackGet Grade Feedback (Moodle core-gradebook) -
moodle.getGradeHistoryGet Grade History (Moodle core-gradebook) -
moodle.getGradeItemGet Grade Item (Moodle core-gradebook) -
moodle.getGradeItemsGet Grade Items (Moodle core-gradebook) -
moodle.getGradeLettersGet Grade Letters (Moodle core-gradebook) -
moodle.getGradeOutcomesGet Grade Outcomes (Moodle core-gradebook) -
moodle.getGradeScalesGet Grade Scales (Moodle core-gradebook) -
moodle.getGroupGet details of a specific group by ID, including course, name, description, and current member list. Pro -
moodle.getQuizAttemptsList quiz attempts for one learner or for the whole class, with date, score, status (in progress or finished) and time remaining. Pro -
moodle.getQuizQuestionsGet the questions in a quiz, including type (multiple choice, true or false, short answer), question text, options, marks and feedback where permitted. Pro -
moodle.getStudentGradesGet all grades for a single student in a course, item by item, with the course total (Pro) Pro -
moodle.getSubmissionContentRead the full content of a single student assignment submission: online text, submitted files (with URLs), current grade, and feedback. Pro -
moodle.getSubmissionFilesList the files attached to an assignment submission, with names, sizes, types and download links. Pro -
moodle.gradeByGroupAssign the same grade + feedback to every member of a group in an assignment. Pro -
moodle.identifyAtRiskStudentsIdentifies at-risk students based on grades, submissions, and activity, and returns a ranked list. Pro -
moodle.listCourseCategoriesList all course categories on the site with their hierarchy. Optionally filter by parent id. Pro -
moodle.listGroupsList all groups in a course. Returns group id, name, description, and member count. Pro -
moodle.removeGroupMemberRemove a user from a group. Does NOT unenroll them from the course. Pro -
moodle.searchGradesSearch Grades (Moodle core-gradebook) -
moodle.searchUsersSearches users by name or email address. Pro -
moodle.sendMessageSends a personal message to a student or a group of students through the Moodle messaging system. Pro -
moodle.submitGradeEnters a grade for a student's assignment and saves it to the gradebook. Pro -
moodle.updateAssignmentUpdate an existing assignment (name, intro, dates, max grade). Pro -
moodle.updateCourseUpdates the course details (name, description, settings). Pro -
moodle.updateCourseCategoryUpdates an existing course category (name, hierarchy). Pro -
moodle.updateGradeItemUpdate a grade item (grademax/grademin/gradepass/aggregationcoef/hidden). Pro -
moodle.uploadCourseFileUpload a file to a course as a Resource module. Accepts base64-encoded content and creates a downloadable file resource on the course page. Pro
quiz
-
quiz.getAttemptDetailsGet Attempt Details (Moodle quiz) -
quiz.getQuizAccessRulesGet Quiz Access Rules (Moodle quiz) -
quiz.getQuizDetailsGet Quiz Details (Moodle quiz) -
quiz.getQuizStatisticsGet Quiz Statistics (Moodle quiz) -
quiz.getUserBestAttemptGet User Best Attempt (Moodle quiz) -
quiz.listAttemptsList Attempts (Moodle quiz) -
quiz.listQuestionCategoriesList Question Categories (Moodle quiz) -
quiz.listQuizzesList Quizzes (Moodle quiz) -
quiz.searchQuestionBankSearch Question Bank (Moodle quiz)
Pricing
Get the plugin.
Sign in to your Goldnat account to complete purchase — Paddle handles local currency, VAT, and tax automatically. Your license appears in your account immediately.
Pro Basic
Full feature set + support
- ✓ All Free tools
- ✓ enrollUser
- ✓ createCourse
- ✓ updateGrade
Pro Advanced
Full feature set + support
- ✓ All Basic tools
- ✓ bulkEnroll
- ✓ createQuiz
- ✓ manageGroups
Enterprise
Full feature set + support
- ✓ All Advanced tools
- ✓ SLA
- ✓ Dedicated support
- ✓ Multi-campus
Moodle platform
More plugins for Moodle
Questions about Goldnat for Moodle — Teacher (Pro)?