vishalsachdev avatar

Canvas Mcp

vishalsachdev/canvas-mcp

A solid bridge to Canvas LMS with 88 tools split across student, educator, and learning designer workflows. Students pull assignments and grades, educators manage modules and bulk-grade submissions, and designers run WCAG accessibility audits with 20-check scanners. The standout is execute_typescript for custom bulk operations when built-in tools hit their limits, plus role-based filtering so students don't see educator tools. Works with Claude Desktop and 40+ MCP clients. If you're building Canvas workflows or need programmatic access to courses, modules, pages, and submissions without writing direct API calls, this covers the surface area.

GitHub stars
322
tools
13
transport
STDIO
last updated
Nov 9, 2026

Tools

13 tools

Public tool metadata for what this MCP can expose to an agent.

get_coursesRetrieve all available Canvas courses for the current user. Returns a dictionary mapping course names to their corresponding IDs.

Retrieve all available Canvas courses for the current user. Returns a dictionary mapping course names to their corresponding IDs.

No parameter schema in public metadata yet.

get_modulesRetrieve all modules within a specific Canvas course.1 params

Retrieve all modules within a specific Canvas course.

Parameters* required
course_idstring
The unique identifier for the Canvas course. Can be found in the course URL or via get_courses.
get_module_itemsRetrieve all items within a specific module in a Canvas course.2 params

Retrieve all items within a specific module in a Canvas course.

Parameters* required
course_idstring
The unique identifier for the Canvas course. Can be found in the course URL or via get_courses.
module_idstring
The unique identifier for the module within the course. Can be found via get_modules.
get_file_urlGet the direct download URL for a file stored in Canvas.2 params

Get the direct download URL for a file stored in Canvas.

Parameters* required
course_idstring
The unique identifier for the Canvas course. Can be found in the course URL or via get_courses.
file_idstring
The unique identifier for the file. Can be found in module items or file listings.
get_course_assignmentsRetrieve all assignments for a specific Canvas course.2 params

Retrieve all assignments for a specific Canvas course.

Parameters* required
bucketstring
Optional filter for assignment status. Valid values: past, overdue, undated, ungraded, unsubmitted, upcoming, future.
course_idstring
The unique identifier for the Canvas course. Can be found in the course URL or via get_courses.
get_assignments_by_course_nameRetrieve all assignments for a Canvas course using its name.2 params

Retrieve all assignments for a Canvas course using its name.

Parameters* required
bucketstring
Optional filter for assignment status. Valid values: past, overdue, undated, ungraded, unsubmitted, upcoming, future.
course_namestring
The name of the course to search for. Partial matches are supported (e.g., 'Biology' will match 'Introduction to Biology').
get_canvas_coursesAlias for get_courses - retrieve all Canvas courses.

Alias for get_courses - retrieve all Canvas courses.

No parameter schema in public metadata yet.

get_gradescope_coursesRetrieve all Gradescope courses for the current user.

Retrieve all Gradescope courses for the current user.

No parameter schema in public metadata yet.

get_gradescope_course_by_nameFind a Gradescope course by name.1 params

Find a Gradescope course by name.

Parameters* required
course_namestring
The name of the Gradescope course to search for. Partial matches are supported.
get_gradescope_assignmentsRetrieve all assignments for a Gradescope course.1 params

Retrieve all assignments for a Gradescope course.

Parameters* required
course_idstring
The unique identifier for the Gradescope course. Can be found via get_gradescope_courses or get_gradescope_course_by_name.
get_gradescope_assignment_by_nameFind a Gradescope assignment by name.2 params

Find a Gradescope assignment by name.

Parameters* required
assignment_namestring
The name of the assignment to search for. Partial matches are supported.
course_idstring
The unique identifier for the Gradescope course. Can be found via get_gradescope_courses or get_gradescope_course_by_name.
get_cache_statsGet cache statistics for debugging purposes. Returns hit/miss counts and cache size.

Get cache statistics for debugging purposes. Returns hit/miss counts and cache size.

No parameter schema in public metadata yet.

clear_cacheClear all cached data. Use this if you need fresh data from Canvas or Gradescope.

Clear all cached data. Use this if you need fresh data from Canvas or Gradescope.

No parameter schema in public metadata yet.

Sponsors

Readme

Canvas MCP — AI tools for Canvas LMS

Canvas MCP Server

License: MIT skills.sh

MCP server for Canvas LMS with up to 128 tools and 8 agent skills. Designed for Claude Desktop, Cursor, Codex, Windsurf, and 40+ other agents; setup and capabilities vary by client.

Quick Start

1. Install the MCP server (everything else, including the skills, needs it running):


View the full README on GitHub

Details

Repository
github.com/vishalsachdev/canvas-mcp
Website
canvas-mcp.illinihunt.org
Category
Design & Creative
Package
canvas-mcp
Transport
STDIO
Registry
MCP registry, active

Related Design & Creative MCP servers

View all
1dmontgomery40 avatarMCP 3D Printer Serverdmontgomery40/mcp-3d-printer-serverConnects MCP to major 3D printer APIs (Orca, Bambu, OctoPrint, Klipper, Duet, Repetier, Prusa, Creality). Control prints, monitor status, and perform advanced S190stars
2funseaai avatarFunseaAI Unity MCPfunseaai/unity-mcpstdio bridge for the local Unity Editor MCP server from FunseaAI/unity-mcp.100stars
3codeturion avatarUnity API Documentationcodeturion/unity-api-mcpAccurate Unity API docs (2022/2023/6) for AI agents. Prevents hallucinated signatures.66stars
4funplayai avatarFunplay Godot MCPfunplayai/funplay-godot-mcpstdio bridge for the local Godot Editor MCP server from FunplayAI/funplay-godot-mcp.52stars
5bruchris avatarCanvas Lms Mcpbruchris/canvas-lms-mcpTypeScript MCP server for Canvas LMS — 187 tools across 42 domains.10stars
6gregario avatarGodot Forgegregario/godot-forgeGodot 4 MCP server — test runner, API docs, script analysis, scene parsing, LSP.7stars