Canvas LMS MCP
@bruchris
About Canvas LMS MCP
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
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"canvas-lms": {
"command": "npx",
"args": [
"-y",
"@bruchris/canvas-lms-mcp"
],
"env": {
"CANVAS_API_TOKEN": "<YOUR_TOKEN>",
"CANVAS_BASE_URL": "https://your-institution.instructure.com"
}
}
}
}Tools
No tools detected
Fetch the live tool list by running this server in a temporary sandbox using the button above.
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.
Frequently asked questions
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.
Basic information
More Other MCP servers
Maestro
mobile-dev-incPainless E2E Automation for Mobile and Web
AutoBrowser MCP
autobrowser-aiBrowser MCP is a Model Context Provider (MCP) server that allows AI applications to control your browser
ghidraMCP
LaurieWiredMCP Server for Ghidra
Mobile Mcp
mobile-nextModel Context Protocol Server for Mobile Automation and Scraping (iOS, Android, Emulators, Simulators and Real Devices)
MCP Go 🚀
mark3labsA Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.
Comments