Skip to main content
Glama

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

Related MCP server: Google Calendar MCP Server

API Reference

For available Moodle API functions, please refer to the official documentation.

Setup Instructions

Method 1: Using mcp CLI (recommended)

  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

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
3hResponse time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/loyaniu/moodle-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server