Database · MODEL CONTEXT PROTOCOL
peancor moodle mcp server
peancor moodle mcp server is a community-listed Model Context Protocol server. Review the source repository before installation.
连接能力
peancor moodle mcp server 为 AI Agent 提供什么
- `list_students` - Retrieves the list of students enrolled in the course
- Displays ID, name, email, and last access time for each student
- `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
- `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
- Node.js (v14 or higher)
- Moodle API token with appropriate permissions
- Moodle course ID
- Clone this repository:
- Install dependencies:
- Create a `.env` file with the following configuration:
- Build the server:
- View the list of students and their submissions
- Provide comments and grades for assignments
- Examine quiz attempts and offer feedback
- 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 `.env` file
- Never share your `.env` file 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
安全
MCP 收录不等于安全审核
MCP 服务器可能获得模型上下文、凭据、本地文件或调用外部系统的权限。连接 Agent 前,请检查代码、环境变量、网络行为、软件包来源与维护状态。
README
仓库文档
An MCP (Model Context Protocol) server that enables LLMs to interact with the Moodle platform to manage courses, students, assignments, and quizzes.
get_courses- Retrieves information about courses in Moodle- Supports pagination (
page,limit) to safely fetch all available courses. - Optionally allows fetching a specific course by providing a
courseId.
- Supports pagination (
list_students- Retrieves the list of students enrolled in the course- Displays ID, name, email, and last access time for each student
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
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
- Node.js (v14 or higher)
- Moodle API token with appropriate permissions
- Moodle course ID
- 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 buildTo 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
For development with auto-rebuild:
npm run watchMCP servers communicate through stdio, which can make debugging challenging. We recommend using the MCP Inspector:
npm run inspectorThe Inspector will provide a URL to access debugging tools in your browser.
- 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
- 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
社区