search_standards
Search Standards
Search the Georgia Standards of Excellence by topic, with optional filters. Returns matching standards as `items` (each: `code`, `subject`, `grades`, `strand_code`, `strand_name`, `hs_course`, `statement`, plus optional `notes` and `path`). When enrichment is on, the response also carries `alds` (achievement-level descriptions per standard), `assessment_coverage` (Milestones claim, target, approx_points, sub_codes, qualifier), and `assessment_metadata` keyed by assessment_id (Depth of Knowledge split, item-type design); the server instructions explain how to read points, qualifiers, and levels. If `dropped_strand` is set, the strand filter matched nothing and the results span the whole subject. `truncated` means more matches may exist than `limit` allowed. Enrichment is automatic for small result sets (8 standards or fewer) and off for larger ones unless `include_enrichment` is true. If the query itself contains a standard code (e.g. 'what is 5.NR.1?'), the search becomes a direct code lookup and the other filters are ignored; lookup_standards_by_code is the direct route for known codes. Limitation: matches the words of the standards, in English.
Parametersgradelimitqueryrequiredcoursesubjectsgrade_setstrand_codeinclude_enrichment
lookup_standards_by_code
Look Up Standards by Code
Look up Georgia standards by their codes (e.g. ['5.NR.1', '3.T.C.1', 'S8P1', 'SS8H1.a']). Returns the matching standards (each with `code`, `statement`, optional `notes` and `path`), plus per-code `alds` (achievement-level descriptions), `assessment_coverage` (Milestones claim, target, approx_points, qualifier), and `assessment_metadata` keyed by assessment_id; the server instructions explain how to read points, qualifiers, and levels. A sub-code (e.g. '5.NR.3.3') with no descriptors of its own shows its parent standard's. Older codes from earlier materials (MGSE, ELAGSE, CCGPS) are translated to the current code when the mapping is unambiguous, including renamed math strands (fractions moved from `NF` to the current `5.NR.3` cluster), and reported in `normalized_codes`. Codes that still don't match appear in `unknown_codes` with likely `suggestions`.
Parameterscodesrequired
search_mastery_descriptors
Search Achievement Level Descriptions
Search the Georgia Milestones achievement-level descriptors: the official descriptions of what a student can do at each of four levels (Beginning, Developing, Proficient, Distinguished) for a standard. Use it for 'what does mastery look like' questions (e.g. 'what does a proficient 3rd grader do with fractions?'); it matches the descriptor text, not the standards' own wording. Returns `hits` with `item_code`, `level`, `descriptor_text`, `subject`, `grades`, and `statement` (the standard the descriptor belongs to), best match first. Limitation: descriptors exist only for the subjects and grades the Milestones tests cover, so many standards have none.
Parametersgradelevellimitqueryrequiredsubjectsgrade_set
list_assessments
List Georgia Milestones Tests
List every Georgia Milestones test with a blueprint: 14 End-of-Grade tests (ELA and math for each of grades 3-8; science and social studies in grade 8 only) and 4 End-of-Course tests (Algebra I, Biology, Literature II, US History). Returns `assessments` with `assessment_id`, `subject`, `grade` (null for End-of-Course), `hs_course` (null for End-of-Grade), and a readable `title`. Use the ids with get_assessment_blueprint and standards_for_claim.
Takes no parameters.
get_assessment_blueprint
Get Georgia Milestones Test Blueprint
The full blueprint for one Georgia Milestones test, for pacing and coverage planning. Identify the test by `assessment_id` (e.g. 'gmas_g05_math'), by `course` for an End-of-Course test (e.g. 'biology', 'algebra i', 'us history'), or by `grade` + `subject` for an End-of-Grade test (e.g. grade='5', subject='math'). Returns `title`, `total_points`, `dok_distribution` (Depth of Knowledge split), `design` (item-type table), `claim_summary` (points per claim), and `claims`: each claim and target with its `approx_points` and the `standards` it covers.
READING THE POINTS. Do not add up `approx_points` down `claims`: the blueprint often draws one merged points cell across several target rows, and each of those rows repeats the pooled value (the naive sum reads 98-114 on the 60-point ELA tests and 82 on the 58-point grade 5 math test). Pooled rows share a `points_group` id and are flagged `points_shared: true`, with co-covered codes in `points_shared_with` and a ready-to-quote `approx_points_note`. The correct numbers are precomputed: `claim_summary` (one total per claim) and `total_claim_points` (the whole test). `total_points` comes from the design table and is null for the ELA blueprints (their PDFs have no Total row), so use `total_claim_points` there. If no single test matches, the result is an error that lists the available tests.
Parametersgradecoursesubjectassessment_id
standards_for_claim
List Standards in a Blueprint Category
List every standard a Georgia Milestones test assesses under one blueprint claim (a reporting category such as 'Numerical Reasoning'), with point weights. This is the reverse of the per-standard coverage view. Pass an `assessment_id` (from list_assessments) and a `claim_code` (the category heading, e.g. 'Numerical Reasoning', or for ELA '<strand>.<domain>' like 'Texts.Interpreting Texts'); optionally narrow to one `target_text`. Matching ignores case and surrounding spaces. Returns `standards` with `code`, `statement`, `claim_name`, `target_text`, `approx_points`, `sub_codes`, and `qualifier`.
READING THE POINTS. `approx_points` is the weight of a claim or target, never of one standard, and a blueprint often draws one merged points cell across several targets. Rows sharing a merged cell repeat that value and share a `points_group` id; each is flagged `points_shared: true`, names its co-covered codes in `points_shared_with`, and carries a ready-to-quote `approx_points_note`. Rows with different `points_group` ids are separate pools. So do not add up `approx_points` down the rows: use the precomputed `claim_total_points`, bounded by `assessment_total_points` / `design_total_points`. Worked example: grade 5 math Numerical Reasoning has 5 rows reading 14/14/14/10/10 (62 if summed), but 5.NR.1+5.NR.4 share one 14-point pool and 5.NR.2+5.NR.5 share one 10-point pool, so the claim is 38 points on a 58-point test. An unknown claim or assessment_id is an error that lists the valid values.
Parametersclaim_coderequiredtarget_textassessment_idrequired
browse_standards
Browse Standards
Walk the Georgia standards hierarchy one level at a time. With no arguments, returns the four subjects. Pass `subject` (optionally with `grade`) for that subject's courses, or pass a row's `id` back as `parent` to open it. `grade` works only with `subject` (or a `subject:<subj>` parent) and is ignored when opening any other row. Math courses have a strand layer between course and standard. Each row has an `id` (pass it back as `parent`), `code`, `title`, `cf_item_type` (the row's level in the state's data: Course, Domain, Content Standard, and so on), `kind`, `has_children`, `child_count`, and `gmas` / `ald` flags (whether the Milestones blueprints or the achievement-level descriptors cover it).
Parametersgradeparentsubject
get_subject_grade_tree
Get All Standards for a Grade
Return every standard for one subject and grade in a single call, as a nested tree: the one-call alternative to repeated browse_standards calls (e.g. 'list all the 4th grade ELA standards'). `subject` and `grade` are required. Each node has `id`, `code`, `title`, `cf_item_type`, `kind`, `strand_code`, `gmas` / `ald` coverage flags, and nested `children`. It carries no achievement-level or test text; follow up on specific codes with get_standard_details or lookup_standards_by_code. Retired rows and empty containers are left out.
High school (grades 9-12) is organized by course, with up to 18 courses per grade. Without `course`, a high-school grade returns `courses` (each course's `id`, `code`, `title`, and `standard_count`) instead of the full tree; call again with `course` set to a title, code, or id from that list (or a name like 'algebra i') for that course's standards. `strand_code` narrows any tree to one strand. Returns `tree`, `node_count`, and `standard_count` (nodes that carry a code).
Parametersgraderequiredcoursesubjectrequiredstrand_code
get_vertical_progression
Trace a Strand Across Grades
Compare one strand year over year, for pacing, remediation, and differentiation. Pass a `code` (e.g. '5.NR.1') to line that standard up against the same code at every grade ('3.NR.1', '4.NR.1', ...), or pass `subject` + `strand_code` (name or code) for the whole strand. Returns `grades`, each with `grade`, `grade_label`, and `standards` (code, statement, and gmas/ald flags). If the strand can't be identified, the result is an error.
Parameterscodesubjectstrand_code
get_standard_details
Get Standard Details
Full detail for one standard or container, addressed by its code (e.g. '5.NR.3.3', 'S8P1') or by an `id` returned by browse_standards or get_subject_grade_tree. Returns `found`, `id`, `code` (null for containers), `statement`, `subject`, `grades`, `strand_code` / `strand_name`, `hs_course`, `cf_item_type`, `kind`, `path` (where it sits in the curriculum), `notes`, `parent`, `children` (with gmas/ald flags), `alds` (achievement-level descriptions; sub-codes show their parent's), `assessment_coverage` (Milestones claim, target, points, qualifier), and `assessment_metadata` keyed by assessment_id; the server instructions explain how to read points and levels. Containers (domains, clusters, courses) are reachable only by `id` and carry no descriptors or coverage. An unknown code or id is an error; for older MGSE/ELAGSE codes use lookup_standards_by_code, which translates them.
Parametersidrequired
describe_vocabulary
List Valid Filter Values
List the exact values the other tools' filters accept, so a search doesn't come back empty because of a typo. Returns `subjects` (id and label), `grades` (value and label), `hs_courses` (the course names the `course` filter accepts, with their subject), `strands` by subject (code and name; either works as `strand_code`), the four `ald_levels` (achievement levels), and the `assessments` catalog of Milestones tests.
Takes no parameters.