Moodle-MCP
@loyaniu
About Moodle-MCP
A Model Context Protocol (MCP) server implementation that provides capabilities to interact with Moodle LMS
Basic information
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_moodletool.
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