MUSTer_MCP
An MCP server prepared for MUSTer. Enables LLM interaction with the M.U.S.T. (Macau University of Science and Technology) campus system.
claude mcp add --transport stdio cosmostima-muster_mcp uvx MUSTER_MCP \ --env MUSTER_PASSWORD="YOUR_MUSTER_PASSWORD" \ --env MUSTER_USERNAME="YOUR_MUSTER_USERNAME" \ --env MUSTER_DOWNLOAD_PATH="Optional download path, defaults to ~/Downloads"
How to use
This MCP server exposes a set of tools that let the LLM interact with the MUSTER campus systems. You can fetch the current week’s class schedule, check upcoming deadlines on Moodle, list all Moodle courses, inspect details of specific course items (like assignments or quizzes), download courseware (with bulk downloading support and folder selection), open pages in an automatically authenticated browser, and retrieve the current system time. Use the provided tool names (get_class_schedule, get_pending_events, get_all_courses, get_course_content, download_resource, open_URL_with_authorization, get_current_time) to perform these actions. Each tool handles a distinct aspect of MUSTER’s ecosystem, making it easier for an LLM to navigate academic timetables, course materials, and deadlines without manual credential entry in every step.
How to install
Prerequisites:
- Python 3.12+ (or ensure uv is installed and configured on your system)
- A locally available Chrome/Chromedriver for Selenium-based interactions
- Access to MUSTER credentials (MUSTER_USERNAME and MUSTER_PASSWORD)
Installation steps:
- Install uv (the Python package manager) if you don’t have it:
- Follow the instructions at https://docs.astral.sh/uv/ to install uv.
- Clone the repository:
- git clone https://github.com/Cosmostima/MUSTer_MCP
- Navigate into the project directory:
- cd MUSTer_MCP
- Install dependencies and set up the environment as needed by your setup (the project uses uv to run locally):
- uv sync
- Prepare environment variables for MUSTER credentials and optional download path:
- In your shell or a .env file, set:
export MUSTER_USERNAME=YOUR_ID_HERE
export MUSTER_PASSWORD=YOUR_PASSWORD_HERE
Optional:
export MUSTER_DOWNLOAD_PATH=/path/to/download
- In your shell or a .env file, set:
export MUSTER_USERNAME=YOUR_ID_HERE
export MUSTER_PASSWORD=YOUR_PASSWORD_HERE
- Run the MCP server using uv as described in the configuration:
- uvx MUSTER_MCP
- Ensure the path and environment align with how you’ve configured your local environment.
Additional notes
Tips and common issues:
- Ensure Chrome/Chromedriver is installed and accessible if Selenium-based features are used.
- If you encounter login failures, verify that MUSTER_USERNAME and MUSTER_PASSWORD are correctly exported in your environment.
- The MUSTER_DOWNLOAD_PATH environment variable is optional; if omitted, the default download folder (often ~/Downloads) will be used.
- When downloading bulk courseware, you can specify a target folder via the MUSTER_DOWNLOAD_PATH to organize downloaded materials.
- If you need to customize the download location per run, adjust the MUSTER_DOWNLOAD_PATH before starting the MCP server.
- The MCP server relies on online access to Moodle and Wemust; ensure network access is available from the host running the MCP server.
Related MCP Servers
gpt-researcher
An autonomous agent that conducts deep research on any data using any LLM providers.
sonarqube
SonarQube MCP Server
skillz
An MCP server for loading skills (shim for non-claude clients).
mcp -ccxt
Cryptocurrency Market Data MCP Server
beemcp
BeeMCP: an unofficial Model Context Protocol (MCP) server that connects your Bee wearable lifelogger to AI via the Model Context Protocol
mcp -js
MCP server that exposes YepCode processes as callable tools for AI platforms. Securely connect AI assistants to your YepCode workflows, APIs, and automations.