Skip to main content

A Model Context Protocol (MCP) server implementation that provides capabilities to interact with Moodle LMS.

Project description

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

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)

  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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

moodle_mcp-0.2.1.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

moodle_mcp-0.2.1-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

Details for the file moodle_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: moodle_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 23.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for moodle_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c40943f240e7ca8875bbfed03dc809b99e12c8c6809a8575e57c681493b8a412
MD5 fef9848018c579a6532f703643bb00c6
BLAKE2b-256 c6289fc565d1a791a407b7d0e0d6020d55f57b1b4be63392aaddb85b9621de78

See more details on using hashes here.

File details

Details for the file moodle_mcp-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: moodle_mcp-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 23.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for moodle_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f1c7d8908040ffae6f75c69e1e7d3abf1e350772026a5ae77b819e5547335f6a
MD5 e25a17f31525efe7ab24437816b28c62
BLAKE2b-256 0b613887b8225a57232a4bb4096f93a8914f18c8b5d0ef0e8d4347175f95bb65

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page