Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MOODLE_DATA_DIRNoAbsolute path environment variable override for the materials root directory (資料根目录). Environment variables take precedence over persistent settings.
MOODLE_HEADLESSNoSet MOODLE_HEADLESS=false to show the operation window (display the browser window).true
MOODLE_PROFILE_DIRNoAbsolute path environment variable override for the dedicated browser profile directory used for Moodle login/session.
MOODLE_COURSES_FILENoAbsolute path environment variable override for the course whitelist JSON file (名单). Must be a dedicated JSON file, not inside materials, state, or the browser profile.
MOODLE_SETTINGS_FILENoAbsolute path environment variable override for the settings JSON file. Must be a dedicated JSON file, not inside materials, state, or the browser profile.

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
check_connectionB

Check Moodle connection and dedicated login session; never return credentials.

list_coursesB

List enrolled My Modules courses including hidden courses. Only explicitly approved IDs may be synchronized.

list_resourcesB

List visible resources for an approved course, with observed IDs, titles, types and available format metadata.

download_resourceA

Download a discovered file/folder module in an approved course to the approved materials directory. Keep old versions.

sync_coursesA

Perform one manual incremental sync for the locally approved courses. forceContentCheck bypasses ETag validation.

get_sync_settingsB

Show approved course IDs and local output directories without authentication data.

select_coursesA

After user approval, replace the local course selection with observed My Modules IDs. Empty courseIds clears selection without deleting files. Local change only.

confirm_setupA

After explicit user confirmation of the displayed course list and current data root, persist setup approval. dataDir must match current settings. For a different root use npm run setup; this tool never migrates data.

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 targets a fairly distinct action: connectivity check, course/resource discovery, single download, bulk sync, settings read, course selection, and setup confirmation. Minor overlap exists between sync_courses and download_resource (both fetch content) and between select_courses and confirm_setup (both touch setup state), but descriptions clarify the boundaries.

Naming Consistency5/5

All eight tools follow a consistent snake_case verb_noun pattern (check_connection, list_courses, download_resource, sync_courses, select_courses, confirm_setup, etc.). No mixing of conventions or vague verbs.

Tool Count5/5

Eight tools is well-scoped for a Moodle course-sync server, with each tool earning its place across connection, discovery, sync, and setup concerns. No redundant or trivial tools pad the set.

Completeness4/5

The surface covers connection, discovery, download, sync, settings, and setup lifecycle well. Minor gaps like cleanup of old versions or removing downloaded materials exist, but core workflows are covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues