Canvas LMS plugins for Claude Code
npx claudepluginhub vishalsachdev/canvas-lms-pluginCanvas LMS integration — manage pages, assignments, modules, discussions, grades, and more via the Canvas REST API
A Claude plugin that provides full Canvas LMS integration — manage pages, assignments, modules, discussions, grades, rubrics, and more through natural language.
Install the Canvas MCP server:
pip install canvas-mcp
export CANVAS_API_TOKEN="your-token-here"
export CANVAS_API_URL="https://your-institution.instructure.com/api/v1"
Or add them to your shell profile (~/.zshrc, ~/.bashrc).
Claude Code (CLI):
claude plugin install ./canvas-lms-plugin
Cowork: Upload the plugin directory through Customize > Browse plugins > Upload.
Use the /canvas:status command to verify your connection:
/canvas:status
Or with a specific course:
/canvas:status 12345
Full Canvas REST API coverage:
| Category | Tools |
|---|---|
| Pages | Create, edit, get, list, delete pages |
| Assignments | Create, update, get details, list, grade |
| Modules | Create, update, list, add/remove items |
| Discussions | Create topics, post entries, list |
| Files | Upload, download, list course files |
| Rubrics | Create, update, associate with assignments |
| Grades | View submissions, bulk grade |
| Users | List students, groups, analytics |
| Messaging | Send conversations, announcements |
| Peer Review | Assign, track, analyze reviews |
/canvas:status — Verify API connection and list accessible coursescanvas-builder — Generate Canvas-ready HTML with proper structure, accessibility, and inline styling"Create a new page in course 12345 called 'Week 3 Overview' with a header,
learning objectives, and a schedule table for Tuesday/Thursday classes"
"Create an assignment called 'Case Analysis 1' worth 20 points,
due March 1st at midnight Central time, accepting file uploads"
"List all modules in course 12345 and show me what's in Module 3"
"Upload slides.pdf to the Week 3 folder in course 12345"
All configuration is via environment variables:
| Variable | Required | Description |
|---|---|---|
CANVAS_API_TOKEN | Yes | Your Canvas API access token |
CANVAS_API_URL | Yes | Your institution's Canvas API URL (e.g., https://canvas.instructure.com/api/v1) |
MCP_SERVER_NAME | No | Server display name (default: canvas-api) |
ENABLE_DATA_ANONYMIZATION | No | Anonymize student data (default: true) |
API_TIMEOUT | No | API request timeout in seconds (default: 30) |
See the full env.template for all options.
MIT