Canvas Lms
FreeNot checkedMCP server for Canvas LMS with automatic OAuth authentication. Enables interaction with courses, assignments, grades, modules, discussions, quizzes, files, cale
About
MCP server for Canvas LMS with automatic OAuth authentication. Enables interaction with courses, assignments, grades, modules, discussions, quizzes, files, calendar, messaging, and more without manual API token management.
README
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.
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": "[email protected]",
"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 build
Available 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
Install Canvas Lms in Claude Desktop, Claude Code & Cursor
unyly install canvas-lmsInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add canvas-lms -- npx -y canvas-mcp-serverFAQ
Is Canvas Lms MCP free?
Yes, Canvas Lms MCP is free — one-click install via Unyly at no cost.
Does Canvas Lms need an API key?
No, Canvas Lms runs without API keys or environment variables.
Is Canvas Lms hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Canvas Lms in Claude Desktop, Claude Code or Cursor?
Open Canvas Lms on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
LibreOffice Tools
Enables AI agents to read, write, and edit Office documents via LibreOffice with token-efficient design. Supports multiple formats including DOCX, XLSX, PPTX, a
by passerbyflutterdannote/figma-use
Full Figma control: create shapes, text, components, set styles, auto-layout, variables, export. 80+ tools.
by dannoteLogo.dev
Search and retrieve company logos by brand or domain. Customize size, format, and theme to match your design needs. Accelerate design, prototyping, and content
by NOVA-3951PIX4Dmatic
Enables GUI automation for controlling PIX4Dmatic on Windows through MCP. Supports launching, focusing, capturing screenshots, sending hotkeys, clicking UI elem
by jangjo123Compare Canvas Lms with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All design MCPs
