Skip to main content

chiron-common-core-standards

An MCP (Model Context Protocol) server that exposes US Common Core ELA standards (grades 2–4) as lookup tools for LLM agents.

Package name on PyPI: chiron-common-core-standards. Python import name: chiron_standards.

Backed by a bundled SQLite database with full-text and semantic search — no network calls at runtime, no external rate limits.

Why

When an LLM generates educational content — worksheets, assessments, lesson plans — it needs to align to real educational standards. Without a reliable lookup tool, models hallucinate standard codes, misremember descriptions, or attach the wrong grade level. chiron-standards gives agents a grounded, deterministic source for Common Core lookups.

Features

  • Three tools:
    • get_standard(code_or_id) — exact lookup by notation (e.g. "RL.3.1") or GUID
    • list_standards(jurisdiction, grade, subject) — full tree for a standard set
    • search_standards(query, grade, subject, limit) — hybrid FTS5 + semantic search with Reciprocal Rank Fusion
  • Offline — all ~500 Common Core ELA standards (grades 2–4) ship inside the wheel as a pre-built SQLite file with embeddings
  • Semantic search powered by OpenAI text-embedding-3-small (only search_standards requires an OPENAI_API_KEY; the other two tools are fully offline)
  • Leaf-only search results — parents, domains, and anchor standards are filtered out so agents align to alignable standards

Install

pip install chiron-common-core-standards

Use with Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "chiron-standards": {
      "command": "chiron-standards",
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

Restart Claude Desktop. The three tools will appear automatically.

Use with the MCP Inspector (for development)

uv run fastmcp dev inspector src/chiron_standards/server.py

Open the printed URL, connect, and call tools manually.

Use as a Python library

The same tools are available as plain Python functions — useful from your own backend without going through MCP:

from chiron_standards.db import connect
from chiron_standards.queries import get_standard, search_standards

conn = connect()

# Exact lookup
print(get_standard(conn, "RL.3.1"))

# Semantic search (requires OPENAI_API_KEY in env)
hits = search_standards(conn, "finding evidence in a passage", grade="03", subject="ELA", limit=3)
for h in hits:
    print(h["notation_short"], h["description"])

Data model

Each standard returns a dict with:

field description
id 32-char GUID from Achievement Standards Network
notation_short Short notation (e.g. "RL.3.1") — null for parent containers
notation_full Formal notation (e.g. "CCSS.ELA-Literacy.RL.3.1")
description The standard text
grade Two-digit grade ("02", "03", "04")
subject Normalized subject ("ELA")
jurisdiction "Common Core State Standards"
set_id Standard set GUID
depth 0 = domain, 1 = cluster, 2 = standard, 3 = component
position Original ordering within the document
parent_id GUID of the parent standard, or null
ancestor_ids JSON-encoded list of ancestor GUIDs
statement_label "Standard", "Component", or null
source_url Canonical corestandards.org URL, when available

search_standards results additionally include a _score field (higher = better).

Build the database yourself

The published wheel already contains standards.db. To rebuild it (e.g. to pull fresh upstream data):

git clone https://github.com/JovannyEspinal/chiron-common-core-standards
cd chiron-common-core-standards
uv sync
cp .env.example .env   # add CSP_API_KEY and OPENAI_API_KEY
uv run python -m chiron_standards.ingest

This fetches Common Core ELA grades 2–4 from the Common Standards Project API, embeds descriptions with OpenAI, and writes src/chiron_standards/data/standards.db.

Development

uv sync
uv run pytest                           # run the test suite
uv run fastmcp dev inspector src/chiron_standards/server.py

License and attribution

  • Code: Apache License 2.0 — see LICENSE.
  • Data: The standards data shipped in this package is sourced from the Common Standards Project, which aggregates releases from the Achievement Standards Network (ASN) operated by Desire2Learn. ASN's standards data is licensed under CC BY 3.0 US.
  • Common Core State Standards © 2010 National Governors Association Center for Best Practices and Council of Chief State School Officers. All rights reserved.

See NOTICE for full attribution requirements.

Metadata

Release files for chiron-common-core-standards 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chiron-common-core-standards 0.1.0
File Size Uploaded
chiron_common_core_standards-0.1.0.tar.gz 1.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for chiron-common-core-standards 0.1.0
File Interpreter ABI Platform
chiron_common_core_standards-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.8 MB

Release files / chiron_common_core_standards-0.1.0.tar.gz

Download URL chiron_common_core_standards-0.1.0.tar.gz
Size 1.9 MB
Tags Source
SHA-256 checksum
How to use checksums
ad84520d3f28ae178258bfba8c0ccf7e99f409ab966b9dd1f55b7c5e54c214c3
BLAKE2b-256 checksum
How to use checksums
3701c0a718ed4e875212b2c438783f662d98aff94fb094568cdbb7dfe12f6ed2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chiron_common_core_standards-0.1.0-py3-none-any.whl

Download URL chiron_common_core_standards-0.1.0-py3-none-any.whl
Size 1.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
f141b8b33ca993b870e8e502759eccfaf9826efc0f7d3124899aa1f05b9eeb99
BLAKE2b-256 checksum
How to use checksums
52c8fda1469c178f78f0b9c1133aee006bd4bce7498f2fa174c112c80e58a87e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page