canvas-lms
Provides tools for interacting with Canvas LMS, including courses, assignments, grades, modules, discussions, quizzes, files, calendar, messaging, user profiles, rubrics, and account administration.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@canvas-lmsshow my upcoming assignments"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Canvas LMS MCP Server (with Automatic OAuth Authentication)
A Model Context Protocol server for Canvas LMS that authenticates automatically using the Canvas mobile app's OAuth flow. No manual API token management required.
Fork of DMontgomery40/mcp-canvas-lms (MIT) with an added authentication layer.
How It Works
Canvas's mobile apps use an OAuth2 flow that issues permanent refresh tokens — tokens that never expire unless manually revoked. This server uses that same flow to authenticate, then silently refreshes access tokens in the background. You log in once and it works indefinitely.
Authentication
A Chromium browser opens, emulating a Pixel 7 Android device — this registers as a mobile device on your Canvas account.
You log in through your university's Microsoft SSO and approve the Duo MFA push on your phone.
The server captures the OAuth tokens and stores them locally. The refresh token is permanent.
From then on, access tokens are refreshed automatically. No browser or interaction needed.
You should only have to authenticate once. If you have any issues, go to Settings > Access Tokens in Canvas, revoke the Pixel 7 token, and re-authenticate.
Requirements
Duo Mobile — You must have your phone available during the initial authentication to approve the push notification.
A display — The browser needs a screen. On headless/SSH environments, it falls back to
xvfb-run.Python 3 — The browser login runs via a Python Playwright script. The server installs dependencies automatically on first run.
Related MCP server: Canvas MCP
Quick Start
Add to your Claude Code or Claude Desktop MCP config:
{
"mcpServers": {
"canvas-lms": {
"command": "node",
"args": ["/path/to/mcp-canvas-lms/build/index.js"],
"env": {
"CANVAS_DOMAIN": "canvas.youruniversity.ac.uk",
"CANVAS_EMAIL": "your.email@university.ac.uk",
"CANVAS_PASSWORD": "your-password"
}
}
}
}Then call canvas_authenticate once to log in. After that, all Canvas tools work automatically.
Manual API Token (Alternative)
If you prefer not to use the OAuth flow, set CANVAS_API_TOKEN instead. Generate one at your Canvas instance under Settings > Access Tokens.
Building from Source
git clone https://github.com/Drastixs/mcp-canvas-lms.git
cd mcp-canvas-lms
npm install
npm run buildAvailable Tools
Over 50 tools covering courses, assignments, grades, modules, discussions, quizzes, files, calendar, messaging, user profiles, rubrics, and account administration. Call canvas_check_auth to verify your authentication status.
Credits
Original MCP server: DMontgomery40/mcp-canvas-lms (MIT License)
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityAmaintenanceMCP server for Canvas LMS, providing 115+ tools to read courses, assignments, submissions, rubrics, quizzes; grade, comment, manage course content, and handle Canvas admin workflows from any AI agent.Last updated1004734MIT
- Alicense-qualityDmaintenanceA local MCP server for Canvas LMS that enables querying courses, assignments, grades, modules, and more from any MCP-compatible AI client.Last updated23MIT
- Alicense-qualityBmaintenanceMCP server for Canvas LMS enabling parent observers and students to access courses, assignments, grades, and more. Supports multiple authentication methods including token, OAuth, and a convenient fetchproxy fallback.Last updated335MIT
- Flicense-qualityDmaintenanceMCP server for Canvas LMS that exposes courses, assignments, modules, pages, files, grades, and submissions as tools for AI agents.Last updated
Related MCP Connectors
MCP server for the Inistate platform: module discovery, entry management, and activity submission.
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Drastixs/mcp-canvas-lms'
If you have feedback or need assistance with the MCP directory API, please join our Discord server