Skip to main content
Glama

FreeRateUpdate Mortgage & Home Equity Shopping

get_lender_universe

Read-onlyIdempotent

Search FreeRateUpdate's published lender pages: every company the public page resolver publishes on freerateupdate.com/reviews/, and nothing else. A row shows only what that page shows: the display name, the company NMLS, the states the page shows (currently none: fru-com's licensing projection is off), and the page URL. No internal ids, aliases, crosswalks or status labels. Eligibility is decided before the limit: the limit never draws a company whose page is hidden, redirected away or rejected by the identity check back in. A returned match is evidence FRU holds the identity; absence from the list is not proof it does not. FRU never publishes which lender has the best rate. One row per company; a DBA brand page is the same company's row. count is the full deduplicated match count (one row per company), while rows return at most limit of them (25 by default, up to 200): a count above the rows returned means the response is truncated, so absence from one response is not absence.

Input Schema

NameRequiredDescriptionDefault
qNoName / DBA alias / bank-name substring (a matching key only; the row still shows only what the page shows)
limitNoDefault 25
stateNoOptional 2-letter state; matches the states the page shows (currently none, so this returns no rows until fru-com turns its licensing projection on)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • removedInput schema / properties / active
      Removed value: -{
      -  "description": "Optional filter on the active/not-active attribute only (never on verification): true = currently active in the network only; false = not currently active only. Omit to return both.",
      -  "type": "boolean"
      -}
    • changedInput schema / properties / q / description
      Previous value: -"Name / DBA alias / bank-name substring"New value: +"Name / DBA alias / bank-name substring (a matching key only; the row still shows only what the page shows)"
    • changedInput schema / properties / state / description
      Previous value: -"Optional 2-letter state"New value: +"Optional 2-letter state; matches the states the page shows (currently none, so this returns no rows until fru-com turns its licensing projection on)"
  2. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already cover the read-only/idempotent safety profile, but the description adds substantial behavior beyond them: rows are filtered for hidden/redirected/rejected pages before the limit applies, DBA pages dedupe to one company row, and matches are evidence of identity while absence is not disproof. The count-vs-limit truncation rule is disclosed explicitly.

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?

Front-loaded with the core scope sentence, and most sentences carry distinct semantics (filtering order, dedup, truncation). Minor redundancy: the "absence is not proof/absence is not absence" caveat is stated twice, costing some density for a 3-parameter read tool.

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?

There is no output schema, so the description correctly supplies return semantics: which fields appear per row, one row per company, count as the full deduplicated match count versus rows capped by limit. It also flags the current no-op behavior of the state filter, leaving no significant gap for correct invocation.

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 goes further: q is a "matching key only" whose row still shows only page fields, and state is effectively dead (returns no rows until fru-com's licensing projection is on). That is real semantic value beyond the schema text.

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?

Names a specific resource and scope: the companies published on freerateupdate.com/reviews/, "and nothing else." The verb (search/list a published universe) plus the explicit row contents make it distinct from get_lender_score or get_nmls_standing in kind, though no sibling is named directly.

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 scope statements ("eligibility is decided before the limit," "a count above the rows returned means truncation") rather than stated as when-to-use. There is no explicit routing to or away from siblings such as get_lender_score or get_nmls_standing.

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.

Resources