Canvas API MCP Server
by johannsenlumio.github.JohannsenLum/canvas-api-mcpv1.1.0
MCP server exposing the Canvas LMS REST API (1,116 endpoints) for AI assistants
context tax
queued
security
queued
cold start
queued
freshness
Maintained56d ago
Install Canvas API MCP server
Install in Claude Code
claude mcp add canvas-api -e CANVAS_BASE_URL='<canvas-base-url>' -e CANVAS_TOKEN='<canvas-token>' -- uvx canvas-api-mcpInstall in Cursor
{
"mcpServers": {
"canvas-api": {
"command": "uvx",
"args": [
"canvas-api-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-api": {
"command": "uvx",
"args": [
"canvas-api-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-api": {
"type": "stdio",
"command": "uvx",
"args": [
"canvas-api-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-api": {
"command": "uvx",
"args": [
"canvas-api-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 | — | Base URL of your Canvas LMS instance, e.g. https://yourschool.instructure.com |
| CANVAS_TOKEN | yes | yes | Canvas API access token (Canvas: Account > Settings > New Access Token) |
| CANVAS_MAX_PAGES | — | — | Optional cap on the number of pages fetched per paginated Canvas API call |
Freshness
Maintained — last maintenance signal 56d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-08-15 · 56d ago · GitHub
Latest release
2026-08-12 · 59d ago · GitHub · v1.1.0
Package published
no data · npm/PyPI
Registry entry updated
2026-08-12 · 59d ago · official registry · v1.1.0
FAQ
›How do I install the Canvas API MCP server in Claude Code?
Run: claude mcp add canvas-api -e CANVAS_BASE_URL='<canvas-base-url>' -e CANVAS_TOKEN='<canvas-token>' -- uvx canvas-api-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Canvas API require an API key?
Yes. It expects CANVAS_BASE_URL, CANVAS_TOKEN, of which 1 is a secret.
›Can I use Canvas API as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Canvas API in the official MCP registry?
Yes, as io.github.JohannsenLum/canvas-api-mcp.