moodle_browser
Browse any Moodle page in a headless browser, clicking, filling forms, or uploading files. Use it for tasks without a dedicated tool, like quiz attempts or forum reading.
Instructions
Browse any Moodle page in a real headless browser, optionally clicking/filling.
This is the universal fallback for anything without a dedicated tool: taking a quiz, filling a form, uploading a file, reading a forum. Each call is stateless but the server-side Moodle state persists.
Action objects (executed in order): {"type":"click","selector":"text=Attempt quiz now"} {"type":"fill","selector":"#id_answer","value":"42"} {"type":"select","selector":"select[name=x]","value":"1"} {"type":"check","selector":"input[value=1]"} {"type":"set_file","selector":"input[type=file]","value":"/path/file.pdf"} {"type":"press","value":"Enter"} {"type":"goto","url":"/mod/quiz/attempt.php?attempt=..."} {"type":"wait","value":1000} {"type":"wait_for","selector":".que"} {"type":"scroll","value":800}
Returns the page title, URL, readable text, and all visible form elements (with names/labels/options) plus optional screenshot path. JavaScript confirm/alert dialogs are accepted automatically.
Args: url: page to open (path or full university URL). actions: optional list of actions to perform before reading the page. screenshot: save a PNG screenshot and return its path.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"url": "<url>"
},
"name": "moodle_browser"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| actions | No | ||
| screenshot | No |