Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LEARN_BASE_URLNoOverride the LEARN base URL (default is the University of Waterloo LEARN instance).
LEARN_AUTH_FILENoOverride the path to the auth file containing session cookies (default is ./auth.json).

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
list_coursesA

List the courses you are enrolled in on Waterloo LEARN. Returns course names and their ou (org unit) IDs, which the other tools take as courseId. Use to answer: "What courses am I taking?"

get_announcementsA

Get announcements/news posted by instructors for a course. Returns title, body, posted date, and attachments. Use to answer: "Any new announcements?", "What did the professor post?"

get_contentA

List the content modules and materials (lectures, slides, files, links) for a course as a nested table of contents. Use to answer: "What materials are in week 3?", "Where are the lecture slides?"

get_gradesA

Get your grades for a course: each grade item with displayed grade, points, weight, and feedback. Use to answer: "What are my grades?", "How did I do on the midterm?"

get_upcomingA

Get upcoming calendar events and due dates (assignments, quizzes, exams) for a course. Use to answer: "What is due this week?", "When is the next deadline?"

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct aspect of the LEARN experience (announcements, content, grades, upcoming events, courses), with no overlaps in purpose.

Naming Consistency5/5

All tool names follow the consistent pattern get_<resource> in snake_case, making them predictable and easy to remember.

Tool Count5/5

5 tools is an ideal size for a student-focused LMS server, covering all essential read operations without unnecessary bloat.

Completeness5/5

The toolset provides comprehensive coverage of a student's common needs: viewing courses, grades, materials, announcements, and upcoming deadlines. No obvious gaps.

Maintenance

ActivitySlowing
ResponsivenessNo issues