This runs the server on your own computer, only while you are using it. There is nothing to host, no password and no bill. It works with Claude Code and other apps that can start a local program. It does not work with claude.ai in a browser or with the phone apps.
Your Canvas address. Open Canvas and copy what’s in the address bar, for example https://yourschool.instructure.com.
A Canvas access token. In Canvas, go to Account → Settings → Approved Integrations → + New Access Token. Set the expiry date; up to 90 days is a fine choice. Copy the token right away, because Canvas only shows it once. Treat it like a password.
No password to make up here — nothing is exposed to the network.
pipx install canvas-viewer-mcp # or: uvx canvas-viewer-mcp mkdir -p ~/.config/canvas-viewer-mcp printf 'base_url = "https://yourschool.instructure.com"\n' > ~/.config/canvas-viewer-mcp/config.toml install -m 600 /dev/null ~/.config/canvas-viewer-mcp/token read -rs CANVAS_TOKEN && printf '%s' "$CANVAS_TOKEN" > ~/.config/canvas-viewer-mcp/token canvas-probe whoami # should print your name
The read -rs line waits for you to paste your token and keeps it out of your shell history.
claude mcp add canvas-viewer -- canvas-viewer-mcp
There is no connector to add on claude.ai and no login page — Claude Code starts the program itself when it needs it.
Skills are instructions that teach Claude how to turn the raw Canvas data into a useful answer. They are installed separately from the server.
| Skill | What you get |
|---|---|
| canvas-week-report | A short, prioritized list of what you still have to do. It shows deadlines in your local time, works out real dates for courses that were copied from an earlier term, and checks for discussion replies you still owe. |
| canvas-dashboard | The same information as a dashboard page, with recent announcements and a summary of your week. |
git clone https://github.com/lennyitb/canvas-viewer-mcp cp -r canvas-viewer-mcp/skills/canvas-* ~/.claude/skills/
Then ask Claude what’s due. You don’t need to mention the skills by name.
In Canvas, go to Account → Settings → Approved Integrations and delete the token you created. Access stops immediately, whatever else is still running.