Moodle-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MOODLE_URL | Yes | URL to your Moodle web service endpoint (e.g., https://your-moodle-url/webservice/rest/server.php) | |
| MOODLE_TOKEN | Yes | Your Moodle API token |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_upcoming_eventsB | Get upcoming events from moodle |
| get_my_coursesA | Get all courses the current user is enrolled in |
| get_course_contentA | Get sections and modules for a specific course by its ID |
| get_assignmentsA | Get assignments for courses. Optionally filter by course IDs. Returns all enrolled courses' assignments if no course IDs are provided. |
| get_assignment_statusB | Get submission and grading status for a specific assignment by its ID |
| get_upcoming_deadlinesA | Get upcoming assignment deadlines across all courses, sorted by due date |
| get_gradesA | Get grade overview for all courses, or detailed grades for a specific course if courseid is provided |
| search_course_materialsC | Search across all course materials by query string |
| semester_dashboardA | Get an aggregated overview combining courses, upcoming deadlines, and grades |
| get_actionable_tasksB | Returns prioritized list of tasks needing action, sorted by urgency (overdue first) |
| get_overdue_assignmentsA | Returns assignments past due date that are unsubmitted, sorted by most overdue first |
| get_recent_activityB | Returns recent activity/updates across courses. Optionally specify 'since' as Unix timestamp (defaults to 7 days ago) |
| get_course_announcementsA | Gets announcements from course news forums. Optionally filter by course ID |
| get_course_healthB | Overall health check for a course: progress, grades, unsubmitted/overdue counts |
| get_course_progressB | Progress/completion for courses. Optionally specify a course ID, or get all courses |
| get_study_loadB | Study load analysis showing assignment distribution by week, identifying heavy weeks |
| daily_briefingA | Aggregated daily summary: overdue count, today's deadlines, recent grades, upcoming events, actionable tasks |
| weekly_reviewB | Aggregated weekly summary: submitted/graded counts, upcoming deadlines, overdue count, progress |
| ask_moodleB | Ask a natural language question about your Moodle data. Routes to the right data sources based on your question |
| analyze_assignmentA | Comprehensive analysis of an assignment: status, requirements, materials count, course progress, and deadline info |
| extract_assignment_requirementsC | Extract and structure requirements, deliverables, constraints, and evaluation criteria from an assignment description |
| find_relevant_materialsC | Find course content and search results relevant to a specific assignment, ranked by relevance |
| decompose_taskB | Break down an assignment into subtasks with estimated effort, dependencies, and critical path |
| create_implementation_planC | Create a step-by-step implementation plan for completing an assignment, with timeline, resources, milestones, and risk factors |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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