Labsco
MCP SERVER

Canvas Assignment Assistant

by mbcrosier

Ask what is due this week — Canvas courses and assignments, searched and summarised without opening the LMS.

Education, Tutoring & Study Tools
Summary
The due-date filter is the query that earns it.

"What is due in the next week, across all my courses" is one search here and four clicks per course in Canvas — which is the entire reason to install this. The bundle format helps too: the token goes into your client's secure storage at install time rather than sitting in a JSON file you might commit. It is read-only and unofficial, with no affiliation to Instructure.

What it is

A Canvas/Instructure server for students. It lists your courses, searches assignments across them, and returns a full assignment in the format you want to read it in.

What you get
  • `list_courses` shows active courses by default, with flags for completed or all
  • `search_assignments` searches assignment titles and descriptions across courses, filtered by query, due-date range, a specific course, and whether to include completed courses
  • `get_assignment` returns the full details of one assignment as HTML, plain text or markdown
  • Assignment content is also exposed as a resource under a standard URI, so a client can reference it directly
Requirements

A Canvas LMS account, a Canvas API token from Account > Settings > New Access Token, and your institution's Canvas domain. It is distributed as an MCP bundle — download the `.mcpb` file from releases, install it in Claude Desktop or Cursor, and enter the token and domain when prompted. The token is marked sensitive so your client stores it securely rather than in a config file. Building it yourself is `npm install` then `npm run package`.

Setup effort

One command plus a key — npx -y canvas-mcp-server, then supply credentials