Canvas Viewer GitHub
Install — option A

Self-hosted

For a computer of yours that stays on all the time: a home server, a Raspberry Pi, a rented VPS. It costs nothing extra and keeps everything in your hands. You’ll need Docker installed on that machine.

Before you start

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.

A password you make up, at least 12 characters. Claude will ask for it once, when you connect.

1. Run the server

Let Claude do it

If you have Claude Code (or a similar assistant) running on that machine, tell it:

claude please deploy this server on this machine https://github.com/lennyitb/canvas-viewer-mcp

It follows DEPLOY.md, which covers the common situations, including a home machine with no public address. At one point it will stop and ask you to run a single command yourself. That command is where you type your Canvas token, so the token goes straight into a private file and the assistant never sees it.

Or run the setup script yourself
git clone https://github.com/lennyitb/canvas-viewer-mcp
cd canvas-viewer-mcp && ./scripts/setup.sh

It asks four or five questions, starts the server, and prints the address to use in step 2. DEPLOY.md also has a fully manual version.

2. Connect Claude to it

Do this on claude.ai in a web browser. The phone apps can’t add a new connector, but they will pick this one up by themselves once it’s added.

Go to Settings → Connectors → Add custom connector, then paste the address from step 1, exactly as it was given to you. A login page opens; enter the password you made up. If you chose a pairing code instead of a password, enter the code the server printed in its log.

3. Install the skills

Skills are instructions that teach Claude how to turn the raw Canvas data into a useful answer. They are installed separately from the connector.

SkillWhat you get
canvas-week-reportA 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-dashboardThe same information as a dashboard page, with recent announcements and a summary of your week.

Open the latest release and download canvas-week-report.zip and canvas-dashboard.zip. Then go to Settings → Capabilities → Skills → Upload skill and upload each file, one at a time.

Use the zip files from the release page. Zipping the folders from the repository yourself won’t work.

Then ask Claude what’s due. You don’t need to mention the skills by name.

Turning it off

In Canvas, go to Account → Settings → Approved Integrations and delete the token you created. Access stops immediately, whatever else is still running.

This isn’t the right option?