v1.1.0 Now Available

AI-Powered Canvas
LMS Integration

Bridge AI assistants with Canvas Learning Management System. 90+ MCP tools for students, educators, learning designers, and developers. Works with Claude, ChatGPT, Cursor, and more.

90+
MCP Tools
99.7%
Token Savings
FERPA
Compliant

Everything You Need for Canvas

Comprehensive tools designed for real educational workflows, from simple queries to complex bulk operations.

🎯

Natural Language Interface

Ask questions like "What's due this week?" or "Which students haven't submitted?" and get instant answers from your Canvas data.

Code Execution API

Execute custom TypeScript for bulk operations with 99.7% token savings. Grade 90 submissions without loading them into context.

🔒

Privacy-First Design

FERPA-compliant with automatic data anonymization. Student data is protected before it reaches AI systems.

📊

Analytics & Insights

Track student performance, assignment completion rates, peer review analytics, and more with AI-powered analysis.

💬

Discussion Management

Manage discussions, post announcements, facilitate peer reviews, and grade discussion participation efficiently.

🔧

Developer Tools

Discover APIs with search_canvas_tools, execute TypeScript locally, and build custom integrations with the code API.

Built for Your Role

Whether you're a student tracking assignments, an educator managing courses, or a learning designer building them, Canvas MCP has you covered.

👨‍🎓

For Students

Get AI-powered assistance with your coursework and stay organized throughout the semester.

  • Track upcoming assignments and deadlines
  • Monitor your grades across all courses
  • Manage peer review assignments
  • Access course content and discussions
  • Organize your TODO list
Student Guide →
👨‍🏫

For Educators

Enhance your teaching with powerful tools for course management and student engagement.

  • Assignment and grading management
  • Student analytics and tracking
  • Discussion facilitation
  • FERPA-compliant data handling
  • File management and bulk messaging
Educator Guide →
🎨

For Learning Designers

AI-powered course design, quality assurance, and accessibility compliance at scale.

  • Scaffold courses from specs or templates
  • Pre-semester quality audits
  • WCAG accessibility scanning & remediation
  • Course structure analysis in one call
  • Clone structure across courses
LD Tools →
💻

For Developers

Leverage the code execution API for maximum efficiency with custom operations.

  • Execute TypeScript locally
  • 99.7% token savings on bulk ops
  • Discover APIs with search tools
  • Build custom integrations
  • Concurrent processing with rate limits
Code API Docs →

Bulk Operations,
Minimal Tokens

Traditional MCP tool calls load every submission into Claude's context. Our code execution API processes data locally, returning only summaries.

Grading 90 Submissions 99.7% Reduction
1.35M
Traditional
3.5K
Code Exec
Learn More →
bulkGrade.ts
import { bulkGrade } from './canvas/grading';

await bulkGrade({
  courseIdentifier: "60366",
  assignmentId: "123",
  gradingFunction: (submission) => {
    // Analysis happens locally!
    const notebook = submission.attachments
      ?.find(f => f.filename.endsWith('.ipynb'));

    if (!notebook) return null;

    return {
      points: 100,
      comment: "Great work!"
    };
  }
});

Get Started in 30 Seconds

Use the hosted server instantly — no Python, no cloning, no setup. Or install locally for full control.

Use Without Installing (Recommended)

Add this to your MCP client config (Claude Desktop, Cursor, Windsurf, etc.) — replace with your Canvas credentials:

{
  "mcpServers": {
    "canvas": {
      "url": "https://mcp.illinihunt.org/mcp",
      "headers": {
        "X-Canvas-Token": "your_canvas_api_token",
        "X-Canvas-URL": "https://your-school.instructure.com/api/v1"
      }
    }
  }
}

Get your token: Canvas → Account → Settings → New Access Token. Your credentials are sent as headers with each request and never stored on the server.

Privacy: Ideal for students and evaluation. Educators handling FERPA-protected student data should install locally instead.

Or install locally:

1

Clone & Install Dependencies

Clone the repository and set up a Python virtual environment with all dependencies.

git clone https://github.com/vishalsachdev/canvas-mcp.git
cd canvas-mcp
python3 -m venv .venv && . .venv/bin/activate
pip install -e .
2

Configure Environment

Copy the template and add your Canvas API credentials.

cp env.template .env
# Edit .env with your CANVAS_API_TOKEN and CANVAS_API_URL
3

Configure Claude Desktop

Add the server to your Claude Desktop configuration file.

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

Verify & Start Using

Test your connection and start interacting with Canvas through Claude.

canvas-mcp-server --test
# Then restart Claude Desktop and start chatting!

Privacy-First Design

Your data stays safe with local processing and FERPA-compliant anonymization.

🏠

Zero Credential Storage

Local mode runs on your machine. Hosted mode passes your credentials as HTTP headers per-request — nothing is stored on the server.

🔐

FERPA Compliant

Automatic student data anonymization for educators. Real names converted to anonymous IDs.

👤

Self-Only Access

Students can only access their own data through Canvas API's "self" endpoints.

🚫

No Tracking

Your Canvas usage and AI interactions remain completely private.

Workflow Recipes for 40+ Agents

Pre-built skills that teach AI agents how to use Canvas MCP effectively. Install via skills.sh or use as Claude Code slash commands.

Install with skills.sh

One command to add Canvas workflows to any supported agent.

Claude Code Cursor Codex OpenCode Cline Zed 40+ more
npx skills add vishalsachdev/canvas-mcp
📋

canvas-week-plan

Student weekly planner. Due dates, submission status, grades, and peer reviews across all courses — prioritized by urgency.

Try: "what's due this week"
🌅

canvas-morning-check

Educator morning dashboard. Submission rates, struggling students, grade distribution, and upcoming deadlines in one view.

Try: "morning check for CS 101"
📊

canvas-bulk-grading

Smart grading decision tree. Routes to single, bulk, or code execution based on submission count, with safety-first dry runs.

Try: "grade Assignment 5 using the rubric"
🔍

canvas-peer-review-manager

Full peer review pipeline. Completion analytics, quality analysis, problematic review flagging, targeted reminders, and reports.

Try: "how are peer reviews going"
💬

canvas-discussion-facilitator

Discussion forum facilitation. Browse, read, reply, monitor participation, and post — for both students and educators.

Try: "show discussion posts for Topic 3"

canvas-course-qc

Pre-semester quality audit. Checks structure, content, publishing state, and completeness — generates a prioritized issue report.

Try: "run QC check on CS 101"

canvas-accessibility-auditor

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

Try: "audit accessibility for BADM 350"
🏗️

canvas-course-builder

Scaffold complete course structures from specs, templates, or by cloning. Creates modules, pages, assignments, and discussions in bulk.

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

Want a Custom Skill?

Have a repetitive Canvas workflow you'd like automated? Submit an issue describing your use case!

Request a Skill

Works with Your Favorite Tools

Canvas MCP works with any MCP-compatible client.

🤖
Claude Desktop
💬
ChatGPT
Zed
🖱️
Cursor
🌊
Windsurf
➡️
Continue
💻
Replit

Ready to Transform Your
Canvas Experience?

Join educators and students using AI to make Canvas more powerful and intuitive.