Canvas LMS MCP
@bruchris
Open-source TypeScript MCP server that connects AI agents to Canvas LMS (Instructure). Provides 42 tools across 15 Canvas domains — courses, assignments, submissions, rubrics, quizzes, discussions, modules, files, and more. Includes full grading and rubric assessment capabilities
Overview
What is Canvas LMS MCP?
Canvas LMS MCP is a TypeScript MCP (Model Context Protocol) server for Canvas LMS. It provides 104 tools for reading and managing courses, assignments, submissions, rubrics, quizzes, gradebook history, users, groups, discussions, modules, pages, calendar, conversations, peer reviews, accounts, analytics, outcomes, and more, enabling AI agents to interact with Canvas LMS programmatically.
How to use Canvas LMS MCP?
Obtain a Canvas API token from Account → Settings → Approved Integrations → + New Access Token. Then run npx add-mcp canvas-lms-mcp for automatic client configuration, or manually set the required environment variables CANVAS_API_TOKEN and CANVAS_BASE_URL and add the MCP server to your client’s configuration. Supports stdio mode for local clients, HTTP mode for web clients, Docker deployment, and library import for custom Node.js applications.
Key features of Canvas LMS MCP
- 104 tools covering 22 Canvas API categories
- 76 read-only and 28 write tools
- Three deployment modes: stdio, HTTP, library
- Built-in MCP resources for syllabus and assignment descriptions
- Works with Claude Desktop, Cursor, VS Code, ChatGPT, and more
- Requires Node.js >=22
Use cases of Canvas LMS MCP
- List all active courses and their assignments
- Grade submissions and provide feedback
- Manage course content: modules, pages, discussions
- View analytics, gradebook history, and student outcomes
- Automate administrative workflows like account reports and peer reviews
FAQ from Canvas LMS MCP
What environment variables are required?
CANVAS_API_TOKEN (your Canvas personal access token) and CANVAS_BASE_URL (your Canvas instance URL, e.g., https://school.instructure.com) are both required.
How do I get a Canvas API token?
Log in to Canvas, go to Account > Settings, scroll to Approved Integrations, click + New Access Token, give it a name, and copy the token immediately.
What deployment modes are supported?
stdio (for local AI clients), HTTP (for web clients), Docker, and library import (using the createCanvasMCPServer factory or the standalone CanvasClient).
Are write tools safe?
All write tools require appropriate Canvas permissions. Canvas enforces its own permission model—the MCP server does not bypass it.
What Node.js version is needed?
Node.js version 22 or later is required.