Skip to main content
Glama

Server Details

Rental property analysis your AI can call

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

TDQS

A3.9/5.0

Scored across 2 tools

Disambiguation4/5

The two tools have largely distinct purposes: analyze_rental computes investment metrics from user-supplied or estimated inputs, while deal_score is a read-only lookup of a proprietary listing score. They both concern property investment scoring, which creates mild thematic overlap, but the descriptions explicitly disambiguate when to use each (deal_score even points to analyze_rental for uncovered properties).

Naming Consistency4/5

Both names use snake_case, which is consistent. However, analyze_rental follows a verb_noun pattern while deal_score is noun_noun, a minor stylistic deviation rather than a real inconsistency.

Tool Count3/5

Two tools is thin even for a narrow rental-analysis domain, and there's no interactive or comparison workflow represented. The set is coherent but borderline under-scoped.

Completeness3/5

The pair covers estimation (analyze_rental) and score lookup (deal_score), which is a reasonable core surface. However, coverage is limited—deal_score only supports Cincinnati, and there is no way to compare properties, save analyses, or retrieve underlying market/comparable data.

Available Tools

2 tools
analyze_rentalAnalyze a rental propertyA
Read-only
Inspect

Analyze a US residential property as a rental investment. Give an address or the key facts (price, beds, baths, square feet, ZIP). Add any numbers the user knows, such as their expected rent, tax or insurance; they override our estimates. Returns an investment score, IRR over a 15-year hold, monthly cash flow, cap rate, cash-on-cash return and DSCR, with the source of every input shown. Estimates only, not an appraisal.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipNo5-digit US ZIP code. Needed when no address with a ZIP is given.
unitsNoNumber of units in the building, when known.
addressNoStreet address, ideally with city, state and ZIP.
bedroomsNoTotal bedrooms (all units together for a 2- or 3-family).
bathroomsNo
list_priceYesAsking or purchase price in US dollars.
hoa_monthlyNoMonthly HOA fee in dollars; 0 when omitted.
square_feetNo
monthly_rentNoThe user's expected total monthly rent; overrides our estimate.
interest_rateNoAnnual mortgage rate in percent (default: the current 30-year average we use).
property_typeNo
loan_term_yearsNoLoan term in years (default 30).
down_payment_pctNoDown payment as a percent of price (default 20).
insurance_annualNoAnnual insurance in dollars; overrides our estimate.
property_tax_annualNoAnnual property tax in dollars; overrides our estimate.

Output Schema

ParametersJSON Schema
NameRequiredDescription
irrNo
bandNo
dscrNo
scoreNo
messageNo
outcomeYes
summaryNo
cap_rateNo
irr_noteNo
disclaimerYes
method_urlYes
next_stepsNo
gross_yieldNo
inputs_usedNo
cash_on_cashNo
irr_hold_yearsNo
monthly_cash_flowNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), so the bar is lower. The description still adds real value: it discloses the override semantics for user inputs, that every input's source is shown, and the 'estimates only, not an appraisal' accuracy caveat.

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?

Four tight sentences, front-loaded with purpose, then inputs, override behavior, and the returned metrics plus disclaimer. No redundancy with the schema; every sentence carries a distinct point.

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?

With an output schema present, return values are already structured, yet the description still enumerates the key metrics. Combined with input modes, override behavior, and the estimates disclaimer, nothing an agent needs to call this correctly is missing.

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 80%, so baseline is 3. The description adds meaning beyond the schema by explaining the general override principle ('any numbers the user knows... override our estimates') and the address-or-facts input mode, which reframes the required/optional parameters usefully.

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?

Specific verb (analyze) plus a well-scoped resource (US residential property as a rental investment). An agent immediately knows the domain and output type. It does not, however, differentiate itself from the sibling deal_score, so it falls short of 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?

It tells the agent what to supply (an address or key facts, plus any known numbers) and that user-supplied values override estimates. But it gives no when-to-use/why-not guidance and never mentions the sibling deal_score, so usage vs. the alternative is left to inference.

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

deal_scoreLook up a Deal ScoreA
Read-only
Inspect

Look up NestCalc's independent Deal Score for a for-sale listing, or list the current top deals (WINs) in a covered city. Scores are published for every listing, including low ones, and are never changed for anyone. Covered today: Cincinnati. For any other property, use analyze_rental. Not an appraisal.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoA city, to list its current WINs.
limitNoHow many WINs to list for a city (default 10).
addressNoStreet address of a for-sale listing, with city or ZIP when known.
listing_idNoThe listing's public id (its slug), e.g. 2268-rice-st.

Output Schema

ParametersJSON Schema
NameRequiredDescription
irrNo
bandNo
cityNo
dscrNo
winsNo
statusNo
addressNo
messageNo
outcomeYes
spec_idNo
summaryNo
cap_rateNo
irr_noteNo
page_urlNo
ranked_ofNo
scored_atNo
deal_scoreNo
disclaimerYes
ledger_refNo
listing_idNo
method_urlYes
wins_totalNo
gross_yieldNo
inputs_usedNo
cash_on_cashNo
rank_in_cityNo
score_versionNo
irr_hold_yearsNo
monthly_cash_flowNo
current_list_priceNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description nevertheless adds meaningful non-structured context: scores are published for every listing including low ones and are never adjusted for anyone, which signals editorial independence and that low results are expected rather than errors. It stops short of describing return shape or latency, so not a 5.

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?

Three short sentences, no padding, and the core capability is front-loaded ahead of the coverage caveat and the disclaimer. Every clause carries information the agent needs.

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, return values need no explanation, and the description supplies coverage scope, the sibling routing rule, and a disclaimer. The remaining gap is that all four parameters are optional yet the description never says which mode is default when no argument is supplied.

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 every parameter (city, limit, address, listing_id) is already documented in the schema, making 3 the baseline. The description hints at two distinct modes (single-listing lookup vs. city WIN listing) but never states that address/listing_id and city/limit are mutually exclusive alternatives, which is the one semantic detail the schema cannot 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 and resource ('Look up NestCalc's independent Deal Score') plus a second action mode ('list the current top deals (WINs)'), and explicitly names the sibling analyze_rental as the alternative. An agent can distinguish deal_score from analyze_rental without opening either schema.

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

Usage Guidelines5/5

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

Gives an explicit coverage constraint ('Covered today: Cincinnati'), a clear when-not rule ('For any other property, use analyze_rental'), and a scope exclusion ('Not an appraisal'). The routing decision to the sibling is fully specified rather than left to inference.

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. 2 tool updates
    • First observedanalyze_rental
    • First observeddeal_score

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to analyze rental property deals using DoorVault IDEAL Scoring v2.0, including Section 8 FMR lookup, tax deduction checklists, and rental metrics calculations.
    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
    Enables AI assistants to operate property management systems via natural language, covering repair orders, owner info, payments, notices, and inspections. Features a full agentic workflow with human-in-the-loop and observability.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources