Skip to main content
Glama

Will My Credits Transfer

will_my_credits_transfer
Read-only

Will my prior credits apply as credit at my target school? For each thing a person holds (an exam and its score, in any exam programme this build holds, or a course taken at a school) the combined check at the target. 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. The state comes from steps 1 and 2 alone, in three states: covered (a known mapping carries it to a course at the target), missing (the target holds score tiers for the exam and the score meets none), unknown (no known mapping held; never a guess); the inferred landings are shown beside it, never counted as covered. An exam lays out every score tier the target holds - its minimum and the courses it earns - with the held score placed and the highest tier met marked. Each covered item names the course it lands as, every rule with its kind (comparable, known equivalent), minimum score and dates, how many rules agree, and the target's programs whose checklists require that course; every step is said with its outcome and ms. An exam is identified by its learning unit under its board (its programme and code), whatever its wording: a matched exam names its exam_unit, and an exam that fits none, or more than one, comes back unknown with candidates to choose from, never a guess. Held items are compared 5 per call: an answer with more to compare carries continue.arguments to send back as they are. A case to argue, 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": {
      "held": "<held>",
      "target_unitid": "<target_unitid>"
    },
    "name": "will_my_credits_transfer"
  }
}

Input Schema

NameRequiredDescriptionDefault
heldYes1 to 20 things held: an exam { program: any exam programme this build holds (e.g. AP, CLEP, IB), exam: its code or title, score }, or a course { unitid or school, code as printed }. Retain transcript title, grade, credits, term and evidence identity. Receiver-owned coursework has distinct origin held_at_receiver; explicit earned-credit or completed evidence is needed to count it as earned completion. Grade alone does not define a passing policy
kindNoOptional: known (steps 1-2), inferred (steps 3-4) or both (default)
depthNoOptional: CourseShelf's inferred walk, links deep (default 2, at most 3)
carriedNoSet by `continue.arguments`: the progress so far (counts, what was compared), sent back unchanged
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.
all_pathsNoOptional: list every unsupported CourseAtlas inferred path in full; by default the step says the count, the count per reason and up to 10 samples
held_offsetNoSet by `continue.arguments`: the held item to start this call's 5 from
checklist_idNoOptional: the target program's checklist id; the answer then names the lines each covered item addresses
target_unitidYesThe target school's IPEDS UNITID, e.g. 216038
courseatlas_depthNoOptional: CourseAtlas's inferred chain, links deep (1 to 3; default 2)

Output Schema

NameRequiredDescriptionDefault
itemsNoThis call's page, one per held item - the combined result: held, read_as, kind, state (covered|missing|unknown), reason, lands_as (course, learning_unit_id, rules, corroboration, band, satisfies), tiers (an exam's score tiers at the target, the held score placed), known (each row: comparable or known equivalent), inferred (each row: inferred comparable or inferred equivalent, never counted), statement, steps
countsNocovered, missing, unknown, unknown_with_inferred - every item compared so far
limitsNoWhat this answer could not do, each { code, statement }
targetNo
comparedNoEvery item compared so far: held, state, reason
completeNotrue when every held item is compared
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
statementYes
understoodNo
next_actionsNo
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. Changed3 schema fields changed
    • addedInput schema / properties / all_paths
      Added value: +{
      +  "description": "Optional: list every unsupported CourseAtlas inferred path in full; by default the step says the count, the count per reason and up to 10 samples",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / courseatlas_depth
      Added value: +{
      +  "description": "Optional: CourseAtlas's inferred chain, links deep (1 to 3; default 2)",
      +  "type": "integer"
      +}
    • addedInput schema / properties / depth
      Added value: +{
      +  "description": "Optional: CourseShelf's inferred walk, links deep (default 2, at most 3)",
      +  "type": "integer"
      +}
  2. 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"
      +}
  3. 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"
      +]
  4. Changed11 schema fields changed
    • addedInput schema / properties / carried
      Added value: +{
      +  "description": "Set by `continue.arguments`: the progress so far (counts, what was compared), sent back unchanged",
      +  "type": "object"
      +}
    • changedInput schema / properties / held / description
      Previous value: -"1 to 20 things held: an exam { program: any exam programme this build holds (e.g. AP, CLEP, IB), exam: its code (e.g. AP 3700) or title (e.g. United States History), score }, or a course { unitid or school, code as printed (e.g. HIS 110) }"New value: +"1 to 20 things held: an exam { program: any exam programme this build holds (e.g. AP, CLEP, IB), exam: its code or title, score }, or a course { unitid or school, code as printed }. Retain transcript title, grade, credits, term and evidence identity. Receiver-owned coursework has distinct origin held_at_receiver; explicit earned-credit or completed evidence is needed to count it as earned completion. Grade alone does not define a passing policy"
    • addedInput schema / properties / held_offset
      Added value: +{
      +  "description": "Set by `continue.arguments`: the held item to start this call's 5 from",
      +  "type": "integer"
      +}
    • 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": "Every item compared so far: held, state, reason",
      +  "items": {
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / complete
      Added value: +{
      +  "description": "true when every held item is compared",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / continue
      Added value: +{
      +  "description": "When more held items remain: compared_through, of, and the arguments for the next call (the next 5, with the progress carried)",
      +  "type": "object"
      +}
    • changedOutput schema / properties / counts / description
      Previous value: -"covered, missing, unknown"New value: +"covered, missing, unknown, unknown_with_inferred - every item compared so far"
    • changedOutput schema / properties / items / description
      Previous value: -"One per held item: held, read_as, state (covered|missing|unknown), reason, lands_as (course, learning_unit_id, rules, corroboration, band, satisfies), statement"New value: +"This call's page, one per held item - the combined result: held, read_as, kind, state (covered|missing|unknown), reason, lands_as (course, learning_unit_id, rules, corroboration, band, satisfies), tiers (an exam's score tiers at the target, the held score placed), known (each row: comparable or known equivalent), inferred (each row: inferred comparable or inferred equivalent, never counted), statement, steps"
    • 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"
      +}
  5. Changed1 schema field changed
    • changedInput schema / properties / held / description
      Previous value: -"1 to 20 things held: an exam { program: AP|CLEP|IB, exam: its code (e.g. AP 3700) or title (e.g. United States History), score }, or a course { unitid or school, code as printed (e.g. HIS 110) }"New value: +"1 to 20 things held: an exam { program: any exam programme this build holds (e.g. AP, CLEP, IB), exam: its code (e.g. AP 3700) or title (e.g. United States History), score }, or a course { unitid or school, code as printed (e.g. HIS 110) }"
  6. Added

TDQS

A3.8/5.0
Behavior5/5

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

Beyond readOnlyHint, the description discloses the four-step pipeline, the three-state outcome model (covered/missing/unknown, 'never a guess'), that inferred landings are shown but never counted as covered, per-step timing, 5-item batching with continue.arguments passthrough, depth limits, and how ambiguous exams return candidates. This is unusually rich behavioral context for a read-only tool.

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?

Purpose is front-loaded, but the description then runs to several hundred words of dense, comma-chained prose with embedded jargon ('crossing kinds', 'hop 2, its own chain'). Substantial content about form/version/source fields and 'the one-record get' concerns return-shape detail that the output schema already covers, and the layout buries the operationally critical continuation rule mid-paragraph.

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 an 11-parameter, nested, multi-source tool, the description covers edge cases (ambiguous exams, older editions, single-form records), pagination, and state semantics thoroughly. With an output schema present, the extra return-value explanation is redundant rather than missing, so completeness is strong but the balance is off.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds real meaning: the kind-to-steps mapping (known=1+2, inferred=3+4), the meaning of depth as 'links deep', the instruction to send carried/held_offset/audience back unchanged, and the exam-identification/candidate rule for held items. Some of this duplicates the schema text, so not a 5.

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 opening question plus the four-step enumeration makes clear this answers 'do my held exams/courses convert to credit at a target school', with a specific resource (held items vs. target_unitid) and mechanism. It is distinguishable from siblings like comparability_for_learning_unit or compare_destinations by being a multi-source, person-centric check. It does not name any sibling explicitly, which keeps it below a 5.

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 mechanics (kind narrows which of the four steps run, sources selects engines, audience changes the evidence bar), but there is no explicit 'use this when / use X instead' statement against the many adjacent tools. An agent must infer that this is the composite end-user check rather than the low-level comparability lookups.

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.