BC Curriculum MCP
An MCP server that provides structured access to the entire BC Ministry of Education K–12 curriculum. It allows teachers and curriculum designers to query Big Ideas, Competencies, Content standards, grade progressions, and cross-subject connections through natural language questions.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://bc-curriculum-mcp.fly.dev/mcpWhat its tools do
8 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search for Big Ideas and competencies for specific subjects and grades
- Trace how curriculum concepts build across grade levels
- Find cross-curricular connections between subjects
- View curriculum changes and crawl history
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- bc-curriculum-mcp-server 1.1.1
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 8 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Tools
8 advertised
search_curriculum — Search BC Curriculum
Search BC curriculum (K-12) for standards, competencies, content items, and assessment resources using full-text search. Returns structured results with source metadata. Args: - query (string): Natural language search query (e.g., 'empathetic design thinking', 'coding and computational thinking') - subject (string, optional): Filter by subject slug (e.g., 'adst', 'science') - grade (integer, optional): Filter by grade level (0=K, 1-12) - content_type (string, optional): Filter by content type ('big_idea', 'competency', 'content_item', 'elaboration', 'assessment', 'all') - limit (integer, optional): Max results (default 10, max 50) Returns: Matching curriculum elements with source type, course, subject, and grade metadata.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"grade": {
"type": "integer",
"maximum": 12,
"minimum": 0,
"description": "Grade level (0=Kindergarten, 1-12)"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Maximum results to return (default 10)"
},
"query": {
"type": "string",
"maxLength": 500,
"minLength": 2,
"description": "Natural language search query (e.g., 'empathetic design thinking')"
},
"subject": {
"enum": [
"adst",
"arts-education",
"career-education",
"english-language-arts",
"languages",
"mathematics",
"physical-health-education",
"science",
"social-studies"
],
"type": "string",
"description": "BC curriculum subject slug (e.g., 'adst', 'science')"
},
"content_type": {
"enum": [
"big_idea",
"competency",
"content_item",
"elaboration",
"assessment",
"instructional_sample",
"all"
],
"type": "string",
"default": "all",
"description": "Type of curriculum content to filter by"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_course_curriculum — Get Course Curriculum
Get the complete BC curriculum for a specific course: Big Ideas, Curricular Competencies (grouped by domain), and Content/KDU items with elaborations. Returns the full three-column structure used by BC Ministry of Education. Args: - subject (string): Subject slug (e.g., 'adst', 'science') - grade (integer): Grade level (0=K, 1-12) - course (string, optional): Course slug (e.g., 'technology-explorations'). If omitted, returns all courses for that subject+grade. Returns: Complete three-column curriculum structure per course, including elaborations.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"subject",
"grade"
],
"properties": {
"grade": {
"type": "integer",
"maximum": 12,
"minimum": 0,
"description": "Grade level (0=Kindergarten, 1-12)"
},
"course": {
"type": "string",
"description": "Course slug (e.g., 'technology-explorations'). If omitted, returns all courses for subject+grade."
},
"subject": {
"enum": [
"adst",
"arts-education",
"career-education",
"english-language-arts",
"languages",
"mathematics",
"physical-health-education",
"science",
"social-studies"
],
"type": "string",
"description": "BC curriculum subject slug (e.g., 'adst', 'science')"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_grade_progression — Get Grade Progression
Show how Big Ideas, Competencies, and Content progress across grade levels for a BC subject. Useful for understanding scaffolding, prerequisites, and learning trajectories. When a query is provided, filters to only matching items at each grade — showing a focused vertical thread rather than a full data dump. Args: - subject (string): Subject slug - grade_from (integer): Starting grade (0=K, 1-12) - grade_to (integer): Ending grade (0=K, 1-12) - focus (string, optional): Which element to trace ('big_ideas', 'competencies', 'content', 'all'). Default 'all'. - query (string, optional): Focus on a specific concept (e.g., 'evidence', 'multiplication'). Only matching items shown at each grade. Returns: Grade-by-grade breakdown of curriculum elements showing progression, optionally filtered to a concept thread.
{
"type": "object",
"properties": {}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_competency_connections — Get Competency Connections
Find curricular competencies that appear across multiple subjects or courses. Useful for interdisciplinary curriculum design and identifying transferable skills. Args: - competency_text (string): A competency description to find connections for - scope (string, optional): Where to search ('same_subject', 'cross_subject', 'all'). Default 'all'. Returns: Related competencies from other courses/subjects with similarity ranking.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"competency_text"
],
"properties": {
"scope": {
"enum": [
"same_subject",
"cross_subject",
"all"
],
"type": "string",
"default": "all",
"description": "Where to search for related competencies"
},
"competency_text": {
"type": "string",
"minLength": 3,
"description": "A competency description to find connections for"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_courses — List BC Courses
List all available courses in the BC curriculum database (K-12). Use this to discover what courses are available before querying specific curriculum data. Args: - subject (string, optional): Filter by subject slug - grade (integer, optional): Filter by grade level (0=K, 1-12) Returns: List of courses with subject, grade, name, and URL.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"grade": {
"type": "integer",
"maximum": 12,
"minimum": 0,
"description": "Grade level (0=Kindergarten, 1-12)"
},
"subject": {
"enum": [
"adst",
"arts-education",
"career-education",
"english-language-arts",
"languages",
"mathematics",
"physical-health-education",
"science",
"social-studies"
],
"type": "string",
"description": "BC curriculum subject slug (e.g., 'adst', 'science')"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_cross_curricular — Search Cross-Curricular Connections
Find curriculum elements shared between two or more subjects at the same grade level. Identifies overlapping competencies, big ideas, and content across subjects. Essential for interdisciplinary planning. Args: - subjects (string[]): Two or more subject slugs to compare (e.g., ['science', 'adst']) - grade (integer): Grade level (0=K, 1-12) - focus (string, optional): Which element to compare ('big_ideas', 'competencies', 'content', 'all'). Default 'all'. - query (string, optional): Narrow to a specific concept (e.g., 'evidence', 'design thinking') - limit (integer, optional): Max connections to return (default 20, max 50) Returns: Groups of curriculum items connected by shared language across subjects.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"subjects",
"grade"
],
"properties": {
"focus": {
"enum": [
"big_ideas",
"competencies",
"content",
"all"
],
"type": "string",
"default": "all",
"description": "Which curriculum element to compare across subjects"
},
"grade": {
"type": "integer",
"maximum": 12,
"minimum": 0,
"description": "Grade level (0=Kindergarten, 1-12)"
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Maximum connections to return (default 20)"
},
"query": {
"type": "string",
"maxLength": 500,
"minLength": 2,
"description": "Optional: narrow to a specific concept (e.g., 'evidence', 'design thinking')"
},
"subjects": {
"type": "array",
"items": {
"enum": [
"adst",
"arts-education",
"career-education",
"english-language-arts",
"languages",
"mathematics",
"physical-health-education",
"science",
"social-studies"
],
"type": "string",
"description": "BC curriculum subject slug (e.g., 'adst', 'science')"
},
"maxItems": 9,
"minItems": 2,
"description": "Two or more subject slugs to compare (e.g., ['science', 'adst'])"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_curriculum_changes — Get Curriculum Changes
Show what changed in BC curriculum since a given date. Detects added, removed, and modified Big Ideas, Competencies, and Content items across crawl runs. Requires at least two crawls to have change data. Args: - since (string, optional): ISO date (e.g., '2026-01-15'). Default: last 30 days. - subject (string, optional): Filter by subject slug - grade (integer, optional): Filter by grade level - change_type (string, optional): Filter by change type ('added', 'removed', 'modified', 'all'). Default 'all'. - limit (integer, optional): Max entries to return (default 50, max 100) Returns: Course-level summary of which courses changed, plus item-level detail of what specifically was added/removed/modified.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"grade": {
"type": "integer",
"maximum": 12,
"minimum": 0,
"description": "Grade level (0=Kindergarten, 1-12)"
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Maximum changelog entries to return (default 50)"
},
"since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "ISO date string — show changes detected after this date (e.g., '2026-01-15'). Defaults to last 30 days."
},
"subject": {
"enum": [
"adst",
"arts-education",
"career-education",
"english-language-arts",
"languages",
"mathematics",
"physical-health-education",
"science",
"social-studies"
],
"type": "string",
"description": "BC curriculum subject slug (e.g., 'adst', 'science')"
},
"change_type": {
"enum": [
"added",
"removed",
"modified",
"all"
],
"type": "string",
"default": "all",
"description": "Filter by type of change"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_course_history — Get Course History
Show the crawl history and change timeline for a specific course. Includes each crawl snapshot (date, item counts, content hash) and a changelog of all detected modifications. Args: - subject (string): Subject slug (e.g., 'science') - grade (integer): Grade level (0=K, 1-12) - course (string, optional): Course slug (e.g., 'chemistry'). If omitted, shows history for all courses at subject+grade. Returns: Timeline of crawl snapshots and detected changes per course.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"subject",
"grade"
],
"properties": {
"grade": {
"type": "integer",
"maximum": 12,
"minimum": 0,
"description": "Grade level (0=Kindergarten, 1-12)"
},
"course": {
"type": "string",
"description": "Course slug (e.g., 'chemistry'). If omitted, shows history for all courses at subject+grade."
},
"subject": {
"enum": [
"adst",
"arts-education",
"career-education",
"english-language-arts",
"languages",
"mathematics",
"physical-health-education",
"science",
"social-studies"
],
"type": "string",
"description": "BC curriculum subject slug (e.g., 'adst', 'science')"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-06: 1 of 1 checks answered
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 582 ms
- 95th percentile latency
- 582 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 582 ms · metadata changed · 8 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http bc-curriculum-mcp-fly https://bc-curriculum-mcp.fly.dev/mcpCodex
codex mcp add bc-curriculum-mcp-fly --url https://bc-curriculum-mcp.fly.dev/mcpCursor
{
"mcpServers": {
"bc-curriculum-mcp-fly": {
"url": "https://bc-curriculum-mcp.fly.dev/mcp"
}
}
}Cline
{
"mcpServers": {
"bc-curriculum-mcp-fly": {
"type": "streamableHttp",
"url": "https://bc-curriculum-mcp.fly.dev/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"bc-curriculum-mcp-fly": {
"type": "http",
"url": "https://bc-curriculum-mcp.fly.dev/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http bc-curriculum-mcp-fly https://bc-curriculum-mcp.fly.dev/mcpClaude Desktop
https://bc-curriculum-mcp.fly.dev/mcpWindsurf
{
"mcpServers": {
"bc-curriculum-mcp-fly": {
"serverUrl": "https://bc-curriculum-mcp.fly.dev/mcp"
}
}
}Let your agent find its tools
Find servers like BC Curriculum MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.