io.github.chrischall/canvas-parent-mcp MCP Server
io.github.chrischall/canvas-parent-mcp
What is the io.github.chrischall/canvas-parent-mcp MCP server?
Canvas LMS (Instructure) for Claude — courses, grades, assignments, planner, files
How to install io.github.chrischall/canvas-parent-mcp
Copy-paste configuration for popular MCP clients.
CANVAS_BASE_URLrequiredCanvas instance base URL, e.g. https://cms.instructure.com
CANVAS_USERNAMECanvas login username/email (recommended) — pair with CANVAS_PASSWORD for auto-login. No SSO/2FA.
CANVAS_PASSWORDsecretCanvas password (recommended) — required iff CANVAS_USERNAME is set
CANVAS_TOKENsecretCanvas personal access token (advanced) — most schools have disabled token creation
CANVAS_CLIENT_IDCanvas OAuth client ID (advanced — for SSO accounts that can't use username/password)
CANVAS_CLIENT_SECRETsecretCanvas OAuth client secret (advanced)
CANVAS_REFRESH_TOKENsecretCanvas OAuth refresh token (advanced) — bootstrap via canvas-parent-mcp-qr-login
CANVAS_NAMEFriendly name for the Canvas instance (defaults to the host portion of the base URL)
{
"mcpServers": {
"canvas-parent-mcp": {
"command": "npx",
"args": [
"-y",
"canvas-parent-mcp"
],
"env": {
"CANVAS_BASE_URL": "<YOUR_CANVAS_BASE_URL>",
"CANVAS_USERNAME": "<YOUR_CANVAS_USERNAME>",
"CANVAS_PASSWORD": "<YOUR_CANVAS_PASSWORD>",
"CANVAS_TOKEN": "<YOUR_CANVAS_TOKEN>",
"CANVAS_CLIENT_ID": "<YOUR_CANVAS_CLIENT_ID>",
"CANVAS_CLIENT_SECRET": "<YOUR_CANVAS_CLIENT_SECRET>",
"CANVAS_REFRESH_TOKEN": "<YOUR_CANVAS_REFRESH_TOKEN>",
"CANVAS_NAME": "<YOUR_CANVAS_NAME>"
}
}
}
}{
"mcpServers": {
"canvas-parent-mcp": {
"command": "npx",
"args": [
"-y",
"canvas-parent-mcp"
],
"env": {
"CANVAS_BASE_URL": "<YOUR_CANVAS_BASE_URL>",
"CANVAS_USERNAME": "<YOUR_CANVAS_USERNAME>",
"CANVAS_PASSWORD": "<YOUR_CANVAS_PASSWORD>",
"CANVAS_TOKEN": "<YOUR_CANVAS_TOKEN>",
"CANVAS_CLIENT_ID": "<YOUR_CANVAS_CLIENT_ID>",
"CANVAS_CLIENT_SECRET": "<YOUR_CANVAS_CLIENT_SECRET>",
"CANVAS_REFRESH_TOKEN": "<YOUR_CANVAS_REFRESH_TOKEN>",
"CANVAS_NAME": "<YOUR_CANVAS_NAME>"
}
}
}
}{
"mcpServers": {
"canvas-parent-mcp": {
"command": "npx",
"args": [
"-y",
"canvas-parent-mcp"
],
"env": {
"CANVAS_BASE_URL": "<YOUR_CANVAS_BASE_URL>",
"CANVAS_USERNAME": "<YOUR_CANVAS_USERNAME>",
"CANVAS_PASSWORD": "<YOUR_CANVAS_PASSWORD>",
"CANVAS_TOKEN": "<YOUR_CANVAS_TOKEN>",
"CANVAS_CLIENT_ID": "<YOUR_CANVAS_CLIENT_ID>",
"CANVAS_CLIENT_SECRET": "<YOUR_CANVAS_CLIENT_SECRET>",
"CANVAS_REFRESH_TOKEN": "<YOUR_CANVAS_REFRESH_TOKEN>",
"CANVAS_NAME": "<YOUR_CANVAS_NAME>"
}
}
}
}{
"servers": {
"canvas-parent-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"canvas-parent-mcp"
],
"env": {
"CANVAS_BASE_URL": "<YOUR_CANVAS_BASE_URL>",
"CANVAS_USERNAME": "<YOUR_CANVAS_USERNAME>",
"CANVAS_PASSWORD": "<YOUR_CANVAS_PASSWORD>",
"CANVAS_TOKEN": "<YOUR_CANVAS_TOKEN>",
"CANVAS_CLIENT_ID": "<YOUR_CANVAS_CLIENT_ID>",
"CANVAS_CLIENT_SECRET": "<YOUR_CANVAS_CLIENT_SECRET>",
"CANVAS_REFRESH_TOKEN": "<YOUR_CANVAS_REFRESH_TOKEN>",
"CANVAS_NAME": "<YOUR_CANVAS_NAME>"
}
}
}
}claude mcp add canvas-parent-mcp --env CANVAS_BASE_URL=<YOUR_CANVAS_BASE_URL> --env CANVAS_USERNAME=<YOUR_CANVAS_USERNAME> --env CANVAS_PASSWORD=<YOUR_CANVAS_PASSWORD> --env CANVAS_TOKEN=<YOUR_CANVAS_TOKEN> --env CANVAS_CLIENT_ID=<YOUR_CANVAS_CLIENT_ID> --env CANVAS_CLIENT_SECRET=<YOUR_CANVAS_CLIENT_SECRET> --env CANVAS_REFRESH_TOKEN=<YOUR_CANVAS_REFRESH_TOKEN> --env CANVAS_NAME=<YOUR_CANVAS_NAME> -- npx -y canvas-parent-mcpRelated MCP servers
OurFamilyWizard co-parenting for Claude — messages, calendar, expenses, and journal
Zola wedding planning for Claude — vendors, budget, guests, seating, registry, and RSVPs
Redfin real-estate for Claude — search, property details, market reports, saved homes
Google Sheets (and more) for Claude via gogcli — read, write, and manage spreadsheets
Google Classroom via gogcli for Claude — courses, assignments, submissions, grading
Extended Google Docs for Claude via gogcli — auth + full Docs and comments support