Skip to main content
Glama

EveryCalc

calculate_transfer_credit_planner

Read-onlyIdempotent

Credits remaining, terms remaining at the credits taken per term, years remaining at the terms per year, and credits per year. The graduation date label is not returned because the page derives it from the current date. Use when the user plans how transfer credits change their remaining time to degree. IMPORTANT: always show the calculator_url from the result as a clickable markdown link in your answer to the user, so they can open the interactive Transfer Credit Planner calculator.

Input Schema

NameRequiredDescriptionDefault
terms_per_yearNoTerms per year; default 2.
credits_per_termYesCredits taken per term.
required_creditsYesTotal credits required for the degree.
completed_creditsYesCredits already completed or transferred.

Output Schema

NameRequiredDescriptionDefault
okYesTrue when the calculation succeeded.
noteYesDisclaimer that accompanies every result.
toolYesName of the tool that ran.
inputsNoThe normalized inputs the calculation used.
resultsYesThe computed figures for this calculator.
calculator_urlYesDeep link to the matching interactive calculator on everycalc.xyz.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / note
      Added value: +{
      +  "description": "Disclaimer that accompanies every result.",
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "ok",
      -  "tool",
      -  "results",
      -  "calculator_url"
      -]New value: +[
      +  "ok",
      +  "tool",
      +  "results",
      +  "calculator_url",
      +  "note"
      +]
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "calculator_url": {
      +      "description": "Deep link to the matching interactive calculator on everycalc.xyz.",
      +      "type": "string"
      +    },
      +    "inputs": {
      +      "description": "The normalized inputs the calculation used.",
      +      "type": "object"
      +    },
      +    "ok": {
      +      "description": "True when the calculation succeeded.",
      +      "type": "boolean"
      +    },
      +    "results": {
      +      "description": "The computed figures for this calculator.",
      +      "type": "object"
      +    },
      +    "tool": {
      +      "description": "Name of the tool that ran.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "ok",
      +    "tool",
      +    "results",
      +    "calculator_url"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the read-only/idempotent/non-destructive profile, and the description adds real behavioral context beyond them: the graduation date label is deliberately not returned (derived client-side from the current date) and the calculator_url must be surfaced as a clickable markdown link. These are non-obvious operating instructions an agent would otherwise miss.

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

Conciseness3/5

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

The ordering is awkward: it front-loads a list of return values (which is redundant given the output schema) before stating the actual purpose, and the critical linking instruction is buried at the end after 'IMPORTANT'. It is not bloated, but it is not well front-loaded either.

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?

With an output schema present, the return-value list is somewhat redundant, but the description still supplies the usage trigger and the essential agent-facing instruction to render calculator_url as a link. For a straightforward calculator this is largely complete, with only the redundant return enumeration as minor waste.

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 schema already documents all four parameters (required_credits, completed_credits, credits_per_term, terms_per_year with default 2). The description adds no parameter meaning, so the baseline of 3 applies.

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

Purpose3/5

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

The description opens by listing outputs (credits remaining, terms remaining, years remaining, credits per year) rather than stating a clean verb+resource up front. The sentence 'Use when the user plans how transfer credits change their remaining time to degree' clarifies the purpose, but it arrives late and the core computation is implied rather than stated. It does not distinguish itself from the many other calculate_*_planner siblings.

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

Usage Guidelines4/5

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

It gives a concrete usage context: when the user plans how transfer credits change their remaining time to degree. There are no explicit when-not conditions or named alternatives, which keeps it at a 4 rather than a 5.

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.