Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MERCATORUM_HOMENoCartella dati privata (sessione, catture di debug)vedi tabella sessione
MERCATORUM_TOOLSNo`core` nasconde i tool avanzatiall
MERCATORUM_BASE_URLNoURL del portaleportale corsi
MERCATORUM_HEADLESSNo`false` per vedere il browser (debug)true
MERCATORUM_LOG_LEVELNo`debug` · `info` · `warn` · `error` · `silent` (su stderr)info
MERCATORUM_WORKSPACENoRadice dei download; nulla viene scritto fuoricartella corrente
MERCATORUM_CONCURRENCYNoRichieste parallele (max 16)4
MERCATORUM_ALLOWED_HOSTSNoHost extra raggiungibili dai tool, separati da virgola
MERCATORUM_BROWSER_CHANNELNo`chrome` / `msedge` per usare un browser installato

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

Tools

Functions exposed to the LLM to take actions

NameDescription
statusA

Check whether the saved platform session is valid and when the access token expires. Returns no personal data.

list_coursesA

List the student's enrolled courses: code, title, CFU and progress (null if not started).

list_lessonsA

List the lessons of a course with teacher, progress, video paragraphs and whether a PDF handout exists. Set compact=false for objectives and media URLs.

get_lessonA

Full details of one lesson: objectives, teacher, paragraphs with duration and progress, handout URL, self-test, and watchUrl, the link to watch it on the platform.

get_transcriptA

Text of a lesson (from the video subtitles) as Markdown, with objectives and one section per paragraph. Use it to study, summarize or quiz on a lesson without downloading anything.

course_progressA

What is left to watch (remaining video time, unfinished lessons and paragraphs) and which self-assessment tests are still open, from the progress reported by the platform. Without course, summarizes every started course. Informational only.

sync_courseA

Download every PDF handout and lesson transcript of a course into /risorse/ inside the workspace, plus indice.md and corso.json. Existing files are kept unless force=true.

open_pageA

Advanced: open a platform URL with the student session and return its text, links, iframes and the JSON API calls it made. Tracking requests are blocked and listed in blockedRequests.

clickA

Advanced: click an element of the page opened with open_page (by visible text or CSS selector) and return the new snapshot. Useful to expand sections of the web app.

api_getA

Advanced: GET a platform endpoint (discovered with open_page) with the session cookies and auth headers. Optionally save the body to a file in the workspace.

downloadB

Download a file (PDF, slides…) from a direct platform URL with the student session into the workspace.

download_by_clickA

Download a file started by clicking an element of the current page (download buttons without a direct link).

Prompts

Interactive templates invoked by user choice

NameDescription
studia_lezioneSpiegazione guidata di una lezione a partire dalla trascrizione, con domande di verifica.
simula_esameSimulazione d'esame (orale o scritto) sulle lezioni di un corso.
piano_di_studioPianifica la visione delle lezioni mancanti e il ripasso in base al tempo disponibile.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 12 tools

Disambiguation4/5

Most tools have clearly distinct roles: listing (list_courses/list_lessons), detail retrieval (get_lesson/get_transcript), progress (course_progress), and bulk sync (sync_course) are easy to tell apart. The only genuine overlaps are download vs download_by_click (direct URL vs click-triggered) and api_get vs open_page (endpoint fetch vs full page snapshot), which descriptions clarify but still require reading carefully.

Naming Consistency3/5

All names use snake_case, which is good, but the verb_noun convention is only partly followed: list_courses, get_lesson, sync_course, open_page, download_by_click fit it, while status, course_progress, download, click and api_get do not. The set is readable but the pattern is mixed rather than predictable.

Tool Count4/5

Twelve tools is a reasonable size for a university platform client: core study tools plus a small set of advanced escape hatches. There is mild redundancy (two download variants, two low-level fetch tools) that could be trimmed, but nothing feels padded.

Completeness4/5

Coverage of the study domain is strong: courses, lessons, transcripts, handouts, downloads, progress tracking, offline sync, plus browser/API fallbacks for undiscovered features. Minor gaps remain, e.g. no tool to take or submit the self-assessment tests that course_progress references, and no search across courses/lessons.

Maintenance

ActivityMaintained
ResponsivenessNo issues