waterloo-learn-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LEARN_BASE_URL | No | Override the LEARN base URL (default is the University of Waterloo LEARN instance). | |
| LEARN_AUTH_FILE | No | Override 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool targets a distinct aspect of the LEARN experience (announcements, content, grades, upcoming events, courses), with no overlaps in purpose.
All tool names follow the consistent pattern get_<resource> in snake_case, making them predictable and easy to remember.
5 tools is an ideal size for a student-focused LMS server, covering all essential read operations without unnecessary bloat.
The toolset provides comprehensive coverage of a student's common needs: viewing courses, grades, materials, announcements, and upcoming deadlines. No obvious gaps.