MCP server exposing the Canvas LMS REST API (1,116 endpoints) for AI assistants
Connect Runs on your machine
claude mcp add canvas-api-mcp -e CANVAS_BASE_URL=<CANVAS_BASE_URL> -e CANVAS_TOKEN=<CANVAS_TOKEN> -e CANVAS_MAX_PAGES=<CANVAS_MAX_PAGES> -- uvx canvas-api-mcp==1.1.0
{
"mcpServers": {
"canvas-api-mcp": {
"command": "uvx",
"args": [
"canvas-api-mcp==1.1.0"
],
"env": {
"CANVAS_BASE_URL": "<CANVAS_BASE_URL>",
"CANVAS_TOKEN": "<CANVAS_TOKEN>",
"CANVAS_MAX_PAGES": "<CANVAS_MAX_PAGES>"
}
}
}
}
{
"mcpServers": {
"canvas-api-mcp": {
"command": "uvx",
"args": [
"canvas-api-mcp==1.1.0"
],
"env": {
"CANVAS_BASE_URL": "<CANVAS_BASE_URL>",
"CANVAS_TOKEN": "<CANVAS_TOKEN>",
"CANVAS_MAX_PAGES": "<CANVAS_MAX_PAGES>"
}
}
}
}
{
"servers": {
"canvas-api-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"canvas-api-mcp==1.1.0"
],
"env": {
"CANVAS_BASE_URL": "<CANVAS_BASE_URL>",
"CANVAS_TOKEN": "<CANVAS_TOKEN>",
"CANVAS_MAX_PAGES": "<CANVAS_MAX_PAGES>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
CANVAS_BASE_URLRequired | Base URL of your Canvas LMS instance, e.g. https://yourschool.instructure.com |
CANVAS_TOKENRequired, secret | Canvas API access token (Canvas: Account > Settings > New Access Token) |
CANVAS_MAX_PAGESOptional | Optional cap on the number of pages fetched per paginated Canvas API call |
Details
| Package | [email protected] (PYPI, stdio) |
| First published | 12 Aug 2026 |
| Last updated | 12 Aug 2026 |
| Registry name | io.github.JohannsenLum/canvas-api-mcp |
More other servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
