UBC MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UBC_PROFILE | No | Set to personal to enable personal profile tools; public mode is the default and requires no personal credentials. | |
| UBC_CONNECTOR_URL | No | Operator-controlled URL of the personal snapshot connector. | |
| UBC_SNAPSHOT_FILE | No | Absolute path to a private JSON snapshot file for local personal verification. | |
| UBC_CONNECTOR_TOKEN | No | The user's READ token for the personal snapshot connector. |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_data_statusA | Check available sources, connection state, observed periods, coverage and data age. No refresh is implied. |
| list_subjectsB | List official Calendar subject codes for a campus. Courses are catalog records, not current offerings. |
| search_coursesB | Search one official Calendar subject by keyword and/or course level. Preserves prerequisite text. |
| get_courseA | Read full official catalog text for a course. Does not establish current offering or personal eligibility. |
| list_grade_sessionsA | List available historical grade sessions. Use before requesting a session with unknown coverage. |
| get_course_gradesB | Historical UBCGrades reports for a course, separating OVERALL from individual sections. No prediction of grades or current seat counts. |
| compare_coursesA | Compare up to five courses using official descriptions and historical grades. Reports individual source failures without inventing data. |
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 7 tools
Each tool occupies a clearly distinct slot: browsing subject codes (list_subjects), keyword search (search_courses), single-record detail (get_course), grade history (get_course_grades), multi-course comparison (compare_courses), and metadata/health (list_grade_sessions, get_data_status). The descriptions explicitly draw boundaries between catalog records, historical grades, and data freshness, so an agent can select without guessing.
All seven tools follow a uniform verb_noun snake_case convention (list_*, get_*, search_*, compare_*). The two get_course/get_course_grades names are predictably nested rather than confusing.
Seven tools is a tight, well-scoped set for a course-catalog-plus-grades domain, with no redundant or filler entries. Each tool maps to one user intent (discover, inspect, compare, check freshness).
Discovery, detail, grade history, comparison, and data-health are all covered, and prerequisite text is preserved for planning. The main gap is any current-offering/section/seat lookup, which the descriptions disclaim but which agents will likely want for real course planning.