The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Education Scope MCP listing page.
日本の学校教育で、ある知識・用語・解法がどの学校段階・学年・教科の範囲かを判定し、LLMの説明が指定学年を超えていないか監査するMCPサーバーです。
文部科学省の学習指導要領コード表(小学校 82V12 / 中学校 83V11 / 高等学校 84V10)を取得・正規化して検索でき、手作業seedは自然な別名と前提知識グラフの補助データとして併用します。
io.github.YAMA-TANA/education-scope-mcp0.2.0ghcr.io/yama-tana/education-scope-mcp:0.2.0stdioRegistry description:
Classify Japanese school curriculum scope, audit explanations against grade limits, and search 16,887 normalized MEXT curriculum-code entries.
server.json はOfficial MCP Registry向けのmanifestです。.github/workflows/publish-mcp.yml がOCIイメージをGHCRへ公開し、GitHub Actions OIDCでRegistryへ送信します。追加のRegistry用シークレットは不要です。
classify_knowledge_scope — 「三平方の定理」「微分」「現在完了」などの教育範囲を判定check_answer_scope — 「中2までで説明して」に高校・中3範囲が混ざっていないか監査search_curriculum — 学校段階・教科・領域・キーワードで公式コード表を検索get_prerequisites — そのトピックを理解するための前提知識を取得list_supported_scopes — 監査に指定できる上限学年を取得get_dataset_status — 全量MEXTデータがロード済みか、コード表別件数とともに確認classify_knowledge_scope("三平方の定理")
check_answer_scope("三平方の定理を使います。", "中2")
Node.js 20以上。
MCPクライアント設定例:
http://localhost:3000/mcphttp://localhost:3000/healthHTTP実装はMCP TypeScript SDK v2の createMcpHandler を使用しています。
このコマンドは3つの公式CSVを取得し、raw保存だけでなくMCPが直接読める正規化済みデータまで生成します。
curriculum-items.json が存在すれば、MCP起動時に自動で読み込みます。存在しない環境でもseed-onlyモードで起動できます。現在どちらのモードかは get_dataset_status で確認できます。
公式コード表から保持する主な情報:
学年は16桁の学習指導要領コードの学年・段階欄を解釈します。複数学年にまたがるコードは grades に全学年を保持し、学年上限監査では安全側に倒すため、その範囲の上端を grade として使用します。高等学校は学年を推測して付与しません。
.github/workflows/refresh-mext.yml は文科省CSVを取得し、正規化・テスト・件数検証を通過した場合だけ data/mext/normalized/ をmainへコミットします。毎月1日の定期更新と手動実行に対応しています。
raw CSV由来JSONはGit管理対象外で、MCPが必要とする正規化済みJSONだけをリポジトリに保持します。
公式コード表は「何を扱うか」の一次根拠として優先し、src/data.ts のseedは次の補助用途に残しています。
check_answer_scope は未登録概念を自動的に「範囲内」とは判定しません。既知概念を1件も検出できない文章は unknownTextPresent: true として安全側に倒します。
文部科学省「教育データ標準」学習指導要領コード表:
82V1283V1184V10MIT