quercus-mcp
Provides read-only tools to interact with Canvas LMS (including Quercus) for retrieving courses, assignments, grades, announcements, files, and modules.
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., "@quercus-mcpWhat's due this week across all my courses?"
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.
quercus-mcp
An MCP server that lets Claude read your University of Toronto Quercus courses: assignments, due dates, grades, announcements, files, and modules.
Quercus runs on Canvas LMS, so it also works with any school that uses Canvas.
Ask Claude things like:
"What's due this week across all my courses?"
"Summarize the latest announcements in MAT188."
"What's my current grade in CIV100?"
"Find the lecture slides for week 3 in my calculus course."
How it works
The server runs locally on your computer and talks to the Canvas REST API with a personal access token that you create. Your token stays on your machine. It is only ever sent to your school's Canvas server, never anywhere else.
Every tool is read-only. The server can't submit work, post, or change anything in your account.
Related MCP server: Canvas LMS MCP Server
Setup
Requirements: Node.js 18 or newer, and Claude Code or Claude Desktop.
1. Get a Quercus access token
Sign in to Quercus.
Go to Account → Settings → Approved Integrations.
Click + New Access Token, give it a name like "Claude", and copy the token.
Treat this token like a password. Anyone who has it can read your Quercus account.
2. Install and build
git clone https://github.com/lance-lii/quercus-mcp.git
cd quercus-mcp
npm install
npm run build3. Connect it to Claude
Claude Code:
claude mcp add quercus -s user \
-e QUERCUS_API_TOKEN=<your token> \
-e QUERCUS_BASE_URL=https://q.utoronto.ca/api/v1 \
-- node /absolute/path/to/quercus-mcp/dist/index.jsStart a new Claude Code session afterwards so it picks up the new tools. Check the connection with claude mcp get quercus.
Claude Desktop: add this to your claude_desktop_config.json and restart the app:
{
"mcpServers": {
"quercus": {
"command": "node",
"args": ["/absolute/path/to/quercus-mcp/dist/index.js"],
"env": {
"QUERCUS_API_TOKEN": "<your token>",
"QUERCUS_BASE_URL": "https://q.utoronto.ca/api/v1"
}
}
}
}Using a different Canvas school
Set QUERCUS_BASE_URL to your school's Canvas API, for example https://yourschool.instructure.com/api/v1, and create the token from that school's Canvas settings page.
Tools
Tool | What it does |
| Your active, completed, or all enrolled courses |
| Assignments for a course, optionally filtered (upcoming, overdue, ungraded, and more) |
| Your grade and enrollment info for one course |
| Your grades across all courses |
| Announcements for one or more courses |
| Your Quercus to-do list |
| Upcoming events and due dates |
| Calendar events or assignments in a date range |
| Files in a course |
| Metadata and an authenticated download link for a file |
| A course's modules and their items |
Security notes
Keep your token out of git.
.envis already in.gitignore. Copy.env.exampleto.envif you'd rather keep your token in a file.If a token leaks, delete it under Approved Integrations in Quercus and create a new one.
Check your school's policies on third-party tools before using this.
Development
npm run build # compile TypeScript to dist/
npm start # run the server over stdioSource is in src/: canvas.ts handles the API client and pagination, and index.ts defines the tools.
Disclaimer
This is an independent student project. It isn't affiliated with or endorsed by the University of Toronto or Instructure.
License
MIT © 2026 Lance Li
This server cannot be deployed
Maintenance
Related MCP Connectors
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Give Claude only the Google Drive files you choose. Every action logged.
AI-powered corporate learning platform — manage courses, users, and insights via Claude.
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceConnects Claude to Canvas LMS, enabling students to query their coursework, assignments, grades, deadlines, announcements, and calendar events through natural conversation instead of navigating the Canvas interface.8-
- AlicenseNot gradedqualityDmaintenanceConnects Claude to Canvas LMS accounts, enabling natural language queries about courses, assignments, grades, and files. Supports content search, file downloads, syllabus retrieval, and bulk course exports via 13 integrated tools.14 npmMIT
- FlicenseNot gradedqualityDmaintenanceConnects Claude AI to your Canvas LMS account, enabling natural language interaction with coursework including assignments, grades, announcements, and calendar.-
- FlicenseNot gradedqualityBmaintenanceConnects Claude to the Canvas LMS REST API, enabling natural language queries about courses, assignments, grades, deadlines, and announcements.1-