mcpField
E
Education Scope MCP

Education Scope MCP

本地服务
github.com科研与教育04 周前更新

关于 Education Scope MCP

Education Scope MCP 是用于日本学校教育的 MCP 服务,可判定知识所属学段、年级和科目,并检查说明是否超出指定年级。它搜索文部科学省课程代码表的规范化数据,并以别名和前置知识图谱辅助判断。

主要功能

  1. 01判定知识所属学段与年级
  2. 02审核说明是否超出年级范围
  3. 03搜索规范化课程代码
  4. 04查询主题前置知识
  5. 05检查数据集加载状态
  6. 06支持 stdio 与 HTTP 传输

适用场景

  1. 01核对讲解内容是否适合指定年级
  2. 02查找课程主题对应的官方范围
  3. 03确认学习某主题所需的前置知识

MCP 相关

向 MCP 客户端提供范围判定、答案审核、课程搜索、前置知识查询、支持范围列表和数据集状态等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"yama-tana-education-scope": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/yama-tana/education-scope-mcp:0.2.0"
]
}
}
}
启动命令docker run -i --rm ghcr.io/yama-tana/education-scope-mcp:0.2.0

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/yama-tana/education-scope-mcp:0.2.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

EDUCATION_SCOPE_MCP

这是一个 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:

对日本学校课程范围进行分类,根据年级限制审查解释,并搜索 16,887 条规范化的 MEXT 课程代码条目。

server.json 是面向 Official MCP Registry 的 manifest。.github/workflows/publish-mcp.yml 会将 OCI 镜像发布到 GHCR,并通过 GitHub Actions OIDC 提交到 Registry。无需额外的 Registry 密钥。

MCP 工具

  • classify_knowledge_scope — 判定“三平方定理”“微分”“现在完成时”等内容的教育范围
  • check_answer_scope — 审查“请用初二之前学过的内容解释”是否混入高中或初三范围
  • 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
远程 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 的模式启动。可以通过 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,只有在通过规范化、测试和条目数验证后,才会将数据提交到 main 中的 data/mext/normalized/。支持每月 1 日定期更新和手动运行。

来自 raw CSV 的 JSON 不纳入 Git 管理,仓库中只保留 MCP 所需的规范化 JSON。

判定设计

官方代码表作为“所涉及内容”的第一手依据优先使用,src/data.ts 中的 seed 则保留用于以下辅助用途:

  • “三平方”“毕达哥拉斯定理”等自然别名
  • 概念之间的先修知识图谱
  • 尚未生成官方数据的环境中的回退方案

check_answer_scope 不会自动将未登记的概念判定为“范围内”。如果无法从文本中检测到任何已知概念,则会将 unknownTextPresent: true 作为安全处理。

数据来源

文部科学省“教育数据标准”学习指导要领代码表:

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。