# SCORM Packager (HTML → SCORM 2004)

Packages HTML files and mobile course exports into SCORM 2004 or 1.2 archives ready for LMS ingestion, with schema validation.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 6
- Author: giacomomaria81
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/giacomomaria81/scorm-mcp-server
- Updated: 2026-09-03
- HTML: https://affpapa.org/en/nevibecode/mcp/scorm-packager-html-scorm-2004

## What it does

The server provides three tools: `scorm_package`, `scorm_validate`, and `scorm_selftest`. It preserves existing page markup while embedding styles, fonts, and images as data URIs so modules run completely offline. An injected client runtime communicates progress, session duration, and completion directly to the LMS.

It handles single HTML files, multi-file directories, Claude Design `.dc` bundles, and mobile learning packages based on Excel spreadsheets. Manifests are verified against 15 bundled ADL XSD schemas. When working with `.dc` exports, pass the complete folder or zip archive; passing an isolated `.dc.html` file will fail because it depends on adjacent assets.

Running the server via `npx` requires Node.js 20 or higher. You can set a default destination for generated zip files using the `SCORM_OUTPUT_DIR` environment variable.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `SCORM_OUTPUT_DIR` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env SCORM_OUTPUT_DIR=<SCORM_OUTPUT_DIR> --transport stdio scorm-packager-html-scorm-2004 -- npx -y scorm-mcp-server
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add scorm-packager-html-scorm-2004 --env SCORM_OUTPUT_DIR=<SCORM_OUTPUT_DIR> -- npx -y scorm-mcp-server
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "scorm-packager-html-scorm-2004": {
            "command": "npx",
            "args": [
                "-y",
                "scorm-mcp-server"
            ],
            "env": {
                "SCORM_OUTPUT_DIR": "<SCORM_OUTPUT_DIR>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "scorm-packager-html-scorm-2004": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "scorm-mcp-server"
            ],
            "env": {
                "SCORM_OUTPUT_DIR": "<SCORM_OUTPUT_DIR>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e SCORM_OUTPUT_DIR=<SCORM_OUTPUT_DIR> scorm-packager-html-scorm-2004 npx -y scorm-mcp-server
```
Replace <…> with your own values

## When to use it
- convert standalone HTML modules into SCORM 2004 or 1.2 archives
- validate existing SCORM packages against official ADL schemas
- track completion and quiz interaction records without manual SCORM coding
- transform mobile learning spreadsheet templates into LMS-compatible courses

## Example prompts
- Package the contents of `course-folder` into SCORM 2004 with a mastery score of 0.8
- Run `scorm_validate` on `export.zip` and show any manifest issues
- Convert `index.html` into a SCORM 1.2 bundle and save it to the output folder

## Similar
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89899
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119231
- [AIHawk](https://affpapa.org/en/nevibecode/mcp/aihawk.md) — MCP server · ★ 32260
- [Skyvern](https://affpapa.org/en/nevibecode/mcp/skyvern.md) — MCP server · ★ 23283
- [SeleniumBase MCP](https://affpapa.org/en/nevibecode/mcp/seleniumbase-mcp.md) — MCP server · ★ 13181
- [Inbox Zero](https://affpapa.org/en/nevibecode/mcp/inbox-zero.md) — MCP server · ★ 12826

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
