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/courseforgeIf the server publishes to npm under a different name, use that package instead β check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
DesignSupported Platforms
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.
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 foundOur 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.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| courseforge (this skill)by jasp-nerd | 77 | 3 | 3mo ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 105.0k | 3d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.1k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.6k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 90.1k | today | MCP 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.
Skill content
View source on GitHubCourseForge 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.
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
- [ ]
.mcpbone-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
Agent-Reach
105.0kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu β one CLI, zero API fees.
headroom
78.1kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.6kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
90.1kπ·οΈ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit β see the Safety scan above for what the skill file itself contains.
