- Explore MCP Servers
- moodle-mcp-server
Moodle Mcp Server
What is Moodle Mcp Server
Moodle MCP Server is an MCP (Model Context Protocol) server that facilitates interaction between Large Language Models (LLMs) and the Moodle platform, enabling management of courses, students, assignments, and quizzes.
Use cases
Use cases include managing student enrollment, tracking assignment submissions, providing feedback on assignments and quizzes, and analyzing student performance through quizzes.
How to use
To use Moodle MCP Server, clone the repository, install dependencies, configure the .env file with your Moodle API URL, token, and course ID, build the server, and integrate it with Claude Desktop by adding the server configuration.
Key features
Key features include student management tools (listing students), assignment management tools (retrieving assignments, checking submissions, providing feedback), and quiz management tools (retrieving quizzes, checking attempts, providing feedback).
Where to use
Moodle MCP Server is primarily used in educational environments where Moodle is employed for course management, allowing educators to streamline administrative tasks and enhance student engagement.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Moodle Mcp Server
Moodle MCP Server is an MCP (Model Context Protocol) server that facilitates interaction between Large Language Models (LLMs) and the Moodle platform, enabling management of courses, students, assignments, and quizzes.
Use cases
Use cases include managing student enrollment, tracking assignment submissions, providing feedback on assignments and quizzes, and analyzing student performance through quizzes.
How to use
To use Moodle MCP Server, clone the repository, install dependencies, configure the .env file with your Moodle API URL, token, and course ID, build the server, and integrate it with Claude Desktop by adding the server configuration.
Key features
Key features include student management tools (listing students), assignment management tools (retrieving assignments, checking submissions, providing feedback), and quiz management tools (retrieving quizzes, checking attempts, providing feedback).
Where to use
Moodle MCP Server is primarily used in educational environments where Moodle is employed for course management, allowing educators to streamline administrative tasks and enhance student engagement.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
Moodle MCP Server
An MCP (Model Context Protocol) server that enables LLMs to interact with the Moodle platform to manage courses, students, assignments, and quizzes.
Features
Student Management Tools
list_students- Retrieves the list of students enrolled in the course- Displays ID, name, email, and last access time for each student
Assignment Management Tools
get_assignments- Retrieves all available assignments in the course- Includes information such as ID, name, description, due date, and maximum grade
get_student_submissions- Examines a student’s submissions for a specific assignment- Requires the assignment ID and optionally the student ID
provide_assignment_feedback- Provides grades and comments for a student’s submission- Requires student ID, assignment ID, grade, and feedback comment
Quiz Management Tools
get_quizzes- Retrieves all available quizzes in the course- Includes information such as ID, name, description, opening/closing dates, and maximum grade
get_quiz_attempts- Examines a student’s attempts on a specific quiz- Requires the quiz ID and optionally the student ID
provide_quiz_feedback- Provides comments for a quiz attempt- Requires the attempt ID and feedback comment
Requirements
- Node.js (v14 or higher)
- Moodle API token with appropriate permissions
- Moodle course ID
Installation
- Clone this repository:
git clone https://github.com/your-username/moodle-mcp-server.git
cd moodle-mcp-server
- Install dependencies:
npm install
- Create a
.envfile with the following configuration:
MOODLE_API_URL=https://your-moodle.com/webservice/rest/server.php MOODLE_API_TOKEN=your_api_token MOODLE_COURSE_ID=1 # Replace with your course ID
- Build the server:
npm run build
Usage with Claude
To use with Claude Desktop, add the server configuration:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"moodle-mcp-server": {
"command": "/path/to/node",
"args": [
"/path/to/moodle-mcp-server/build/index.js"
],
"env": {
"MOODLE_API_URL": "https://your-moodle.com/webservice/rest/server.php",
"MOODLE_API_TOKEN": "your_moodle_api_token",
"MOODLE_COURSE_ID": "your_course_id"
},
"disabled": false,
"autoApprove": []
}
}
}
For Windows users, the paths would use backslashes:
{
"mcpServers": {
"moodle-mcp-server": {
"command": "C:\\path\\to\\node.exe",
"args": [
"C:\\path\\to\\moodle-mcp-server\\build\\index.js"
],
"env": {
"MOODLE_API_URL": "https://your-moodle.com/webservice/rest/server.php",
"MOODLE_API_TOKEN": "your_moodle_api_token",
"MOODLE_COURSE_ID": "your_course_id"
},
"disabled": false,
"autoApprove": []
}
}
}
Once configured, Claude will be able to interact with your Moodle course to:
- View the list of students and their submissions
- Provide comments and grades for assignments
- Examine quiz attempts and offer feedback
Development
For development with auto-rebuild:
npm run watch
Debugging
MCP servers communicate through stdio, which can make debugging challenging. We recommend using the MCP Inspector:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
Obtaining a Moodle API Token
- Log in to your Moodle site as an administrator
- Go to Site Administration > Plugins > Web Services > Manage tokens
- Create a new token with the necessary permissions to manage courses
- Copy the generated token and add it to your
.envfile
Security
- Never share your
.envfile or Moodle API token - Ensure the MCP server only has access to the courses it needs to manage
- Use a token with the minimum necessary permissions
License
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










