关于 Education Scope MCP
Education Scope MCP 是用于日本学校教育的 MCP 服务,可判定知识所属学段、年级和科目,并检查说明是否超出指定年级。它搜索文部科学省课程代码表的规范化数据,并以别名和前置知识图谱辅助判断。
主要功能
- 01判定知识所属学段与年级
- 02审核说明是否超出年级范围
- 03搜索规范化课程代码
- 04查询主题前置知识
- 05检查数据集加载状态
- 06支持 stdio 与 HTTP 传输
适用场景
- 01核对讲解内容是否适合指定年级
- 02查找课程主题对应的官方范围
- 03确认学习某主题所需的前置知识
MCP 相关
向 MCP 客户端提供范围判定、答案审核、课程搜索、前置知识查询、支持范围列表和数据集状态等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/yama-tana/education-scope-mcp:0.2.0本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/yama-tana/education-scope-mcp:0.2.0stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
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 作为安全处理。
数据来源
文部科学省“教育数据标准”学习指导要领代码表:
- https://www.mext.go.jp/a_menu/other/data_00001.htm
- 小学
82V12 - 初中
83V11 - 高中
84V10
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。