Moodle MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MOODLE_BASE_URL | No | Your Moodle site. Defaults to https://moodle.lse.ac.uk. | https://moodle.lse.ac.uk |
| MOODLE_MCP_HOME | No | Where the token and the sign-in browser profile live. | ~/.moodle-mcp |
| MOODLE_DOWNLOAD_DIR | No | Where downloads go. Defaults to SlideMate's first slides folder, else ~/MoodleFiles. | ~/MoodleFiles |
| MOODLE_BROWSER_CHANNEL | No | Browser for sign-in; "" uses Playwright's own Chromium. | chrome |
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 |
|---|---|
| moodle_loginA | Sign in to Moodle. Opens a Chrome window on the user's Mac at the university sign-in page; the user completes SSO + MFA there and a web-service token is saved for the other tools. Tries a silent refresh first, so it often finishes without any window. |
| moodle_statusA | Check the Moodle session: which site, signed in as whom, and the download folder. |
| moodle_coursesA | List the user's enrolled Moodle courses (most recently accessed first). |
| moodle_browseA | Show a course's sections with their materials, links and activities. |
| moodle_deadlinesB | List upcoming assignments, quizzes and other dated activities, soonest first. |
| moodle_downloadA | Download one Moodle file. Pass the |
| moodle_syncA | Download course files to // (SlideMate's library if it's set up, else ~/MoodleFiles). With a |
| moodle_sync_statusA | Progress of a sync started by moodle_sync without a course: {"running": true, "progress": …} while it runs, then the result (a summary, files per course and any errors). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose: login, status, courses, browse, deadlines, download, sync, and sync progress. The only mild overlap is moodle_download (single file) vs moodle_sync (bulk download), but the descriptions make the boundary clear.
All tools use a consistent snake_case moodle_ prefix with predictable noun/verb naming. The moodle_sync / moodle_sync_status pairing is a standard and intuitive convention for a long-running operation.
Eight tools is well-scoped for a Moodle client covering auth, discovery, and download workflows. Each tool earns its place with no redundant or filler entries.
The surface covers the full browse-and-download lifecycle including auth, session check, course listing, content browsing, deadlines, and bulk sync. It lacks write-side operations like assignment submission or grade retrieval, but for its apparent read/download focus the coverage is solid.