Canvas LMS MCP server — 80+ tools and 5 agent skills for students & educators. Works with Claude, Cursor, Codex, and 40+ agents. v1.1.0
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"canvas": {
"url": "https://mcp.illinihunt.org/mcp",
"headers": {
"X-Canvas-URL": "https://your-school.instructure.com/api/v1",
"X-Canvas-Token": "your_canvas_api_token"
}
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
MCP server for Canvas LMS with 88 tools and 8 agent skills. Works with Claude Desktop, Cursor, Codex, Windsurf, and 40+ other agents.
This server supports HTTP transport. Be the first to test it — help the community know if it works.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked skills against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in ai-ml / education
Persistent memory using a knowledge graph
Privacy-first. MCP is the protocol for tool access. We're the virtualization layer for context.
An open-source AI agent that brings the power of Gemini directly into your terminal.
Workspace template + MCP server for Claude Code, Codex CLI, Cursor & Windsurf. Multi-agent knowledge engine (ag-refresh / ag-ask) that turns any codebase into a queryable AI assistant.
MCP Security Weekly
Get CVE alerts and security updates for Canvas Mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
MCP server for Canvas LMS with 88 tools and 8 agent skills. Works with Claude Desktop, Cursor, Codex, Windsurf, and 40+ other agents.
npx skills add vishalsachdev/canvas-mcp
Canvas MCP provides 88 tools for interacting with Canvas LMS. Tools are organized by user type:
| Tool | Purpose | Example Prompt |
|---|---|---|
get_my_upcoming_assignments | Due dates for next N days | "What's due this week?" |
get_my_todo_items | Canvas TODO list | "Show my TODO list" |
get_my_submission_status | Submitted vs missing | "Have I submitted everything?" |
get_my_course_grades | Current grades | "What are my grades?" |
get_my_peer_reviews_todo | Pending peer reviews | "What peer reviews do I need to do?" |
| Tool | Purpose | Example Prompt |
|---|---|---|
list_assignments | All assignments in course | "Show assignments in BADM 350" |
create_assignment | Create new assignment | "Create an assignment due Jan 26 with online text submission" |
update_assignment | Update existing assignment | "Change the due date for Assignment 3 to Feb 15" |
list_submissions | Student submissions | "Who submitted Assignment 3?" |
bulk_grade_submissions | Grade multiple at once | "Grade these 10 students" |
get_assignment_analytics | Performance stats | "Show analytics for Quiz 2" |
send_conversation | Message students | "Message students who haven't submitted" |
create_announcement | Post announcements | "Announce the exam date change" |
| Module Management | ||
create_module | Create course module | "Create a module for Week 5" |
update_module | Update module settings | "Rename the midterm module" |
add_module_item | Add content to module | "Add the syllabus page to Week 1" |
delete_module | Remove a module | "Delete the empty test module" |
| Page & Content | ||
create_page | Create course page | "Create a page for office hours" |
edit_page_content | Update page content | "Update the syllabus page" |
update_page_settings | Publish/unpublish pages | "Publish all Week 3 pages" |
bulk_update_pages | Batch page operations | "Unpublish all draft pages" |
| File Management | ||
upload_course_file | Upload local file to Canvas | "Upload syllabus.pdf to the course" |
| Tool | Purpose |
|---|---|
list_courses | All enrolled courses |
get_course_details | Course info + syllabus |
list_pages | Course pages |
get_page_content | Read page content |
list_modules | List course modules |
list_module_items | Items within a module |
list_discussion_topics | Discussion forums |
list_discussion_entries | Posts in a discussion |
post_discussion_entry | Add a discussion post |
reply_to_discussion_entry | Reply to a post |
| Tool | Purpose | Example Prompt |
|---|