Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OMNIVOX_CONFIGYesContents of config.json from the omnivox-connection auth app, as base64 (base64 -w0 config.json) or raw JSON.
OMNIVOX_COOKIESYesContents of cookies.json from the omnivox-connection auth app, as base64 (base64 -w0 cookies.json) or raw JSON.
OMNIVOX_DATA_DIRNoData directory for config, cookies, browser profile, and access key./tmp/omnivox
BROWSER_LAUNCH_ARGSNoExtra Chrome flags. Chrome runs as root in the container and needs the sandbox disabled.--no-sandbox --disable-setuid-sandbox
BROWSER_REFRESH_INTERVALNoMinutes between automatic page refreshes to keep the Omnivox session alive. Recommended: 10.
ENABLE_EXTERNAL_SERVICE_LINKSNoWhen true, enables get-service-link, which returns pre-authenticated links to web-only Omnivox services. Off by default because these links log into the full web portal.false

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
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get-overviewA

Dashboard of what's actionable right now: today's schedule, per-course new items (documents, announcements, assignments, grades) with delta tracking, new MIO messages, upcoming evals, notifications, and featured college news. Best starting point to see what needs attention.

get-termsA

Get the list of available academic terms (sessions) and the current default term, with human-readable names.

get-calendarA

Retrieve the real day-by-day calendar: classes, holidays, day swaps, cancelled classes, exams and deadlines. Prefer this over get-schedule for what happens on a given day. Exam and assignment dates only appear if the teacher entered them on Lea, so read the course syllabus for the full picture.

get-college-documentsA

List the official documents the college has sent to the student (admission letters, enrollment confirmations, notices, acknowledgments). Read-only: a mandatory document that has not been opened blocks every Lea tool until the student opens it in Omnivox themselves, and opening it is recorded on the student file, so this tool only names the document. Use it when another tool reports a mandatory college document block.

get-college-listA

Retrieve the list of colleges available to the user.

get-college-newsB

Retrieve the latest news and announcements from the college.

get-online-formsA

List the online forms the college publishes in Omnivox (workshop registrations, course withdrawal requests, surveys, sign-ups), with whether each one is currently open. Read-only: filling a form stays in the Omnivox web portal.

get-absencesA

Retrieve absence summaries for all courses in a given term or the current term.

get-course-announcementsC

Retrieve announcements (communiqués) for a specific course.

get-assignment-detailA

Full detail of one assignment: deadline, instructions, what is in the hand-in deposit, teacher documents and corrected copies, with the file IDs get-assignment-file-link needs. A file in the deposit means something was uploaded, not that the work is finished.

get-assignment-submit-linkA

Get a short link that opens the Omnivox hand-in page for an assignment, already logged in. Give it to the user so they can upload their file in their own browser — this tool never submits anything itself. Link expires after 15 minutes. Fails if online submission is closed for the assignment, or if the server has no public URL (MCP_SERVER_URL).

get-course-assignmentsA

List the assignments of a course with their deadline and what is in the hand-in deposit. A file in the deposit means something was uploaded, not that the work is finished. Incomplete by nature: many teachers never post assignments here, so an empty list does not mean there is no homework. Cross-check the course syllabus from get-course-documents.

get-assignments-summaryA

Per-course assignment counts for a term, with the titles Lea still lists as to hand in. Only counts assignments teachers posted on Lea; an empty summary does not mean the student is caught up. Use get-course-assignments for deadlines and deposit contents.

get-cancelled-classesA

Retrieve upcoming cancelled class sessions with time, course, teacher, room and any teacher comment.

get-course-infoB

Retrieve info about a specific course. Includes the course identity and teacher names.

get-course-documentsC

Retrieve a list of documents for a specific course.

get-grades-summaryA

Retrieve a list of grades summaries for the user's courses in a given term or the current term.

get-course-evalsA

Retrieve evaluations, grades and course summary for a specific course. Ungraded evaluations show no mark. Evaluations the teacher has not entered in Lea will not appear at all, so reconcile the list against the course syllabus.

get-courses-summaryB

Retrieve a summary of courses for a given term or the current term.

get-teachersA

Fallback tool to get all teachers for a term. Returns names, departments, offices, phone numbers, and MIO IDs, but does NOT include which course each teacher teaches. Prefer get-course-people to look up teachers for a specific course — only use this tool if get-course-people fails or you need the full roster.

get-mio-attachment-linkA

Fetch a MIO message attachment. In HTTP mode with MCP_SERVER_URL set, returns a browser link that expires after 15 minutes; otherwise saves the file locally and returns its path. Get attachment IDs from read-mio-message.

get-course-peopleA

List teachers and students for a specific course (max 75 results). Returns recipient IDs usable with send-mio-message.

create-mio-folderC

Create a new custom folder in MIO (internal messaging).

delete-mio-messageA

Move a MIO message to trash (not permanent). Use restore-mio-message to undo.

flag-mio-messageC

Set flag indicators (important, mark_unread) on a MIO message.

get-mio-foldersA

Retrieve the list of MIO (internal messaging) folders and their unread counts. Folder IDs are string constants like SEARCH_FOLDER_MioRecu; pass them as folder_id to the other MIO tools.

get-mio-messagesB

Retrieve MIO messages from a folder. Supports pagination via last_id.

move-mio-messageB

Move a MIO message to a different folder.

read-mio-messageA

Retrieve and read the full content of a single MIO message by its ID, from any folder. Returns the complete message body as plain text.

reply-mio-messageA

Reply to a MIO message. Sends to the original sender, quotes the original under the reply and links the thread.

restore-mio-messageA

Restore a deleted MIO message from trash back to the inbox.

search-mio-messagesC

Search MIO messages by text.

search-peopleA

Search for people (students, teachers, employees) by name. Useful to find recipient IDs for sending MIO messages.

send-mio-messageA

Send a new MIO message. Use search-people first to get the recipient_id. Supports sending to multiple recipients at once.

get-scheduleA

Retrieve the static weekly class schedule (timetable) for a given term or the current term. Same every week: it does not reflect holidays, day swaps or cancelled classes. Use get-calendar for those.

get-service-linkA

Get a pre-authenticated link to an Omnivox web-only service (lockers, transcript, progression chart, advisor appointments, ...). These services have no API here, so the link is how to reach them. Open it yourself to read the page for the user, or give it to the user. Any action on the page needs the user's explicit authorization for that specific action. It logs the browser into the user's full Omnivox account, so treat it like a password. Expires after 15 minutes.

get-assignment-file-linkA

Fetch an assignment file (teacher document, student submission, or corrected copy). In HTTP mode with MCP_SERVER_URL set, returns a browser link that expires after 15 minutes; otherwise saves the file locally and returns its path. Get file IDs and roles from get-assignment-detail.

get-document-linkB

Fetch a Lea document. In HTTP mode with MCP_SERVER_URL set, returns a browser link that expires after 15 minutes; otherwise saves the file locally and returns its path. Marks the document as read on Omnivox, so use get-course-documents first if you are only browsing.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 38 tools

Disambiguation4/5

Most tools target a clearly distinct resource+action, and the descriptions proactively disambiguate the risky pairs (get-schedule vs get-calendar, get-courses-summary vs get-grades-summary vs get-assignments-summary, get-teachers vs get-course-people as an explicit fallback). The main residual confusion is the cluster of five 'link' tools (get-document-link, get-assignment-file-link, get-assignment-submit-link, get-mio-attachment-link, get-service-link), which share a shape and expiry behavior and only differ by resource.

Naming Consistency5/5

Every name is lowercase kebab-case verb_noun: get-* for reads, and clear action verbs for mutations (send-, reply-, delete-, move-, flag-, restore-, create-, search-). No camelCase or snake_case mixing, and the verb choice consistently signals read vs write.

Tool Count2/5

38 tools is heavy even for a server spanning three subsystems (MIO messaging, Lea courses, college services). Several clusters could be consolidated — e.g. the five link-fetching tools could be one parameterized tool, and the summary tools (courses/grades/assignments) could share a parameterized surface — so the count is above what the scope strictly needs.

Completeness4/5

Coverage is strong: MIO has full lifecycle (list, search, read, send, reply, move, flag, trash, restore, folders, attachments) and the Lea/college side covers courses, people, documents, announcements, assignments, evals, grades, absences, calendar, forms and service links. Minor gaps remain — notifications are only surfaced inside get-overview with no dedicated retrieval tool, and there is no way to access a single announcement or document body without fetching the file.

Maintenance

ActivityActive
ResponsivenessWithin a week