moodle_math_mcp
Automates Moodle interactions, providing tools to list courses, list and search course modules, fetch assignment details, and download assignment or resource files.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@moodle_math_mcp List my courses and show recent assignments"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
moodle_math_mcp
MCP server for moodle.math.tusur.ru — automates Moodle interactions via Playwright browser automation.
Features
list_courses — get available courses
list_course_modules — list materials and assignments in a course
find_course_module — search modules by title
get_assignment_details — fetch assignment page text
download_module_files — download files from a resource or assignment
Related MCP server: Moodle MCP Server
Prerequisites
Node.js >= 18
Playwright browsers:
npx playwright install chromium
Setup
Clone the repo:
git clone https://github.com/<you>/moodle_math_mcp.git cd moodle_math_mcpInstall dependencies:
npm installCreate
.envfrom the example:cp .env.example .envFill in
MATH_USERNAMEandMATH_PASSWORDwith your Moodle credentials.(Optional) Save browser session for cookie-based auth:
npm run loginA browser window will open — log in manually. The session is saved to
storage/auth.json.
Usage
As an MCP server
Add to your MCP client config (e.g. Claude Desktop):
{
"mcpServers": {
"moodle-math": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/path/to/moodle_math_mcp"
}
}
}Development
npm run devBuild
npm run build
npm startEnvironment Variables
Variable | Required | Default | Description |
| Yes | — | Moodle login |
| Yes | — | Moodle password |
| No |
| Moodle base URL |
| No |
| Run browser without UI |
License
ISC
Available Tools
6 toolsdownload_course_filesA
Скачать все файлы со всего курса math Moodle целиком (resource + assign)
Inputs: courseUrl (required).
download_module_filesC
Скачать файлы только из одного конкретного модуля math Moodle: resource или assign
Inputs: moduleUrl (required).
find_course_moduleB
Найти материал или задание на странице курса math Moodle по названию
Inputs: query (required), courseUrl (required).
get_assignment_detailsB
Открыть страницу задания в math Moodle и вернуть текст задания
Inputs: assignmentUrl (required).
list_course_modulesC
Получить список материалов и заданий на странице курса math Moodle
Inputs: courseUrl (required).
list_coursesA
Получить список курсов из moodle.math.tusur.ru
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Most tools are clearly distinct: list_courses, list_course_modules, find_course_module, and the two download tools each target different actions or scopes. get_assignment_details could be slightly confused with download_module_files when an assignment contains files, but its purpose of returning the assignment text is distinguishable.
All tool names follow the same lowercase snake_case verb_noun pattern: list_, get_, find_, download_. The naming consistently reflects the action and target resource, making the API predictable.
Six tools is a well-scoped size for a Moodle math file/material retrieval server. Each tool covers a meaningful operation without unnecessary fragmentation or bloat.
The set covers the core workflow: listing courses, viewing course modules, finding specific modules, getting assignment details, and downloading files at module or course level. Minor gaps exist, such as no direct way to fetch course metadata or handle other Moodle activities, but agents can work around these.
Maintenance
Related MCP Connectors
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Hosted browser for agents: open pages, search the web, extract data, read PDFs and take screenshots.
I do everything related to Browser Automation & Management
Control a real browser from AI agents: navigate, click, type, screenshot, read the page.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Moodle learning management systems through the Moodle REST API. Supports course management, user enrollment, assignments, forums, quizzes, and file operations through natural language.30 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Moodle learning management systems through the REST API. Supports course management, user enrollment, assignment handling, and forum operations through natural language.30 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Moodle LMS via browser automation, using a server and browser extension to keep credentials local and route commands securely.10 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables browser-based login to approved UTN Moodle sites and read-only access to the user's profile, course list, and course activities via local Chromium automation.2-