Canvas Local MCP Server
by admin978io.github.admin978/canvas-mcpv0.1.3
Local-first Canvas LMS access: courses, assignments, modules, announcements, grades, planner items, upcoming events, to-dos and bulk file download.
context tax
queued
security
queued
cold start
queued
freshness
Maintained3mo ago
Install Canvas Local MCP server
Install in Claude Code
claude mcp add canvas-local -e CANVAS_BASE_URL='<canvas-base-url>' -e CANVAS_TOKEN='<canvas-token>' -- uvx canvas-local-mcpInstall in Cursor
{
"mcpServers": {
"canvas-local": {
"command": "uvx",
"args": [
"canvas-local-mcp"
],
"env": {
"CANVAS_BASE_URL": "<canvas-base-url>",
"CANVAS_TOKEN": "<canvas-token>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"canvas-local": {
"command": "uvx",
"args": [
"canvas-local-mcp"
],
"env": {
"CANVAS_BASE_URL": "<canvas-base-url>",
"CANVAS_TOKEN": "<canvas-token>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"canvas-local": {
"type": "stdio",
"command": "uvx",
"args": [
"canvas-local-mcp"
],
"env": {
"CANVAS_BASE_URL": "<canvas-base-url>",
"CANVAS_TOKEN": "<canvas-token>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"canvas-local": {
"command": "uvx",
"args": [
"canvas-local-mcp"
],
"env": {
"CANVAS_BASE_URL": "<canvas-base-url>",
"CANVAS_TOKEN": "<canvas-token>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| CANVAS_BASE_URL | yes | — | Canvas institution root URL (no /api/v1 suffix), e.g. https://your-institution.instructure.com |
| CANVAS_TOKEN | yes | yes | Canvas personal access token (Account -> Settings -> Approved Integrations -> New Access Token) |
Freshness
Maintained — last maintenance signal 3mo ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-07-23 · 3mo ago · GitHub
Latest release
2026-07-24 · 3mo ago · GitHub · v0.1.3
Package published
no data · npm/PyPI
Registry entry updated
2026-07-24 · 3mo ago · official registry · v0.1.3
FAQ
›How do I install the Canvas Local MCP server in Claude Code?
Run: claude mcp add canvas-local -e CANVAS_BASE_URL='<canvas-base-url>' -e CANVAS_TOKEN='<canvas-token>' -- uvx canvas-local-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Canvas Local require an API key?
Yes. It expects CANVAS_BASE_URL, CANVAS_TOKEN, of which 1 is a secret.
›Can I use Canvas Local as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Canvas Local in the official MCP registry?
Yes, as io.github.admin978/canvas-mcp.
Alternatives to Canvas Local
Other education & learning MCP servers.