Moodle Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Moodle Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server implementation that provides capabilities to interact with Moodle LMS.
The server exposes the following tools.
| 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 |
| 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 |
| 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 |
| 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 |
For available Moodle API functions, please refer to the official documentation.
mcp CLI (recommended).env file from .env.exampleuv installed, run uv add "mcp[cli]" to install the MCP CLI toolsmcp install main.py -f .env to add the moodle-mcp server to Claude appuvxGo 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}"
}
}
}
}https://{your-moodle-url}/user/managetoken.phpMoodle mobile web service in the Service column.env file~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.