Moodle-MCP

June 27, 2026 ยท View on GitHub

MseeP.ai Security Assessment Badge

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

ToolDescription
get_my_coursesGet all courses the current user is enrolled in
get_course_contentGet sections and modules for a specific course by its ID
search_course_materialsSearch across all course materials by query string
get_course_announcementsGet announcements from course news forums, optionally filtered by course ID
get_recent_activityGet recent activity and updates across courses since a given time

Assignments & deadlines

ToolDescription
get_assignmentsGet assignments for courses, optionally filtered by course IDs
get_assignment_statusGet submission and grading status for a specific assignment
get_upcoming_deadlinesGet upcoming assignment deadlines across all courses, sorted by due date
get_overdue_assignmentsGet unsubmitted assignments past their due date, most overdue first
get_actionable_tasksGet a prioritized list of tasks needing action, sorted by urgency
analyze_assignmentAnalyze an assignment: status, requirements, materials, progress, deadline
extract_assignment_requirementsExtract requirements, deliverables, constraints, and evaluation criteria from an assignment
find_relevant_materialsFind course content relevant to an assignment, ranked by relevance
decompose_taskBreak an assignment into subtasks with effort, dependencies, and critical path
create_implementation_planBuild a step-by-step plan with timeline, resources, milestones, and risks

Grades & progress

ToolDescription
get_gradesGet a grade overview for all courses, or detailed grades for one course
get_course_progressGet progress and completion for one course or all courses
get_course_healthHealth check for a course: progress, grades, unsubmitted and overdue counts
get_study_loadAnalyze assignment distribution by week to identify heavy weeks

Aggregated overviews

ToolDescription
get_upcoming_eventsGet upcoming events from Moodle
semester_dashboardCombined overview of courses, upcoming deadlines, and grades
daily_briefingDaily summary of overdue count, today's deadlines, recent grades, events, and tasks
weekly_reviewWeekly summary of submitted/graded counts, deadlines, overdue count, and progress
ask_moodleAsk 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

  1. Create your own .env file from .env.example
  2. Assume you have uv installed, run uv add "mcp[cli]" to install the MCP CLI tools
  3. Run mcp install main.py -f .env to 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

  1. Navigate to your Moodle token management page https://{your-moodle-url}/user/managetoken.php
  2. Use the token with Moodle mobile web service in the Service column
  3. Add this token to your .env file