Skip to main content
Glama

Mortgage Offer Grader

grade_mortgage_offer
Read-onlyIdempotent

Is this mortgage offer good? Grades a written offer (rate, points, lender fees) A–D against the live Optimal Blue index of actual locked rates for the same product, term, credit score and LTV. Returns spread vs market in basis points, monthly and total cost vs market over the expected holding period, and a plain-language verdict with next step. Price: $0.50 USDC per call via x402 (Base or Solana).

Input Schema

NameRequiredDescriptionDefault
ltvNoLoan-to-value percent
rateYesOffered note rate in percent, e.g. 6.875
termNoLoan term in years (default 30)
pointsNoDiscount points as percent of loan; negative for lender credits (default 0)
loan_typeNoLoan program (default conventional)
lender_feesNoLender origination/underwriting fees in USD, excluding third-party costs (default 0)
loan_amountYesLoan amount in USD
credit_scoreNoBorrower FICO score
years_in_homeNoYears the borrower expects to keep the loan (default 7)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/non-destructive/openWorld, and the description adds genuinely new behavioral context: the data source is a live index of actually locked rates (so results move with market), the returned figures (spread in bps, monthly and total cost, plain-language verdict with next step), and the metered cost of $0.50 USDC per call via x402 on Base or Solana. It stops short of noting failure modes or index availability.

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

Conciseness4/5

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

The core sentence front-loads the question, the method and the returned outputs, and the payment terms are isolated on their own line. Slightly dense (one long sentence packing method, outputs and verdict) but nothing is wasted.

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

Completeness5/5

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

For a 9-parameter read-only analytic with a fully described schema and no output schema, the description covers input meaning, return contents, benchmark source and per-call cost. An agent has everything needed to decide and invoke correctly.

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 a baseline of 3 applies, but the description adds real meaning by explaining that product, term, credit score and LTV are matching keys against the index and that years_in_home defines the comparison horizon — information the per-field schema descriptions do not convey.

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

Purpose5/5

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

States a specific verb (grades) and a specific resource (a written mortgage offer with rate, points, lender fees) plus the A–D output and the benchmark it uses (live Optimal Blue locked-rate index). This clearly separates it from calc_refinance and the mortgage_pulse bundle reads.

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?

The framing question 'Is this mortgage offer good?' implies the use case (evaluating an offer a borrower already has in hand), but there is no explicit when-to-use versus calc_refinance or get_bundle_mortgage_pulse, and no stated prerequisites or exclusions.

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.