Canvas Parent MCP Server
by chrischallio.github.chrischall/canvas-parent-mcpv2.1.8
Canvas LMS (Instructure) for Claude — courses, grades, assignments, planner, files
context tax
queued
security
queued
cold start
queued
freshness
Active2d ago
Install Canvas Parent MCP server
Install in Claude Code
claude mcp add canvas-parent -e CANVAS_BASE_URL='<canvas-base-url>' -e CANVAS_PASSWORD='<canvas-password>' -e CANVAS_TOKEN='<canvas-token>' -e CANVAS_CLIENT_SECRET='<canvas-client-secret>' -e CANVAS_REFRESH_TOKEN='<canvas-refresh-token>' -- npx -y canvas-parent-mcpInstall in Cursor
{
"mcpServers": {
"canvas-parent": {
"command": "npx",
"args": [
"-y",
"canvas-parent-mcp"
],
"env": {
"CANVAS_BASE_URL": "<canvas-base-url>",
"CANVAS_PASSWORD": "<canvas-password>",
"CANVAS_TOKEN": "<canvas-token>",
"CANVAS_CLIENT_SECRET": "<canvas-client-secret>",
"CANVAS_REFRESH_TOKEN": "<canvas-refresh-token>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"canvas-parent": {
"command": "npx",
"args": [
"-y",
"canvas-parent-mcp"
],
"env": {
"CANVAS_BASE_URL": "<canvas-base-url>",
"CANVAS_PASSWORD": "<canvas-password>",
"CANVAS_TOKEN": "<canvas-token>",
"CANVAS_CLIENT_SECRET": "<canvas-client-secret>",
"CANVAS_REFRESH_TOKEN": "<canvas-refresh-token>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"canvas-parent": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"canvas-parent-mcp"
],
"env": {
"CANVAS_BASE_URL": "<canvas-base-url>",
"CANVAS_PASSWORD": "<canvas-password>",
"CANVAS_TOKEN": "<canvas-token>",
"CANVAS_CLIENT_SECRET": "<canvas-client-secret>",
"CANVAS_REFRESH_TOKEN": "<canvas-refresh-token>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"canvas-parent": {
"command": "npx",
"args": [
"-y",
"canvas-parent-mcp"
],
"env": {
"CANVAS_BASE_URL": "<canvas-base-url>",
"CANVAS_PASSWORD": "<canvas-password>",
"CANVAS_TOKEN": "<canvas-token>",
"CANVAS_CLIENT_SECRET": "<canvas-client-secret>",
"CANVAS_REFRESH_TOKEN": "<canvas-refresh-token>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| CANVAS_BASE_URL | yes | — | Canvas instance base URL, e.g. https://cms.instructure.com |
| CANVAS_USERNAME | — | — | Canvas login username/email (recommended) — pair with CANVAS_PASSWORD for auto-login. No SSO/2FA. |
| CANVAS_PASSWORD | — | yes | Canvas password (recommended) — required iff CANVAS_USERNAME is set |
| CANVAS_TOKEN | — | yes | Canvas personal access token (advanced) — most schools have disabled token creation |
| CANVAS_CLIENT_ID | — | — | Canvas OAuth client ID (advanced — for SSO accounts that can't use username/password) |
| CANVAS_CLIENT_SECRET | — | yes | Canvas OAuth client secret (advanced) |
| CANVAS_REFRESH_TOKEN | — | yes | Canvas OAuth refresh token (advanced) — bootstrap via canvas-parent-mcp-qr-login |
| CANVAS_NAME | — | — | Friendly name for the Canvas instance (defaults to the host portion of the base URL) |
| CANVAS_SESSION_CACHE | — | — | Set to false to disable the on-disk session cache and re-authenticate on every process start. Defaults to enabled. |
| CANVAS_SESSION_FILE | — | — | Absolute path for the session cache file. Defaults to $MCP_DATA_DIR/.canvas-parent-mcp/session.json. |
Freshness
Active — last maintenance signal 2d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-07 · 2d ago · GitHub
Latest release
2026-10-07 · 2d ago · GitHub · v2.1.8
Package published
no data · npm/PyPI
Registry entry updated
2026-10-07 · 2d ago · official registry · v2.1.8
FAQ
›How do I install the Canvas Parent MCP server in Claude Code?
Run: claude mcp add canvas-parent -e CANVAS_BASE_URL='<canvas-base-url>' -e CANVAS_PASSWORD='<canvas-password>' -e CANVAS_TOKEN='<canvas-token>' -e CANVAS_CLIENT_SECRET='<canvas-client-secret>' -e CANVAS_REFRESH_TOKEN='<canvas-refresh-token>' -- npx -y canvas-parent-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Canvas Parent require an API key?
Yes. It expects CANVAS_BASE_URL, CANVAS_PASSWORD, CANVAS_TOKEN, CANVAS_CLIENT_SECRET, CANVAS_REFRESH_TOKEN, of which 4 are secrets.
›Can I use Canvas Parent as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Canvas Parent in the official MCP registry?
Yes, as io.github.chrischall/canvas-parent-mcp.
Alternatives to Canvas Parent
Other ai & llm tools MCP servers.