MCP.so
Sign In

Moodle-MCP

@loyaniu

About Moodle-MCP

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

Basic information

Category

Other

Runtime

python

Transports

stdio

Publisher

loyaniu

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "moodle-mcp": {
      "command": "uvx",
      "args": [
        "moodle-mcp"
      ],
      "env": {
        "MOODLE_URL": "https://{your-moodle-url}/webservice/rest/server.php",
        "MOODLE_TOKEN": "{your-moodle-token}"
      }
    }
  }
}

Tools

No tools detected

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is Moodle-MCP?

Moodle-MCP is a Model Context Protocol (MCP) server implementation that provides capabilities to interact with Moodle LMS. It is designed for AI assistants to retrieve course information, assignments, grades, and aggregated overviews from a Moodle instance.

How to use Moodle-MCP?

Install using uv and the MCP CLI, or run via uvx. Configure environment variables MOODLE_URL (pointing to the Moodle web service endpoint) and MOODLE_TOKEN. Use mcp install main.py -f .env to add to Claude, or edit claude_desktop_config.json with the uvx method.

Key features of Moodle-MCP

  • Retrieve enrolled courses and their content sections.
  • Search across all course materials by query string.
  • Get assignments, upcoming deadlines, and overdue tasks.
  • Analyze assignments and extract requirements.
  • View grades, course progress, and study load.
  • Generate aggregated overviews like semester dashboard and daily briefing.

Use cases of Moodle-MCP

  • Students receive quick overviews of upcoming deadlines and current grades.
  • Break down complex assignments into subtasks with effort estimates and dependencies.
  • Monitor course health by tracking progress, grades, and unsubmitted work.
  • Ask natural language questions about Moodle data via the ask_moodle tool.

FAQ from Moodle-MCP

What does Moodle-MCP do?

It provides an MCP server that exposes tools to interact with Moodle LMS, enabling AI assistants to fetch courses, assignments, grades, and aggregated summaries.

How do I set up Moodle-MCP?

Create a .env file from .env.example with your Moodle URL and token. Use the MCP CLI (mcp install main.py -f .env) or configure claude_desktop_config.json with the uvx command and environment variables.

How do I get my Moodle token?

Go to https://{your-moodle-url}/user/managetoken.php, generate a token, and ensure it uses the "Moodle mobile web service" service. Add this token to your .env file.

What tools does Moodle-MCP provide?

The server exposes tools for courses & content (e.g., get_my_courses, search_course_materials), assignments & deadlines (e.g., get_assignments, analyze_assignment), grades & progress (e.g., get_grades, get_course_progress), and aggregated overviews (e.g., semester_dashboard, daily_briefing).

Does Moodle-MCP require any specific Moodle API configuration?

Yes, it requires your Moodle instance to have web service API functions enabled. The README references the official Moodle web service API documentation for supported functions.

Comments

More Other MCP servers