关于 BC Curriculum
BC Curriculum 是面向 BC 教师和课程设计者的 MCP 服务,可查询 K–12 官方课程数据,涵盖学科内容、年级进阶及跨学科联系。它以结构化课程数据和全文搜索为特点,并包含核心能力与原住民学习原则。
主要功能
- 01覆盖 K–12 的 9 个英语学科
- 02查询 Big Ideas、能力与内容标准
- 03查看年级进阶及跨学科联系
- 04检索核心能力与原住民学习原则
- 05搜索评估资源、教学样例及课程变更
适用场景
- 01查找某门课程的 Big Ideas 和内容标准
- 02比较不同年级的能力发展
- 03发现同年级不同学科的课程联系
- 04跟踪课程数据更新与课程历史
MCP 相关
提供 12 个工具,让 MCP 客户端搜索并读取 BC K–12 课程数据。支持远程 HTTP 连接,也可在本地以 stdio 模式运行。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://bc-curriculum-mcp.fly.dev/mcpclaude mcp add --transport http pdg6-bc-curriculum https://bc-curriculum-mcp.fly.dev/mcp{"mcpServers":{"pdg6-bc-curriculum":{"type":"http","url":"https://bc-curriculum-mcp.fly.dev/mcp"}}}在 Cursor 中打开{"servers":{"pdg6-bc-curriculum":{"type":"http","url":"https://bc-curriculum-mcp.fly.dev/mcp"}}}在 VS Code 中打开{"mcpServers":{"pdg6-bc-curriculum":{"type":"http","url":"https://bc-curriculum-mcp.fly.dev/mcp"}}}{"mcpServers":{"pdg6-bc-curriculum":{"serverUrl":"https://bc-curriculum-mcp.fly.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
8| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| grade | integer | 否 | 年级(0=幼儿园,1-12) |
| limit | integer | 否 | 返回结果的最大数量(默认值为 10) |
| query | string | 是 | 自然语言搜索查询(例如,'empathetic design thinking') |
| subject | enum | 否 | BC 课程学科 slug(例如,'adst'、'science')adst | arts-education | career-education | english-language-arts | languages | mathematics | physical-health-education | science | social-studies |
| content_type | enum | 否 | 用于筛选的课程内容类型big_idea | competency | content_item | elaboration | assessment | instructional_sample | all |
详细介绍
BC 课程 MCP 服务
一个 MCP(Model Context Protocol)服务,为 BC 教师提供对 BC 教育部 K–12 课程的结构化访问。只需一行配置即可连接——无需安装、无需账户、无需技术设置。
作者: Paul de Groot — Vancouver, BC
功能介绍
此服务抓取 curriculum.gov.bc.ca,并通过 12 个 MCP 工具提供完整 BC K–12 课程的查询功能。教师和课程设计者可以用自然语言询问 Big Ideas、课程能力、内容标准、年级进阶、跨学科联系等信息——所有回答均基于实际发布的课程数据。
数据覆盖范围
- K–12 年级(Kindergarten 至 Grade 12)
- 9 个英语课程体系学科: ADST、Arts Education、Career Education、English Language Arts、Languages、Mathematics、Physical & Health Education、Science、Social Studies
- Big Ideas、课程能力和内容(三栏 KDU 结构),包含详细说明
- 核心能力(Communication、Thinking、Personal & Social)
- First Peoples Principles of Learning(FPPL)
- 评估资源和教学示例
- 对所有课程内容进行全文搜索
快速开始
选项 1:远程服务(无需安装)
将此内容添加到 MCP 配置中:
{
"mcpServers": {
"bc-curriculum": {
"type": "http",
"url": "https://bc-curriculum-mcp.fly.dev/mcp"
}
}
}
也可以通过 Claude Code CLI:
claude mcp add bc-curriculum --transport http --url https://bc-curriculum-mcp.fly.dev/mcp
选项 2:通过 npx 在本地运行
npx bc-curriculum-mcp-server
这会以 stdio 模式运行服务——兼容任何 MCP 客户端。你需要本地的 bc-curriculum.sqlite 数据库(克隆仓库、安装 Playwright 并运行抓取程序——请参阅下文的开发者指南)。
选项 3:通过 npm 全局安装
npm install -g bc-curriculum-mcp-server
bc-curriculum-mcp
连接后,可以提出如下问题:
- “ADST 10 年级的 Big Ideas 是什么?”
- “展示科学能力如何从 3 年级进阶到 7 年级。”
- “查找 9 年级数学与 ADST 之间的课程联系。”
- “First Peoples Principles of Learning 是什么?”
- “Kindergarten 数学的课程能力有哪些?”
可用工具
| 工具 | 功能 |
|---|---|
bc_search_curriculum | 对所有课程数据进行全文搜索 |
bc_get_course_curriculum | 获取某门课程的 Big Ideas、能力和内容 |
bc_list_courses | 列出所有可用课程(可按学科/年级筛选) |
bc_get_grade_progression | 追踪课程内容在不同年级间的进阶情况 |
bc_get_competency_connections | 查找不同学科共有的能力 |
bc_get_core_competencies | 获取 Communication、Thinking、Personal/Social 能力 |
bc_get_fppl | 获取 First Peoples Principles of Learning |
bc_get_assessment_resources | 获取评估实践和指导 |
bc_get_crawl_status | 检查数据的新鲜度和完整性 |
bc_search_cross_curricular | 查找某个年级中两个或更多学科共有的课程联系 |
bc_get_curriculum_changes | 显示自指定日期以来课程的变化 |
bc_get_course_history | 查看某门课程的抓取历史和变更时间线 |
架构
┌──────────────────────┐ ┌─────────────────────────┐
│ Your Machine │ │ Fly.io (free tier) │
│ │ │ │
│ Playwright crawler │──────▶│ Express + SQLite │
│ builds SQLite DB │ SFTP │ read-only MCP server │
│ │ │ 256MB RAM │
└──────────────────────┘ └─────────────────────────┘
│
▼
Claude Desktop / Cowork / VS Codee / Antigravity
connects via MCP over HTTPS
抓取程序在本地使用 Playwright 和无头 Chromium 渲染大量依赖 JavaScript 的 curriculum.gov.bc.ca 页面。它会生成 SQLite 数据库,并上传到 Fly.io。部署后的服务轻量且只读——没有浏览器,也没有抓取程序,只通过 MCP 提供预先生成的数据。
开发者指南
先决条件
- Node.js 18+
- npm
设置
git clone https://github.com/pdg6/bc-curriculum-mcp-server.git
cd bc-curriculum-mcp-server
npm install
npx playwright install chromium
npm run build
抓取
# Quick test — just ADST
npm run crawl -- --subject adst
# Full K–12 crawl (~60-90 minutes)
npm run crawl:all
# Re-crawl everything (overwrites existing data)
npm run crawl:all -- --force
本地运行
# stdio transport (for local MCP clients)
npm start
# HTTP transport (for remote connections)
TRANSPORT=http npm start
工作原理
每门课程的 BC 课程体系均采用三栏结构:
- 核心理念 — 高层次的概念性理解
- 课程能力 — 学生能够做什么(按领域分组)
- 课程内容 — 学生应该知道什么(KDU 条目)
每个要素都可以包含详细说明,以可展开的形式阐明范围并提供示例。此服务会收录所有 9 个学科、K–12 年级每门课程的这三栏内容及详细说明。
核心能力(沟通、思维、个人与社会)和原住民学习原则是适用于所有学科的跨领域框架,并单独存储。
数据来源
所有课程数据均来自 curriculum.gov.bc.ca,即 BC 教育部的官方网站。爬虫会遵守网站规则,在请求之间间隔 1.5 秒。
许可证
MIT — 参见 LICENSE。
课程内容由 BC 教育部发布。本项目为这些公开数据提供结构化访问方式。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。