BC Curriculum について
BC Curriculum は、BC の教師やカリキュラム設計者が公式の K–12 カリキュラムデータを検索するための MCP サーバーです。教科内容、学年ごとの進行、教科間の関連を構造化データと全文検索で扱い、コアコンピテンシーや先住民の学習原則も収録しています。
主な機能
- 01K–12 の英語課程 9 教科を収録
- 02Big Ideas、コンピテンシー、内容の検索
- 03学年進行と教科間の関連を確認
- 04コアコンピテンシーと先住民の学習原則を取得
- 05評価資料、指導例、カリキュラム変更を検索
活用シーン
- 01コースの Big Ideas と内容を調べる
- 02学年間のコンピテンシーの進展を比較
- 03学年ごとの教科間の関連を見つける
- 04カリキュラム更新とコース履歴を追跡
MCP 対応
MCP クライアント向けに、BC K–12 カリキュラムデータを検索・取得する 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 サーバー
BC 州教育省の幼稚園から12年生までのカリキュラム全体に、構造化された形でアクセスできる MCP(Model Context Protocol)サーバーです。設定を1行追加するだけで接続できます。インストールもアカウントも技術的な設定も必要ありません。
作者: Paul de Groot — バンクーバー、BC 州
できること
BC 州カリキュラムをクロールし、12個の MCP ツールを通じて BC 州の幼稚園から12年生までのカリキュラム全体を検索できるようにします。教師やカリキュラム設計者は、実際に公開されているカリキュラムデータに基づいて、ビッグアイデア、カリキュラム能力、内容の基準、学年ごとの進展、教科間のつながりなどについて、自然言語で質問できます。
データの対象範囲
- 幼稚園から12年生まで(幼稚園から12年生)
- 英語課程の9教科: ADST、芸術教育、キャリア教育、英語、言語、数学、保健体育、理科、社会科
- 詳細説明付きのビッグアイデア、カリキュラム能力、内容(3列の KDU 構成)
- コアコンピテンシー(コミュニケーション、思考、個人と社会)
- 先住民族の学びの原則(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年生のビッグアイデアは何ですか?」
- 「理科の能力が3年生から7年生までどのように発展するか見せてください」
- 「9年生の数学と ADST のカリキュラムのつながりを見つけてください」
- 「先住民族の学びの原則とは何ですか?」
- 「幼稚園の数学のカリキュラム能力は何ですか?」
利用可能なツール
| ツール | 機能 |
|---|---|
bc_search_curriculum | カリキュラムデータ全体を全文検索します |
bc_get_course_curriculum | コースのビッグアイデア、能力、内容を取得します |
bc_list_courses | 利用可能なすべてのコースを一覧表示します(教科や学年で絞り込み可能) |
bc_get_grade_progression | 学年を通じたカリキュラムの発展をたどります |
bc_get_competency_connections | 教科間で共通する能力を見つけます |
bc_get_core_competencies | コミュニケーション、思考、個人/社会の能力を取得します |
bc_get_fppl | 先住民族の学びの原則を取得します |
bc_get_assessment_resources | 評価の実践とガイダンスを取得します |
bc_get_crawl_status | データの鮮度と完全性を確認します |
bc_search_cross_curricular | ある学年の2つ以上の教科で共通するカリキュラムのつながりを見つけます |
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州のカリキュラムは、各コースについて次の3列構成で整理されています。
- 大きなアイデア — 概念についての大局的な理解
- カリキュラム・コンピテンシー — 生徒ができること(領域ごとに分類)
- 内容 — 生徒が知っておくべきこと(KDU項目)
各要素には、範囲を明確にし、例を示す展開可能な詳細情報である解説が含まれる場合があります。このサーバーは、全9教科、幼稚園から12年生までのすべてのコースについて、3列すべてと解説を取得します。
コア・コンピテンシー(コミュニケーション、思考、個人と社会)と先住民の学習原則は、すべての教科に適用される横断的な枠組みであり、個別に保存されています。
データソース
すべてのカリキュラムデータは、BC州教育省の公式カリキュラムウェブサイトである curriculum.gov.bc.ca から取得しています。クローラーは、リクエスト間に1.5秒の間隔を設け、サイトに配慮しています。
ライセンス
MIT — LICENSE を参照してください。
カリキュラムの内容自体は、BC州教育省によって公開されています。このプロジェクトは、一般に公開されているそのデータへの構造化されたアクセスを提供します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。