Prerequisites
- Python 3.11 or later
- uv installed (
pip install uvorbrew install uv) - Google Chrome with an active Canvas LMS session
Sync dependencies
Install all Python dependencies into a local virtual environment using
uv:uv reads pyproject.toml and resolves the full dependency tree. This usually takes under a minute.Verify your Canvas auth
Run the live auth probe to confirm that Canvas MCP can find a valid Canvas session in Chrome:A successful response looks like:If the command reports that no Canvas domain was detected, set
On macOS, Chrome protects its cookie database with the Keychain. When this command runs for the first time, macOS will show a prompt asking whether to allow access. Click Allow or Always Allow.
CANVAS_BASE_URL explicitly:List your courses
Fetch your Canvas courses from the terminal to confirm the full data path works:You should see a formatted list of the courses your Canvas account has access to.
Connect an MCP client
To expose Canvas data to an AI agent or MCP-compatible client (such as Claude Desktop), add the following to your client’s MCP server configuration. Replace The helper script runs
/absolute/path/to/canvasmcp with the actual path where you cloned the repository.uv run canvas-mcp with stdio transport, which is the default expected by desktop MCP clients. Restart your MCP client after saving the configuration.What’s next
Installation options
Install the
canvas command globally with uv tool install so you can run it anywhere.Auth overview
Understand Chrome cookie auth, domain detection, and profile selection in detail.
MCP transports
Run the server over HTTP or SSE instead of stdio for networked agents.
CLI reference
See all available CLI commands for assignments, discussions, files, and more.
