Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NEXUS_TOKENNoUse an explicit token
NEXUS_TIMEZONENoTimezone for the server
NEXUS_TOKEN_STORAGENoToken storage method: keyring or file

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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_coursesA

List the student's Nexus courses with id, name, short name, teacher and term.

    classification (from Moodle start/end dates): "inprogress" (default), "past",
    "future", "hidden", or "all". academic_only=true drops non-academic enrolments
    (trainings, campus resources) that have no term code. Use `id` with other tools.
    
get_courseB

Full view of one course: description, instructors, sections with every module, the materials (files/pages/books/links) and the major activities (assignments, quizzes, forums...). Module ids returned here are course-module ids (cmid).

nexus_statusA

Who is signed in, which Moodle release Nexus runs, the timezone used for all dates, and which capabilities this account's token can use.

upcoming_assignmentsA

Assignments due within the next days days, ordered by due date, each with its Moodle submission status (not_started / draft / submitted / graded / overdue), points and URL. This is the one call to make for "what's due this week?". Dates are in the student's timezone. Set include_submitted=false to hide finished work.

overdue_assignmentsA

Assignments whose (extension-adjusted) due date has passed and that Moodle reports as not submitted. Only current courses are checked unless course_id is given; items older than max_age_days are ignored. can_still_submit says whether Nexus still accepts a submission (cut-off date).

assignment_detailsA

Everything about one assignment: instructions, due/cut-off dates, submission requirements (types, file limits, word limit), current submission status, grading info and attached files. Accepts the assignment id (preferred) or its cmid.

submission_statusA

Authoritative submission status for one assignment straight from Moodle: not_started, draft, submitted, graded or overdue, with the grade/feedback when released. Check freshness.cached before calling the value real-time.

current_gradesA

Current course total for every course the student can see grades in. Courses whose gradebook is hidden are listed with access="hidden" rather than omitted.

course_gradeA

Grade breakdown for one course: course total, percentage/letter when shown, and every grade item (assignments, quizzes, categories) with grade, range, weight, feedback and dates.

grade_historyA

What Nexus exposes about grade changes over time for a course. Moodle has no grade-history web service, so this returns each item's current grade with its graded/submitted date (newest first) and says so explicitly.

search_course_materialsA

Search course materials (PDFs, files, pages, books, links, folders, lecture notes) by title, filename, description or section name across current courses (or one course). Returns title, course, type, description, url and a material id for get_material. Nothing is downloaded by this call.

get_materialA

Metadata for one material plus its content when it is text-bearing (Moodle pages, books, text/HTML files, external links, and PDFs when the optional pdf extra is installed). material_id is the id from search_course_materials or a course-module id (cmid); folder files use "/".

upcoming_eventsA

Calendar events for the next days days in chronological order: assignment due dates, quiz open/close times, course events (exams, sessions), personal and site events, each with course, start/end, description, url and event type.

recent_announcementsA

Announcements posted by instructors in the last days days (the Announcements / News forum of each current course), newest first, with author, time, full text and link. include_all_forums=true also scans discussion forums.

course_updatesA

What changed in the student's courses since a point in time: modules whose settings/files/grades changed, new announcements and Moodle notifications. since accepts ISO-8601 ("2026-09-10T08:00"), a Unix timestamp, or relative values like "24h", "2d", "yesterday". Answers "what changed since yesterday?".

daily_briefingA

One-call academic briefing: due today, due tomorrow, coming up, overdue work, today's events, new announcements/course changes, and a recommended priority order. text is ready to show; the structured fields back it up.

weekly_briefingB

The next 7 days grouped by course: assignments (with status) and calendar deadlines, plus anything overdue.

workload_analysisA

Workload for the next days days. facts are Moodle data (counts per course and per day, points, quizzes, overdue); estimates are nexus-mcp heuristics for hours of effort and are explicitly not instructor estimates.

what_should_i_do_nextA

Prioritised to-do list built from overdue work, upcoming due dates, submission status, calendar deadlines and recent announcements. Each item explains why it was ranked where it is (HIGH / MEDIUM / LOW).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 19 tools

Disambiguation3/5

The four synthesis tools (daily_briefing, weekly_briefing, workload_analysis, what_should_i_do_next) pull from largely the same underlying data (due work, overdue work, events, announcements) and could easily be mis-selected. submission_status also overlaps with the status already returned by upcoming_assignments and assignment_details. Descriptions do distinguish them somewhat, but the boundaries between the aggregate tools remain fuzzy.

Naming Consistency3/5

Everything is snake_case, which is good, but the pattern is mixed: some tools are verb_noun (get_material, get_course, list_courses, search_course_materials) while many are bare noun phrases (upcoming_events, recent_announcements, daily_briefing, grade_history). Readable but inconsistent verb conventions.

Tool Count4/5

19 tools is on the heavy side but each targets a recognizable piece of the student workflow (courses, assignments, grades, materials, events). A few synthesis tools are redundant with each other, keeping it from being ideal, but the count is defensible for the scope.

Completeness4/5

The surface covers the read-only student domain well: courses, assignments, submissions, grades, materials, events, announcements, and status/auth. Minor gaps (e.g. quiz/forum participation detail, any write/submit actions) exist but are not blocking for the apparent read/advice purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues