waterloo-mcp
Provides read-only tools for University of Waterloo course outlines, allowing users to list available outlines and retrieve details for specific outline sections.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@waterloo-mcpwhat assignments are due this week on LEARN?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
waterloo-mcp
An MCP server with read-only access to your University of Waterloo accounts.
Service | Tools |
LEARN |
|
WaterlooWorks |
|
Odyssey |
|
Crowdmark |
|
Outline |
|
Piazza |
|
UW Flow |
|
|
Nothing here submits, posts or changes anything. Files and images come back as content the model can read.
Sign in
pip install -r requirements.txt playwright && playwright install chromium
python login.pyA browser opens; sign in to each service as usual, Duo included. The session cookies are saved to data/. Your password never leaves that browser. When a session eventually expires, sign_in_status says so; run login.py again.
Related MCP server: sio-mcp
Use it locally
Add it to any MCP client as a stdio server, e.g. Claude Code:
claude mcp add waterloo -- python /path/to/waterloo-mcp/server.pyHost it
To reach it from anywhere (phone, web), run it over HTTP behind any HTTPS reverse proxy. Fill in .env from .env.example (your URL, and a GitHub, Google or Discord OAuth app so only you can sign in), then:
docker compose up -d
python login.py --push <ssh-host>:<path-to-this-folder>--push sends the cookies straight into the container and keeps no local copy. Add https://<your-domain>/mcp to your client as a remote server. Hosted, every file also gets a one-time download link that streams through the server without touching disk.
Contributing
Issues and PRs welcome, including from agents using the server.
Credits: the WaterlooWorks protocol is from waterloo-works-scraper; Piazza method names follow piazza-api.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only MCP for Copart and IAA/IAAI search, history, filters, locations, shipping, and usage.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Research saved LinkedIn contacts, review monitored public activity, and prepare engagement campaigns. Four product/setup tools work anonymously. Company tools require OAuth or a scoped API key: explicitly sign in and refresh tools. Paid actions require a credit budget. MCP cannot post comments or start extension delivery. Setup and examples: https://opencomment.ai/mcp
Search university course materials, your flashcards, quizzes, streak and quota. All tools read-only.
Related MCP Servers
- AlicenseAqualityAmaintenanceRead-only MCP server for Canvas LMS that exposes tools to list courses, assignments, grades, submissions, syllabi, announcements, modules, pages, and files, without any write operations.112 npm1MIT
- FlicenseAqualityCmaintenanceEnables read-only interaction with CMU Student Information Online data, including student context, schedules, grades, enrollment, account activity, and campus life through MCP tools.8-
- AlicenseNot gradedqualityBmaintenanceEnables read-only access to University of Waterloo Learn and Piazza, allowing users to view courses, assignments, grades, submissions, discussions, and more through an MCP server.MIT
- AlicenseAqualityBmaintenanceGives Claude, Codex, Cursor and any other MCP client read access to your courses, content, files, grades, deadlines, announcements and discussions, using your own browser session.3132 npm2MIT