mcpField
E
Education Scope MCP

Education Scope MCP

Local
github.comScience & Education0Updated 4w ago

About Education Scope MCP

Education Scope MCP is an MCP server for classifying Japanese school curriculum topics and checking explanations against grade limits. It searches normalized MEXT curriculum data, with aliases and prerequisite relationships as supplemental references.

Key features

  1. 01Classify school stage and grade
  2. 02Audit explanations against grade limits
  3. 03Search normalized curriculum codes
  4. 04Look up topic prerequisites
  5. 05Check dataset loading status
  6. 06Support stdio and HTTP transports

Use cases

  1. 01Check whether an explanation fits a target grade
  2. 02Find official scope for a curriculum topic
  3. 03Identify prerequisites for learning a topic

MCP support

It exposes tools for scope classification, answer auditing, curriculum search, prerequisite lookup, supported-scope listing, and dataset status.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"yama-tana-education-scope": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/yama-tana/education-scope-mcp:0.2.0"
]
}
}
}
Run commanddocker run -i --rm ghcr.io/yama-tana/education-scope-mcp:0.2.0

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocighcr.io/yama-tana/education-scope-mcp:0.2.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

EDUCATION_SCOPE_MCP

日本の学校教育で、ある知識・用語・解法がどの学校段階・学年・教科の範囲かを判定し、LLMの説明が指定学年を超えていないか監査するMCPサーバーです。

文部科学省の学習指導要領コード表(小学校 82V12 / 中学校 83V11 / 高等学校 84V10)を取得・正規化して検索でき、手作業seedは自然な別名と前提知識グラフの補助データとして併用します。

MCP Registry

  • Registry name: io.github.YAMA-TANA/education-scope-mcp
  • Display name: Education Scope MCP
  • Version: 0.2.0
  • OCI image: ghcr.io/yama-tana/education-scope-mcp:0.2.0
  • Transport: stdio

Registry 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用シークレットは不要です。

MCP tools

  • classify_knowledge_scope — 「三平方の定理」「微分」「現在完了」などの教育範囲を判定
  • check_answer_scope — 「中2までで説明して」に高校・中3範囲が混ざっていないか監査
  • search_curriculum — 学校段階・教科・領域・キーワードで公式コード表を検索
  • get_prerequisites — そのトピックを理解するための前提知識を取得
  • list_supported_scopes — 監査に指定できる上限学年を取得
  • get_dataset_status — 全量MEXTデータがロード済みか、コード表別件数とともに確認

例

classify_knowledge_scope("三平方の定理")

{
  "bestMatch": {
    "stage": "中学校",
    "grade": 3,
    "subject": "数学",
    "topic": "三平方の定理"
  }
}

check_answer_scope("三平方の定理を使います。", "中2")

{
  "withinTarget": false,
  "exceedsTarget": [
    {
      "stage": "中学校",
      "grade": 3,
      "topic": "三平方の定理"
    }
  ]
}

セットアップ

Node.js 20以上。

npm install
npm test
stdio MCP
npm run build
npm start

MCPクライアント設定例:

{
  "mcpServers": {
    "education-scope": {
      "command": "node",
      "args": ["/absolute/path/EDUCATION_SCOPE_MCP/dist/src/index.js"]
    }
  }
}
Docker / OCI
docker run --rm -i ghcr.io/yama-tana/education-scope-mcp:0.2.0
Remote HTTP MCP
npm run build
PORT=3000 npm run start:http
  • MCP endpoint: http://localhost:3000/mcp
  • health check: http://localhost:3000/health

HTTP実装はMCP TypeScript SDK v2の createMcpHandler を使用しています。

文科省データを全量取り込む

npm run import:mext

このコマンドは3つの公式CSVを取得し、raw保存だけでなくMCPが直接読める正規化済みデータまで生成します。

data/mext/raw/
  elementary-82V12.json
  junior-high-83V11.json
  high-school-84V10.json
  index.json

data/mext/normalized/
  curriculum-items.json
  summary.json

curriculum-items.json が存在すれば、MCP起動時に自動で読み込みます。存在しない環境でもseed-onlyモードで起動できます。現在どちらのモードかは get_dataset_status で確認できます。

公式コード表から保持する主な情報:

{
  stage,
  grade,
  grades,
  subject,
  course,
  domain,
  topic,
  aliases,
  curriculumCode,
  codeTable,
  itemNumber,
  sectionPath,
  source
}

学年は16桁の学習指導要領コードの学年・段階欄を解釈します。複数学年にまたがるコードは grades に全学年を保持し、学年上限監査では安全側に倒すため、その範囲の上端を grade として使用します。高等学校は学年を推測して付与しません。

自動更新

.github/workflows/refresh-mext.yml は文科省CSVを取得し、正規化・テスト・件数検証を通過した場合だけ data/mext/normalized/ をmainへコミットします。毎月1日の定期更新と手動実行に対応しています。

raw CSV由来JSONはGit管理対象外で、MCPが必要とする正規化済みJSONだけをリポジトリに保持します。

判定設計

公式コード表は「何を扱うか」の一次根拠として優先し、src/data.ts のseedは次の補助用途に残しています。

  • 「三平方」「ピタゴラスの定理」のような自然なalias
  • 概念間の前提知識グラフ
  • 公式データをまだ生成していない環境のフォールバック

check_answer_scope は未登録概念を自動的に「範囲内」とは判定しません。既知概念を1件も検出できない文章は unknownTextPresent: true として安全側に倒します。

データソース

文部科学省「教育データ標準」学習指導要領コード表:

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.