> ## Documentation Index
> Fetch the complete documentation index at: https://docs.learningcommons.org/llms.txt
> Use this file to discover all available pages before exploring further.
# Quickstart
> Get started with Knowledge Graph fast. Query education data through the REST API, MCP server, ChatGPT or Claude plugins, or downloaded JSONL files.
export const ComingSoonBadge = ({size = "md", children}) => {
return
{children == null || children === "" ? "Coming soon" : children}
;
};
export const GatedBadge = ({size = "md", children}) => {
return
{children == null || children === "" ? "Gated" : typeof children === "string" ? children.trim() : children}
;
};
export const OpenBadge = ({size = "md", children}) => {
return
{children == null || children === "" ? "Open" : typeof children === "string" ? children.trim() : children}
;
};
## Using Knowledge Graph
You can access Knowledge Graph data in several ways:
| Access method | When to use |
| :- | :- |
| [**Local files**](/knowledge-graph/using-knowledge-graph/local-files) | For offline access and custom processing of Knowledge Graph data — download all data using [`curl`](/knowledge-graph/using-knowledge-graph/local-files#download-all-data), or download by dataset using the [Dataset catalog](https://platform.learningcommons.org/dataset-catalog) ↗
Can be used across graph databases, relational systems, in-memory tools, and AI pipelines without requiring any specialized infrastructure |
| [**REST API**](/knowledge-graph/using-knowledge-graph/rest-api) | For real-time programmatic access to Knowledge Graph data in an application |
| [**MCP server**](/knowledge-graph/using-knowledge-graph/mcp-server) | For using Knowledge Graph data natively with an LLM |
| [**Agent plugins**](/knowledge-graph/using-knowledge-graph/agent-plugins) | For asking ChatGPT or Claude about Knowledge Graph data |
## Steps
Query the Knowledge Graph for the educational data you're interested in.
### Download from the Dataset catalog
Sign in to [Platform](https://platform.learningcommons.org) ↗ and open the [Dataset catalog](https://platform.learningcommons.org/dataset-catalog) ↗.
See [Dataset catalog](/platform/using-the-platform/dataset-catalog) for how datasets are grouped and which files are , , or .
Browse a category and open the dataset you need. Each dataset includes one or more file downloads.
If you only need part of a dataset (e.g., ELA standards from [U.S. academic standards](/knowledge-graph/datasets/standards/us-academic-standards)), download that file — you do not need the whole dataset or the entire Knowledge Graph.
For **Open** files, [download](/platform/using-the-platform/dataset-catalog#downloading-open-data) the listed JSONL files and query them locally.
For **Gated** files, an organization Admin can [request access](/platform/using-the-platform/dataset-catalog#requesting-access-to-gated-data) from the publisher. Downloads for approved gated files become available in Fall 2026.
### Download using direct links or `curl`
Download all data using direct links ([`nodes.jsonl`](https://cdn.learningcommons.org/knowledge-graph/v1.14.0/exports/nodes.jsonl?ref=docs) ↗ and [`relationships.jsonl`](https://cdn.learningcommons.org/knowledge-graph/v1.14.0/exports/relationships.jsonl?ref=docs) ↗) or [`curl`](https://github.com/curl/curl) ↗:
```bash For entities theme={null}
curl -L "https://cdn.learningcommons.org/knowledge-graph/v1.13.0/exports/nodes.jsonl?ref=docs_curl" -o nodes.jsonl
```
```bash For relationships theme={null}
curl -L "https://cdn.learningcommons.org/knowledge-graph/v1.13.0/exports/relationships.jsonl?ref=docs_curl" -o relationships.jsonl
```
Install [`jq`](https://jqlang.github.io/jq/) ↗, a lightweight command-line JSON processor.
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`](/knowledge-graph/schema-reference/standards#standardsframeworkitem) label, a `Multi-State` [jurisdiction](/knowledge-graph/schema-reference/enums-and-formats#jurisdictionenum) (Common Core), and a `Mathematics` [academic subject](/knowledge-graph/schema-reference/enums-and-formats#academicsubjectenum):
```shellscript theme={null}
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 [standards](/knowledge-graph/schema-reference/standards) for Multi-State Mathematics.
Sign up for the [Platform](https://platform.learningcommons.org) ↗ to generate an API key and get your base API URL.
Send a request to the `GET /standards-frameworks` API endpoint to get the `caseIdentifierUUID` for Multi-State Mathematics.
```shell cURL theme={null}
curl -X GET \
-H "x-api-key: YOUR_API_KEY" \
"https://api.learningcommons.org/knowledge-graph/v0/standards-frameworks?academicSubject=Mathematics&jurisdiction=Multi-State"
```
```python Python theme={null}
import os
import requests
# Setup
api_key = os.getenv("API_KEY") # Your API key from Platform
base_url = os.getenv("BASE_URL") # Your base URL from 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)
```
```javascript JavaScript theme={null}
const apiKey = process.env.API_KEY; // Your API key from Platform
const baseUrl = process.env.BASE_URL; // Your base URL from 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);
```
Copy the `caseIdentifierUUID` from the response to use in the next step.
Use the `caseIdentifierUUID` with the `GET /academic-standards` API endpoint to retrieve the individual standards for that framework.
```shell cURL theme={null}
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"
```
```python Python theme={null}
import os
import requests
# Setup
api_key = os.getenv("API_KEY") # Your API key from Platform
base_url = os.getenv("BASE_URL") # Your base URL from 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)
```
```javascript JavaScript theme={null}
const apiKey = process.env.API_KEY; // Your API key from Platform
const baseUrl = process.env.BASE_URL; // Your base URL from 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);
```
```json Response theme={null}
{
"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 [standards](/knowledge-graph/schema-reference/standards), [learning components](/knowledge-graph/schema-reference/learning-components), or [learning progressions](/knowledge-graph/schema-reference/learning-progressions).
Sign up for a [Platform](https://platform.learningcommons.org) ↗ account to generate an API key.
Download an AI client that supports MCP (e.g., OpenAI with the Responses API).
```txt .env theme={null}
OPENAI_API_KEY=
MCP_AUTH_KEY=
MCP_SERVER_URL=https://kg.mcp.learningcommons.org/mcp
```
Make a request to the MCP server with your question – e.g., "What are the learning components for California standard 4.OA.A.3?"
```python Python theme={null}
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())
```
```javascript JavaScript theme={null}
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.
Your AI client will call Knowledge Graph MCP tools to return structured results (e.g., [standard](/knowledge-graph/schema-reference/standards) statements, [learning components](/knowledge-graph/schema-reference/learning-components), etc.).
Inspect `mcp_call` output entries for tool names, arguments, and results.
### ChatGPT plugin
Get authoritative [standards](/knowledge-graph/schema-reference/standards) data when asking about a standard code.
Search for **Learning Commons** in the ChatGPT plugin library and add it to your account.
The plugin is included in OpenAI's K-12 Educator plugin experience for [ChatGPT for Teachers](https://chatgpt.com/plans/k12-teachers/) ↗ (U.S. K-12) and ChatGPT Education. Individual ChatGPT users may also be able to add it depending on their plan and available plugin settings.
Ask ChatGPT questions 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 Utah. Generate 3 project ideas that address standard 3.W\.1."
* "I am a 4th-grade teacher in California. A student is struggling with 4.OA.A.3. Which prior standards should I focus on?"
ChatGPT will use Knowledge Graph tools to look up the official statement, break [standards](/knowledge-graph/schema-reference/standards) into [learning components](/knowledge-graph/schema-reference/learning-components), and trace [learning progressions](/knowledge-graph/schema-reference/learning-progressions).
### Claude connector
Get authoritative [standards](/knowledge-graph/schema-reference/standards) data when asking about a standard code.
Set up the [Knowledge Graph integration in Claude](https://claude.ai/directory/6e94f5fc-5dc8-4f0a-9fcf-741bcab4e034) ↗ from the Claude connector directory.
Ask Claude questions 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?"
Claude will use Knowledge Graph tools to look up the official statement, break [standards](/knowledge-graph/schema-reference/standards) into [learning components](/knowledge-graph/schema-reference/learning-components), and trace [learning progressions](/knowledge-graph/schema-reference/learning-progressions).
## Related topics
Explore API endpoints to access Knowledge Graph data programmatically.
Follow a step-by-step tutorial to query frameworks and tag content.