🎨 Learning Designer Guide

Canvas MCP for Learning Designers

AI-powered course design, quality assurance, and accessibility compliance at scale. Scaffold courses, audit content, and remediate WCAG violations.

What Can Canvas MCP Do for You?

Canvas MCP provides AI-powered tools for learning designers who build, audit, and maintain Canvas courses:

🏗️ Course Scaffolding

Build complete course structures from specs, templates, or by cloning existing courses. Create modules, pages, assignments, and discussions in bulk.

✅ Quality Assurance

Pre-semester audits that check module structure, content completeness, publishing state, date consistency, and naming conventions.

♿ Accessibility Compliance

Scan course content for WCAG violations, generate prioritized reports, guide remediation, and verify fixes.

📊 Course Structure Analysis

Get a full module-to-items tree as JSON in a single call. Understand course architecture at a glance.

📄 Page & Module Management

Create, edit, and organize pages and modules. Bulk update content across entire courses.

📋 Content Templates

Clone structures across courses, apply standard templates, and ensure consistency at scale.

Prerequisites

  • Python 3.10+ installed on your computer
  • An MCP-compatible AI client — Claude Desktop, Claude Code, Cursor, ChatGPT, or others
  • Canvas Account with designer or admin permissions

Installation

Option A: Use the Hosted Server (Fastest)

No installation needed. Add this to your MCP client config:

{
  "mcpServers": {
    "canvas-api": {
      "url": "https://mcp.illinihunt.org/mcp",
      "headers": {
        "X-Canvas-Token": "YOUR_CANVAS_TOKEN",
        "X-Canvas-URL": "https://canvas.youruniversity.edu"
      }
    }
  }
}

Option B: Install Locally

git clone https://github.com/vishalsachdev/canvas-mcp.git
cd canvas-mcp

# Create virtual environment
python3 -m venv .venv
. .venv/bin/activate

# Install
pip install -e .

Configure .env:

CANVAS_API_TOKEN=your_token_here
CANVAS_API_URL=https://canvas.youruniversity.edu

Add to your MCP client config:

{
  "mcpServers": {
    "canvas-api": {
      "command": "/path/to/canvas-mcp/.venv/bin/canvas-mcp-server"
    }
  }
}

Available Tools

Course Structure

  • get_course_structure — Full module→items tree as JSON (one call)
  • list_modules — List all modules in a course
  • list_module_items — Items within a specific module
  • get_course_details — Course metadata and settings

Accessibility

  • scan_course_content_accessibility — Scan for WCAG violations
  • fetch_ufixit_report — Retrieve UFIXIT accessibility report
  • parse_ufixit_violations — Extract structured violations from report
  • format_accessibility_summary — Format violations into readable report

Page Management

  • create_page — Create a new page
  • edit_page_content — Update page HTML content
  • list_pages — List all pages in a course
  • get_page_content — Read page content
  • bulk_update_pages — Update multiple pages at once

Module Management

  • create_module — Create a new module
  • add_module_item — Add items to a module
  • update_module — Modify module settings
  • update_module_item — Modify item settings

Assignment & Discussion Setup

  • create_assignment — Create assignments with due dates, points, and submission types
  • create_discussion_topic — Create discussion forums
  • create_rubric — Build grading rubrics
  • associate_rubric_with_assignment — Link rubrics to assignments

AI Skills (Automated Workflows)

Skills are pre-built workflows that combine multiple tools into complete processes. Available via skills.sh or as Claude Code slash commands.

✅ canvas-course-qc

Pre-semester quality audit. Checks structure, content, publishing state, date consistency, and completeness.

Try: "Run a QC check on CS 101"

1 Scans all modules, assignments, and pages
2 Checks for missing dates, unpublished content, naming inconsistencies
3 Generates prioritized issue report with fix recommendations

♿ canvas-accessibility-auditor

WCAG compliance workflow. Scans content, generates prioritized reports, guides remediation.

Try: "Audit accessibility for BADM 350"

1 Scans all course content for WCAG violations
2 Categorizes by severity (critical, major, minor)
3 Provides specific remediation steps for each violation

🏗️ canvas-course-builder

Scaffold complete course structures from specs, templates, or by cloning existing courses.

Try: "Build a 15-week structure for CS 102"

1 Creates weekly modules with consistent naming
2 Adds standard pages, assignments, and discussions
3 Sets due dates, points, and submission types

Installing Skills

# Install skills for 7+ AI agents (Claude Code, Cursor, etc.)
npx skills add vishalsachdev/canvas-mcp

Example Workflows

📊 Course Structure Audit

Ask: "Show me the full structure of BADM 350"

1 Retrieves complete module→items tree
2 Shows summary stats (modules, items, assignments, pages)
3 Identifies structural issues (empty modules, orphaned items)

🔧 Bulk Content Update

Ask: "Update all overview pages to include the new syllabus link"

1 Lists all pages matching criteria
2 Reads current content for each page
3 Applies consistent updates across all matched pages

♿ Accessibility Remediation

Ask: "Fix all accessibility issues in BADM 350"

1 Scans all content for WCAG violations
2 Generates prioritized fix list by severity
3 Guides you through fixing each violation
4 Re-scans to verify fixes

Troubleshooting

"Permission denied" or "Unauthorized"

  • Verify your Canvas account has designer or admin role in the course
  • Check your API token has sufficient permissions
  • Some institutions restrict API access — check with your Canvas admin

"Course not found"

  • Use the course code (e.g., "BADM_350") or Canvas course ID
  • Verify the course exists and you have access

Need More Help?

Open an issue on GitHub for additional support.

Ready to Streamline Course Design?

Install Canvas MCP and start building, auditing, and optimizing courses with AI assistance.