Digii Campus MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DIGII_TERM | No | Optional, current term id for attendance | |
| DIGII_UKID | Yes | Your numeric student id (ukid) — the number in your profile URL (/users/<ukid>/...) | |
| DIGII_BASE_URL | Yes | Base URL of your college's Digii/CollPoll student portal, e.g. https://<your-college>.digiicampus.com | |
| DIGII_AUTH_TOKEN | Yes | Your 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": false,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
|
| 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 |
| 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 |
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
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.
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.
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.
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.