Using Knowledge Graph
You can access Knowledge Graph data in several ways: Each access method has their own unique use cases and benefits.Steps
- Local files
- REST API
- MCP server
- Claude connector
Query the Knowledge Graph for the educational data you’re interested in.
1
Download the Knowledge Graph JSONL files
See download options.
2
Install jq
Install
jq ↗, a lightweight command-line JSON processor.3
Query the JSONL files
Query your downloaded files for the data you’re interested in.e.g., To get Common Core Math Standards, filter for nodes with a
StandardsFrameworkItem label, a Multi-State jurisdiction (Common Core), and a Mathematics academic subject:jq -c 'select((.labels | contains(["StandardsFrameworkItem"])) and .properties.jurisdiction == "Multi-State" and .properties.academicSubject == "Mathematics")' nodes.jsonl > common_core_math_standards.jsonl
Retrieve a list of Academic Standards for Multi-State Mathematics.
1
Generate your API key
Sign up for the Learning Commons Platform ↗ to generate an API key and get your base API URL.
2
Get a standards framework UUID
Send a request to the Copy the
GET /standards-frameworks API endpoint to get the caseIdentifierUUID for Multi-State Mathematics.curl -X GET \
-H "x-api-key: YOUR_API_KEY" \
"https://api.learningcommons.org/knowledge-graph/v0/standards-frameworks?academicSubject=Mathematics&jurisdiction=Multi-State"
import os
import requests
# Setup
api_key = os.getenv("API_KEY") # Your API key from Learning Commons Platform
base_url = os.getenv("BASE_URL") # Your base URL from Learning Commons Platform; follows https://api.learningcommons.org/knowledge-graph/v0 format
headers = { "x-api-key": api_key }
response = requests.get(
f"{base_url}/standards-frameworks",
headers=headers,
params={
"academicSubject": "Mathematics",
"jurisdiction": "Multi-State"
}
)
result = response.json()
print(result)
const apiKey = process.env.API_KEY; // Your API key from Learning Commons Platform
const baseUrl = process.env.BASE_URL; // Your base URL from Learning Commons Platform
const response = await fetch(
`${baseUrl}/standards-frameworks?academicSubject=Mathematics&jurisdiction=Multi-State`,
{
method: 'GET',
headers: { 'x-api-key': apiKey }
}
);
const data = await response.json();
console.log(data);
caseIdentifierUUID from the response to use in the next step.3
Retrieve Academic Standards
Use the
caseIdentifierUUID with the GET /academic-standards API endpoint to retrieve the individual standards for that framework.curl -X GET \
-H "x-api-key: YOUR_API_KEY" \
"https://api.learningcommons.org/knowledge-graph/v0/academic-standards?standardsFrameworkCaseIdentifierUUID=YOUR_UUID_FROM_STEP_1"
import os
import requests
# Setup
api_key = os.getenv("API_KEY") # Your API key from Learning Commons Platform
base_url = os.getenv("BASE_URL") # Your base URL from Learning Commons Platform
framework_uuid = "YOUR_UUID_FROM_STEP_1" # Copy from Step 1 response
# Make request
headers = {
"x-api-key": api_key
}
response = requests.get(
f"{base_url}/academic-standards",
headers=headers,
params={
"standardsFrameworkCaseIdentifierUUID": framework_uuid
}
)
result = response.json()
print(result)
const apiKey = process.env.API_KEY; // Your API key from Learning Commons Platform
const baseUrl = process.env.BASE_URL; // Your base URL from Learning Commons Platform
const frameworkUuid = "YOUR_UUID_FROM_STEP_1"; // From Step 1 response
const response = await fetch(
`${baseUrl}/academic-standards?standardsFrameworkCaseIdentifierUUID=${frameworkUuid}`,
{
method: 'GET',
headers: {
'x-api-key': apiKey
}
}
);
const data = await response.json();
console.log(data);
Response
{
"data": [
{
"identifier": "e1755456-c533-5a84-891e-59725c0479e0",
"caseIdentifierURI": "https://satchelcommons.com/ims/case/v1p0/CFItems/6b9bf846-d7cc-11e8-824f-0242ac160002",
"caseIdentifierUUID": "6b9bf846-d7cc-11e8-824f-0242ac160002",
"name": null,
"statementCode": "3.NF.A.1",
"description": "Understand a fraction $\\frac{1}{b}$ as the quantity formed by 1 part when a whole is partitioned into b equal parts; understand a fraction $\\frac{a}{b}$ as the quantity formed by a parts of size $\\frac{1}{b}$.",
"statementType": "Standard",
"normalizedStatementType": "Standard",
"jurisdiction": "Multi-State",
"academicSubject": "Mathematics",
"gradeLevel": ["3"],
"inLanguage": "en-US",
"dateCreated": null,
"dateModified": "2025-02-05",
"notes": null,
"author": "1EdTech",
"provider": "Learning Commons",
"license": "https://creativecommons.org/licenses/by/4.0/",
"attributionStatement": "Knowledge Graph is provided by Learning Commons under the CC BY-4.0 license. Learning Commons received state standards and written permission under CC BY-4.0 from 1EdTech."
}
],
"pagination": {
"limit": 1,
"nextCursor": "eyJpZGVudGlmaWVyIjogImUxNzU1NDU2LWM1MzMtNWE4NC04OTFlLTU5NzI1YzA0NzllMCJ9",
"hasMore": true
}
}
Ask about Academic Standards, Learning Components, or Learning Progressions.
1
Generate your API key
Sign up for the Learning Commons Platform ↗ to generate an API key.
2
Choose an AI client
Download an AI client that supports MCP (e.g., OpenAI with the Responses API).
3
Set up environment variables
.env
OPENAI_API_KEY=
MCP_AUTH_KEY=
MCP_SERVER_URL=https://kg.mcp.learningcommons.org/mcp
4
Connect to the MCP server
Make a request to the MCP server with your question – e.g., “What are the learning components for California standard 4.OA.A.3?”
import os
import requests
from dotenv import load_dotenv
load_dotenv()
response = requests.post(
"https://api.openai.com/v1/responses",
headers={
"Content-Type": "application/json",
"Authorization": f"Bearer {os.getenv('OPENAI_API_KEY')}",
},
json={
"model": "gpt-4o",
"tools": [
{
"type": "mcp",
"server_label": "learning-commons-kg",
"server_url": os.getenv("MCP_SERVER_URL"),
"require_approval": "never",
"headers": {"x-api-key": os.getenv("MCP_AUTH_KEY")},
}
],
"input": "What are the learning components for California standard 4.OA.A.3?",
},
)
print(response.json())
import "dotenv/config";
const response = await fetch("https://api.openai.com/v1/responses", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
},
body: JSON.stringify({
model: "gpt-4o",
tools: [
{
type: "mcp",
server_label: "learning-commons-kg",
server_url: process.env.MCP_SERVER_URL,
require_approval: "never",
headers: {"x-api-key": process.env.MCP_AUTH_KEY},
},
],
input: "What are the learning components for California standard 4.OA.A.3?",
}),
});
console.log(await response.json());
If using an SDK, verify how to pass in the MCP authorization key for your
client.
5
Review the response
Your AI client will call Knowledge Graph MCP tools to return structured results (e.g., standard statements, Learning Components, etc.).Inspect
mcp_call output entries for tool names, arguments, and results.Get authoritative Academic Standards data when asking about a standard code.
1
Get Claude
Sign up for a Claude ↗ account.
2
Enable the Claude connector
Set up the Knowledge Graph integration in Claude ↗ from the Claude connector directory.

3
Ask about a standard
Mention the grade level, state, and/or standard code (e.g.,
5.NBT.A.2 or RL.4.1) that you are interested in:- “I’m a teacher in Iowa. Generate three project ideas that address W.3.4.”
- “I am a 4th-grade teacher in California. A student is struggling with 4.OA.A.3. Which prior standards should I focus on?”
Related topics
API Reference
Explore API endpoints to access Knowledge Graph data programmatically.
Tutorials
Follow a step-by-step tutorial to query frameworks and tag content.