Home / Servers

canvas-mcp

by vishalsachdev

<p align="center"> <img src="docs/canvas-mcp-header.png" alt="Canvas MCP — AI tools for Canvas LMS" width="800"> </p>

Canvas MCP Server

<!--mcp-name: io.github.vishalsachdev/canvas-mcp-->

License: MIT skills.sh

MCP server for Canvas LMS with 99 tools and 8 agent skills. Works with Claude Desktop, Cursor, Codex, Windsurf, and 40+ other agents.

npx skills add vishalsachdev/canvas-mcp

For AI Agents

<!-- INLINE AGENT GUIDE: Intentionally duplicates AGENTS.md content. WHY: Agents often can't fetch raw.githubusercontent.com or GitHub blob pages. MAINTENANCE: When updating tools, also update AGENTS.md (source of truth). See CLAUDE.md "Documentation Maintenance" for full guidelines. -->

Canvas MCP provides 99 tools for interacting with Canvas LMS. Tools are organized by user type:

<details> <summary><strong>Student Tools</strong> (click to expand)</summary>
ToolPurposeExample Prompt
get_my_upcoming_assignmentsDue dates for next N days"What's due this week?"
get_my_todo_itemsCanvas TODO list"Show my TODO list"
get_my_submission_statusSubmitted vs missing"Have I submitted everything?"
get_my_course_gradesCurrent grades"What are my grades?"
get_my_peer_reviews_todoPending peer reviews"What peer reviews do I need to do?"
</details> <details> <summary><strong>Educator Tools</strong> (click to expand)</summary>
ToolPurposeExample Prompt
list_assignmentsAll assignments in course"Show assignments in BADM 350"
create_assignmentCreate new assignment"Create an assignment due Jan 26 with online text submission"
update_assignmentUpdate existing assignment"Change the due date for Assignment 3 to Feb 15"
list_submissionsStudent submissions"Who submitted Assignment 3?"
bulk_grade_submissionsGrade multiple at once"Grade these 10 students"
get_assignment_analyticsPerformance stats"Show analytics for Quiz 2"
send_conversationMessage students"Message students who haven't submitted"
create_announcementPost announcements"Announce the exam date change"
Module Management
create_moduleCreate course module"Create a module for Week 5"
update_moduleUpdate module settings"Rename the midterm module"
add_module_itemAdd content to module"Add the syllabus page to Week 1"
delete_moduleRemove a module"Delete the empty test module"
Page & Content
create_pageCreate course page"Create a page for office hours"
edit_page_contentUpdate page content"Update the syllabus page"
update_page_settingsPublish/unpublish pages"Publish all Week 3 pages"
bulk_update_pagesBatch page operations"Unpublish all draft pages"
File Management
upload_course_fileUpload local file to Canvas"Upload syllabus.pdf to the course"
</details> <details> <summary><strong>Shared Tools</strong> (click to expand)</summary>
ToolPurpose
list_coursesAll enrolled courses
get_course_detailsCourse info + syllabus
list_pagesCourse pages
get_page_contentRead page content
list_modulesList course modules
list_module_itemsItems within a module
list_discussion_topicsDiscussion forums
list_discussion_entriesPosts in a discussion
post_discussion_entryAdd a discussion post
reply_to_discussion_entryReply to a post
</details> <details> <summary><strong>Learning Designer Tools</strong> (course design & QC)</summary>
ToolPurposeExample Prompt

Related servers

n8n

by n8n-io

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

NOASSERTION198,904

@modelcontextprotocol/server-everything

Official

by modelcontextprotocol

MCP server that exercises all the features of the MCP protocol

89,105

@modelcontextprotocol/server-filesystem

Official

by modelcontextprotocol

MCP server for filesystem access

SEE LICENSE IN LICENSE89,105

mcp-server-fetch

Official

by modelcontextprotocol

A Model Context Protocol server providing tools to fetch and convert web content for usage by LLMs

89,105