Moodle-MCP
loyaniu/moodle-mcp · 40 stars · Python
MCP server A Model Context Protocol (MCP) server implementation that provides capabilities to interact with Moodle LMS
Install
The repo has no one-line install. Follow its README.
Files
Moodle-MCP
A Model Context Protocol (MCP) server implementation that provides capabilities to interact with Moodle LMS.
Features
The server exposes the following tools.
Courses & content
| Tool | Description |
|---|---|
get_my_courses |
Get all courses the current user is enrolled in |
get_course_content |
Get sections and modules for a specific course by its ID |
search_course_materials |
Search across all course materials by query string |
get_course_announcements |
Get announcements from course news forums, optionally filtered by course ID |
get_recent_activity |
Get recent activity and updates across courses since a given time |
Assignments & deadlines
| Tool | Description |
|---|---|
get_assignments |
Get assignments for courses, optionally filtered by course IDs |
get_assignment_status |
Get submission and grading status for a specific assignment |
get_upcoming_deadlines |
Get upcoming assignment deadlines across all courses, sorted by due date |
get_overdue_assignments |
Get unsubmitted assignments past their due date, most overdue first |
get_actionable_tasks |
Get a prioritized list of tasks needing action, sorted by urgency |
analyze_assignment |
Analyze an assignment: status, requirements, materials, progress, deadline |
extract_assignment_requirements |
Extract requirements, deliverables, constraints, and evaluation criteria from an assignment |
find_relevant_materials |
Find course content relevant to an assignment, ranked by relevance |
decompose_task |
Break an assignment into subtasks with effort, dependencies, and critical path |
create_implementation_plan |
Build a step-by-step plan with timeline, resources, milestones, and risks |
Grades & progress
| Tool | Description |
|---|---|
get_grades |
Get a grade overview for all courses, or detailed grades for one course |
get_course_progress |
Get progress and completion for one course or all courses |
get_course_health |
Health check for a course: progress, grades, unsubmitted and overdue counts |
get_study_load |
Analyze assignment distribution by week to identify heavy weeks |
Aggregated overviews
| Tool | Description |
|---|---|
get_upcoming_events |
Get upcoming events from Moodle |
semester_dashboard |
Combined overview of courses, upcoming deadlines, and grades |
daily_briefing |
Daily summary of overdue count, today's deadlines, recent grades, events, and tasks |
weekly_review |
Weekly summary of submitted/graded counts, deadlines, overdue count, and progress |
ask_moodle |
Ask a natural language question and have it routed to the right data sources |
API Reference
For available Moodle API functions, please refer to the official documentation.
Setup Instructions
Method 1: Using mcp CLI (recommended)
- Create your own
.envfile from.env.example - Assume you have
uvinstalled, runuv add "mcp[cli]"to install the MCP CLI tools - Run
mcp install main.py -f .envto add the moodle-mcp server to Claude app
Method 2: Using uvx
Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json to include the following
{
"mcpServers": {
"moodle-mcp": {
"command": "uvx",
"args": ["moodle-mcp"],
"env": {
"MOODLE_URL": "https://{your-moodle-url}/webservice/rest/server.php",
"MOODLE_TOKEN": "{your-moodle-token}"
}
}
}
}
Authentication
Getting your Moodle token
- Navigate to your Moodle token management page
https://{your-moodle-url}/user/managetoken.php - Use the token with
Moodle mobile web servicein theServicecolumn - Add this token to your
.envfile
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 40
- Language
- Python
- Last push
- 2026-06-29
- Forks
- 12
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k