Skip to main content
Glama

Checklist Map

checklist_map
Read-only

How far along am I in a program at a school I am considering? One checklist at any target school, chosen by its name or title (or its checklist_id), line by line against what a person holds. Each held item is compared through the combined check. Two equal sources, four steps run side by side: (1) comparability direct from CourseShelf - the receiver's own published mappings; (2) known equivalencies direct from CourseAtlas, live - what institutions report, CollegeBoard's among them as CourseAtlas carries them; (3) inferred comparability from CourseShelf's comparability anchors (hop 1: an exam at a shared score, a state course, a mapping, crossing kinds); (4) inferred equivalency from CourseAtlas's equivalency anchors (hop 2, its own chain). kind narrows them: known runs 1 and 2, inferred runs 3 and 4, both runs all four. Each landing is joined to the checklist's lines; a GoldRibbon package, when given, adds the lines its prior learning may meet. Each line is met (a known mapping lands a held item on it), reached_by_inference (only an inferred landing reaches it: shown with its path of published links, never counted as met), may_be_met_by_prior_learning, or open, with every way it is reached. Each group gives its lines by state beside the choice rule it prints. Last, what does not count: each held item that reaches no line, with its reason (no rule, below the score, landing on a course this checklist does not require, unresolved, not held, or a source not read - never an absence). A case to show the school, not a verdict; recognition is the school's act. Each row names its current FORM's wording source: source_url, capture_file, catalog_year and source_catalog_name are that one source's, never the record's whole span. A row whose record holds more than one form or more than one source also carries version_count, source_count, first_edition_seen and last_edition_seen, and one sentence saying so in words; a record with one form and one source carries none of them and reads exactly as it always has. The forms themselves, each with its own content and its own sources, come from the one-record get, never from a list. A record last seen in an older edition says so, because the Union keeps a record no current catalog prints.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "target_unitid": "<target_unitid>"
    },
    "name": "checklist_map"
  }
}

Input Schema

NameRequiredDescriptionDefault
heldNo1 or more things held, the whole list, each as comparable_map takes one: a course { unitid or school, code }, an exam { program, exam, score }, { learning_unit_id } or { certification_ctid }. Compared 5 per call: an answer with more to compare carries `continue.arguments` to send back as they are
kindNoOptional: known (steps 1-2, the default), inferred (steps 3-4) or both; the inferred steps run only when asked for
depthNoOptional: the most published links an inferred path may take, 1 to 3 (default 2); carried in continue.arguments, send it back unchanged
carriedNoSet by `continue.arguments`: the map's progress so far, sent back unchanged
packageNoOptional: the person's GoldRibbon package; its prior learning is read on the first call for the lines it may meet
sourcesNoOptional information-source selection: all (default), or a nonempty array of distinct numbers: 1 gathered published CourseShelf comparables, 2 school-published CourseAtlas equivalencies, 3 inferred CourseShelf comparability through anchors, 4 inferred CourseAtlas equivalency through anchors. Any combination is allowed. An explicit kind intersects this selection; an empty intersection is invalid. Unselected engines report not_requested. Required identity/reference reads may still be needed. Send continuation arguments unchanged.
audienceNoOptional: who the answer is for. student (the default): a course at the target school itself is met from the student's own transcript, or as entered, unless its grade is failing (F, U, NC) or withdrawn (W). institution: the target's own course counts only with explicit earned-credit or completion evidence. Carried in continue.arguments; send it back unchanged.
checklistNoThe checklist at the target by its program name or award title, e.g. Computer Science, A.S. (TTP); several fitting are listed, never guessed
held_offsetNoSet by `continue.arguments`: the held item to start this call's 5 from
checklist_idNoOr the checklist's id, from find_checklists
target_unitidYesThe school whose checklist is mapped, by IPEDS UNITID, e.g. 240727
courseatlas_depthNoOptional: CourseAtlas's chain depth, 1 to 3 (default 2, the transfer map's own); carried in continue.arguments, send it back unchanged

Output Schema

NameRequiredDescriptionDefault
linesNoEvery line: its actual line_group_id and heading, item identity, alternatives, printed credit fields, state and reached_by (each way: how, held item, actual receiving learning unit, lands_as, band, rule or path, rests_on, minimum_grade, also_needs). held_at_receiver is own-course applicability; unconfirmed earned evidence is not met
countsNoLine states: met only where shared applicability support establishes an unconditional known or earned receiver-owned landing; inferred, prior-learning and open remain separate. Conditional evidence is retained without a met claim; group allocation determines program progress.
groupsNoActual group ID, published rule, non-additive status and separate confirmed/inferred_potential allocations, surplus, remaining item IDs/choices, credit lower bounds, nullable satisfaction and missing evidence
limitsNo
creditsNoThe lines' printed credits, summed by state, each its own
comparedNoCumulative item summaries across pages: item, state, reason, lines_reached and incomplete. An incomplete read is not evidence that no mapping exists.
completeNoPagination completion: every held item has been visited. Source reads may still be incomplete; inspect compared and the detailed comparison steps.
continueNoWhen more held items remain: compared_through, of, and the arguments for the next call (the next 5, with the progress carried); null when every held item is compared
contractYes
checklistNo
statementYes
candidatesNoWhen the name fits several checklists, or none
comparisonsNoFull combined answers for this page only: held identity and read_as, state/reason/statement, known mappings, exam tiers with held score placed, inferred landings with supplied paths and conditions, lands_as with applicability, checklist_lines and steps. Retain every page's comparisons; they are not carried into continuation
next_actionsNo
credits_basisNoLabels credits as sums of line states; these are not allocated program completion credits
does_not_countNoEach held item that reaches no line: item, reason, statement. Timeout, unread source, unreadable minimum, inactive rule, unresolved target course and a completed search finding no rule are distinct. Landings remain in this page's comparisons even when applicability is unresolved
comparison_scopeNoThis page's held_offset, compared_through and total of; comparisons are page-local while compared and line progress remain cumulative
program_progressNoPublished denominator and group-constrained allocations, confirmed progress separately from inferred potential. Each scenario retains allocations, remaining groups, missing inputs, lower bounds and nullable exact applied_credits, credits_remaining and percent_complete. Receiving-unit credits count once. Missing policy, conditions, credit totals or compatible units prevent exact claims. pagination_complete and source_incomplete state the scope of the evidence
source_reads_completeNoWhether selected source evidence completed, distinct from held-item pagination. A response-window limit, failed read or retained incomplete page prevents a complete-source claim; checklist_map includes prior-learning evidence in this scope.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / held / description
      Previous value: -"0 to 20 things held, each as comparable_map takes one: a course { unitid or school, code }, an exam { program, exam, score }, { learning_unit_id } or { certification_ctid }. Compared 5 per call: an answer with more to compare carries `continue.arguments` to send back as they are"New value: +"1 or more things held, the whole list, each as comparable_map takes one: a course { unitid or school, code }, an exam { program, exam, score }, { learning_unit_id } or { certification_ctid }. Compared 5 per call: an answer with more to compare carries `continue.arguments` to send back as they are"
  2. Changed1 schema field changed
    • changedInput schema / properties / kind / description
      Previous value: -"Optional: known (steps 1-2), inferred (steps 3-4) or both (default)"New value: +"Optional: known (steps 1-2, the default), inferred (steps 3-4) or both; the inferred steps run only when asked for"
  3. Changed3 schema fields changed
    • changedInput schema / properties / checklist / description
      Previous value: -"The checklist's name or title at the target (its award title), e.g. Nursing BSN; several fitting are listed, never guessed"New value: +"The checklist at the target by its program name or award title, e.g. Computer Science, A.S. (TTP); several fitting are listed, never guessed"
    • addedInput schema / properties / courseatlas_depth
      Added value: +{
      +  "description": "Optional: CourseAtlas's chain depth, 1 to 3 (default 2, the transfer map's own); carried in continue.arguments, send it back unchanged",
      +  "type": "integer"
      +}
    • addedInput schema / properties / depth
      Added value: +{
      +  "description": "Optional: the most published links an inferred path may take, 1 to 3 (default 2); carried in continue.arguments, send it back unchanged",
      +  "type": "integer"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / audience
      Added value: +{
      +  "description": "Optional: who the answer is for. student (the default): a course at the target school itself is met from the student's own transcript, or as entered, unless its grade is failing (F, U, NC) or withdrawn (W). institution: the target's own course counts only with explicit earned-credit or completion evidence. Carried in continue.arguments; send it back unchanged.",
      +  "enum": [
      +    "student",
      +    "institution"
      +  ],
      +  "type": "string"
      +}
  5. Changed2 schema fields changed
    • changedOutput schema / properties / continue / description
      Previous value: -"When more held items remain: compared_through, of, and the arguments for the next call (the next 5, with the progress carried)"New value: +"When more held items remain: compared_through, of, and the arguments for the next call (the next 5, with the progress carried); null when every held item is compared"
    • changedOutput schema / properties / continue / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
  6. Changed14 schema fields changed
    • changedInput schema / properties / held / description
      Previous value: -"0 to 20 things held, each as comparable_map takes one: a course { unitid, code }, an exam { program, exam, score }, { learning_unit_id } or { certification_ctid }. Compared 5 per call: an answer with more to compare carries `continue.arguments` to send back as they are"New value: +"0 to 20 things held, each as comparable_map takes one: a course { unitid or school, code }, an exam { program, exam, score }, { learning_unit_id } or { certification_ctid }. Compared 5 per call: an answer with more to compare carries `continue.arguments` to send back as they are"
    • addedInput schema / properties / kind
      Added value: +{
      +  "description": "Optional: known (steps 1-2), inferred (steps 3-4) or both (default)",
      +  "enum": [
      +    "known",
      +    "inferred",
      +    "both"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / sources
      Added value: +{
      +  "description": "Optional information-source selection: all (default), or a nonempty array of distinct numbers: 1 gathered published CourseShelf comparables, 2 school-published CourseAtlas equivalencies, 3 inferred CourseShelf comparability through anchors, 4 inferred CourseAtlas equivalency through anchors. Any combination is allowed. An explicit kind intersects this selection; an empty intersection is invalid. Unselected engines report not_requested. Required identity/reference reads may still be needed. Send continuation arguments unchanged.",
      +  "oneOf": [
      +    {
      +      "enum": [
      +        "all"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "items": {
      +        "enum": [
      +          1,
      +          2,
      +          3,
      +          4
      +        ],
      +        "type": "integer"
      +      },
      +      "maxItems": 4,
      +      "minItems": 1,
      +      "type": "array",
      +      "uniqueItems": true
      +    }
      +  ]
      +}
    • addedOutput schema / properties / compared
      Added value: +{
      +  "description": "Cumulative item summaries across pages: item, state, reason, lines_reached and incomplete. An incomplete read is not evidence that no mapping exists.",
      +  "items": {
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / comparison_scope
      Added value: +{
      +  "description": "This page's held_offset, compared_through and total of; comparisons are page-local while compared and line progress remain cumulative",
      +  "type": "object"
      +}
    • addedOutput schema / properties / comparisons
      Added value: +{
      +  "description": "Full combined answers for this page only: held identity and read_as, state/reason/statement, known mappings, exam tiers with held score placed, inferred landings with supplied paths and conditions, lands_as with applicability, checklist_lines and steps. Retain every page's comparisons; they are not carried into continuation",
      +  "items": {
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / complete / description
      Previous value: -"true when every held item is compared"New value: +"Pagination completion: every held item has been visited. Source reads may still be incomplete; inspect compared and the detailed comparison steps."
    • changedOutput schema / properties / counts / description
      Previous value: -"lines, met, reached_by_inference, may_be_met_by_prior_learning, open"New value: +"Line states: met only where shared applicability support establishes an unconditional known or earned receiver-owned landing; inferred, prior-learning and open remain separate. Conditional evidence is retained without a met claim; group allocation determines program progress."
    • addedOutput schema / properties / credits_basis
      Added value: +{
      +  "description": "Labels credits as sums of line states; these are not allocated program completion credits",
      +  "type": "string"
      +}
    • changedOutput schema / properties / does_not_count / description
      Previous value: -"Each held item that reaches no line: item, reason, statement"New value: +"Each held item that reaches no line: item, reason, statement. Timeout, unread source, unreadable minimum, inactive rule, unresolved target course and a completed search finding no rule are distinct. Landings remain in this page's comparisons even when applicability is unresolved"
    • changedOutput schema / properties / groups / description
      Previous value: -"Each group: its lines by state, and the choice rule it prints"New value: +"Actual group ID, published rule, non-additive status and separate confirmed/inferred_potential allocations, surplus, remaining item IDs/choices, credit lower bounds, nullable satisfaction and missing evidence"
    • changedOutput schema / properties / lines / description
      Previous value: -"Every line: its group, code, title, state and reached_by (each way: how, held item, lands_as, band, rule or path, rests_on, minimum_grade, also_needs)"New value: +"Every line: its actual line_group_id and heading, item identity, alternatives, printed credit fields, state and reached_by (each way: how, held item, actual receiving learning unit, lands_as, band, rule or path, rests_on, minimum_grade, also_needs). held_at_receiver is own-course applicability; unconfirmed earned evidence is not met"
    • addedOutput schema / properties / program_progress
      Added value: +{
      +  "description": "Published denominator and group-constrained allocations, confirmed progress separately from inferred potential. Each scenario retains allocations, remaining groups, missing inputs, lower bounds and nullable exact applied_credits, credits_remaining and percent_complete. Receiving-unit credits count once. Missing policy, conditions, credit totals or compatible units prevent exact claims. pagination_complete and source_incomplete state the scope of the evidence",
      +  "type": "object"
      +}
    • addedOutput schema / properties / source_reads_complete
      Added value: +{
      +  "description": "Whether selected source evidence completed, distinct from held-item pagination. A response-window limit, failed read or retained incomplete page prevents a complete-source claim; checklist_map includes prior-learning evidence in this scope.",
      +  "type": "boolean"
      +}
  7. Added

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnlyHint=true), and the description adds substantial behavior beyond them: inference is never counted as met, every unmatched held item carries a reason, results are paginated 5 at a time via continue.arguments, the inferred steps run only when asked for, and per-row provenance fields appear only for multi-form/multi-source records. The dense, allusive phrasing ("never an absence", "recognition is the school's act") reduces how reliably an agent absorbs these rules, keeping it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long, unparagraphed, and written in an allusive register ("Two equal sources, four steps run side by side", "Each landing is joined to the checklist's lines", "the Union keeps a record no current catalog prints") that obscures rather than front-loads the actionable contract. Output-shape details (source_url, version_count, first_edition_seen) occupy much of the text despite an output schema existing, crowding out selection guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter, nested-object tool with an output schema, the definition covers the range of line states, the reasons a held item can fail to count, continuation mechanics, and audience semantics, so an agent can call it correctly. The gap is not missing facts but missing routing guidance relative to the large set of sibling tools, plus prose that makes the coverage hard to extract.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, and the description adds little parameter meaning beyond the schema: `kind` narrowing is restated, and `carried`, `held_offset`, `depth`, `courseatlas_depth` are handled by the schema text. The one genuine addition is noting that `package` prior learning is read on the first call only, which is minor against 12 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: map one checklist at a target school, identified by program name/title or checklist_id, line by line against a person's held items. The four numbered comparison steps and the state vocabulary make it distinguishable from generic lookup siblings. It stops short of naming which sibling is the alternative (e.g. compare_program_checklists or will_my_credits_transfer), so it is clear but not sibling-differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the opening question ("How far along am I in a program...") and by the `kind`/`audience` explanations, which tell the agent how to narrow the run. There is no explicit when-to-use versus when-not, and no statement of how this differs from comparable_map, compare_program_checklists, or will_my_credits_transfer, which an agent would need to route correctly among so many siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.