Moodle MCP. Track grades and manage student rosters in chat.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
Moodle MCP Server connects your AI agent directly to your Moodle Learning Management System (LMS). You get instant access to course structure, user rosters, assignment grades, and completion status without navigating the Moodle UI.
Use tools like `get_course_grades` or `get_enrolled_users` to pull detailed academic data—perfect for automated reporting, student outreach, or quick administrative checks.
What your AI agents can do
Get course assignments
Lists all assignment types available within a specific Moodle course.
Get course completion
Checks and retrieves the completion status of an individual user in a given course.
Get course grades
Retrieves detailed gradebook data for users within a specific Moodle course.
List all available courses or retrieve high-level details about course structures using get_courses.
Search for specific users by name or ID, and list every individual enrolled in a given course via get_enrolled_users.
Fetch detailed grade records (get_course_grades) and check the overall completion percentage for any user using get_course_completion.
List all assignments, quizzes, workshops, and defined groups associated with a specific course ID.
Initiate direct, instant messages to any specified Moodle user ID from your agent's chat interface using send_message.
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
Moodle MCP Server: 10 Tools for Course Management
These tools let you manage everything in the Moodle LMS—from listing all available courses to sending direct messages and checking student grades.
019d75d8get course assignments
Lists all assignment types available within a specific Moodle course.
019d75d8get course completion
Checks and retrieves the completion status of an individual user in a given course.
019d75d8get course grades
Retrieves detailed gradebook data for users within a specific Moodle course.
019d75d8get course groups
Displays all user groups defined and utilized by the courses in the system.
019d75d8get course quizzes
Lists all quizzes and assessment tools built into a specific Moodle course.
019d75d8get course workshops
Retrieves information about workshop activities within the defined courses.
019d75d8get courses
Provides a list of all available course names and basic details across the entire Moodle site.
019d75d8get enrolled users
Lists every user ID and name that is currently enrolled in a specific course.
019d75d8get users
Searches the entire Moodle database for users by criteria like name or email address.
019d75d8send message
Sends a direct, private instant message to any specified user ID within Moodle.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Moodle, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,700+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
What you can do with this MCP connector
Moodle MCP Server hooks your AI agent right into your Moodle Learning Management System (LMS). Forget clicking through menus and wading through pages; you get direct access to all the academic guts of your school's data. This setup gives your agent tools to read, track, and report on everything—from who took what test to who hasn't finished the reading material.
You'll use this server when you need your AI client to act like an administrator or a TA, pulling complex records instantly without ever touching the Moodle user interface.
How Moodle MCP Works
- 1 Subscribe to the server and provide your Moodle Web Service Token and Site Base URL.
- 2 Your AI client translates a conversational request (e.g., 'Check grades for course 12') into the required tool call (
get_course_grades). - 3 The MCP Server executes the API call, pulls the data from your LMS, and returns it to your agent in a structured format.
The bottom line is you feed your credentials once; after that, your AI client handles all the complex data mapping for you.
Who Is Moodle MCP For?
This server is essential for academic administrators and educators who spend too much time clicking through clunky LMS dashboards. If you're tired of manually compiling grade reports or checking student rosters across multiple tabs, this tool cuts out the friction.
Runs bulk checks on user profiles and course activity using get_users to ensure all departments are properly set up before a semester starts.
Pulls detailed enrollment lists (get_enrolled_users) for specific courses, helping manage prerequisites or group assignments.
Checks student progress and grades instantly using get_course_completion and get_course_grades, letting them focus on teaching instead of report-building.
What Changes When You Connect
- Stop manually checking grade sheets. Use
get_course_gradesto pull a user's entire academic record—all scores, weights, and final marks—in one API call. - Need a roster fast? Instead of clicking through course administration pages, use
get_enrolled_usersto get a clean list of every student in minutes. - No more guessing if students finished the material. Run
get_course_completionon any user to see their exact progress percentage and which modules they still need to submit. - Sending reminders is simple. Use
send_messageto instantly chat with a specific user ID, bypassing email lists or complex directory lookups. - Get the big picture first. Start by calling
get_coursesto map out all available departments or program tracks before you drill down into any single class.
Real-World Use Cases
The Mid-Semester Grade Report
A professor needs to report the top 5 performers in 'Advanced Mathematics'. Instead of exporting and filtering a massive gradebook, they ask their agent: "Run get_course_grades for course ID 4. Sort by score and list the top five." The agent runs the tool, processes the data, and returns the names and percentages instantly.
Auditing New Student Enrollment
An administrator needs to verify if a group of new hires were properly added to 'HR Training'. They ask: "Run get_enrolled_users for Course ID 10 and filter for the onboarding batch." The agent runs the tool, confirming every required user is present.
Checking Assignment Status Before Review
A TA needs to know which students haven't submitted their final project. They ask: "Check get_course_completion for all users in the 'Cybersecurity' course.". The agent runs the tool, highlighting exactly who is missing submissions and allowing the TA to follow up.
Quickly Contacting a Missing User
A coordinator realizes a student hasn't logged into their required module. Instead of finding their email via three different screens, they ask: "Send John Doe (ID 901) a message reminding him about the quiz." The agent uses send_message immediately.
The Tradeoffs
Manual Roster Building
Trying to build a list of all students in three different courses by navigating to each course's 'Users' tab and copying names into an Excel sheet.
→
Don't do it manually. Ask your agent to run get_enrolled_users for Course A, then repeat the tool call for Course B, and combine the results in one command.
Gradebook Guesswork
Calling a general 'Get Student Grades' function that doesn't specify which course or what period. You just get a massive, useless data dump.
→
Always use get_course_grades and include the specific Course ID in your prompt. This forces the agent to pull only relevant gradebook data.
Searching by Memory
Trying to remember if a user is active or what their current role is, requiring multiple searches through the general directory.
→
First, use get_users with search parameters (like email) to find the ID. Then use that ID in other tools like get_enrolled_users for context.
When It Fits, When It Doesn't
Use this Moodle MCP Server if your core operational need is managing academic records, enrollment lists, or course content within a dedicated LMS environment. It excels when you need to move data from 'where it lives' (Moodle) to 'where you work' (your AI client). Don't use it if you are trying to manage HR payroll data or track physical assets—those require different types of system integrations. If your problem is general communication and not tied to academic records, skip this server. Stick to Moodle MCP when the required data point must be a grade, an enrollment status, or a course object listed in your LMS.
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Moodle. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This server provides 10 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
Manually tracking student progress across different tabs kills productivity.
Today, if you need to know if John Doe passed the 'Advanced Mathematics' module, you have to jump into Moodle. You find his name, click on the gradebook tab, then maybe filter by assignment type (quiz vs. final), and finally scroll through multiple pages of data just to get a single percentage. It takes five clicks and ten minutes.
With this MCP Server, you simply ask your agent: "What is John Doe's completion status in Advanced Mathematics?" The agent runs `get_course_completion` using the specific Course ID. You get the progress percentage instantly, right in the chat window. It’s clean and fast.
Moodle MCP Server: Get student data straight into your workflow.
You don't have to copy/paste user IDs or course names anymore. Instead of opening a spreadsheet, running an API call manually, and then updating the record in Moodle, you let your agent handle the whole chain. It runs `get_enrolled_users` first, gets the list, and only then uses that data for subsequent actions.
The difference is context. We move from executing isolated tasks to running full workflows—like 'Get all users enrolled in Course X who have not passed Quiz Y.' This ability to chain tools makes your agent genuinely useful.
Common Questions About Moodle MCP
How do I get the list of courses using the Moodle MCP Server? +
You use get_courses. This tool lists all available course names and basic details across your entire site, giving you a map of what's available before you drill down into specifics.
Can I check grades for multiple courses at once with get_course_grades? +
You run get_course_grades per course. You must provide the specific Course ID and User ID in your prompt for the agent to retrieve the gradebook data accurately.
What is the best tool for finding a student's current enrollment status? +
Use get_enrolled_users. This tool pulls a clean list of all users currently associated with a specific course, which is more accurate than just searching the general user directory.
How do I send an instant message using the Moodle MCP Server? +
Use send_message. You only need the recipient's User ID and the text you want to send. The agent handles the delivery right from your chat client.
How do I check the user groups defined in a course using `get_course_groups`? +
This tool lists all defined groups for a specific course ID. It returns the group name, group ID, and how many users are currently assigned to that group.
If I want to check a student's progress percentage, should I use `get_course_completion`? +
Yes, get_course_completion returns the calculated completion status. It assesses progress based on required activities versus those marked as finished for that user.
What permissions does my Moodle web service token need to use tools like `get_users` and `send_message`? +
The token must have read access to the Users/Enrollments module, plus messaging rights. This ensures your agent can search users and send messages without hitting permission walls.
Do I need a separate tool if I only want to list quizzes for a course? Should I use `get_course_quizzes`? +
You'll use the get_course_quizzes tool. It specifically lists all available quiz activities within a given Course ID, giving you their titles and IDs.
How do I enable Web Services in Moodle? +
Go to Site Administration > Server > Web services > Overview. You'll need to enable Web Services, enable the REST protocol, create a specific user, and generate a token for them.
Can I see student grades for a course? +
Yes! Use the get_course_grades tool with a course ID to retrieve the gradebook data for all students enrolled in that course.
How do I check if a student has completed a course? +
The get_course_completion tool allows you to check the progress and completion status for a specific User ID in a target Course ID.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
360Learning
Collaborative learning platform — manage users, courses, paths, and training statistics via AI.
Cornerstone OnDemand
Equip your AI agent to manage training, performance, and employee transcripts via the Cornerstone LMS API.
Innform
Train your team with an LMS that creates courses from your content, tracks completion, and gamifies the learning experience.
You might also like
Apify
Command Apify scrapers from your AI agent — run actors, extract web data, poll datasets, and automate browser tasks seamlessly.
Cisco Meraki
Cloud-managed IT via Cisco Meraki — track networks, devices, and client connectivity.
One-Hot Encoder Engine
Deterministically convert categorical text columns into dummy binary variables local. Essential machine learning data prep without LLM data corruption.