Skip to main content
Glama

AVnester — Indian Real Estate Intelligence

Server Details

Indian real estate: property search, locality insights, affordability & pan-India stamp-duty tools.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.6/5 across 11 of 11 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct resource and action: search, details, comparisons (localities vs. listings), and specific financial calculations (EMI, stamp duty, tax, prepayment, balance transfer, decision intelligence). Descriptions clearly differentiate between similar-sounding tools like calculate_home_affordability and get_property_decision_intelligence.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., compare_properties, get_locality_insights, simulate_loan_prepayment). The verbs are descriptive and uniform in style, with no mixed conventions or vague names.

Tool Count5/5

11 tools is well-scoped for a real estate intelligence server, covering property search, locality analytics, and financial calculators. Each tool has a clear purpose and the set feels neither sparse nor bloated.

Completeness5/5

The tool surface covers the full home-buying journey in India: searching properties, getting details, comparing localities/listings, estimating stamp duty and loan payments, optimizing tax regime, simulating prepayment, and assessing overall affordability with decision intelligence. No obvious gaps or dead ends.

Available Tools

11 tools
calculate_home_affordabilityEstimate home-loan EMI (calculator)A
Read-onlyIdempotent
Inspect

Estimate the monthly home-loan EMI / monthly payment in India — a home-loan calculator. Deterministic math; not advice or a loan-approval claim. Two modes: pass propertyValue (80% LTV assumed) OR loanAmount for a specific loan (e.g. "₹50 lakh loan"). Use for "what would my EMI be" / "monthly payment on …". The response assumptionNote states the basis in plain words. Always surface the disclaimer field.

ParametersJSON Schema
NameRequiredDescriptionDefault
loanAmountNoLoan amount in INR. Pass this when the user states a specific loan (e.g. "₹50 lakh loan") rather than a property price. Defaults to 80% of propertyValue if omitted.
tenureYearsNoLoan tenure in years. Defaults to 20.
propertyValueYesProperty value (price) in INR. When the user states a property/home price, put it here — an 80% loan is assumed unless loanAmount is also given.
interestRatePercentNoAnnual interest rate (percent). Defaults to current market estimate.

Output Schema

ParametersJSON Schema
NameRequiredDescription
emiYes
cardsYes
disclaimerYes
loanAmountYes
assumptionsYes
attributionYes
tenureYearsYes
totalPaymentYes
totalInterestYes
assumptionNoteYes
inputPropertyValueYes
interestRatePercentYes
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and not destructive. The description adds value by clarifying it is 'deterministic math; not advice or a loan-approval claim' and mentions the response includes assumptionNote and disclaimer, which goes beyond what annotations provide.

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 description is concise with 5 sentences, each serving a purpose (purpose, nature, usage modes, output hint). It is front-loaded with the main action and free of unnecessary words.

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?

Given the tool's complexity (4 parameters, output schema present), the description covers the two modes, mentions response fields (assumptionNote, disclaimer), and specifies geographic context (India). It is complete for an agent to correctly invoke this tool.

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 baseline is 3. The description reiterates the mode distinction (propertyValue vs loanAmount) but adds no substantial new meaning beyond what the schema already explains about each parameter.

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?

The description clearly states it estimates monthly home-loan EMI for India, using specific verbs like 'estimate' and defining resource as 'home-loan calculator'. It distinguishes from sibling tools by specifying it's for EMI calculation, not comparisons or other fees.

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?

The description explicitly states when to use it ('what would my EMI be' / 'monthly payment on …') and explains the two modes (propertyValue or loanAmount). While it doesn't list when not to use or directly compare to siblings, the context is clear given the sibling names.

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

compare_balance_transferCompare home-loan balance transfer (calculator)A
Read-onlyIdempotent
Inspect

Compare staying on your current home loan vs. transferring (refinancing) to a lower rate. Pure deterministic math — no advice, no loan-approval claim. Use when the user asks "should I switch lenders / transfer my loan / refinance". Returns new EMI, interest saved over the remaining tenure, switching cost, net saving, and the breakeven month. Always surface the disclaimer field.

ParametersJSON Schema
NameRequiredDescriptionDefault
flatCostsNoFlat legal + valuation charges in INR. Defaults to ₹12,500.
newRatePercentYesNew lender annual interest rate (percent).
processingFeePctNoNew-lender processing fee on the balance (percent). Defaults to 0.5%.
currentRatePercentYesCurrent annual interest rate (percent).
outstandingPrincipalYesCurrent outstanding home-loan principal in INR.
remainingTenureYearsYesYears left on the loan.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cardsYes
newEmiYes
worthItYes
netSavingYes
currentEmiYes
disclaimerYes
assumptionsYes
attributionYes
switchingCostYes
newRatePercentYes
breakevenMonthsYes
monthlyEmiSavingYes
newTotalInterestYes
currentRatePercentYes
grossInterestSavedYes
currentTotalInterestYes
outstandingPrincipalYes
remainingTenureYearsYes
Behavior5/5

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

Adds significant behavioral context beyond annotations: 'Pure deterministic math — no advice, no loan-approval claim' and 'Always surface the disclaimer field.' Annotations already indicate readOnly/idempotent/non-destructive; description enriches with operational constraints.

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 sentences, front-loaded with purpose, no unnecessary words. Each sentence earns its place: purpose, usage guidance, and output summary with disclaimer note.

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?

Despite 6 parameters and required outputs, the description covers all key aspects: what it compares, when to use, what it returns (including disclaimer). Output schema exists so return values are further detailed; description provides sufficient high-level completeness.

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 coverage is 100%, so each parameter is described in the schema. Description does not add further parameter details but summarizes outputs. Baseline score of 3 applies as description adds no extra parameter meaning.

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?

Description clearly states it compares staying vs. transferring a home loan, lists what it returns, and explicitly says when to use it (user asks about switching/refinancing). Distinguishes from siblings like simulate_loan_prepayment.

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?

Provides explicit usage context: 'Use when the user asks...' and clarifies it is pure math with no advice/approval. Lacks explicit when-not-to-use or alternative tools, but context is sufficient.

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

compare_localitiesCompare Indian localities head-to-headA
Read-onlyIdempotent
Inspect

Compare 2–3 Coimbatore or Chennai localities side-by-side: price trends, livability, investment grade, strengths, and watchouts. Use when the user asks "X vs Y" or "which is better between X and Y for buying/renting" about neighborhoods in these cities. Out-of-scope cities return supported=false; surface the scopeMessage to the user. For comparing specific LISTINGS by ID, use compare_properties instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesIndian city covering all compared localities.
localitiesYes2–3 localities to compare (array, not comma-separated string).
propertyTypeNoProperty type for comparison.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cityYes
cardsYes
supportedYes
comparisonYes
disclaimerYes
handoffUrlYes
localitiesYes
attributionYes
scopeMessageNo
supportedCitiesNo
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds value by disclosing scope restrictions (only Coimbatore/Chennai), the supported=false response for out-of-scope cities, and the need to surface scopeMessage. This goes beyond what annotations provide, though it doesn't detail the full output structure (covered by 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.

Conciseness5/5

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

The description is three sentences, each earning its place: purpose, usage trigger, and scope/alternative handling. It is front-loaded and free of fluff, providing maximum information in a compact format.

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?

The description is complete for a comparison tool with rich schema and output schema. It covers the supported cities, the scope behavior, and the key alternative tool. Nothing essential is missing given the structured fields already provide parameter details and output schema.

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%, with each parameter already described in detail. The description adds minimal parameter-specific insight beyond mentioning '2–3 localities' which is already encoded in the schema's minItems/maxItems. It does not introduce new meaning for city or propertyType, so baseline 3 is appropriate.

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?

The description clearly states the tool compares 2–3 localities side-by-side with specific aspects (price trends, livability, investment grade, etc.) and names the cities (Coimbatore/Chennai). It explicitly distinguishes itself from compare_properties, making its purpose unambiguous and distinct from siblings.

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?

The description provides explicit when-to-use guidance ('X vs Y' or 'which is better' for buying/renting) and an alternative (use compare_properties for listing comparisons). It also defines behavior for out-of-scope cities (return supported=false and surface scopeMessage), giving clear conditions for use.

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

compare_propertiesCompare AVnester properties (trade-offs)A
Read-onlyIdempotent
Inspect

Compare 2–5 AVnester listings by listingId, side-by-side. Get IDs from search_properties first (not guessable). If the user has more than 5 candidates ("compare all"), pick the most relevant 5 (cheapest / largest / best price-per-sqft) and say so. Returns each listing plus pricePerSqft, vsCheapestPercent (0 = cheapest), vsLargestAreaPercent (0 = largest). Covers Coimbatore and Chennai; unknown IDs return not_found_or_unpublished. Does NOT recommend a purchase. Always surface the disclaimer.

ParametersJSON Schema
NameRequiredDescriptionDefault
listingIdsYes2–5 AVnester listingIds (from search_properties results) to compare. IDs are not guessable — call search_properties first. Order is preserved in the output.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cardsYes
framingYes
messageNo
comparisonYes
disclaimerYes
attributionYes
Behavior5/5

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

Beyond the annotations (readOnly, openWorld, idempotent, non-destructive), the description adds important behavioral context: unknown IDs return 'not_found_or_unpublished', geographic coverage (Coimbatore and Chennai), output semantics (pricePerSqft, vsCheapestPercent, vsLargestAreaPercent), and a user-facing requirement ('Always surface the disclaimer'). This significantly enriches the agent's understanding of the tool's behavior.

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 description is compact yet information-dense, with each sentence adding value: purpose, prerequisite, edge-case handling, output fields, scope, and limitations. It is front-loaded with the core function and avoids redundancy, making it easy to process.

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?

The description covers key contextual aspects: prerequisites, error behavior, geographic scope, output semantics, selection strategy for many candidates, and a disclaimer requirement. Given that an output schema exists, the description need not repeat return types, but it still adds meaningful context like 'not_found_or_unpublished' and the meaning of comparative percentages, making it highly complete.

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?

The schema fully describes the only parameter (listingIds), including its purpose, constraints, and source (from search_properties). The description adds little beyond restating that IDs are not guessable and listing the count range, which the schema already covers. With 100% schema coverage, a score of 3 is appropriate—the description doesn't introduce new parameter semantics.

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?

The description clearly states the tool's function: 'Compare 2–5 AVnester listings by listingId, side-by-side.' It specifies the verb (compare), resource (AVnester listings), and method (by listingId, side-by-side), distinguishing it from siblings like search_properties (which returns listings) and compare_localities (which compares localities).

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?

The description provides explicit guidance: 'Get IDs from search_properties first (not guessable)' establishes a prerequisite and alternative. It also addresses when not to use the tool ('Does NOT recommend a purchase') and how to handle over 5 candidates ('pick the most relevant 5... and say so'). This clearly instructs when and how to invoke the tool, including exclusions.

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

estimate_stamp_duty_and_registrationEstimate stamp duty + registration (calculator)A
Read-onlyIdempotent
Inspect

Estimate Indian state stamp duty + registration charges on a property purchase. Supports all 28 states + 8 UTs with buyer-gender concessions, urban/rural overrides, and commercial/agricultural multipliers. Pass constructionStatus to also itemize GST (under-construction 1%/5%, ready/resale 0%) for an all-in statutory quote. Returns supported=false for states outside India (supported set named in rateBasis). Not legal/tax advice. Always surface the disclaimer.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoIndian state — accepts ISO code ("MH"), URL slug ("maharashtra"), or display name ("Maharashtra"). All 28 states + 8 UTs supported.Tamil Nadu
isUrbanNoWhether property is in an urban/metro area — gates metro-cess surcharges (e.g., Mumbai LBT, BBMP cess).
buyerGenderNoBuyer gender — overrides isWomanBuyer when set. "joint" = man+woman jointly owned.
isWomanBuyerNoBackward-compatibility shim — prefer buyerGender. When true, internally treated as buyerGender="female".
propertyTypeNoProperty type — applies state-specific multiplier (commercial/agricultural).
propertyValueYesSale value in INR for stamp-duty calculation.
carpetAreaSqftNoCarpet area (sqft) — with value, decides the affordable-housing 1% GST slab.
constructionStatusNoWhen set, also itemizes GST: under-construction = 1% (affordable) / 5%; ready/resale = 0%. Omit → GST not computed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
gstNo
cardsYes
stateYes
totalYes
rateBasisYes
stampDutyYes
supportedYes
disclaimerYes
attributionYes
totalWithGstNo
propertyValueYes
registrationFeeYes
rateEffectiveDateYes
Behavior5/5

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

Annotations already indicate readOnly, idempotent, openWorld, and non-destructive. Description adds behavioral details: handling of states outside India (supported=false), GST itemization based on constructionStatus, and buyer-gender concessions. No contradiction with 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?

Four sentences, no wasted words. Front-loaded with purpose, then key features, special case, and disclaimer. Each sentence contributes meaning.

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?

Given 8 parameters, 100% schema coverage, and existence of output schema, the description covers main functionality, edge cases (supported=false for non-India), and offers a customer-facing disclaimer. Could mention rateBasis set but is implied. Complete enough.

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. Description adds value by explaining the effect of parameters (e.g., 'urban/rural overrides', 'commercial/agricultural multipliers') and provides a usage hint for constructionStatus to get GST. This goes beyond schema descriptions.

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?

The description clearly states it estimates Indian state stamp duty and registration charges, using specific verb 'Estimate' and resource 'stamp duty + registration'. It distinguishes from siblings like calculate_home_affordability or compare_properties by focusing on statutory charges.

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?

Description provides context for usage (property purchase in India) and includes a disclaimer ('Always surface the disclaimer'), but does not explicitly state when not to use this tool or compare with alternatives among siblings.

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

get_locality_insightsGet locality market insightsA
Read-onlyIdempotent
Inspect

Get aggregated insights for a Coimbatore or Chennai locality: avg price, supply count, demand pulse, livability/investment grade, highlights, watchouts, 12-month priceTrends, and strengthTags. Use when the user asks "what is X locality like" about a neighborhood in either city. Out-of-scope cities return supported=false; surface the scopeMessage to the user. Always surface the disclaimer field when returning livability or investment grade.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesIndian city (required).
localityYesLocality name within an Indian city.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cityYes
cardsYes
messageNo
insightsYes
localityYes
freshnessYes
supportedYes
disclaimerYes
handoffUrlYes
attributionYes
scopeMessageNo
supportedCitiesNo
Behavior5/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds meaningful behavioral context: out-of-scope cities return supported=false, the need to surface scopeMessage, and the requirement to always surface the disclaimer field when returning livability/investment grade. This goes beyond the annotations and helps the agent handle edge cases.

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 description is concise, front-loaded with purpose, then usage trigger, then edge-case handling, then a mandatory caveat. Every sentence earns its place; no redundant wording or fluff.

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?

Given the presence of an output schema and rich annotations, the description covers all necessary context: what the tool returns, when to invoke it, how to handle unsupported cities, and an important user-facing requirement (disclaimer). It is complete for an AI agent to select and invoke the tool 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% with both parameters having descriptions, so baseline is 3. The description adds semantic value by specifying that city must be Coimbatore or Chennai (not just any Indian city) and that locality is a neighborhood within those cities. This clarifies the expected values beyond the generic schema descriptions.

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?

The description uses a specific verb ('Get') and resource ('aggregated insights for a locality'), and enumerates the exact output components (avg price, supply count, demand pulse, livability/investment grade, etc.). It clearly scopes to Coimbatore or Chennai localities, distinguishing it from sibling tools like compare_localities or search_properties by its focus on single-locality insights.

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?

Explicitly states when to use: 'Use when the user asks "what is X locality like" about a neighborhood in either city.' It also provides handling for out-of-scope cities (supported=false, surface scopeMessage). However, it does not explicitly contrast with sibling tools or state when not to use it, though the trigger phrasing implicitly differentiates it.

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

get_property_decision_intelligenceHome purchase decision intelligenceA
Read-onlyIdempotent
Inspect

Assess whether a buyer can afford a specific Indian home — ONE verdict (AFFORDABLE / STRETCH / NOT_YET / INELIGIBLE) combining indicative eligibility (FOIR/LTV/CIBIL), EMI, true cash-to-close (down payment + stamp duty + registration + itemized GST), regime-aware tax, and an indicative lender-fit triage. Mode A: listingId (Coimbatore/Chennai catalog). Mode B: propertyValue + state (any Indian state). NOT a loan approval, offer, or advice. Always surface the disclaimer.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoIndian state (ISO "MH"/slug/name) for stamp duty. Required in manual mode; ignored in listing mode.
isUrbanNoUrban/metro — gates metro-cess surcharges in stamp duty.
assetTypeNo"home" (flat/villa/house) or "plot" (bare land); manual mode only. Plot → shorter tenure, no home-loan tax benefit.
jointLoanNoJoint home loan — doubles 80C/24b caps (equal split).
listingIdNoAVnester listingId (Coimbatore/Chennai catalog). Listing mode — do NOT also pass propertyValue (rejected) or state (ignored).
annualRentNoAnnual rent received (let-out).
cibilScoreNoNumeric CIBIL score. Omit → eligibility stays indicative.
buyerGenderNoBuyer gender — affects stamp duty in states with a women concession.
tenureYearsNoLoan tenure in years. Defaults to 20.
propertyValueNoProperty price in INR (manual mode). Pass with state; not with listingId.
carpetAreaSqftNoCarpet area (sqft) — sharpens the affordable-housing GST test (with the ₹45L value cap).
employmentTypeNoEmployment type (affects tax standard deduction).
occupancyIntentNoSelf-occupied vs let-out — changes §24(b) interest treatment. Omitted → self-occupied.
residencyStatusNoResidency status.
monthlyNetIncomeYesBuyer monthly take-home income in INR.
savingsAvailableNoLiquid cash for down payment + charges — enables the cash-gap calc.
annualIncomeForTaxNoAnnual income for tax. Defaults to monthlyNetIncome × 12.
existingMonthlyEmisNoExisting monthly loan EMIs in ₹ (car/personal/cards). Omitted → assumed ₹0, which can inflate eligibility and flip the verdict — ask the buyer.
interestRatePercentNoOverride annual interest rate. Defaults to indicative market rate.
isUnderConstructionNoUnder-construction → GST applies; ready-to-move → no GST. Omitted → ready-to-move (no GST).
coApplicantMonthlyIncomeNoCo-applicant monthly income (joint affordability).

Output Schema

ParametersJSON Schema
NameRequiredDescription
emiNo
taxNo
modeNo
cardsYes
trustNo
verdictNo
notFoundNo
warningsNo
assetTypeNo
lenderFitNo
disclaimerYes
assumptionsNo
attributionYes
eligibilityNo
affordabilityNo
stampDutySupportedNo
Behavior4/5

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

Given annotations already declare readOnly/openWorld/idempotent, the description adds substantial behavioral context: it produces a single verdict that is 'indicative', combines multiple financial components, and explicitly disclaims loan approval status. It also discloses the need to surface a disclaimer, which is not in the annotations.

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 dense but compact, using a long first sentence to enumerate key computations, then clear mode separation and disclaimers. No filler words; every clause adds information. Slightly long but appropriate for the tool's complexity.

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, the description does not need to explain return values. It covers purpose, modes, disclaimers, indicative nature, and key computation components, which is comprehensive for a 21-parameter tool. The schema already handles individual parameter details, so the description fills the conceptual gaps (modes, exclusions) effectively.

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?

The input schema covers 100% of parameters, so baseline is 3. The description adds value by framing how parameters are grouped into Mode A (listingId) vs Mode B (propertyValue + state), and by explaining that cash-to-close includes itemized GST and stamp duty components, which helps the agent understand which parameters matter in each mode.

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?

The description starts with a specific verb ('Assess whether a buyer can afford') and clearly defines the output as ONE verdict with enumerated possible values. It distinguishes this tool by combining eligibility, EMI, cash-to-close, tax, and lender-fit triage, differentiating it from simpler sibling tools like calculate_home_affordability.

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 explicitly defines two mutually exclusive modes (listingId vs propertyValue+state) and provides clear constraints (e.g., 'any Indian state', 'Coimbatore/Chennai catalog'). It also states exclusions ('NOT a loan approval') and a required action ('Always surface the disclaimer'), giving usable when-to-use guidance without naming sibling alternatives.

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

get_property_detailsGet one AVnester property by IDA
Read-onlyIdempotent
Inspect

Fetch full public details for one AVnester listing by its listingId. Get the listingId from search_properties results first (the listingId field) — IDs are not guessable, so this tool is the natural follow-up to a search. AVnester's catalog covers Coimbatore and Chennai; unknown or unpublished IDs return { listing: null, notFound: true } (never throws, to avoid leaking existence). Use when the user references a specific listing. Read-only, no side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
listingIdYesAVnester listingId, as returned in search_properties results (the `listingId` field). IDs are not guessable — call search_properties first. Also the trailing segment of a listing sourceUrl.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cardsYes
trustNo
listingYes
messageNo
notFoundYes
disclaimerYes
handoffUrlNo
attributionYes
Behavior5/5

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

Beyond the annotations (readOnlyHint, idempotentHint), the description discloses important runtime behavior: unknown/unpublished IDs return { listing: null, notFound: true } without throwing, purposely to avoid leaking existence. It also notes catalog coverage and that IDs are not guessable, which adds significant context beyond the structured 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 description is compact (three sentences) and front-loaded with the core purpose. Every sentence adds value: the first states the main function, the second gives prerequisite and sequence, the third explains edge-case behavior and scope. No wasted words.

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?

Given the tool's simplicity (one parameter), the rich schema and annotations, and the presence of an output schema, the description is complete. It covers prerequisites, manual fallback (sourceUrl), geographic scope, and not-found behavior. Nothing important is missing.

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?

The input schema already provides comprehensive parameter semantics with 100% coverage: it explains listingId is from search_properties, not guessable, and the trailing segment of sourceUrl. The description repeats this guidance but adds no new parameter-level information beyond what the schema already documents, so the baseline of 3 is appropriate.

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?

The description clearly states the tool fetches full public details for one AVnester listing by listingId. It uses a specific verb ('Fetch') and resource ('AVnester listing'), and distinguishes itself from siblings by being the follow-up to search_properties for a single listing.

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?

The description gives explicit usage context: get listingId from search_properties first, and use when the user references a specific listing. It also notes catalog coverage (Coimbatore and Chennai). However, it does not explicitly name alternatives for other use cases (e.g., compare_properties for multiple listings), so it lacks a full 'when-not or alternative' statement.

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

optimize_home_loan_tax_regimeOptimize home-loan tax regime (calculator)A
Read-onlyIdempotent
Inspect

Compare a home-loan borrower's income tax under the OLD vs NEW regime (FY2026-27) and recommend which regime saves more income tax. Pure deterministic slab math — not tax advice. Use when the user asks "old or new tax regime", "home-loan tax benefit", or "section 80C / 24(b) deduction". Models §24(b) interest + §80C principal (+ joint-loan doubling); the response lists benefits it does NOT model (capital gains, HRA, etc.). Always surface the disclaimer field.

ParametersJSON Schema
NameRequiredDescriptionDefault
ageBandNoTaxpayer age band — raises the OLD-regime basic exemption (senior 60–80 → ₹3L, super-senior 80+ → ₹5L). New regime unaffected. Defaults to below60.
other80CNoOther 80C investments in INR (PF, ELSS, insurance, etc.).
jointLoanNoJoint loan with a co-borrower — doubles the 80C/24b caps (equal-split assumption).
saleValueNoNRI only — sale consideration in INR for §195 TDS computation.
annualRentNoAnnual rent received in INR — required for let_out.
isSalariedNoWhether the taxpayer is salaried (gets the standard deduction).
hasForm15CBNoNRI only — whether Form 15CB CA-attestation is already in hand.
indexedCostNoNRI only — indexed cost of acquisition (LTCG). When omitted, TDS computed on full sale value.
annualIncomeYesAnnual gross income in INR EXCLUDING house property (salary + other income).
propertyTypeNoWhether the property is self-occupied or let out.self_occupied
holdingMonthsNoNRI only — holding period in months. ≤24 is STCG; >24 is LTCG.
nroBalanceUsdNoNRI only — NRO account balance in USD equivalent for the repatriation cap math.
ytdRemittedUsdNoNRI only — FY-to-date USD already remitted under the $1M cap.
residencyStatusNoDefault resident. Pass nri to get §195 TDS + LRS-cap math in the response.
homeLoanInterestYesAnnual home-loan interest paid (INR).
homeLoanPrincipalYesAnnual home-loan principal repaid (INR) — counts toward 80C.
countryOfResidenceNoNRI only — DTAA article lookup hint. Free-form country name.
otherOldRegimeDeductionsNoOther OLD-regime-only deductions as a lump (HRA exemption, 80D, NPS 80CCD(1B), etc.).

Output Schema

ParametersJSON Schema
NameRequiredDescription
newYes
nriNo
oldYes
cardsYes
jointLoanYes
disclaimerYes
notModeledYes
assumptionsYes
attributionYes
recommendedYes
annualIncomeYes
annualSavingYes
propertyTypeYes
residencyStatusNo
homeLoanTaxBenefitOldYes
Behavior5/5

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

Annotations already indicate readOnlyHint, idempotentHint, openWorldHint, non-destructive. Description adds that it is pure deterministic math, not tax advice, and lists modelled sections and exclusions. No contradiction.

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 sentences with no extraneous information. Front-loaded with core purpose, followed by usage guidance and behavioral notes. Every sentence serves a purpose.

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?

Given 18 parameters, output schema exists, and annotations provide safety signals, the description covers the essential behavioral aspects: what is modelled, what is excluded, disclaimer requirement, and usage triggers. Complete for the complexity.

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 coverage is 100% with full descriptions for all 18 parameters. The description does not add meaning beyond the schema for individual parameters, but it provides high-level context of what the tool computes. Baseline 3 is appropriate.

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?

Description clearly states the tool compares OLD vs NEW tax regime for home-loan borrowers to recommend the cheaper one, using deterministic slab math. It distinguishes from sibling tools (none of which are tax calculators) by naming specific user queries and tax sections.

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?

Explicitly tells when to use: when user asks 'old or new tax regime', 'home-loan tax benefit', or 'section 80C / 24(b) deduction'. Lists what it does and does not model (capital gains, HRA, etc.), and reminds to surface disclaimer.

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

search_propertiesSearch India property listingsA
Read-onlyIdempotent
Inspect

Search residential property listings in Coimbatore and Chennai, Tamil Nadu. Use when the user names a locality, price band, BHK, or transaction type in either city. Returns sanitized listing cards with handoff URLs and a per-listing verified flag; never returns seller contact details. Out-of-scope cities return supported=false + supportedCities + scopeMessage — surface the scopeMessage to the user.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoIndian city name (e.g., "Bangalore", "Coimbatore"). Required for results.
limitNoMaximum number of listings to return (cap: 20). v1 abuse defense.
bedroomsNoNumber of bedrooms (BHK).
localityNoLocality/neighborhood within the city (e.g., "Indiranagar").
maxPriceNoMaximum price in INR.
minPriceNoMinimum price in INR.
furnishingNoFurnishing status (rental queries).
propertyTypeNoProperty type.
rentalStructureNoRental money structure: monthly rent, or a lump-sum lease (one refundable amount for a fixed tenure, no monthly rent). Only meaningful with transactionType=rent. Omit to include both.
transactionTypeNoWhether to search for sale or rent. Omit to include both.

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalYes
sortByNo
messageNo
listingsYes
supportedYes
disclaimerYes
handoffUrlYes
attributionYes
scopeMessageNo
supportedCitiesNo
Behavior5/5

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

Despite decent annotation coverage (readOnly, idempotent, non-destructive), the description adds valuable behavioral context: returns are sanitized listing cards with handoff URLs and per-listing verified flags, and seller contact details are intentionally withheld. The out-of-scope response format is also disclosed. This goes well beyond the annotations and informs the agent of critical output limitations.

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 description is three sentences: purpose/scope, usage trigger, and behavioral notes. It is front-loaded with the core verb and resource, and every sentence provides actionable information without redundancy. No wasted words.

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 tool with 10 optional parameters and an output schema, the description covers the essential context: geographic constraint, when to invoke, output shape (sanitized cards, URLs, verified flag), a hard privacy boundary (no seller contact details), and fallback error handling for out-of-scope cities. The output schema handles return-value documentation, so the description is complete for selection and invocation.

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?

The input schema already describes all 10 parameters with 100% coverage, including enum values, defaults, and units. The description only ties usage to user mentions (locality, price band, BHK, transaction type), which is a selection hint rather than parameter-level detail. Since the schema carries the heavy lifting, the baseline of 3 is appropriate; the description adds a small amount of contextual mapping.

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?

The description clearly states the tool's function: 'Search residential property listings in Coimbatore and Chennai, Tamil Nadu.' It specifies the resource (property listings), geographic scope, and includes an explicit usage trigger ('Use when the user names a locality, price band, BHK, or transaction type'). This distinguishes it from sibling tools that focus on comparison, details, or financial calculations.

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?

The description provides explicit 'Use when' conditions, which is strong guidance. It also explains the out-of-scope behavior ('Out-of-scope cities return supported=false + supportedCities + scopeMessage — surface the scopeMessage'). However, it does not name alternative sibling tools or provide explicit 'when not to use' instructions, so it misses the top score.

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

simulate_loan_prepaymentSimulate home-loan prepayment (calculator)A
Read-onlyIdempotent
Inspect

Simulate prepaying / repaying an Indian home loan early. Pure deterministic math — no advice, no loan-approval claim. Use for "should I prepay", "early/part/lump-sum repayment", "pay extra each month", "reduce EMI or tenure", "interest saved", or foreclosure. Modes: one-time, recurring yearly, or a fixed extra every month (recurring_monthly). Compares reduce_tenure (keep EMI, finish early) vs reduce_emi (keep tenure, lower EMI). Always surface the disclaimer field.

ParametersJSON Schema
NameRequiredDescriptionDefault
strategyNoreduce_tenure keeps the EMI and finishes early (bigger saving); reduce_emi keeps the tenure and lowers the EMI; compare_both returns both.compare_both
prepaymentModeNoHow the prepayment is made (annual anniversary vs every month).one_time
prepaymentAmountNoOne-time lump-sum prepayment in INR (one_time / one_time_plus_recurring* modes).
annualRatePercentNoCurrent annual interest rate (percent). Defaults to the indicative market rate when omitted.
outstandingPrincipalYesCurrent outstanding home-loan principal in INR.
remainingTenureYearsYesYears left on the loan at the current EMI.
recurringAnnualAmountNoRecurring yearly prepayment in INR (recurring_annual / one_time_plus_recurring modes).
recurringMonthlyAmountNoFixed extra paid toward principal EVERY month on top of the EMI (recurring_monthly / one_time_plus_recurring_monthly modes).

Output Schema

ParametersJSON Schema
NameRequiredDescription
cardsYes
appliedYes
baselineYes
strategyYes
reduceEmiNo
disclaimerYes
assumptionsYes
attributionYes
reduceTenureNo
prepaymentModeYes
annualRatePercentYes
outstandingPrincipalYes
remainingTenureYearsYes
Behavior4/5

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

Annotations already indicate readOnlyHint, idempotentHint, destructiveHint. The description adds context: 'Pure deterministic math — no advice, no loan-approval claim,' which clarifies the tool's non-advisory nature. No contradictions.

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 description is concise with no redundant sentences. Each part serves a purpose: stating the function, clarifying it's a calculator, listing use cases, and summarizing modes and strategies.

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?

Given the tool's complexity (8 parameters, multiple modes), the description covers all key aspects: purpose, use cases, modes, strategies, and a usage instruction (disclaimer). An output schema exists, so return values need not be detailed.

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% (all parameters described). The description adds value by summarizing modes and strategies (e.g., 'Modes: one-time, recurring yearly...') and the comparison of reduce_tenure vs reduce_emi, which goes beyond the schema.

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?

The description clearly states the tool simulates prepaying an Indian home loan early, lists specific use cases (e.g., 'should I prepay'), and describes modes and strategies. It is distinct from sibling calculators like 'calculate_home_affordability'.

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?

The description explicitly lists when to use the tool (e.g., 'use for early/part/lump-sum repayment') and instructs to 'always surface the disclaimer field.' However, it does not explicitly state when not to use or compare to alternative tools.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Philippine real estate data for AI agents — search verified listings, calculate transfer costs, and get accurate legal information via lupaph.com.
    6
    44
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables users to generate rental agreements and receipts as PDFs through an AI-powered WhatsApp bot. Provides stamp duty information lookup and handles rental document creation with customizable templates.
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables real estate property searches with location and criteria filtering, plus comprehensive mortgage calculations including monthly payments and affordability analysis. Currently uses mock data for property searches but provides full mortgage calculation functionality.

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources