Canvas LMS
A Model Context Protocol server that enables interaction with the Canvas Learning Management System API, allowing users to manage courses, assignments, enrollments, and grades within Canvas.
What is Canvas LMS?
Canvas LMS is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to model context protocol server that enables interaction with the canvas learning management system api, allowing users to manage courses, assignments, enrollments, and grades within canvas.
A Model Context Protocol server that enables interaction with the Canvas Learning Management System API, allowing users to manage courses, assignments, enrollments, and grades within Canvas.
This server falls under the Business Applications category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- A Model Context Protocol server that enables interaction wit
Use Cases
Maintainer
Works with
Installation
NPM
npx -y canvas-mcp-serverManual Installation
npx -y canvas-mcp-serverConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use Canvas LMS
Canvas MCP Server is a Model Context Protocol server that provides deep integration with the Canvas Learning Management System API, offering 50+ tools for managing courses, assignments, submissions, grades, enrollments, discussions, and account administration. Built for students, instructors, and administrators, it supports both local stdio mode for desktop AI clients and streamable HTTP mode for containerized deployments, making Canvas data and workflows accessible through natural language conversations with AI assistants.
Prerequisites
- A Canvas LMS account with appropriate permissions (student, instructor, or admin)
- A Canvas API access token (created in Canvas Account Settings > Approved Integrations)
- Your Canvas institution domain (e.g., yourschool.instructure.com)
- Node.js 18 or later for local mode, or Docker for containerized mode
- An MCP-compatible client such as Claude Desktop or Cursor
Create a Canvas API access token
In Canvas, navigate to Account > Settings > Approved Integrations and click New Access Token. Name it descriptively (e.g., 'Claude MCP') and copy the token value immediately.
Add the server to your MCP client config
Add the canvas-mcp-server entry to your claude_desktop_config.json with CANVAS_API_TOKEN and CANVAS_DOMAIN environment variables.
{
"mcpServers": {
"canvas-mcp-server": {
"command": "npx",
"args": ["-y", "canvas-mcp-server"],
"env": {
"CANVAS_API_TOKEN": "your_canvas_api_token",
"CANVAS_DOMAIN": "yourschool.instructure.com"
}
}
}
}Or run via Docker for HTTP transport
For teams or containerized environments, run the Docker image with the streamable-http transport, which exposes the MCP server on a configurable port.
docker run -d \
--name canvas-mcp \
-p 3000:3000 \
-e CANVAS_API_TOKEN="your_token" \
-e CANVAS_DOMAIN="school.instructure.com" \
-e MCP_TRANSPORT="streamable-http" \
-e MCP_HTTP_HOST="0.0.0.0" \
-e MCP_HTTP_PORT="3000" \
-e MCP_HTTP_PATH="/mcp" \
ghcr.io/dmontgomery40/mcp-canvas-lms:latestRestart your MCP client
Restart Claude Desktop or reload your IDE. The Canvas tools will be listed as available.
Test with a course listing
Ask your AI assistant to list your Canvas courses. This confirms the token and domain are correctly configured.
Canvas LMS Examples
Client configuration
Claude Desktop stdio configuration for Canvas MCP Server with required credentials.
{
"mcpServers": {
"canvas-mcp-server": {
"command": "npx",
"args": ["-y", "canvas-mcp-server"],
"env": {
"CANVAS_API_TOKEN": "your_canvas_api_token_here",
"CANVAS_DOMAIN": "yourschool.instructure.com"
}
}
}
}Prompts to try
Prompts covering student, instructor, and admin use cases across the full Canvas feature set.
- "List all my enrolled courses this semester"
- "What modules do I still need to complete in Math 200?"
- "Show me discussion threads in my History class and draft a reply to the latest post"
- "Grade the submissions for Assignment 5 in course 789 and add feedback"
- "Create a new course called 'Advanced Biology' in account 123"
- "List all students enrolled in course 456 and their current grades"Troubleshooting Canvas LMS
Unauthorized errors despite a valid-looking token
Canvas API tokens are tied to a specific user's permissions. A student token cannot perform instructor or admin actions. Generate a token from an account that has the required Canvas role for the operations you need.
CANVAS_DOMAIN format errors or 'page not found' responses
CANVAS_DOMAIN must be the bare hostname only: 'school.instructure.com'. Do not include 'https://', 'www.', or a trailing slash. The server constructs API URLs internally by prepending 'https://' to this value.
Docker container fails to connect from Claude Desktop
Claude Desktop uses stdio transport by default and cannot connect to an HTTP endpoint. Either use the npx stdio configuration for Claude Desktop, or configure an MCP client that supports HTTP/streamable-http transport and point it to http://localhost:3000/mcp.
Frequently Asked Questions about Canvas LMS
What is Canvas LMS?
Canvas LMS is a Model Context Protocol (MCP) server that model context protocol server that enables interaction with the canvas learning management system api, allowing users to manage courses, assignments, enrollments, and grades within canvas. It connects AI assistants to external tools and data sources through a standardized interface.
How do I install Canvas LMS?
Install via npm with the command: npx -y canvas-mcp-server. Then add the server configuration to your AI client's JSON config file (e.g., claude_desktop_config.json or .cursor/mcp.json).
Which AI clients work with Canvas LMS?
Canvas LMS works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is Canvas LMS free to use?
Yes, Canvas LMS is open source and available under the MIT License license. You can use it freely in both personal and commercial projects.
Canvas LMS Alternatives — Similar Business Applications Servers
Looking for alternatives to Canvas LMS? Here are other popular business applications servers you can use with Claude, Cursor, and VS Code.
n8n
★ 189.1kA comprehensive MCP server that provides full control over n8n automation workflows through natural language. It offers 43 tools for managing workflows, executions, credentials, and data tables, with safety features like write-mode protection and dou
LobeHub
★ 77.5k🤯 LobeHub is your Chief Agent Operator, organizing your agents into 7×24 operations by hiring, scheduling, and reporting on your entire AI team.
Jeecgboot
★ 46.4kAI 低代码平台,「低代码 + 零代码」双模式驱动:低代码一键生成前后端代码,零代码 5 分钟搭建系统,AI Skills 一句话画流程、设计表单、生成整套系统。内置 AI聊天、知识库、流程编排、MCP插件等,兼容主流大模型。引领「AI 生成 → 在线配置 → 代码生成 → 手工合并->AI修改」开发模式,消除 Java 项目 80% 的重复工作,提效而不失灵活。
CowAgent
★ 44.7kCowAgent (chatgpt-on-wechat) 是基于大模型的超级AI助理,能主动思考和任务规划、访问操作系统和外部资源、创造和执行Skills、通过长期记忆和知识库不断成长,比OpenClaw更轻量和便捷。同时支持微信、飞书、钉钉、企微、QQ、公众号、网页等接入,可选择DeepSeek/OpenAI/Claude/Gemini/ MiniMax/Qwen/GLM/LinkAI,能处理文本、语音、图片和文件,可快速搭建个人AI助理和企业数字员工。
Minds Platform
★ 39.2kPlatform dedicated to building an open foundation for applied Artificial Intelligence, designed for people seeking production-ready AI systems they can truly control, extend and deploy anywhere.
Astrbot
★ 32.8kAI Agent Assistant & development framework that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative. ✨
Browse More Business Applications MCP Servers
Explore all business applications servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up Canvas LMS in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use Canvas LMS?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.