Canvas MCP is a server based on the Model Context Protocol (MCP) that connects AI assistants with the Canvas Learning Management System (LMS). It provides specialized workflows for different roles, with target users including students, teachers, instructional designers, and developers. The server is designed for MCP-compatible clients and can be used in more than 40 agents, including Claude Desktop, Cursor, Codex, and Windsurf; the specific installation method and supported capabilities vary by client.
Main capabilities Canvas MCP provides up to 126 tools; the default profile registers fewer tools, and this can be increased to 126 through optional feature-gated tools. Tools are organized by user type:
Tools available to students include tracking upcoming assignments and deadlines, monitoring grades across courses, managing peer review tasks, accessing course content and discussions, and organizing to-do lists. Version v1.14.0 adds read-only tools for students, covering groups, grades, quizzes, the calendar, and a cross-course "new activity" feed, and provides optional inbox messaging functionality. Student write operations are registered only when listed in STUDENT_WRITE_TOOLS and are constrained by ALLOWED_WRITE_TOOLS.
Tools available to teachers include assignment and grading management, student analytics and performance tracking, discussion and peer review coordination, bulk messaging and communication tools, and privacy controls for FERPA considerations.
Instructional designers can use course building, quality audit, and accessibility review features:
- Course building: build a complete course structure from a specification, a template, or by cloning an existing course.
- Quality audit: pre-semester quality checks on structure, content, publishing, and completeness.
- Accessibility review: a 20-item WCAG-oriented scanner (headings, tables, scope, contrast, alt text, links, captions, DesignPLUS migration), providing prioritized reports, guided remediation, and verification.
- Course structure analysis: retrieve the complete module-to-item tree in a single call for quick review. Related skills include canvas-course-qc (pre-semester audit), canvas-accessibility-auditor (WCAG-oriented review), and canvas-course-builder (build a course from a specification or template), plus the get_course_structure tool.
Usage
- InstallInstall the MCP server (skills and everything else depend on it to run):
- Claude Desktop: Download canvas-mcp.mcpb from the latest release and double-click it. It will prompt for the Canvas URL and token; no terminal needed.
- Clients such as Cursor, Zed, Windsurf, Continue, and Claude Code: pip install into a virtual environment, add the token to .env, and point the client at the canvas-mcp-server binary. The local installation instructions provide configuration blocks for each client.
- Verify: Running canvas-mcp-server --test should report a successful Canvas connection, then restart the client.
- Optional: Add workflow skills. These skills teach the agent to use multi-step processes on top of the tools (weekly planning, morning check-in, bulk grading, peer review, course quality check). See Agent Skills for the skill list. If using Claude Code, the same processes are also available as slash commands.
Skills can be installed via skills.sh, using an interactive selector to install skills into the chosen agent (Claude Code, Cursor, Codex, OpenCode, Cline, Zed, etc.). Skills invoke MCP tools, so the server must be installed first. Claude Code skills are located in .claude/skills/ and can be customized.
Decision tree: Use MCP tools for simple queries; use bulk_grade_submissions for bulk grading (10+); use execute_typescript for complex bulk operations (30+).
Quick reference
- Course identifiers: Canvas ID (12345), course code (badm_350_120251_246794), or SIS ID.
- Cannot do: create/delete courses, modify course settings, access other users' data.
- Rate limits: about 700 requests/10 minutes. Use max_concurrent=5 for bulk operations.
- Full documentation: AGENTS.md, tools/TOOL_MANIFEST.json, tools/README.md.
Use cases Students can use it for AI-assisted assignment tracking, grade monitoring, peer review management, course contentand discussion access, and to-do organization. Instructors can use it for assignment and grading management, student analytics, discussion and peer review coordination, bulk communication, and privacy controls that support FERPA considerations. Instructional designers can use it for AI-driven course design and quality assurance, including course building, quality audits, and accessibility reviews.
Limitations and caveats
- Cannot create or delete courses, modify course settings, or access other users' data.
- Rate limits exist (about 700 requests/10 minutes), and bulk operations need concurrency control.
- The number of tools and skills depends on the client, default configuration, and feature gating; supported capabilities vary by client.
- Version notes: v1.14.0 is the release from October 2026, focused on student-facing tools and correctness improvements; v1.13.0 is a security release, and unless ALLOWED_WRITE_TOOLS is set, the HTTP server is read-only; v1.12.0 is a security release, and all deletion tools require a confirmation token; v1.9.0 strengthened protection against prompt injection, with Canvas-generated text passed in as data rather than instructions; v1.8.0 fixed issues found by security scanning.
- Privacy: Instructors can use response anonymization (converting identity fields into consistent anonymous IDs, such as Student_xxxxxxxx), email masking and PII pattern filtering, local server deployment, and configurable privacy controls (ENABLE_DATA_ANONYMIZATION=true). When anonymization is enabled, supported identity fields are anonymized before tool results reach the AI client. Compliance still depends on deployment, configuration, institutional policy, and the AI provider. Student tools use Canvas's "self" endpoints, and shared course content tools follow the permissions Canvas grants to the account; local mode reads the Canvas token from the user's own .env.