# Canvas Toolchain

> AI-assisted course design toolchain for Canvas LMS - Curriculum Intelligence, Canvas Design Studio, and Command & Control MCP servers, with a native installer and plug-in module architecture.

- **Type:** MCP server
- **Install:** `agentstack add mcp-ryfter-canvas-toolchain`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Ryfter](https://agentstack.voostack.com/s/ryfter)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Ryfter](https://github.com/Ryfter)
- **Source:** https://github.com/Ryfter/canvas-toolchain

## Install

```sh
agentstack add mcp-ryfter-canvas-toolchain
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# canvas-toolchain

A toolchain that helps a professor refresh a Canvas LMS course every semester. It combines three apps — **Curriculum Intelligence**, **Canvas Design Studio**, and **Command & Control** — behind a single MCP entrypoint, plus a Python sidecar for downloading Canvas data and a native installer.

```text
Canvas Backup archive
  -> Curriculum Intelligence   (analyze past course, plan the next one)
  -> Canvas Design Studio      (generate Canvas-safe HTML)
  -> Canvas-safe HTML
  -> optional Canvas publishing
```

Professors drive the whole thing by talking to the **Command & Control** MCP server from any MCP-capable AI client (Claude Desktop, Claude Code, ChatGPT, Gemini). Each underlying app also stays independently usable. Direct Canvas API publishing is always optional — the no-token "generate HTML and paste it in" path is first-class.

**Optional modules and companion programs:** see [docs/modules.md](docs/modules.md).

## Where to start

- **Installing as a user?** Download the native installer (Windows x64 / macOS arm64) from [Releases](https://github.com/Ryfter/canvas-toolchain/releases) — it bundles Node, the toolchain, and an auto-updater behind a five-screen wizard.
- **Working on this repo (human or AI agent)?** Read [`AGENTS.md`](AGENTS.md) first — it maps the tools, skills, packages, and workflow conventions, and links to every per-package handoff doc.
- **Latest repo health review:** [`docs/repo-health-check-2026-06-07.md`](docs/repo-health-check-2026-06-07.md).

## Documentation

| Doc | What's in it |
| --- | --- |
| 🧭 [**Feature overview**](docs/tool-overview.md) | Concise outcome-focused summary of what Canvas Toolchain helps instructors do, with emphasis on accessibility, Canvas management, shell speed/quality, and instructor-led AI review |
| 🗺️ [**Roadmap**](docs/roadmap.md) | What ships next and in what order — the WCAG 2.2 gate phases, upcoming releases, the v2.0 plug-in direction, and the unscheduled ideas backlog |
| 🚀 [**User Guide & Tutorial**](docs/user-guide.md) | **Start here.** What you can do, how to use it, a hands-on end-to-end tutorial, and a task-by-task command catalog (*what each command is · how it works · why you'd use it*) |
| 📘 [**Commands & Credentials reference**](docs/commands-and-credentials.md) | Every command (MCP tool) with its parameters, and every API key/secret — what it's for, why, and whether it's optional |
| 🧩 [**Module view**](docs/architecture-modules.md) | The toolchain broken into modules: what each is, why it exists, what it does, and its commands |
| ♿ [**Accessibility checks**](docs/accessibility.md) | Every automated accessibility check the toolchain runs — what each one catches, how it works (with the contrast math), where it runs (advisory vs blocking), how to fix findings, and its limitations |
| 🎨 [**Visual guide**](docs/visual-guide/README.md) | Picture-first tour — diagrams of the pipeline, architecture, and setup ([rendered PNG/SVG](docs/visual-guide/images/) + an editable [Excalidraw scene](docs/visual-guide/pipeline.excalidraw)) |

## What lives where

| Path | What it owns |
| --- | --- |
| `packages/command-and-control/` | Single professor-facing MCP entrypoint; workflow orchestration, registry, adapters |
| `packages/canvas-design-studio/` | Canvas-safe HTML generation, design review, transcript enrichment |
| `packages/curriculum-intelligence/` | Course analysis, semester comparison, topic currency, planning |
| `packages/shared-types/` | TypeScript contracts shared across packages |
| `packages/shared-llm/` | Shared LLM client (Anthropic + Ollama providers) |
| `packages/module-contract/` | The `CanvasToolchainModule` plug-in contract for opt-in capability modules |
| `packages/module-video/` | Lecture Video module (Panopto as the first provider) |
| `packages/module-oral-assessment/` | Oral/video assessment authoring (Rhetorix-first) |
| `packages/module-group-builder/` | Create and rotate balanced student groups |
| `packages/module-roster/` | Roster & Identity Manager (PeopleSoft → de-identified roster + pseudonyms) |
| `packages/module-peerassessment/` | Export a Canvas group set to a PeerAssessment.com import CSV |
| `installer/` | Go + Fyne native installer and auto-updater |
| [`canvas-backup`](https://github.com/Ryfter/canvas-backup) (separate repo) | Python Canvas backup downloader, reached via a CLI bridge |

## Verification

From the repo root:

```powershell
npm test          # all TypeScript workspace tests
npm run build     # compile all packages
npm run smoke:integration --workspace=packages/command-and-control
```

Installer (from `installer/`):

```powershell
go vet ./...
go test ./...
go build -o ct-installer.exe .
```

See [`AGENTS.md`](AGENTS.md) for the full cross-package verification matrix and the installer's local-payload build notes.

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Ryfter](https://github.com/Ryfter)
- **Source:** [Ryfter/canvas-toolchain](https://github.com/Ryfter/canvas-toolchain)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-ryfter-canvas-toolchain
- Seller: https://agentstack.voostack.com/s/ryfter
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
