Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MOODLE_BASE_URLNoYour Moodle site. Defaults to https://moodle.lse.ac.uk.https://moodle.lse.ac.uk
MOODLE_MCP_HOMENoWhere the token and the sign-in browser profile live.~/.moodle-mcp
MOODLE_DOWNLOAD_DIRNoWhere downloads go. Defaults to SlideMate's first slides folder, else ~/MoodleFiles.~/MoodleFiles
MOODLE_BROWSER_CHANNELNoBrowser 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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. course can be a course id, short name, or part of the full name.

moodle_deadlinesB

List upcoming assignments, quizzes and other dated activities, soonest first.

moodle_downloadA

Download one Moodle file. Pass the fileurl from a moodle_browse result; the file is saved under the download folder (optionally in subdir).

moodle_syncA

Download course files to // (SlideMate's library if it's set up, else ~/MoodleFiles).

With a course (id, short name or part of the name), downloads every file in it and returns the result. Without one, downloads the PDFs (lecture slides, readings) from every current course in the background and returns {"running": true}; call moodle_sync_status until it reports the result. Existing files of the same size are skipped.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 8 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues