SkillAgentSearch skills...

courseforge

AI-powered Canvas LMS course creator, MCP server, agent skills, and an IMSCC/Common Cartridge toolkit that turn a syllabus into an importable Canvas course

Install / Use

claude mcp add jasp-nerd -- npx -y github:jasp-nerd/courseforge

If the server publishes to npm under a different name, use that package instead β€” check the repo README.

About this skill
πŸ”Œ

MCP Server

Model Context Protocol server

Quality Score

77/100

Category

Design

Supported Platforms

Claude Code
Claude Desktop

Tags

Our assessment of courseforge

courseforge scores 77/100 on our quality scale, 230th of 261 Design skills we index.

Its MCP Server is 6.3 KB long, well organised into 12 sections with 6 code examples: a thorough specification that gives an agent plenty to work with.

It has 3 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
29/30
Structure
20/20
Description
15/15
Adoption
3/20
Freshness
11/15

Maintenance, license and trust

  • The repository was last updated about 3 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
  • Our last check on 2026-09-27 found the source still online.
  • It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 90/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit β€” read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.

AI review by kimi-k2.7-code on 2026-09-25. Automated pattern scan on 2026-09-25. It catches known dangerous patterns, not every risk β€” read a skill before letting an agent act on it.

courseforge compared with similar skills

All 4 of these similar skills score higher than courseforge; compare them before choosing.

SkillScoreStarsUpdatedFormat
courseforge (this skill)by jasp-nerd7733mo agoMCP Server
Agent-Reachby Panniantong100105.0k3d agoCLAUDE.md
headroomby headroomlabs-ai10078.1ktodayCLAUDE.md
CowAgentby zhayujie10047.6ktodayCLAUDE.md
Scraplingby D4Vinci10090.1ktodayMCP Server

Frequently asked questions

How do I install courseforge?
Run claude mcp add jasp-nerd -- npx -y github:jasp-nerd/courseforge. The install tabs above show the steps for each supported agent.
Which AI agents does courseforge work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is courseforge safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is Apache-2.0-licensed and scores 90/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is courseforge still maintained?
The repository was last updated about 3 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
<p align="center"> <img src="assets/banner.svg" alt="courseforge: from syllabus to a real Canvas course" width="900"> </p> <p align="center"> <a href="https://github.com/jasp-nerd/courseforge/actions/workflows/ci.yml"><img src="https://github.com/jasp-nerd/courseforge/actions/workflows/ci.yml/badge.svg?branch=main" alt="CI status"></a> <a href="https://www.npmjs.com/package/courseforge-mcp"><img src="https://img.shields.io/npm/v/courseforge-mcp.svg?label=courseforge-mcp&color=cb3837" alt="npm version"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-blue" alt="Apache-2.0 license"></a> <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-server-8A2BE2" alt="MCP server"></a> </p>

CourseForge turns a syllabus into a real Canvas course. Hand your AI assistant a course outline and get back modules, pages, assignments, quizzes with questions, and discussions, imported straight into Canvas LMS or packaged as a standards-compliant .imscc file that any Canvas instance can import.

<p align="center"> <img src="assets/demo.gif" alt="Demo: courseforge-imscc builds and inspects a Canvas course package" width="860"> </p>

Why CourseForge?

Existing Canvas MCP servers read courses well, and some create individual pages or assignments. CourseForge builds the whole course: it generates a Canvas-flavored IMS Common Cartridge (the same format Canvas itself exports) and pushes it through Canvas's content-migrations API, so one import call creates every module, page, assignment, and quiz. The content arrives unpublished, and you review it in Canvas before students see anything.

Quickstart

1 Β· MCP server: let your AI build courses in Canvas

npx -y courseforge-mcp init        # interactive: writes config for Claude Code/Desktop/Cursor

Then ask your assistant: β€œHere's my syllabus. Build it into Canvas course 12345.”

<details> <summary>Manual config / Claude Code one-liner</summary>
claude mcp add courseforge \
  -e CANVAS_BASE_URL=https://youruni.instructure.com \
  -e CANVAS_API_TOKEN=your-token \
  -- npx -y courseforge-mcp

Get a token in Canvas: Account β†’ Settings β†’ + New access token.

</details>

2 Β· No API token? Build an importable file instead

npx -y @courseforge/imscc build examples/intro-to-chemistry.json

Upload the resulting .imscc in Canvas under Settings β†’ Import Course Content β†’ Common Cartridge 1.x Package.

3 Β· Agent skills for Claude Code, Codex, Cursor & 40+ agents

npx skills add jasp-nerd/courseforge      # canvas-course-builder, imscc-editor, canvas-course-qc

What you get

| | | |---|---| | πŸ—οΈ build_course_from_spec | One tool call: CourseSpec JSON β†’ validated .imscc β†’ imported into Canvas with progress and issue reporting | | πŸ“¦ @courseforge/imscc | Build, parse, modify, and validate Canvas cartridges (the export β†’ edit β†’ re-import loop), with QTI 1.2 quiz generation for 8 question types | | πŸ”Œ courseforge-mcp | 20 tools: course/module/page/assignment/quiz/discussion creation, import/export, migration progress, and a pre-publish QC linter | | 🧠 Agent skills | Interview the teacher, apply university branding, preview the build plan, create everything unpublished. Portable across the open Agent Skills standard | | 🌐 @courseforge/canvas-client | Standalone Canvas REST client: token or browser-cookie auth, Link-header pagination, 429 retry, the 3-step upload dance | | πŸ›‘οΈ Tested | 61 tests: golden-file manifests, round-trips on real Canvas exports, zip-slip/zip-bomb/XXE guards, MSW-mocked API, MCP protocol integration |

How it works

flowchart LR
    A["πŸ“„ Syllabus / course idea"] --> B["πŸ€– AI agent<br/>+ canvas-course-builder skill"]
    B --> C["CourseSpec JSON<br/>Zod-validated"]
    C -->|"@courseforge/imscc"| D["πŸ“¦ .imscc<br/>Canvas cartridge"]
    D -->|"content_migrations API"| E["πŸŽ“ Canvas course<br/>unpublished, ready for review"]
    D -->|"manual upload"| E
    C -->|"mode: api"| E
    E -->|"export"| D

A plain JSON course description called the CourseSpec connects everything. Agents write it, the imscc package turns it into a cartridge with the same structure Canvas's own exports use (including the canvas_export.txt flag and cccv1p0 extension XMLs, which preserve module structure and assignment settings on import), and the MCP server pushes it through the same import pipeline as the Canvas UI.

Compared to existing Canvas MCP servers

| | CourseForge | vishalsachdev/canvas-mcp | bruchris/canvas-lms-mcp | |---|:---:|:---:|:---:| | Build a whole course in one call | βœ… | β€” | β€” | | Generate + import .imscc packages | βœ… | β€” | β€” | | Modify existing Canvas exports | βœ… | β€” | β€” | | Quiz generation incl. questions | βœ… QTI 1.2 | β€” | New Quizzes API | | Course/content creation tools | βœ… | partial | βœ… | | Grading / student-facing tools | β€” | βœ… | βœ… | | Language | TypeScript | Python | TypeScript |

vishalsachdev's and bruchris's servers cover course management (grading, feedback, student workflows) far more deeply than CourseForge does. CourseForge covers creation. They run side by side without conflict.

Repository layout

packages/shared          CourseSpec Zod schemas (the shared course format)
packages/imscc           .imscc build / parse / modify / validate + CLI
packages/canvas-client   Canvas REST client (zero MCP dependencies)
packages/mcp             The courseforge-mcp server
skills/                  Agent Skills (open SKILL.md standard)
fixtures/                Real .imscc exports used in round-trip tests
docs/                    IMSCC format ground truth, specs, launch playbook

Documentation

Roadmap

  • [ ] Chrome extension (build courses from inside the Canvas UI, no token needed)
  • [ ] Rubrics + outcomes in cartridges
  • [ ] New Quizzes (QTI 2.x) authoring
  • [ ] Course templates gallery
  • [ ] .mcpb one-click bundle on the MCP registries

License

Apache-2.0 Β© jasp-nerd. Not affiliated with Instructure. Canvas is a trademark of Instructure, Inc.

Related Skills

View on GitHub
GitHub Stars3
CategoryDesign
Updated3mo ago
Forks0

Languages

TypeScript

Trust signals

90/100

From repository metadata: license, adoption, age and documentation. Not a code audit β€” see the Safety scan above for what the skill file itself contains.

1 low1 info
courseforge β€” MCP Server: Install & Safety Check | SkillAgent