edumints SCORM MCP について
edumints SCORM MCPは、構造化されたコース仕様を自己完結型のSCORM 1.2または2004パッケージにコンパイルします。作者やAIクライアントが内容を定義し、サーバーがLLMを実行せずに検証、描画、パッケージ化します。
主な機能
- 01構造化仕様からコースを作成
- 02コース内容の検証と品質チェック
- 03インタラクティブ画面と分岐の作成
- 04SCORM 1.2および2004形式でパッケージ化
- 05クイズ画面をQTI 2.1にエクスポート
- 06音声と動画アセットの追加
活用シーン
- 01コース概要をLMSパッケージに変換
- 02クイズや分岐シナリオを作成
- 03パッケージ化前にコース品質を確認
- 04評価プラットフォーム向けに問題を出力
MCP 対応
コース作成、検証、プレビュー、パッケージ化のツールをMCPクライアントに公開します。クライアントが構造化仕様を送信すると、サーバーはダウンロード可能なSCORMパッケージを返し、QTI 2.1へのエクスポートにも対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://scorm.edumints.com/mcpclaude mcp add --transport http kemalyy-edumints-scorm https://scorm.edumints.com/mcp{"mcpServers":{"kemalyy-edumints-scorm":{"type":"http","url":"https://scorm.edumints.com/mcp"}}}Cursor で開く{"servers":{"kemalyy-edumints-scorm":{"type":"http","url":"https://scorm.edumints.com/mcp"}}}VS Code で開く{"mcpServers":{"kemalyy-edumints-scorm":{"type":"http","url":"https://scorm.edumints.com/mcp"}}}{"mcpServers":{"kemalyy-edumints-scorm":{"serverUrl":"https://scorm.edumints.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
edumints SCORM MCP
対話型の、標準準拠のeラーニングコースをコンパイルするMCP サーバーです。 あなた(またはClaudeのようなAIクライアント)が作成者であり、このサーバーがコンパイラーです。 構造化された仕様としてコースを記述すると、サーバーが検証、レンダリング、パッケージ化し、 あらゆるLMS(Moodle、SCORM Cloud、Rustici Engineなど)で動作する 自己完結型のSCORM zipを作成します。決定論的に動作し、サーバー上でLLMは実行されません。
🌐 言語: English · Türkçe · Español · Русский · 简体中文 · Azərbaycanca · Қазақша · Кыргызча
ライブデモ
4つの完全なコースを、4つの対象者と4つのビジュアルアイデンティティで、このサーバーのみを使って作成し、 ライブ環境から配信しています。スクリーンショットをクリックすると起動します。
| パスワードヒーローになろう! | フィッシングを見抜こう | 人身攻撃論法 | Grafik Dedektifi |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
9~13歳 · インターネットの安全 · style-playful + カスタムブランド | 企業向けオンボーディング · メールセキュリティ · style-minimal + 企業ブランド | 大学院レベル · 議論理論 · style-premium | トルコ語 · データリテラシー · 探究型(5E) · 根拠に基づく評価 |
各デモには、ストーリーの軸、現実的なアーティファクトのモックアップSVG、フラグ探しのシミュレーション、 ビフォーアフター比較、タイムライン、ケースゲーム、適応型フィードバックが盛り込まれており、基盤には 問題単位のSCORMレポート機能を備えています。
このプロジェクトの目的
eラーニングコースは通常、高機能なデスクトップ作成ツールで手作業で制作されます。このプロジェクトでは、 コース制作をAIエージェント向けのインフラストラクチャとして捉えます。
- インストール不要で作成。 ホストされたエンドポイントに任意のMCPクライアントを接続すれば、すぐに作成を始められます。 ツールチェーンもローカル環境のセットアップも不要です。クライアントは Model Context Protocolを介して、コース(目標、画面、クイズ、 分岐、メディア)を記述します。サーバーは検証、テーマ設定、アクセシブルなHTMLのレンダリング、SCORMランタイムブリッジ、 パッケージ化という大変な作業を担います。
- 妥協しない品質ゲート。 AIは質の低いコンテンツをすばやく大量に生成できます。このサーバーはそれを抑制します。
すべての仕様に対するスキーマ検証、エラー段階でビルドをブロックするアンチスロップ lint(
lint_course)、 そしてCIの証明チェーン(XSD + 実際のSCORM Cloudへのインポート + 動作プローブ)を備え、 リリースされるものがLMSで実際に動作することを確認します。詳しくは 標準と検証結果をご覧ください。 - ベンダーロックインなし。 出力は、自己完結型のプレーヤーを含む通常のSCORM 1.2/2004 zipです。MITライセンスで、 セルフホスト可能であり、コントリビューションを歓迎するオープンソースです。
作成者 = MCPクライアント · コンパイラー = このサーバー。

クイックスタート
オプション 1 — ホスト型 MCP(インストール不要)
任意の MCP クライアント(Claude desktop/web/Code、Antigravity など)から次の URL に接続します。
https://scorm.edumints.com/mcp
OAuth でサインインするか、ポータル https://mcp.edumints.com で API キーを取得してください。 次のように依頼します:「X に関する、クイズと要約付きの 6 分間のインタラクティブなコースを作成してください。」 — ダウンロード可能な SCORM zip が返されます。
オーサリングスキルと併用すると最も効果的です(このサーバーを使って高品質なコースを作成する方法を AI クライアントに教える Claude Agent Skill です)。 https://github.com/kemalyy/edumints-scorm-skill
オプション 2 — Docker(セルフホスト)
docker run -p 8000:8000 -v "$PWD/data:/data" ghcr.io/kemalyy/edumints-scorm-mcp:latest
# MCP endpoint: http://localhost:8000/mcp · health: http://localhost:8000/health
このイメージには、すべてのオプション機能(動画用の ffmpeg、Node と HyperFrames、Piper TTS)が含まれています。
Apple Silicon + Docker Desktop: コンテナが
Illegal instruction(SIGILL)でクラッシュする場合、これはcryptographyの Rust バインディングにおける上流のネイティブ ARM64 の問題です (pyca/cryptography#14733。このリポジトリの問題ではありません)。 回避策:--platform linux/amd64を指定して実行します(エミュレーション)。
オプション 3 — ローカル(Python)
python -m venv .venv && source .venv/bin/activate
pip install ".[tts]" # ".[tts]" adds offline Turkish TTS (Piper); drop it if unwanted
python server.py # serves MCP over HTTP
動画を生成する場合は、HyperFrames(npm i -g hyperframes)を含む Node 22 以降と ffmpeg もインストールしてください。
設定:.env.example をコピーして、必要に応じて編集します(データディレクトリ、クォータ、ベース URL、TTL)。ローカルで実行するためにシークレットは不要です。
例
コースは、単一の build_from_spec 呼び出しで作成されます(これは examples/small.json の抜粋です)。
{
"title": "Intro to SCORM",
"scorm_version": "1.2",
"language": "en",
"tracking": { "completion_rule": "viewed_all_and_passed", "passing_score": 50 },
"screens": [
{ "type": "title_slide", "id": "t1", "title": "Intro to SCORM", "subtitle": "Core concepts in 5 minutes" },
{ "type": "content_slide", "id": "c1", "title": "What is SCORM?", "body_html": "<p><strong>SCORM</strong> lets e-learning content talk to an LMS.</p>" },
{ "type": "mcq", "id": "q1", "title": "Mini quiz", "prompt_html": "<p>What is SCORM for?</p>",
"options": [
{ "id": "a", "text_html": "Content–LMS communication", "correct": true },
{ "id": "b", "text_html": "Video editing" }
], "points": 10 },
{ "type": "summary", "id": "s1", "title": "Well done", "body_html": "<p>You learned the basics.</p>" }
]
}
build_from_spec(spec) → { project_id, screens: 4, warnings: [] }
build_package(project_id) → downloadable SCORM zip
├─ imsmanifest.xml
├─ index.html (self-contained player + runtime)
└─ assets/
完全に動作する仕様は examples/ にあります(ゲーム、分岐、テーマ別、i18n のコース)。
機能
- 46 個の MCP ツール —
build_from_spec(単一呼び出しのパス)、細かな編集 (create_project/add_screen/update_screen/ …)、set_theme/set_tracking、add_asset(SSRF 対策済みのインポート)、synthesize_speech(オフラインの Piper TTS)、動画ツール (ffmpeg / HyperFrames のモーショングラフィックス)、preview/validate_package/build_package、lint_course(品質ゲート)、export_qti(QTI 2.1)、list_compositions/set_composition/set_screen_composition。 - 構成システム — 新しいコースにはそれぞれ、意図的な焦点、強調の階層
(E1–E5:
kicker、lead、<mark>)、および JSON パターンカタログ(3 分割法、Z/F 型の視線誘導、コースのリズム)から選ばれた、バランスの取れた対称/非対称レイアウトが設定されます。任意の自由なグリッドも選択でき、31 種類すべての画面タイプで利用できます。コースの作成中に、サーバーは重要な判断事項を質問します(composition_questions)。質問/投票/分岐では、アプリケーションレベルの評価に任意の事例(stimulus)を指定でき、タブはマスター・詳細表示になり、ゲームシーンは横並びになります。新しいデフォルトパレットmint(ink、slateも利用可能)と、埋め込みの OFL フォントを追加しました。既存のコースは変更なく表示されます。 - 31 種類の画面タイプ — タイトル、コンテンツ、多肢選択問題、正誤問題、穴埋め問題、ドラッグ&ドロップ、ホットスポット、分岐シナリオ、動画、アコーディオン、タブ、フラッシュカード、マッチング、並べ替え、タイムライン、lottie、ソフトウェア操作ガイド、意思決定シナリオ、用語マッチングレース、脱出ゲーム、ラベル付き図、データチャート、画像比較、結果の内訳、投票/振り返り、まとめ、構成可能なゲーム、適応型練習、解説付き例題、探索、埋め込み HTML(アーティファクト→SCORM)。 詳細なリファレンス:docs/SCREEN_TYPES.md。
- 構成可能なゲームエンジン —
game画面では、ゲームの仕組みを構成する基本要素(スコア/ライフ/タイマー/ヒント)と、宣言型のwhen event if condition then actionルール、および分岐ノードを組み合わせます。adaptive_practiceは習熟度を推定し(Elo またはベイズ知識追跡)、学習者ごとに難易度を調整します。docs/GAME-PATTERNS.md を参照してください。 - スライドステージプレーヤー — すべての画面に合わせて拡大縮小される固定 16:9 ステージ、プレーヤーバー (再生/シークバー/字幕/メニュー/リプレイ)、ナレーションに同期したタイムライン、セクションごとにまとめられたメニュー、完全なレスポンシブ対応、インライン SVG アイコン。RTL 対応の i18n シェル(tr/en)。
- 実際の SCORM トラッキング —
cmi.interactions(問題単位のレポート)、cmi.objectives、adlcp:masteryscore(1.2)/completionThreshold(2004)、LOM メタデータ、および再開状態を保持するコンパクトな suspend-data v2 エンコーディング。 - テーマ設定 — スタイルプリセット(
style-minimal/style-playful/style-premiumなど)にブランドトークンを重ねて設定できます。1 つのスタイルで、さまざまなブランドに対応します。ライト/ニュートラル/ハイコントラストのプリセット、WCAG を考慮した設計、prefers-reduced-motionに対応しています。 - 品質ゲート — 低品質なコンテンツを防ぐリンター(ブロッキングエラーの段階あり)に加え、ゲームのアクセシビリティ監査を実施します。
- メディア — MCP 間でのアセットインポート(data-URI または https による
add_asset)、ffmpeg による処理、プログラムで作成するモーショングラフィックス/データ可視化動画(HyperFrames)、組み込みのオフライン対応トルコ語 TTS(Piper)。 - テレメトリ — プレーヤーからの任意の xAPI ステートメントに対応します。cmi5 は一部対応(起動検出のみ。
cmi5.xmlのパッケージ化には未対応です)。docs/GAME-XAPI.md を参照してください。 - QTI 2.1 エクスポート — クイズ画面を QTI
assessmentItemとしてエクスポートし、評価プラットフォームとの相互運用を可能にします。docs/QTI.md を参照してください。 - SCORM 1.2 および 2004、決定論的なパッケージ化、コスト制限、重い機能のオプトイン/遅延読み込み。
規格とエビデンス
主張するのは簡単ですが、このリポジトリではCIでその証拠を示しています。
- XSD準拠 — 生成された
imsmanifest.xmlファイルを、SCORM 1.2と2004の両方について、公式のADL/IMSスキーマに照らして検証します(tests/test_conformance.pyで自動実行)。 - SCORM Cloudでの実際の往復テスト — CIでは、REST APIを介してビルドしたパッケージを実際のSCORM Cloudにインポートします。4つの組み合わせすべて(small/rich × 1.2/2004)で、パーサー警告が0件の状態でインポートでき、起動可能な登録が作成される必要があります。これは必須のゲートであり、参考チェックではありません。
- 動作プローブ —
scorm-probeは、ビルドしたコースを実際のChromiumで偽のLMSに対して起動し、実行時の動作(初期化、ナビゲーション、採点、完了)を検証します。これもCIの必須項目です。チェックが何もせずスキップされた場合、ビルドは失敗します。
詳細、手順、制限事項については、docs/CONFORMANCE.mdをご覧ください。 アクセシビリティ:制限事項を明示して文書化したWCAG 2.2 AA適合性声明 — docs/ACCESSIBILITY-CONFORMANCE.md。
公式ソース
このプロジェクトの公式配布チャネルは以下のみです。
| チャネル | URL |
|---|---|
| ソースリポジトリ | https://github.com/kemalyy/edumints-scorm-mcp |
| オーサリングスキル | https://github.com/kemalyy/edumints-scorm-skill |
| コンテナーイメージ | ghcr.io/kemalyy/edumints-scorm-mcp |
| ホスト型MCPエンドポイント | https://scorm.edumints.com/mcp |
| アカウントポータル | https://mcp.edumints.com |
それ以外のもの(ミラーリポジトリ、再アップロードされたzip、PyPI/npmパッケージ、その他のレジストリやドメイン)は、すべて非公式で未検証です。現在、PyPIやnpmのパッケージは公開していません。類似したものを見つけた場合は、SECURITY.mdからご報告ください。
ドキュメント
| ドキュメント | 内容 |
|---|---|
| docs/SCREEN_TYPES.md | 31種類すべての画面タイプとフィールド、例 |
| docs/CONFORMANCE.md | SCORM準拠のエビデンスと手順 |
| docs/ACCESSIBILITY-CONFORMANCE.md | WCAG 2.2 AA声明 |
| docs/LMS-INTEGRATION.md | LMS固有の統合に関する注意事項 |
| docs/QTI.md | QTI 2.1エクスポート |
| docs/GAME-PATTERNS.md | ゲームエンジンのパターン |
| docs/GAME-ADAPTIVE.md | 適応型練習(Elo/BKT) |
| docs/GAME-ANTISLOP.md | 低品質コンテンツを防ぐ品質ゲート |
| docs/GAME-XAPI.md | xAPI/cmi5テレメトリー |
| docs/GAME-A11Y.md | ゲームのアクセシビリティ |
| docs/ARCHITECTURE.md | システムアーキテクチャ |
アーキテクチャ
MCP client (author) ──► scorm-mcp (compiler)
├─ core/ models (Pydantic), packaging, storage
├─ components/ HTML renderer + runtime engine + video compiler
├─ auth/ API-key + OAuth, SSRF guards
├─ themes/ design tokens / presets
├─ runtime/ vendored SCORM runtime (scorm-again, MIT)
└─ server.py FastMCP tools (HTTP)
出力:自己完結型の index.html + imsmanifest.xml + アセット + SCORMランタイムをzip形式にしたものです。
貢献
IssueやPRを歓迎します。コードベースでは、小さく焦点を絞ったモジュール、追加的な変更、後方互換性を重視しています。CONTRIBUTING.mdをご覧ください。テスト:pytest。
ライセンス
- このプロジェクト:MIT — LICENSE。
- ベンダーとして同梱されているサードパーティコンポーネント(scorm-again、lottie-web):THIRD_PARTY_NOTICES.md。
**edumints.com**が開発しました。SCORMはADLの商標です。記載されているその他の製品名は、それぞれの所有者の商標です(名称を指し示す目的でのみ使用)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。



