Nexus MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NEXUS_TOKEN | No | Use an explicit token | |
| NEXUS_TIMEZONE | No | Timezone for the server | |
| NEXUS_TOKEN_STORAGE | No | Token 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_coursesA | List the student's Nexus courses with id, name, short name, teacher and term. |
| 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 |
| 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. |
| 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 |
| 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 |
| recent_announcementsA | Announcements posted by instructors in the last |
| 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.
|
| 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. |
| weekly_briefingB | The next 7 days grouped by course: assignments (with status) and calendar deadlines, plus anything overdue. |
| workload_analysisA | Workload for the next |
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
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.
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.
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.
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.