Skip to main content
Glama

Worth Sheet: apartment building value at today's loan rates

Server Details

Apartment building value and loan-supported price at the live 10-year Treasury rate.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.7/5.0

Scored across 3 tools

Disambiguation4/5

Each tool has a distinct role: fetching market rates/loan limits, running a rate-ladder sensitivity sweep, and running the full valuation worksheet. rate_sensitivity and value_at_rate both compute a buyer-carryable price at a 10-year Treasury level, which is the one point of potential overlap, but the descriptions clarify that one is a scenario ladder and the other is the complete NOI-to-value workflow.

Naming Consistency3/5

All names are snake_case and readable, but the conventions are mixed: get_rates_and_loan_limits uses a verb_noun form, value_at_rate is a verb-plus-preposition phrase, and rate_sensitivity is a bare noun phrase. No single predictable pattern runs through the set.

Tool Count4/5

Three tools fit a narrow, focused worksheet purpose: market data, sensitivity, and full valuation. Each earns its place without redundancy, though the set is on the lean side and a fourth tool (e.g. a plain refi/loan-sizing helper) could round it out.

Completeness4/5

The surface covers the stated domain well: current rates and loan limits, a rate-sensitivity ladder, and a full NOI-to-value worksheet with per-unit value and refi sizing. Minor gaps remain, such as no amortization/payment detail or explicit expense-side DSCR stress, but agents can work around these with the existing tools.

Available Tools

3 tools
get_rates_and_loan_limitsToday's Treasury yields and agency loan limitsA
Read-onlyIdempotent
Inspect

The latest 5-, 7- and 10-year Treasury par yields and overnight SOFR the site has, each with its as-of date, the readings a week and a month earlier when the daily feed has them, and publisher link; plus the loan limits the worksheet uses (80% max LTV, 1.25x min DSCR from the Fannie Mae and Freddie Mac term sheets) and the spread note.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false. The description adds meaningful context beyond that: it discloses the as-of dates, the conditional availability of prior readings, the publisher link, and the specific loan-limit definitions from the term sheets.

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 description is front-loaded with the main data types and is dense but efficient. The single long sentence with a semicolon is slightly run-on, but every clause contributes useful detail about what is returned.

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?

There is no output schema, so the description carries the burden of explaining return contents. It does this thoroughly for a no-parameter read-only retrieval tool by listing the rates, dates, prior readings, publisher link, loan limits, and spread note, though 'spread note' remains somewhat undefined.

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?

This tool takes zero parameters, so there are no parameter semantics to explain. The baseline for a no-parameter tool is 4, and the description does not need to compensate for missing schema parameter descriptions.

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 the specific resources retrieved: 5-, 7-, and 10-year Treasury par yields, overnight SOFR, as-of dates, prior readings, publisher link, loan limits, and spread note. It is clear what the tool returns, but it does not explicitly differentiate itself from siblings like rate_sensitivity or value_at_rate.

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

Usage Guidelines2/5

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

The description implies retrieval of current rate and loan-limit data, but it gives no explicit guidance on when to use this tool versus the sibling tools rate_sensitivity and value_at_rate. There are no stated exclusions or alternative conditions.

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

rate_sensitivityHow loan rates move what a buyer can payA
Read-onlyIdempotent
Inspect

For an apartment building's net operating income, the price a financed buyer can carry and the income-limited loan size at a ladder of 10-year Treasury levels around today's (default -100 to +100 bp), at 80% LTV and 1.25x DSCR by default. Answers "what is my building worth to a buyer if rates drop half a point?".

NameRequiredDescriptionDefault
dscrNoMin debt service coverage, times. Default 1.25 (both agencies' term sheets).
ltv_pctNoMax loan-to-value, percent. Default 80 (Fannie Mae and Freddie Mac conventional term sheets).
shifts_bpNoMoves in the 10-year to test, in basis points. Default [-100,-50,-25,0,25,50,100].
tax_resetNoTrue if a sale resets the property tax bill to a share of the price; value is then solved with taxes at tax_rate_pct of price.
noi_annualYesNet operating income per year in US dollars, e.g. 300000.
spread_pctNoLender spread over the 10-year, percent. Default 1.75, the worksheet's placeholder (not a quote).
tax_rate_pctNoTax rate on the new value, percent of price (county millage as a percent). Default 1.5. Used only when tax_reset is true.
treasury_10yr_pctNo10-year Treasury yield to use, percent. Default: the latest daily par yield the site has (U.S. Treasury).
amortization_yearsNoAmortization in years. Default 30.
property_taxes_annualNoCurrent property taxes inside that NOI, US dollars. Needed only with tax_reset.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare this a read-only, idempotent, closed-world computation, so the safety profile is covered. The description adds real behavioral substance beyond that: the sizing is income-limited via DSCR as well as LTV, the ladder is centered on today's Treasury by default, and the default scenario set is -100 to +100 bp. It does not describe the shape of the returned ladder (units, length), which is the remaining gap given no output schema.

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?

Two sentences with no filler; the key defaults and the ladder range are front-loaded ahead of the example question. The first sentence is syntactically dense and slightly hard to parse on a first read, which costs a point.

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 ten-parameter pricing model with no output schema, the description conveys what is being solved (constrained price and loan size), the default scenario grid, and the default underwriting assumptions. What is missing is the return shape — whether the output is a table keyed by shift, and in what units — which matters for an agent that must interpret results.

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% and all ten parameters carry defaults and rationale (agency term sheets, placeholder spread, tax reset semantics), so the schema does the heavy lifting. The description only corroborates the 80% LTV, 1.25x DSCR and default shift range rather than adding new meaning. Baseline 3 is appropriate.

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 states a specific computation on a specific resource: it solves the price a financed buyer can carry and the income-limited loan size across a ladder of 10-year Treasury shifts for a given NOI. That is far more than a restatement of the name. It does not explicitly name the sibling it is not (value_at_rate, get_rates_and_loan_limits), so an agent must infer the difference from the 'ladder' framing.

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 conveyed only by the illustrative question ('what is my building worth to a buyer if rates drop half a point?') and the ladder framing. There is no explicit when-to-use or when-not-to-use statement, and the sibling value_at_rate is never mentioned even though the two are close enough to confuse an agent.

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

value_at_rateValue an apartment building at today's loan ratesA
Read-onlyIdempotent
Inspect

Runs the Worth Sheet valuation worksheet for a 5+ unit apartment building: from a rent roll and a year of expenses (or a known NOI) it returns NOI, expense ratio, value across your cap rate range, the price a financed buyer can carry at the latest 10-year Treasury plus a lender spread (80% LTV, 1.25x DSCR by default), per-unit value, and the refinance loan the income supports against your balance. An estimate from your numbers, not an appraisal.

NameRequiredDescriptionDefault
dscrNoMin debt service coverage, times. Default 1.25 (both agencies' term sheets).
unitsNoNumber of units, for per-unit value when you give noi_annual.
ltv_pctNoMax loan-to-value, percent. Default 80 (Fannie Mae and Freddie Mac conventional term sheets).
unit_mixNoRent roll by unit type, e.g. [{"units":12,"monthly_rent":1250},{"units":16,"monthly_rent":1500}]. Give this or noi_annual.
tax_resetNoTrue if a sale resets the property tax bill to a share of the price; value is then solved with taxes at tax_rate_pct of price.
noi_annualNoNet operating income per year in US dollars, if you already know it. Give this or unit_mix (not both).
spread_pctNoLender spread over the 10-year, percent. Default 1.75, the worksheet's placeholder (not a quote).
vacancy_pctNoVacancy and bad debt, percent of gross. Default 5.
loan_balanceNoYour current loan balance, US dollars, to compare against the refinance loan. Optional.
tax_rate_pctNoTax rate on the new value, percent of price (county millage as a percent). Default 1.5. Used only when tax_reset is true.
management_pctNoManagement, percent of collected income; charge it even if self-managed. Default 5.
payroll_annualNoPayroll per year, US dollars. Default 0.
cap_rate_low_pctYesLow end of the cap rate range brokers quote for similar buildings, percent, e.g. 5.5. No government source publishes cap rates.
insurance_annualNoInsurance per year, US dollars. Default 0.
utilities_annualNoOwner-paid utilities per year, US dollars. Default 0.
cap_rate_high_pctYesHigh end of the cap rate range, percent, e.g. 7.
reserves_per_unitNoReplacement reserves per unit per year, US dollars. Default 300.
treasury_10yr_pctNo10-year Treasury yield to use, percent. Default: the latest daily par yield the site has (U.S. Treasury).
admin_other_annualNoAdmin, legal and other expenses per year, US dollars. Put any lump-sum expense total (excluding property taxes) here. Default 0.
amortization_yearsNoAmortization in years. Default 30.
other_income_monthlyNoOther income per month (laundry, parking, fees), US dollars. Default 0.
property_taxes_annualNoProperty taxes per year, US dollars. Default 0. With noi_annual, needed only for tax_reset.
repairs_maintenance_annualNoRepairs, maintenance and turnover per year, US dollars. Default 0.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the result is an estimate from supplied numbers, not an appraisal, and notes the latest Treasury default, which is useful behavioral context without contradicting annotations.

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

Conciseness5/5

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

The purpose and outputs are front-loaded in a compact two-sentence description despite the tool's complexity. Every clause carries relevant information, and the appraisal caveat is appropriately placed at the end.

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 no output schema, the description does the important work of naming the returned metrics: NOI, expense ratio, value range, financed-buyer price, per-unit value, and refinance loan. It is complete enough for invocation, though output formatting is not specified.

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 itself documents all 23 parameters thoroughly. The description reinforces the main inputs and defaults but does not add much parameter-level detail beyond what the schema already provides.

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?

States a specific verb and resource: runs a named valuation worksheet for 5+ unit apartment buildings and lists the main outputs. It is clear what the tool does, but it does not explicitly differentiate itself from the sibling rate tools.

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?

Makes the usage context clear: rent roll plus a year of expenses, or a known NOI. It does not explicitly say when to choose this over get_rates_and_loan_limits or rate_sensitivity, but the input conditions are clear.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • First observedget_rates_and_loan_limits
    • First observedrate_sensitivity
    • First observedvalue_at_rate

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Multifamily real estate deal analysis — analyze deals, score properties, calculate max offer prices, and look up market data. Four tools for underwriting 2-200 unit apartment properties.
    4
    144 npm
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Live real estate market data for 895 US metros. Ask your AI assistant about home prices, rental yields, investment health scores, migration trends, and affordability. Free tier covers top 50 markets (no account needed). Premium tier unlocks all 895 markets, HUD Fair Market Rents, side-by-side market comparison, and filtered market search.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Submarket-level US residential rental intelligence for AI agents. Search, compare, rank, and analyze rent data, trends, vacancy, affordability, and days on market across 1,000+ named submarkets in the 20+ largest US metros. ZIP-level and metro-level queries included. Always current, always expanding. Free tier available.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Landlord and rental-property calculators as MCP tools: cash flow, cap rate, DSCR, Airbnb break-even occupancy, rent late fees, lease notice dates, and IRS mileage. Offline and deterministic, with no dependencies.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources