list_coursesLABSCO SUMMARY
Your coursework, answerable in one sentence.
Canvas keeps the same three answers — what is due, what did I get, what did the instructor post — several clicks deep in each course. Reading them through the API turns what do I owe this week into a single question across every course at once.
What it is
A Node MCP server over the Canvas LMS API. It reads courses, assignments, grades, submissions, announcements, discussions, files and calendar events for the account whose token you give it.
What you get
- Your active courses listed, and full detail for one including its syllabus
- Assignments for a course, one assignment in detail, and what is coming up
- Current grades
- Submissions for an assignment
- Announcements and discussion threads for a course
- Course files and calendar events
Requirements
A recent Node.js, Git, and a Canvas personal access token created under Account, Settings, Approved Integrations — Canvas shows the token once. The token and your school's Canvas URL go in the client config; the bundled install.sh writes it for Claude Code or Claude Desktop.
Setup effort
Build from source — git clone https://github.com/Kdude43ver/Canvas-API-MCP.git
USE CASES
Working out what is due this week
Pull what is upcoming across courses, then the assignment list for the course that looks worst.
Checking where you actually stand in a course
Read the current grades and the submissions behind them, rather than the one number on the dashboard.
Catching up on a week you missed
Read the announcements and discussion threads for the course in one pass.
Finding the reading for a class
List the course files, and read the syllabus when the file names do not say enough.
Planning around the term calendar
Pull the calendar events for your active courses and see the collisions early.
Reading the brief for one assignment properly
Fetch that assignment on its own, description and dates included.
11 tools
Listed in project docs. Your client may show a different list.
get_courselist_assignmentsget_assignmentlist_upcoming_assignmentsget_gradeslist_submissionslist_announcementslist_discussionslist_calendar_eventslist_filesBEFORE YOU INSTALL
What to know first
Tools you get
11 tools named in the project's documentation.
Requires
- Node.js 18 or later
- Git
- CANVAS_TOKEN in your environment
- CANVAS_BASE_URL in your environment
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/Kdude43ver/Canvas-API-MCP.git
cd Canvas-API-MCP
bash install.shMCP Clients
Claude Code
claude mcp add canvas \
-e CANVAS_TOKEN=<YOUR_CANVAS_TOKEN> \
-e CANVAS_BASE_URL=https://<YOUR_SCHOOL>.instructure.com \
-- node <YOUR_PATH_TO_CANVAS_API_MCP>/dist/index.jsClaude Desktop
{
"mcpServers": {
"canvas": {
"command": "node",
"args": [
"<YOUR_PATH_TO_CANVAS_API_MCP>/dist/index.js"
],
"env": {
"CANVAS_TOKEN": "<YOUR_CANVAS_TOKEN>",
"CANVAS_BASE_URL": "https://<YOUR_SCHOOL>.instructure.com"
}
}
}
}