Use stored learning progressions
Use stored relationships to explore a teaching sequence, find support for a target standard, or inspect a curriculum's retained evidence. The six supplied curricula contain 3,039 buildsTowards and 5,041 relatesTo edges, each with retained provenance. Start with framework discovery and keep the returned framework, snapshot and package identity in every citation.
Read the two meanings correctly
buildsTowards points from a standard that supports success toward another standard. It does not make the source a mandatory prerequisite. relatesTo connects concepts or skills without sequence or dependency; either endpoint can retrieve the link, while the result preserves canonical stored source/target order.
These relationships were generated by IDinsight's model-based producer/checker pipeline. They are not publisher-endorsed progressions or certified pedagogy. A structural validation pass checks retained data/process integrity. Confidence remains a model judgment, not a learner-success probability. Source standards, generated Learning Components, stored generated edges and new client-generated activities remain distinct evidence tiers.
Find and follow an actual relationship
Search standards/components for your topic, then choose exact standard IDs. Text/grade order, shared components and hierarchy are discovery aids; they cannot supply a missing progression edge. The examples below are valid MCP inputs; use metadata.package.packageIdentity.snapshotId and the returned selectors when building your own workflow.
Call search_learning_progressions to discover Nigeria's stored directional edges (first page):
{"request":{"frameworkId":"nigeria-nerdc-mathematics-primary-1-3","relationshipTypes":["buildsTowards"],"endpointScope":"either","limit":25}}
From an edge returned in that page, use its relationship.relationshipId for exact lookup and relationship.sourceNodeId for direct links. Replace the angle-bracket values with those returned identifiers:
{"request":{"frameworkId":"nigeria-nerdc-mathematics-primary-1-3","snapshotId":"<returned-snapshot-id>","relationshipId":"<returned-relationship-id>"}}
Call get_learning_progression with that input. Call get_standard_progressions with:
{"request":{"frameworkId":"nigeria-nerdc-mathematics-primary-1-3","snapshotId":"<returned-snapshot-id>","identifier":{"identifierType":"node_id","nodeId":"<returned-source-node-id>"},"connectionKind":"all","limit":25}}
An all page lists builds before related links, so on a standard with many links it can stop at the result-size limit before any related link appears. To see each kind, call once per connectionKind (outgoing_builds, incoming_builds, related), as the workflows do.
Follow outgoing builds with traverse_learning_progressions:
{"request":{"frameworkId":"nigeria-nerdc-mathematics-primary-1-3","snapshotId":"<returned-snapshot-id>","identifier":{"identifierType":"node_id","nodeId":"<returned-source-node-id>"},"direction":"downstream","maxDepth":3,"maxNodes":30,"maxEdges":40}}
Connect that edge's source and target with get_learning_progression_paths:
{"request":{"frameworkId":"nigeria-nerdc-mathematics-primary-1-3","snapshotId":"<returned-snapshot-id>","sourceIdentifier":{"identifierType":"node_id","nodeId":"<returned-source-node-id>"},"targetIdentifier":{"identifierType":"node_id","nodeId":"<returned-target-node-id>"},"maxDepth":3,"maxPaths":3}}
Each tool returns its complete result as JSON text, so a client that reads only text sees the same edges, statements, confidence, warnings, links and cursors as one that reads structured content.
Read relationshipUri, provenanceUri and both standardUri links, natively if your client can open them, or with read_evidence:
If page.isComplete is false, call again with page.nextRequest until it is true and join the windows. Provenance retains full rationale, warnings, candidate references, source/config/content hashes and producer/checker trace. Tool excerpts are not the full record. If access is denied or too large, report the limit instead of fabricating evidence. For a step-by-step check with fixed Nigeria identifiers, see the Claude Desktop walkthrough.
Filter and bound the inspection
For grade/stage review, search_learning_progressions accepts local/normalized grade and statement-type arrays plus endpointScope. OR applies within each array; AND applies across fields on one endpoint. either, both, source and target select how endpoints satisfy that entire conjunction. Local labels remain source-facing; normalized grades do not establish equivalence. See the tool reference for exact arguments and bounds.
Collections default to 25 edges, maximum 100, with 5,000 examined candidates per page. Each result must also fit within 100,000 characters, so a page often stops earlier with stoppingReason: byte_limit. To continue, call the same tool with page.nextRequest unchanged; a partial or zero-match work-limited page may still have more evidence. Stored package totals, inspected subset counts and filtered match counts are different.
traverse_learning_progressions follows builds upstream/downstream; get_learning_progression_paths follows builds from a selected source to a distinct target. Every hop is a stored edge. Paths/subgraphs are deterministic derived evidence, not a new direct edge or compulsory teaching order. Inspect scopeComplete, graphExhausted, frontier, counters and truncationReasons. They have no continuation; rerun with narrower finite inputs when appropriate. If a path result stops at the size limit, nextUnreturnedPath names the next path by its IDs so you can look up its edges with get_learning_progression. An incomplete empty search proves neither global disconnection nor absence of a pedagogical relationship.
Teaching sequence
Choose learning_progression_teaching_sequence in your MCP client's prompt picker (in Claude Desktop, Add from curriculum-knowledge-graph). If your client cannot show prompts, ask it to call get_workflow_instructions with the same arguments in camelCase, "workflowName":"learning_progression_teaching_sequence", and JSON arrays instead of array strings; see workflow access.
framework_id: nigeria-nerdc-mathematics-primary-1-3
focus_mode: topic
topic_or_standard: fractions
local_grade_labels: ["PRIMARY ONE", "PRIMARY TWO", "PRIMARY THREE"]
output_language: en
Prompt collection values are JSON-array strings, not comma-separated prose. This workflow pins a package, inspects the first 10 standard-search hits and retains at most three standards. It retrieves direct links separately for each connection kind (outgoing builds, incoming builds, related; one page each, at most nine calls), downstream builds (depth 8, nodes 30, edges 40), and up to three connecting paths at depth 6 only when two retained standards are selected. It retains at most five supporting Learning Components per selected standard. Related concepts stay separate from sequence hops.
The host uses this evidence to draft an adaptable, cited sequence with alternatives and generated activities. If coverage is sparse, it states that limitation and does not invent an edge.
Support planning
Choose learning_progression_support_plan; pass an exact target selector as a JSON-object string in identifier:
framework_id: nigeria-nerdc-mathematics-primary-1-3
identifier: {"identifierType":"node_id","nodeId":"<selected-target-node-id>"}
local_context: Learners can count to 9 but often write 6 and 9 the wrong way round.
output_language: en
Replace the target with an actual selected standard, and write a classroom note about that standard (this note fits "write correctly number 6-9", node e399b510-48bb-58ee-abda-61460a5a853b). The client reads the target, then incoming builds and related concepts in two separate calls. Each reads one page of up to 25 links (fewer if the result reaches the size limit); a remaining nextCursor means that kind has more links than were read, and the client reports it. It then reads upstream builds at depth 3/nodes 20/edges 30, and supporting components for the target and at most three supporting standards (five components each retained). It proposes cited review/practice options and alternative next steps. Teacher observations are caller reports; suggestions are generated pedagogy. This is not an automatic mastery/readiness diagnosis.
Curriculum review
Choose learning_progression_curriculum_review, for example:
framework_id: nigeria-nerdc-mathematics-primary-1-3
local_grade_labels: ["PRIMARY ONE"]
endpoint_scope: either
output_language: en
Optional standard_identifiers accepts a JSON array of at most 20 exact node/CASE/profile-enabled code selectors. Optional relationship_types takes ["buildsTowards"], ["relatesTo"] or both; blank means both. Grade/type filters use the same endpoint conjunction as discovery. The client reads statistics and the LP summary, then runs one search per selected type, each allowed up to three pages, so relatesTo links are always included when requested. Each page holds up to 25 links, often fewer because of the size limit (seven per page for Ghana Mathematics Basic 5), and the client records each page's actual count. It fully inspects at most ten selected exact relationships/provenance records (up to five per type when both return links), plus validation/unresolved evidence within policy, and reports each type's counts separately. A ministry or ed-tech reviewer can compare stored totals with the bounded inspected subset, identify warning/review questions and retain exact citations. Missing edges are not proof of curriculum omission, and no cross-framework progression is asserted.
Preserve provenance and coverage limits
All three workflows cap full provenance inspection at ten used relationships and evidence reading at 32 read_evidence windows; several windows of one record count as one record. Reduce the cited recommendation set or defer additional evidence if that cap is reached. These are client evidence-retention caps, not changes to LC-tool output limits. The four existing teacher-guide, student-study, handbook and multigrade workflows also retrieve optional stored links (one call per connection kind for up to three standards) with supporting LCs, explaining unavailable/empty/incomplete evidence without a fallback that invents relationships.
Read metadata.summaryUri, validationUri and unresolvedUri for coverage and structural-only notices. CBSE retains one needs_review claim outside accepted edges; Ghana Mathematics and Ghana English retain 141 and 10 unresolved-warning pairs. Edge warnings can exist independently of those counts. Absent edges may reflect eligibility or limited candidate coverage. Rights and byte limits still apply, even when an artifact is present. See resources, prompt guide and maintainer preparation.
Next: Use prompt workflows