- Home
- MCP servers
- Moodle
Moodle
- javascript
28
GitHub Stars
javascript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"peancor-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"
}
}
}
}This MCP server lets you connect LLMs to Moodle to manage courses, students, assignments, and quizzes. It exposes a set of practical tools that you can invoke through an MCP client to automate classroom administration and feedback workflows.
How to use
You connect your MCP client to the Moodle MCP Server via a local stdio configuration or by running the server as a local process. Once connected, you can perform actions such as listing students, retrieving assignments, examining quiz attempts, and providing feedback or grades. Use the server to automate routine tasks like enrolling students, reviewing submissions, and delivering instructor comments.
How to install
Prerequisites: Node.js version 14 or higher and a Moodle site with an API token that has the needed permissions.
-
Clone the Moodle MCP Server repository and open it in your terminal.
-
Install dependencies.
-
Create a .env file 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
Other important information
Usage with Claude: to run the server locally and connect Claude Desktop, configure one or both of the following MCP entries depending on your operating system.
{
"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": []
}
}
}
Security and maintenance
Never share your .env file or Moodle API token. Ensure the MCP server only accesses the courses it needs to manage and use the minimum permissions necessary.
Available tools
list_students
Retrieves the list of students enrolled in the course and returns details like ID, name, email, and last access time.
get_assignments
Fetches all assignments in the course with details such as ID, name, description, due date, and maximum grade.
get_student_submissions
Examines a student’s submissions for a specific assignment, requiring assignment ID and optionally student ID.
provide_assignment_feedback
Provides grades and comments for a student’s assignment submission, requiring student ID, assignment ID, grade, and feedback.
get_quizzes
Retrieves all quizzes in the course with details like ID, name, description, opening/closing dates, and max grade.
get_quiz_attempts
Examines a student’s attempts on a specific quiz, requiring quiz ID and optionally student ID.
provide_quiz_feedback
Provides comments for a quiz attempt, requiring the attempt ID and feedback.