Skip to main content

Overview

The Knowledge Graph MCP server implements the Model Context Protocol ↗ for K-12 educational data. Instead of relying on model recall, the MCP server relies on tools ↗ and structured Knowledge Graph data to resolve standards, deconstruct them into learning components, and more.

Tools

The MCP server contains tools ↗ that can be used individually or in sequence:
Your agent will discover the tools that are available to you given your dataset access status. Check the documentation for each tool to learn more about any dataset access prerequisites.
Every tool accepts an optional session_id string (for analytics only – does not affect results). This parameter is returned on the output so the next call can pass it again.
Each call is limited to 4,096 characters of arguments in total, 16 argument keys, 256 characters per string, 32 items per array, and 3 levels of nesting. The request body is capped at 64 KB.

find_standard_statement

Find current education standards by code, prefix, or statement text – durable skills not included. Inputs
FieldTypeRequiredDescription
codeStringOne ofExact statementCode or prefix, such as RI.5.2 or 8.F.B.4 — also matches an alternate code. If both code and keywords are set, code is used.
keywordsString[]One ofTerms OR-matched against the statement text, whole-word and stem-based, not a substring match. Keyword matching is whole-word and stem-based, so fraction matches fractions, not a substring.
jurisdictionJurisdictionENUMU.S. state name, Washington, D.C., or Multi-State — defaults to Multi-State (Common Core)
academicSubjectAcademicSubjectENUMAcademic subject string
Output Returns a standards array (max 25 elements), with each element containing the following fields:
FieldTypeDescription
statementCodeStringStandard’s code
alternateStatementCodeStringIncluded when the standard has an alternate code
caseIdentifierUUIDStringCASE identifier — use with other tools that take a caseIdentifierUUID
descriptionStringStatement text
jurisdictionJurisdictionENUMWhere the standard is adopted
gradeLevelsGradeLevelENUM[]Array of grade levels
academicSubjectAcademicSubjectENUMSubject for the standard
subStandards{ statementCode: String, caseIdentifierUUID: String, description: String }[]Included when the standard has children

find_learning_components_from_standard

Coverage:
  • Math - Common Core and adopting state frameworks
  • ELA - K-2
Find the learning components aligned to a standard. Inputs
FieldTypeRequiredDescription
caseIdentifierUUIDString✓Standard UUID from find_standard_statement
Output
A standard outside the coverage returns an explanatory error, rather than an empty list.
Returns a learning_components array, with each element containing the following fields:
FieldTypeDescription
identifierStringLearning component identifier
descriptionStringLearning component text

find_standards_progression_from_standard

Coverage: Math only
Find the standards before or after a Math standard in a learning progression. Inputs
FieldTypeRequiredDescription
caseIdentifierUUIDString✓Math standard UUID from find_standard_statement
directionbackward or forward✓backward for prerequisites and forward for subsequent standards
Output
A non-Math standard will return an error. If the standard has no Common Core math alignment, or no progression in the requested direction, the tool returns an empty array with an explanatory error.
Returns a standards array, with each element containing the following fields:
FieldTypeDescription
matchTypeexact or partialHow closely the related standard matches
alignmentScoreNumber from 0 to 11.0 for an exact match
statementCodeStringRelated standard’s code
caseIdentifierUUIDStringCASE identifier for the related standard
descriptionStringStatement text
jurisdictionJurisdictionENUMJurisdiction of the related standard
gradeLevelGradeLevelENUM[]Array of grade levels
academicSubjectAcademicSubjectENUMSubject for the related standard
learningComponentsObject[]Populated for partial matches

find_curriculum_lessons

Access to OpenSciEd required
Find curriculum lessons that teach a standard or that are named by their curriculum position or title. Inputs
FieldTypeRequiredDescription
caseIdentifierUUIDStringOne ofCASE identifier for a Common Core or other Multi-State standard (state standards only work when they have an exact Common Core equivalent)
ordinalNameStringOne ofComma-separated curriculum position, such as Grade 6, Unit 1, Lesson 19 — components can be in any order; numbers must match exactly
lessonNameStringOne ofWords from the lesson title — do not include grade or unit numbers.
authorIllustrative Mathematics or OpenSciEdLesson publisher
Output
If you provided caseIdentifierUUID, max 150 lessons are returned.If you provided ordinalName or lessonName, max 25 lessons are returned. lessonName matches are ordered best first.
Returns a lessons array, with each element containing the following fields:
FieldTypeDescription
lessonIdentifierStringRequired — pass this to find_materials_for_lesson.
lessonNameString or nullLesson title
fullOrdinalNameString or nullFull curriculum position
lessonDescriptionString or nullLesson description
gradeLevelGradeLevelENUM[] or nullArray of grade levels
academicSubjectAcademicSubjectENUM or nullSubject for the lesson

find_materials_for_lesson

Access to IM® v.360’s “Instructional materials” and “Assessment materials” required
Find the teacher-facing materials for a lesson and/or a lesson’s activities:
  • Activity narrative
  • Standards alignment
  • “Building on Student Thinking” notes
  • Sample student responses
  • Activity synthesis script
They do not include student-facing materials and assessments. Use this for one or a few lessons at most – it is not a bulk export, even when the content license would allow one. Inputs
FieldTypeRequiredDescription
lessonIdentifierString✓Lesson identifier from find_curriculum_lessons
materialSourceString[]["lesson"], ["activity"], or ["lesson", "activity"]
Output Returns a materials array, with each element containing the following fields:
FieldTypeDescription
sourceTypeLesson or ActivityWhether the material belongs to the lesson or an activity
sourceNameString or nullName of the lesson or activity the material belongs to
materialNameString or nullMaterial title
materialIdentifierString or nullIdentifier for the material
materialTypeMaterialTypeENUM or nullKind of material
contentString or nullMaterial body (truncated above 50 KB)

find_misconceptions_for_standard

Access to IM® v.360’s “Instructional materials” and “Assessment materials” required
Coverage: Math onlyCurrently, the primary source is IM® v.360. Eedi Misconceptions Graph is used only when that guidance does not cover the standard.Eedi matches are approximate and by text similarity. Check results before relying on them for subsequent steps in your workflow.
Find common student misunderstandings for a Math standard. Inputs
FieldTypeRequiredDescription
caseIdentifierUUIDString✓Math standard UUID from find_standard_statement
subject"Mathematics"✓Other subjects will be rejected
Output
A non-Math standard returns an error. A Math standard with no match in either source returns an empty array. A response uses one shape for the whole list, never a mix of both sources.
Returns a misconceptions array. Illustrative Mathematics rows and Eedi rows use different fields. Fields that do not apply to that source are omitted. The Eedi fallback uses at most 3 matched constructs. content is truncated when it is very large.
FieldTypeDescription
activityNameStringIM® v.360 activity name
activityIdentifierStringIM® v.360 activity identifier
materialIdentifierStringIM® v.360 material identifier
contentStringIM® v.360 “Building on Student Thinking” block
misconceptionStringEedi misconception statement
misconceptionIdentifierStringEedi misconception identifier
matchedConstructStringEedi construct the standard was matched to
constructIdentifierStringEedi construct identifier

What you’ll need

  • MCP server URL:
  • API keys generated in Platform ↗ to include in your request headers for authentication:
    or
    If using an SDK, verify how to pass in the MCP authorization key for your client.

Steps

1

Set up environment variables

.env
2

Connect to the MCP server

Make a request to the MCP server with your question — for example, asking about skills and unfinished learning for California standard 4.OA.A.3:
3

Review the response

Your AI client will call Knowledge Graph MCP tools to return structured results (e.g., standards, learning components, or learning progressions).Inspect mcp_call output entries for tool names, arguments, and results.

Quickstart

Set up MCP access and try your first Knowledge Graph requests.