Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DIGII_TERMNoOptional, current term id for attendance
DIGII_UKIDYesYour numeric student id (ukid) — the number in your profile URL (/users/<ukid>/...)
DIGII_BASE_URLYesBase URL of your college's Digii/CollPoll student portal, e.g. https://<your-college>.digiicampus.com
DIGII_AUTH_TOKENYesYour JWT auth token, found in browser Local Storage under the `token` field inside `userInfo` (the `user` cookie holds the same JWT). Tokens expire; refresh when a call returns TOKEN_EXPIRED.

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

Tools

Functions exposed to the LLM to take actions

NameDescription
get_attendance_summaryB

Overall attendance percentage plus a per-course breakdown (counts and %).

get_coursesA

Enrolled courses with compact fields (code, name, class, faculty, credits, next class times).

get_timetableB

Upcoming scheduled lessons across all enrolled courses within the next days_ahead days (start/end, venue, faculty, requiresAttendance, status).

get_calendar_eventsB

Institutional calendar events (holidays, fests, exams) for SNU Chennai.

get_profileA

Compact identity card for the authenticated student (ukid, user type, tenant/college, pending stats).

get_drive_usageB

Human-readable drive storage usage: used vs allocated (and free).

get_assignmentsB

Assignments across enrolled classes (or one class): draft/upcoming/previous buckets with due dates and submission state.

get_assignmentA

Full detail for one assignment: description, start/due dates, submission state, grade fields, mark limits, student submissions and resource files.

get_resultsA

Semester results: overall CGPA/percentage rollup + every exam term with declaration state (omit term_id), or per-term course grades (with term_id).

get_class_assessmentsB

Gradebook snapshot for one class: the student's assessment component results and grades as published (empty when nothing is declared yet).

get_feedC

Latest posts from the campus feed: text, author, timestamp (and booth, category).

get_notificationsA

Campus notification bell, list-only: unread count + latest rows.

NOT mutations are performed: notifications are never marked as seen (see the policy comment in server.py's implementation for why).

get_mentorB

Assigned faculty mentor: name/salutation, contact, department.

get_hostel_summaryB

Hostel snapshot: allotment (hostel/room/status/dates), hostel attendance roll for the last days days (yes/no per date), and profile hostel data.

get_passesB

My-passes console: own pass requests (paged) + hostel identity, plus, when the pass console has no rows, the help-centre outpass requests as fallback.

get_help_requestsA

Campus Help Centre: requestable services + my help requests (paged); with request_id, full detail for ONE request incl. form values and comments.

get_venue_bookingsB

My venue bookings (Book-a-Venue): self bookings in the selected period window, plus the infrastructure types a student may book direct.

preview_outpassA

PREVIEW ONLY (no mutation): build the EXACT JSON that create_outpass would POST to /api/chc/request/v2 for an outpass request and show it with a human summary. Nothing is sent to the campus API.

create_outpassA

File an outpass request via POST /api/chc/request/v2. HARDC GATE:

confirmed MUST literally be true. If it is not true, the tool refuses without touching the network — run preview_outpass with the SAME params first, review the payload, then call this with confirmed=true.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 19 tools

Disambiguation4/5

Most tools target a clearly distinct resource or action, and singular/plural naming helps separate get_assignments (list) from get_assignment (detail). However, get_passes and get_help_requests overlap on outpass requests because get_passes falls back to help-centre outpass data, creating some ambiguity for an agent seeking outpass information.

Naming Consistency5/5

All read tools use a consistent get_<resource> snake_case pattern, while the two mutation-adjacent tools use preview_outpass and create_outpass. The naming is highly predictable and readable throughout.

Tool Count4/5

19 tools is on the heavy side, but the broad campus domain (calendar, profile, drive, assignments, results, assessments, feed, notifications, mentor, hostel, passes, attendance, courses, timetable, help, venue, outpass) justifies nearly every tool. No obvious duplicates or filler tools exist.

Completeness3/5

Read coverage is extensive across student portal resources, but mutations are minimal: only outpass creation exists, with no cancel/update, no help-request creation, no venue booking creation, and no assignment submission. This leaves notable lifecycle gaps despite the rich read surface.

Maintenance

ActivityMaintained
ResponsivenessNo issues