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.0.tar.gz (23.2 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.0-py3-none-any.whl (23.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: moodle_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 23.2 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.0.tar.gz
Algorithm Hash digest
SHA256 0bea4c3c0f9336c3ab3ac533ebbcf05c304e5382d44d9addb2cde88a595b6076
MD5 b5b2145ab6016b6cb348f1e0020b2fd8
BLAKE2b-256 05d4145f53ec178d43d3269019b23a4fabc8b68e47460b29b7cba7b45923b8a3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: moodle_mcp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 23.4 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ef411f787cefd9c27569a66a833bbeabed7507b84c3dbf1ec913c50dad22385c
MD5 24f30408c847ff1067b06c075189da9f
BLAKE2b-256 6abdab1d6202e8d752c8eae65148d35bed8710ed29f755f3be331f4f3058f2c1

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