Untax
Server Details
Research county property assessments and prepare draft comparisons. (mooshworks.com)
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- mooshee/untax-mcp
- GitHub Stars
- 0
- Server Listing
- Untax MCP
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 81 tools
The set contains many overlapping tools with unclear boundaries, especially around property lookup/assessment (get_property_assessment, lookup_property_tax, audit_property_tax, get_property_model_readiness) and veteran screening (audit_veteran_shield, check_veteran_relief, audit_disabled_veteran_relief, generate_veteran_packet). Several GISDB tools are near-duplicate unavailable placeholders (gisdb_request_sample, gisdb_download_sample_bundle, gisdb_get_notice_dossier, gisdb_export_distress_feed), making selection difficult.
Most names are snake_case and follow a verb_noun pattern, but the conventions are mixed: audit_*, get_*, check_*, generate_*, gisdb_*, parse_*, simulate_*, and lookup_*. The gisdb_ prefix and legacy names like gisdb_get_cash_buyers further reduce predictability.
With 81 tools, the surface is far too large for the apparent scope and includes many aliases, stubs, unavailable placeholders, and legacy names. This volume creates a high cognitive load and suggests duplication rather than a well-scoped toolset.
The server covers many property-tax and veteran-benefit research workflows, but numerous tools explicitly return unavailable, stub, or screening-only results. Key lifecycle steps such as real filing, verified payment, or authoritative submissions appear absent or intentionally blocked, leaving significant operational gaps.
Available Tools
81 toolsanalyze_parcel_reappraisal_surgeAInspect
Evaluate an individual parcel's appraisal surge between reappraisal cycles against county benchmarks (40% median surge threshold under T.C.A. § 67-5-1701 for Hamilton or Knox County).
| Name | Required | Description | Default |
|---|---|---|---|
| county | No | County name ('hamilton' or 'knox', default: 'hamilton') | |
| prior_appraised | Yes | Prior cycle appraised market value (e.g. 2021 appraisal) | |
| current_appraised | Yes | Current cycle appraised market value (e.g. 2025/2026 appraisal) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full disclosure burden. It adds real value by citing the 40% median surge rule under T.C.A. § 67-5-1701, which grounds the computation legally. But it says nothing about the return value, what happens for unsupported counties, or whether the result is a flag versus a computed percentage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the core operation and puts the key legal threshold inline. Zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-param computation tool with a fully documented schema, the description covers the essential purpose and threshold. With no output schema, it could say more about what result is produced (e.g. surge percentage, pass/fail flag), which keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 contextualizes the county parameter via the statute-specific benchmark and the Hamilton/Knox scope, but adds no syntax or format detail beyond the schema's own prior/current value descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (evaluate), resource (individual parcel appraisal surge), and scope (between reappraisal cycles against county benchmarks). The 'individual parcel' framing implicitly contrasts with county/roll-level analytics siblings like get_hamilton_roll_analytics, but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'evaluate an individual parcel's appraisal surge' implies when to reach for this tool, and the benchmark context clarifies the use case. However, there is no explicit when-not guidance, no prerequisites, and no named alternatives for portfolio- or roll-level comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_combat_deployment_abatementBInspect
Audit and calculate ad valorem property tax abatement for active duty service members deployed outside the United States under Fla. Stat. § 196.173 (Form DR-501M) and reciprocal state combat deployment rules.
| Name | Required | Description | Default |
|---|---|---|---|
| parcel_id | Yes | County parcel ID / APN | |
| state_code | No | Two-letter state postal abbreviation (e.g. 'FL', 'TN') | |
| county_name | No | County name | |
| property_address | No | Property street address | |
| deployment_end_date | No | Deployment end date (YYYY-MM-DD) | |
| service_member_name | Yes | Active duty service member legal name | |
| deployment_start_date | No | Deployment start date (YYYY-MM-DD) | |
| military_operation_name | Yes | Designated contingency operation name (e.g. 'Operation Inherent Resolve', 'Operation Spartan Shield') | |
| annual_ad_valorem_tax_usd | Yes | Total annual ad valorem real property tax bill in USD | |
| days_deployed_in_tax_year | Yes | Number of days deployed outside continental US during the tax year (max 365) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it doesn't say whether this is a read-only calculation or a filed audit, whether results depend on eligibility screening, what happens if the member fails a threshold, or what the response contains. 'Audit and calculate' signals an eligibility determination plus a dollar computation, but nothing about permissions, side effects, or determinism is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence with the operative verb and scope front-loaded; the statute and form citation earn their place by anchoring the legal basis. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 10-parameter, legally specialized tool with no annotations and no output schema needs more than a statute citation. The description never states eligibility criteria, how days-deployed interacts with the tax amount to produce a result, or what the return value looks like — an agent cannot tell whether it receives an eligibility finding, a computed abatement amount, or a filing packet.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 10 parameters are already documented in the schema. The description adds only the statutory context for the calculation and no syntax, format, or interaction guidance beyond that, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb pair ('Audit and calculate') paired with a precisely scoped resource: ad valorem tax abatement for active-duty members deployed outside the US under Fla. Stat. § 196.173. The statute, form number (DR-501M), and 'combat deployment' framing implicitly separate it from the broader veteran-relief siblings, though no sibling is named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The statutory scope implies when the tool applies (deployed service member, Florida or reciprocal state, ad valorem tax), but there is no explicit when-to-use/when-not statement and no routing to alternatives such as check_veteran_relief or audit_disabled_veteran_relief. The agent must infer the boundary from the legal citation alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_commercial_reclassificationBInspect
Audit property misclassification from 40% Commercial down to 25% Residential ratio under T.C.A. § 67-5-801, computing annual tax reduction and demand for 3-year retroactive refunds under T.C.A. § 67-5-509.
| Name | Required | Description | Default |
|---|---|---|---|
| parcel_id | No | Parcel ID | |
| actual_use | Yes | Actual principal residential dwelling use (e.g. residential duplex) | |
| owner_name | No | Property owner name | |
| market_value | Yes | Full market appraised value | |
| property_address | No | Property street address | |
| current_classification | No | Current classification (e.g. 'COMMERCIAL') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It discloses that the tool computes annual tax reduction and a 3-year retroactive refund demand, but it does not clarify whether the operation is read-only, what side effects or permissions are involved, or whether a demand letter is generated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence, but it is front-loaded with the action and every clause contributes statutory or calculation context. It is appropriately sized for a complex legal-audit tool, though the sentence is somewhat heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description should do more to explain what the audit returns beyond the high-level annual reduction and refund demand. It provides enough to understand the purpose but leaves return structure and eligibility nuances underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all six parameters. The description adds useful legal and ratio context but does not add parameter-specific semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: auditing property misclassification from 40% Commercial to 25% Residential under a cited statute, and it adds the calculation/refund scope. This is clearly distinguishable from generic sibling tools like audit_property_tax, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The commercial-to-residential misclassification scenario implies when the tool applies, but there is no explicit when-to-use guidance, no exclusions, and no routing to related siblings such as audit_retroactive_tax_recovery or audit_property_tax.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_county_dd214_recordingBInspect
Audit and format County Register of Deeds military discharge recording submission slip with statutory confidential seal protections under T.C.A. § 10-7-513 and 50-state public record privacy acts ($0.00 mandatory recording fee).
| Name | Required | Description | Default |
|---|---|---|---|
| state_code | No | Two-letter state postal abbreviation (e.g. 'TN', 'GA') | |
| county_name | Yes | County of recording register | |
| veteran_name | Yes | Veteran's legal name | |
| discharge_type | Yes | Discharge document type (e.g. 'DD-214 Member-4', 'DD-215', 'NGB-22') | |
| service_branch | Yes | Branch of military service | |
| separation_date | No | Military separation date (YYYY-MM-DD) | |
| is_sealed_from_public_inspection_requested | No | Whether to request immediate statutory confidential seal blocking internet and public record dissemination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does carry useful behavioral context: a $0.00 mandatory recording fee and statutory confidential-seal protections under T.C.A. § 10-7-513. However, it never states whether the tool merely produces a formatted slip or actually files/records something, nor what the legal exposure or side effects are – a significant omission for a document-submission tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with no filler; the resource and the legal/fee framing are front-loaded. It is somewhat overstuffed with statutory citations, but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no annotations and no output schema, the description leaves the core question unanswered: what does the caller get back (a formatted slip? a filing receipt?) and does invoking it constitute a filing. Those gaps matter materially for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters are already documented in the schema; baseline 3 applies. The description adds only oblique context – the 'confidential seal protections' phrase hints at the is_sealed_from_public_inspection_requested flag, but it adds no format or validation detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb pair (audit and format) and a concrete resource (County Register of Deeds military discharge recording submission slip), which is far more specific than the generic 'audit_*' siblings. It is distinguishable from neighbors such as generate_veteran_packet or audit_va_award_document_with_jev, though it never explicitly says so.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this tool over the many adjacent veteran/recording tools (generate_veteran_packet, parse_va_benefit_letter, audit_va_award_document_with_jev). No prerequisites, no exclusions, no workflow position are given – the agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_disabled_homeowner_reliefAInspect
Screen eligibility for Tennessee Disabled Homeowner Property Tax Relief under T.C.A. § 67-5-703. Calculates exact tax relief on up to $30,000 market value cap ($7,500 assessed) for totally disabled homeowners with household income under $33,460.
| Name | Required | Description | Default |
|---|---|---|---|
| parcel_id | No | Parcel ID | |
| market_value | No | Total appraised market value of property | |
| annual_income | Yes | Total household annual income (must be <= $33,460) | |
| homeowner_name | Yes | Homeowner legal name | |
| property_address | No | Property street address | |
| is_primary_residence | No | Whether property is owned and occupied as primary residence on Jan 1 | |
| has_ssdi_or_ssi_award | Yes | Whether homeowner has SSA/SSDI permanent total disability determination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'Screen eligibility' and 'Calculates exact tax relief' imply a read-only screening/calculation operation, and the statutory caps and income threshold add useful domain behavior, but the description does not explicitly state that no records are modified, whether authorization is needed, or what happens when the homeowner is ineligible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two dense sentences with no wasted language. The statutory basis, eligibility scope, calculation cap, and income limit are front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description must carry more context. It adequately describes the screening purpose and calculation limits, but it does not explain the return value format, what an ineligible result looks like, or how the required disability award and primary residence criteria affect the outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all seven parameters. The description adds relevant context by stating the $30,000 market value cap ($7,500 assessed) and the $33,460 income threshold, but it does not map these to specific parameters or clarify the required disability award and primary residence fields beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Screen eligibility') and a specific resource ('Tennessee Disabled Homeowner Property Tax Relief') with a statutory citation, which is much more precise than a generic audit tool. It implicitly distinguishes from veteran relief by naming 'disabled homeowner,' but it does not explicitly name or contrast with sibling tools such as audit_disabled_veteran_relief or check_eligibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The eligibility criteria (totally disabled homeowners, household income under $33,460) imply when the tool applies, but there is no explicit guidance on when to use this versus alternatives like check_eligibility or audit_disabled_veteran_relief. No when-not-to-use conditions or routing instructions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_disabled_veteran_reliefARead-onlyIdempotentInspect
Compatibility alias for the shared Veteran supplied-fact screening. Reviews missing applicant, property, residence, review-year and VA-related information before a program requirements review. No default jurisdiction, eligibility decision, tax estimate, generated form or filing.
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | Legacy alias for property_address; not a parcel lookup. | |
| parcel_id | No | Explicit county parcel or property account identifier. | |
| state_code | No | Reported two-letter state code; no default jurisdiction. | |
| county_name | No | Reported county. No county is inferred from an address. | |
| review_year | No | Requested review year, separate from any county source or bill year. | |
| veteran_name | No | Applicant name supplied for this review; never inferred from an account or VA record. | |
| has_remarried | No | Reported surviving-spouse remarriage status. Omit when unknown. | |
| has_va_dic_award | No | Reported VA survivor benefit award status. Omit when unknown. | |
| property_address | No | Explicit property street address. Supply the parcel or account identifier separately. | |
| rating_percentage | No | Legacy alias for va_disability_percentage. Conflicting values remain unknown. | |
| honorable_discharge | No | Legacy alias for is_honorable_discharge. Conflicting values remain unknown. | |
| is_surviving_spouse | No | Whether the applicant is a surviving spouse. This does not establish DIC, remarriage status or eligibility. | |
| is_primary_residence | No | Whether this property is the applicant's primary residence for the requested review year. Omit when unknown. | |
| is_honorable_discharge | No | Reported honorable discharge status; no document verification is performed. | |
| is_permanent_and_total | No | Reported permanent-and-total status, separate from rating. Omit when unknown. | |
| ownership_relationship | No | Reported relationship to this property; does not establish ownership or delegated authority. | |
| va_disability_percentage | No | Reported VA disability rating. A 100% rating alone does not establish permanent-and-total status. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior. The description adds valuable scope constraints: no default jurisdiction, no eligibility decision, no tax estimate, no generated form, and no filing. It does not describe return data or missing-fact reporting format, but with annotations covering safety the added behavioral context is solid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the core screening purpose, and efficiently packs scope exclusions into a short clause. The internal 'compatibility alias' framing is slightly opaque but does not bloat the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a safe read-only screening tool with rich schema coverage and annotations. However, with 17 optional parameters and no output schema, it does not explain what the screening returns or how missing facts are reported, leaving a meaningful gap for an agent invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the 17 parameters are already well documented in the input schema. The description categorizes the reviewed information into applicant, property, residence, review-year, and VA-related facts, but adds no syntax, format, or conflict-handling details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific screening purpose: reviewing missing applicant, property, residence, review-year, and VA-related information before a program requirements review. It also distinguishes the tool from eligibility-decision, tax-estimate, form-generation, and filing tools. However, the phrase 'compatibility alias for the shared Veteran supplied-fact screening' is somewhat internal and does not explicitly name the closest sibling alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage before a program requirements review, giving some contextual timing. But it provides no explicit when-not-to-use guidance and does not name alternatives among the many veteran-relief tools in the sibling list, leaving routing inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_disabled_veteran_wheel_taxCInspect
Audit eligibility and format County Disabled Veteran Motor Vehicle Registration and Wheel Tax Exemption Voucher under T.C.A. § 55-4-237 to exempt vehicle registration fees and county wheel taxes for qualifying disabled veterans.
| Name | Required | Description | Default |
|---|---|---|---|
| county_name | Yes | County name (e.g. 'Hamilton County') | |
| vehicle_vin | Yes | Vehicle 17-character VIN | |
| veteran_name | Yes | Veteran's legal name | |
| is_permanent_and_total | No | Whether disability is certified Permanent & Total (P&T) | |
| vehicle_make_model_year | No | Vehicle year, make, and model (e.g. '2023 Ford F-150') | |
| va_disability_percentage | Yes | VA service-connected disability percentage (100% P&T or mobility impaired) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden: it does not say whether this files or submits anything, whether a voucher is returned or persisted, what happens when the veteran fails the eligibility audit, or what permissions/documents are required. 'Format ... Voucher' hints at document generation but the side effects are unclear for what appears to be an eligibility-checking plus document-producing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the verb and resource front-loaded and no filler. It is compact given the very long official program name, though the statutory tail slightly delays the key scope information for an agent scanning quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter tool with no annotations and no output schema, the description omits important context: what the voucher output looks like, how eligibility failure is reported, and how the P&T / mobility-impaired condition gates the result. Adequate but with clear gaps for a document-generating compliance tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters (including the P&T flag and VA percentage) are already documented in the schema. The description adds no parameter-level detail beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific compound verb phrase (audit eligibility and format voucher) tied to a named resource (Disabled Veteran Motor Vehicle Registration and Wheel Tax Exemption Voucher) and cites the governing statute T.C.A. § 55-4-237. This distinguishes it reasonably from generic siblings like audit_disabled_veteran_relief, but it does not explicitly contrast itself with the closest neighbors (verify_va_disability_exemption, audit_surviving_spouse_vet_relief), which would earn a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the statutory basis and the qualifying population but gives no when-to-use/when-not guidance and names no alternatives among the many veteran-related siblings. An agent must infer that this handles the vehicle registration/wheel tax pathway rather than the homestead or spouse pathways.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_fema_flood_hazardAInspect
Audit a property against the FEMA National Flood Hazard Layer (NFHL) to detect Special Flood Hazard Areas (Zone A/AE/VE), FIRM panels, base flood elevation, mandatory flood insurance encumbrances, and calculate Board-admissible external obsolescence appraisal deductions (Exhibit F).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Optional latitude | |
| lon | No | Optional longitude | |
| county | No | County name (e.g. Hamilton, Knox, Davidson) | |
| format | No | Output format: 'json' (default) or 'html' for ready-to-file Exhibit F | |
| address | Yes | Property situs address | |
| parcel_id | Yes | Subject parcel ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Audit' and the detection/calculation language imply a non-mutating analysis, but the description does not explicitly state read-only behavior, permissions, data-source limitations, or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence delivers the purpose and output scope without filler. It is dense but appropriately sized for the complexity, though splitting the calculation clause from the lookup clause could improve scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is rich about what the audit detects and calculates, and the schema fully covers parameters. However, with no annotations and no output schema, it omits behavioral details such as return structure, data freshness, and failure modes that an agent would need for fully confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents parcel_id, address, lat, lon, county, and format. The description does not add parameter-level meaning beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Audit a property against the FEMA National Flood Hazard Layer (NFHL)'. It then names the exact flood-zone, FIRM, BFE, insurance, and appraisal-deduction outputs, clearly distinguishing it from the many other audit_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The domain context implies when the tool is relevant, but there is no explicit when-to-use or when-not-to-use guidance and no named alternative among sibling tools. An agent can infer its purpose but must decide selection from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_microtransactionARead-onlyIdempotentInspect
Research an explicitly selected property and identify evidence requirements for a requested property-record service. Returns source observations and service capabilities; does not establish savings, quote a payable fee, inspect payment methods, charge, generate a filing packet or submit a correction. Sandbox checkout uses separate authenticated sandbox tools.
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | Property street address or parcel ID | |
| parcel_id | No | County Parcel ID / PIDN | |
| county_key | No | Exact registered county adapter key, such as hamilton; restricts source lookup to that county. | |
| service_type | No | Microtransaction service type: 'demolished_outbuilding', 'square_footage_correction', 'mailing_address_change', 'commercial_reclassification', 'certified_tax_ledger' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, open-world behavior, so the description adds value by detailing what is NOT performed (no fee quote, no payment inspection, no charge, no packet generation, no submission) and by noting sandbox checkout requires separate authenticated tools. It doesn't cover rate limits or how evidence requirements are formatted, but it meaningfully extends 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense, front-loaded sentences: purpose first, then the negative scope list, then the sandbox pointer. No filler, though the phrase 'service capabilities' is a bit abstract for a research tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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's note that it returns 'source observations and service capabilities' carries return-value information, and the negatives define the boundary well. It could say more about evidence-requirement structure, but for a research-style tool with fully documented params this is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented, including the county adapter key and the enumerated service types. The description only restates the framing ('explicitly selected property', 'requested service') without adding syntax or validation nuance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and scope: research an explicitly selected property and identify evidence requirements for a requested property-record service. It distinguishes this from the sandbox checkout path (start_tax_sandbox/complete_tax_sandbox_order) by naming that alternative, though the boundary with get_microtransactions_catalog remains implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly frames usage: research an already-selected property, not a discovery step, and it names the exclusions (no savings, no fee quoting, no charging, no filing, no correction) plus the alternative route for checkout. It stops short of saying which of the many sibling audit_* tools to prefer, but the context is clear and the exclusions are useful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_municipal_permitsAInspect
Audit a property against municipal building, renovation, and demolition permit records (Chattanooga, Nashville, Memphis, Knoxville) to identify premature lien-date additions, demolished structures still assessed on CAMA rolls, and routine maintenance protections under T.C.A. § 67-5-601/603 (Exhibit P).
| Name | Required | Description | Default |
|---|---|---|---|
| county | No | Optional county alias | |
| format | No | Output format: 'json' (default) or 'html' for ready-to-file Exhibit P | |
| address | Yes | Property situs address | |
| parcel_id | Yes | Subject parcel ID | |
| jurisdiction | No | County or municipal jurisdiction name (e.g. Hamilton, Davidson, Shelby, Knox) | |
| assessed_improvement_value | No | Optional current assessed improvement valuation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the four-city coverage and statutory basis, but does not explicitly state that the operation is read-only, what permissions or limitations apply, or what the audit returns beyond a general reference to Exhibit P.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted preamble. It is dense with several clauses and legal citations, but each clause contributes to scope or expected findings.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for tool selection and states the audit scope and legal issues, but with no annotations and no output schema it does not fully describe operational constraints, permissions, or the structure of returned audit findings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents parcel_id, address, jurisdiction, county, format, and assessed_improvement_value. The description adds little parameter-level meaning beyond the schema and mainly restates the permit-audit context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, "Audit," and a precise resource, municipal building/renovation/demolition permit records, with named cities and concrete audit targets. This clearly distinguishes it from sibling audit_* tools focused on tax relief, storm swaths, blight, and other parcel issues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear use case: identify premature lien-date additions, demolished structures still on CAMA rolls, and maintenance protections under T.C.A. § 67-5-601/603. It does not explicitly state when not to use this tool or name a preferred alternative among the many other audit_* siblings, so usage guidance is clear but incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_noaa_storm_swathsAInspect
Audit a parcel against authoritative NOAA severe weather storm swaths (hail, tornado, hurricane wind, flash flood) to generate statutory casualty loss assessment deductions and certified Exhibit S reports under T.C.A. § 67-5-603.
| Name | Required | Description | Default |
|---|---|---|---|
| county | No | County name (e.g. Hamilton, Knox, Montgomery) | |
| format | No | Output format: 'json' (default) or 'html' for ready-to-file Exhibit S | |
| address | Yes | Property situs address | |
| parcel_id | Yes | Subject parcel ID | |
| assessed_improvement_value | No | Optional current assessed improvement valuation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It identifies the authoritative NOAA data source and statutory report output, but does not disclose whether the operation is read-only, what permissions are required, whether it writes files or records, or other side-effect details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that identifies the action, data source, covered storm types, statutory use, and output artifacts without filler. Every phrase contributes to distinguishing the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description names the generated deductions and certified Exhibit S reports, but with no output schema and no annotations, it does not fully explain return values, operational behavior, or when this tool should be preferred over related audit siblings. The schema covers inputs well, but contextual gaps remain for a complex statutory and weather-analysis tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already explains all five parameters, including county, format, address, parcel_id, and assessed_improvement_value. The description does not add meaningful semantics beyond the schema for any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: auditing a parcel against authoritative NOAA severe weather storm swaths, including hail, tornado, hurricane wind, and flash flood. It also names the statutory purpose and output artifacts, which distinguishes it from sibling audit tools such as FEMA flood hazard or general property tax audits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied by the purpose: generating statutory casualty loss assessment deductions and certified Exhibit S reports under T.C.A. § 67-5-603. However, the description does not explicitly state when to use this tool versus related siblings such as audit_fema_flood_hazard, nor does it provide exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_parcel_blight_citationsBInspect
Audit a parcel against municipal code enforcement and 311 blight databases (unfit dwellings, demolition orders, exterior violations) to calculate statutory obsolescence deductions and generate Exhibit B-1 under T.C.A. § 67-5-601(a) and § 13-21-103.
| Name | Required | Description | Default |
|---|---|---|---|
| county | No | Optional county alias | |
| format | No | Output format: 'json' (default) or 'html' for ready-to-file Exhibit B-1 | |
| address | Yes | Property situs address | |
| parcel_id | Yes | Subject parcel ID | |
| jurisdiction | No | County or municipal jurisdiction name (e.g. Chattanooga, Hamilton, Memphis, Nashville, Knoxville) | |
| market_value | No | Optional current total appraised or market value |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it says nothing about data freshness, whether records are live or cached, rate limits, required entitlements, or failure behavior when a county lacks a 311 feed. It does disclose the substantive behavior (data aggregation plus deduction calculation plus document generation), which is worth some credit, but the operational profile is silent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the action and the outcome stated up front; the statutory citations are dense but they carry real meaning for an agent deciding relevance. No filler or restatement of the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, no-output-schema tool with no annotations, the description covers what is computed and what artifact is produced (Exhibit B-1 as json or html via the schema) but omits jurisdiction coverage limits and the shape of returned deduction data. Adequate to decide relevance, thin for confident execution.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents parcel_id, address, jurisdiction, county, market_value, and the json/html format switch. The description adds only indirect signal — 'calculate statutory obsolescence deductions' hints that market_value feeds the math — without naming or clarifying any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb plus resource ('Audit a parcel') and enumerates the exact data sources it consults (municipal code enforcement, 311 blight databases, unfit dwellings, demolition orders, exterior violations). It also names the concrete deliverable (Exhibit B-1 with statutory obsolescence deductions), distinguishing it from adjacent siblings like audit_municipal_permits or get_condition_evidence_catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The blight/code-enforcement focus implies when to reach for it, but there is no explicit when-to-use/when-not-to-use guidance and no mention of alternatives among the many audit_* siblings. An agent must infer selection from the legal citations alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_parcel_soil_capabilityAInspect
Audit a parcel against USDA NRCS SSURGO soil survey databases to detect Greenbelt agricultural productivity misclassifications, soil capability classes (Classes I–VIII), and calculate statutory present-use land overcharges under T.C.A. § 67-5-1008 (Exhibit G).
| Name | Required | Description | Default |
|---|---|---|---|
| county | No | Optional county alias | |
| format | No | Output format: 'json' (default) or 'html' for ready-to-file Exhibit G | |
| acreage | No | Optional total parcel acreage (default 15.0) | |
| address | Yes | Property situs address | |
| parcel_id | Yes | Subject parcel ID | |
| jurisdiction | No | County or jurisdiction name (e.g. Hamilton, Knox, Sevier, Blount) | |
| greenbelt_enrolled | No | Whether the parcel is enrolled in Greenbelt present-use valuation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It discloses the external SSURGO dependency and that the tool detects misclassifications and calculates overcharges, but it does not explicitly state read-only status, permission requirements, failure modes, or whether any records are modified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no wasted clauses, and the core action is clear immediately. It is slightly dense due to the statutory citation and Exhibit G reference, but each clause contributes domain specificity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description should explain what the audit returns, how Exhibit G output is produced, and key limitations or prerequisites. It identifies the domain purpose but leaves an agent without enough behavioral and output context to call it confidently beyond the parameter schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters are already documented in the schema. The description does not add format, constraints, or usage notes beyond naming the audited parcel, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: auditing a parcel against USDA NRCS SSURGO soil data for Greenbelt misclassification, soil capability classes, and statutory overcharges. This clearly differentiates it from tax-focused or topography-focused siblings such as audit_property_tax and audit_parcel_topography.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the use case: a parcel with possible Greenbelt agricultural productivity misclassification and present-use overcharge exposure. However, it does not explicitly say when to use this rather than siblings like check_eligibility, audit_property_tax, or audit_parcel_topography, nor does it state prerequisites such as Greenbelt enrollment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_parcel_topographyAInspect
Audit a parcel against authoritative USGS 3DEP 1-meter LiDAR elevation profiles and karst subsidence databases to quantify steep slope (>25% grade) and sinkhole land impairments for Board-admissible adverse topography adjustments (Exhibit T).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Optional latitude | |
| lon | No | Optional longitude | |
| county | No | County name (e.g. Hamilton, Knox, Davidson) | |
| format | No | Output format: 'json' (default) or 'html' for ready-to-file Exhibit T | |
| address | Yes | Property situs address | |
| parcel_id | Yes | Subject parcel ID | |
| land_value | No | Optional current land assessment valuation | |
| jurisdiction | No | Optional jurisdiction alias |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the behavioral burden. It usefully discloses authoritative external data sources and the quantification logic, but it does not state whether the operation is read-only, what permissions or costs are involved, or what side effects, if any, occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler and includes the key domain-specific details. It is dense but appropriately sized for a specialized audit tool, though it could be slightly easier to scan with a little structural separation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complex audit purpose, rich input schema, and absence of both annotations and an output schema, the description covers what the tool analyzes but not what the returned audit contains. An agent can identify the tool, but the description leaves gaps around output shape and operational behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all eight parameters are already documented in the input schema. The description does not add parameter-specific semantics beyond indirectly referencing Exhibit T, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Audit a parcel against ... topography') and names the exact impairments quantified: steep slope >25% grade and sinkhole land impairments. It also differentiates itself from sibling parcel audits by focusing on USGS 3DEP LiDAR and karst subsidence data rather than soil, flood, blight, or valuation checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use context: producing Board-admissible adverse topography adjustments (Exhibit T). It does not explicitly state when not to use this tool or name alternative sibling audits, so it falls short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_portfolio_batchAInspect
Batch ingest and analyze 10–500 properties from CSV text or structured JSON array for real estate agents, listing brokers, and portfolio landlords. Calculates certified comparable sales equity, overassessment delta, estimated annual tax recovery, and ranks top targets.
| Name | Required | Description | Default |
|---|---|---|---|
| csv_data | No | Optional raw CSV string containing property rows. Headers must include address, city, state, zip. | |
| async_task | No | Optional flag to control background task execution. Batches up to 50 properties run synchronously by default for snappy sub-second responses; larger bulk batches (> 50 properties) automatically run as an asynchronous background task unless async_task is explicitly set to false. | |
| properties | No | Optional list of property objects with address, city, state, zip, parcel_id, owner_name, current_assessment, building_sqft. | |
| realtor_name | No | Optional name of presenting real estate agent for co-branded executive reporting. | |
| brokerage_name | No | Optional real estate brokerage or investment fund name. | |
| text_addresses | No | Optional multiline text string of addresses (one per line) for fast intake. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says 'batch ingest' without stating whether ingested properties persist into a portfolio, whether the operation is read-only computation, what permissions or credits are required, or how malformed rows are handled — all material for a bulk write/analysis tool. It adds some value by bounding batch size and naming the computed metrics, but persistence and failure semantics are unaddressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence front-loaded with the verb and the batch-size constraint, followed by the output summary — no boilerplate or filler. The enumerated metric list is long but each item conveys a distinct return value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates what comes back (equity, overassessment delta, recovery estimate, ranked targets), and sync/async behavior is covered by the async_task schema entry. Remaining gaps are persistence of the ingested batch and error handling for invalid rows, which an agent needs before submitting 500 records.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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; each parameter including async_task behavior and required CSV headers is already documented in the schema. The description adds only the framing that inputs arrive as CSV text or a JSON array and omits the third intake route (text_addresses) and the co-branding params (realtor_name, brokerage_name).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Batch ingest and analyze 10–500 properties') plus the accepted input formats and the exact computed outputs (comparable sales equity, overassessment delta, annual tax recovery, ranked targets). This clearly separates it from single-parcel siblings like audit_property_tax and from selection tools like curate_portfolio_selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete usage envelope: 10–500 properties, CSV text or JSON array, aimed at agents/brokers/landlords performing portfolio-scale screening. It never names an alternative or exclusion (e.g., when to prefer single-property audit tools or a staging tool), so the boundary against siblings 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.
audit_property_taxCInspect
Inspect retained county assessments and, where the supported evidence model permits, a draft building-assessment-equity comparison. Separate conditional rate scenarios from unavailable personal savings. Preserve unsupported building/classification, yard-item, source-conflict and unknown-year/rate holds. This tool does not certify market value, benefits, filing or payment readiness.
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | Alternative alias for property street address | |
| county_key | No | Optional exact registered county adapter key, such as hamilton. Restricts lookup to that county and avoids unrelated county scans; conflicting explicit prefixes are rejected. | |
| actual_sqft | No | Optional: Actual measured living area in sq ft (to detect assessor CAMA square footage measurement errors) | |
| address_or_pidn | Yes | Full street address or county parcel ID (e.g. '3731 Anderson Ave, Chattanooga, TN' or '157I L 001') | |
| notice_appraised_value | No | Optional: New proposed appraised value from reassessment notice (if differing from current online county roll) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It does add real context: it discloses that it works only 'where the supported evidence model permits', that unsupported items are held rather than asserted, and that it does not certify outcomes. However, it never explicitly states read-only status (only implied by 'Inspect'), nor permissions, side effects, or result shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first clause, which is good. But the four-sentence body is dense with unparseable terms such as 'yard-item' and 'source-conflict holds', and the caveats consume more space than the actionable description, reducing scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex, five-parameter tool with no annotations and no output schema, the description must explain both behavior and result. It sketches the deliverable ('draft building-assessment-equity comparison', separated rate scenarios versus unavailable savings) and the limits, but leaves the actual return structure and what counts as a 'hold' unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters, and baseline 3 applies. The description alludes to concepts tied to notice_appraised_value and actual_sqft (rate scenarios, unknown-year/rate holds) but does not map them to parameters or add format/semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening clause 'Inspect retained county assessments' names a specific verb and resource, but the remainder ('draft building-assessment-equity comparison', 'conditional rate scenarios', 'unknown-year/rate holds') is domain jargon that does not clarify what the tool operationally returns. It never distinguishes itself from close siblings like lookup_property_tax, get_property_assessment, or audit_square_footage_correction, so an agent cannot confidently choose it on purpose alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many sibling audit/lookup tools, and no prerequisites are given. The closing sentence lists what the tool does NOT do (certify market value, benefits, filing, payment readiness), which is a scope exclusion rather than positive usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_property_transfersAInspect
Audit a property's recent deeds and real estate transfer tax filings against current county tax rolls to identify unmapped deed backlogs, buyer/grantee mailing address drift, and nominal consideration transfers requiring Exhibit N (Attestation of Identity & Standing under T.C.A. § 67-4-409 and § 67-5-1407).
| Name | Required | Description | Default |
|---|---|---|---|
| parcel_id | Yes | Subject parcel ID or address | |
| current_roll_owner | No | Optional current property owner on county tax roll | |
| current_roll_mailing | No | Optional current mailing address on county tax roll |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the data sources compared and the classes of discrepancies produced, but says nothing about whether the operation is read-only, what permissions or jurisdiction coverage it requires, how large a result set it returns, or what happens when the optional roll fields are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the action and the comparison front-loaded, then the three finding types. Efficient, though the statutory citations and jargon (Exhibit N, nominal consideration) add bulk that only specialists will parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must convey what the tool yields, and it does so by naming the three audit findings it surfaces, plus the legal hook for the Exhibit N case. Gaps remain on return shape, volume, and permissions, but the core is covered for a 3-parameter read-style audit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains parcel_id as subject parcel/ID-or-address and the two optional current roll fields. The description adds conceptual meaning by framing those roll values as the comparison baseline for drift detection, though it never names the parameters explicitly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: auditing recent deeds and real estate transfer tax filings against county tax rolls, with three named finding types (deed backlogs, mailing address drift, nominal consideration transfers). Scope is concrete enough to separate it from generic siblings like audit_property_tax, but no sibling is named or excluded explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the described inputs and findings (use when verifying deed/transfer records against the roll), and the Exhibit N / T.C.A. citations hint at an appeal-evidence scenario. However, there is no explicit when-to-use, no prerequisites, and no routing against the many sibling audit_* tools an agent must choose between.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_retroactive_tax_recoveryBInspect
Audit eligibility and format County Trustee demand voucher for retroactive property tax refunds under T.C.A. § 67-5-509 and state reciprocal rules when a veteran receives a retroactive VA effective date.
| Name | Required | Description | Default |
|---|---|---|---|
| parcel_id | Yes | County parcel ID / APN | |
| state_code | No | State code (e.g. 'TN') | |
| county_name | No | County name | |
| veteran_name | Yes | Veteran's legal name | |
| property_address | No | Property street address | |
| tax_years_pending | Yes | Prior tax years eligible for refund (e.g. [2024, 2025]) | |
| va_effective_date | Yes | Retroactive effective date from VA Rating Decision (YYYY-MM-DD) | |
| annual_tax_paid_usd | Yes | Annual real property tax paid | |
| is_permanent_and_total | No | Whether disability is Permanent & Total | |
| va_disability_percentage | No | VA disability percentage (100% P&T) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It indicates the tool produces a 'County Trustee demand voucher,' but does not state whether it files anything, what permissions are required, whether the operation is reversible, or what the response contains – significant gaps for a tool that formats and potentially submits a legal demand document.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the action, legal authority (T.C.A. § 67-5-509), and trigger front-loaded. It earns its space, though the legal citations and nested clauses make it slightly heavy for one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives legal basis and the triggering condition, adequate to understand purpose. But for a 10-parameter, no-annotation, no-output-schema tool, it omits the side-effect profile, expected result shape, and eligibility-verdict behavior that an agent needs before invoking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 10 well-described parameters, so the schema already documents each field. The description adds no parameter-level meaning (e.g., how tax_years_pending interacts with va_effective_date), so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verbs ('audit eligibility' and 'format County Trustee demand voucher') against a precise resource (retroactive property tax refunds) and names the triggering condition (retroactive VA effective date). Among the many veteran-related siblings, the retroactive-refund trigger makes it distinct without needing to name an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'when a veteran receives a retroactive VA effective date' implies the usage context, so the trigger is inferable. However, there is no explicit when-to-use vs. when-not guidance and no routing to alternatives like verify_va_disability_exemption or audit_disabled_veteran_relief, which overlap in veteran relief space.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_scra_interest_capAInspect
Audit and enforce Servicemembers Civil Relief Act (50 U.S.C. § 3991) 6% delinquent property tax interest cap, strip unlawful county penalties, and issue stay of tax sale injunction.
| Name | Required | Description | Default |
|---|---|---|---|
| parcel_id | No | County parcel ID | |
| property_address | No | Property street address | |
| branch_of_service | No | Branch of Armed Forces (e.g. 'U.S. Army', 'USAF', 'USN', 'USMC') | |
| servicemember_name | Yes | Active duty servicemember legal name | |
| active_duty_end_date | No | Optional discharge date if service completed (YYYY-MM-DD) | |
| active_duty_start_date | Yes | Start date of active duty service (YYYY-MM-DD) | |
| county_interest_rate_annual | No | Annual interest rate charged by county (e.g. 0.18 for 18% or 0.12 for 12%) | |
| is_threatened_with_tax_sale | No | True if county has scheduled a delinquent tax foreclosure auction | |
| billed_delinquent_tax_amount | No | Base unpaid delinquent property taxes | |
| months_delinquent_during_service | No | Number of months delinquency accrued during military service | |
| billed_accrued_interest_and_penalties | No | Total accrued interest, penalties, and late charges billed by county |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full load: it does disclose that this is a mutation with real consequences (enforce, strip penalties, issue injunction), which is valuable. It says nothing about required documentation, authorization, whether enforcement is actual or simulated, or how the injunction is served, leaving significant gaps for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with zero filler, front-loading the statutory basis and the enforcement outcome. Every clause maps to a distinct capability of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter mutation tool with no annotations and no output schema, one sentence is thin: it omits what the audit returns, what enforcement artifacts are produced, and the relationship between the two required fields (servicemember_name, active_duty_start_date) and the computations. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 11 parameters with examples (e.g. interest rate as 0.18, date formats). The description adds one piece of semantics the schema does not: the 6% statutory cap that contextualizes county_interest_rate_annual and the penalty stripping that relates to billed_accrued_interest_and_penalties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb pair (audit and enforce) and a precisely scoped resource: the SCRA 6% delinquent property tax interest cap, cited to statute. The added actions (strip penalties, issue stay of tax sale injunction) make it distinguishable from siblings like audit_property_tax or audit_combat_deployment_abatement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The statute and the 'delinquent property tax' framing imply when the tool applies, but there is no explicit routing guidance versus audit_property_tax, check_delinquent_taxes, or the other veteran-relief auditors. An agent must infer selection from the mention of servicemember status and a county interest rate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_senior_tax_freezeAInspect
Audit eligibility and calculate projected 5-year savings for the Tennessee Senior Property Tax Freeze under T.C.A. § 67-5-705 (Constitutional Amendment 2) locking tax obligations at base year.
| Name | Required | Description | Default |
|---|---|---|---|
| owner_age | Yes | Age of owner as of December 31 | |
| parcel_id | No | Parcel ID | |
| owner_name | Yes | Property owner name | |
| county_name | No | County name | |
| property_address | No | Property street address | |
| current_year_tax_bill | Yes | Current year total property tax bill | |
| annual_household_income | Yes | Annual household income (ceiling: $45,000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It discloses that the tool audits eligibility, calculates projected 5-year savings, and references base-year locking under the statute, but it does not clarify whether the operation is read-only, what permissions are required, how ineligible cases are handled, or what assumptions drive the savings projection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the primary actions and names the program and statute without wasted text. The statutory citation and base-year reference are dense but directly relevant to the tool's scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a statutory eligibility-and-savings calculation with seven parameters, no output schema, and no annotations, the description is somewhat thin. It names the program and the five-year projection, but it does not explain the output structure, calculation assumptions, or eligibility decision details that would help an agent interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all seven parameters, including the $45,000 income ceiling. The description adds program context such as the five-year projection horizon and base-year lock, but it does not add parameter-specific meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs, 'Audit eligibility' and 'calculate projected 5-year savings,' for a clearly named program: the Tennessee Senior Property Tax Freeze. It also cites the governing statute, which distinguishes it from sibling relief tools such as disabled homeowner, disabled veteran, and surviving spouse programs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied by the program name and the eligibility-audit framing, but the description does not explicitly state when to use this tool versus siblings like check_eligibility or audit_property_tax. It also does not spell out prerequisites such as age thresholds or the income ceiling, though the income ceiling appears in the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_square_footage_correctionAInspect
Audit and generate a Property Record Correction Petition under T.C.A. § 67-5-508 for mass-appraisal square footage errors (e.g., screened porches or unfinished areas counted as heated GLA).
| Name | Required | Description | Default |
|---|---|---|---|
| parcel_id | No | Parcel ID | |
| owner_name | No | Property owner name | |
| county_card_sqft | Yes | Square footage listed on current county CAMA card | |
| property_address | No | Property street address | |
| discrepancy_reason | No | Reason for error (e.g. unheated screened porch counted as living area) | |
| actual_measured_sqft | Yes | Actual measured heated gross living area (ANSI Z765) | |
| total_assessed_value | No | Current total assessed value |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It says a petition is generated under a specific statute, but it does not say whether the petition is merely drafted or filed, what permissions or prerequisites are needed, what the response contains, or what side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the core action and legal context front-loaded, followed by clarifying examples. There is no redundant or filler text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex legal-petition generation tool with seven parameters, no output schema, and no annotations. The description explains the purpose but leaves important runtime context unstated, especially what the tool returns and whether it performs any filing or mutation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter meanings are already well documented. The description's square-footage example loosely connects to county_card_sqft, actual_measured_sqft, and discrepancy_reason, but it does not add meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Audit and generate a Property Record Correction Petition') tied to a specific legal basis and a narrowly defined error type ('mass-appraisal square footage errors'). The examples of screened porches or unfinished areas counted as heated GLA make it clearly distinct from broader audit siblings such as audit_property_tax.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear use case: square footage errors where county card GLA overstates heated living area, with concrete examples. It does not name alternatives or exclusions, so it falls short of a 5 but provides enough context to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_surviving_spouse_portabilityCInspect
Audit and generate Certificate of Surviving Spouse Homestead Exemption Portability & Transfer under Tex. Tax Code § 11.131(d) and Fla. Stat. § 196.081(3) to carry over certified tax exemption to a new primary residence.
| Name | Required | Description | Default |
|---|---|---|---|
| new_parcel_id | Yes | Parcel ID of new primary residence | |
| is_unremarried | Yes | Whether surviving spouse remains unremarried (statutory prerequisite) | |
| new_county_name | No | County of new primary residence | |
| prior_parcel_id | Yes | Parcel ID of prior homestead | |
| prior_county_name | No | County of prior homestead | |
| new_property_address | No | Street address of new primary residence | |
| deceased_veteran_name | Yes | Deceased qualifying disabled veteran legal name | |
| surviving_spouse_name | Yes | Unremarried surviving spouse legal name | |
| new_property_market_value | No | Appraised fair market value of new primary residence | |
| prior_exemption_amount_usd | Yes | Certified dollar amount of prior property tax exemption |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not disclose what the 'audit' step validates, what the generated certificate contains or whether it is a filing-ready artifact, how a false is_unremarried is handled, whether cross-state TX/FL scenarios are supported, or whether the call is a pure read or has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the purpose and statutory basis arrive immediately. It is dense with legal citations but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter, 6-required legal-document generation tool with no annotations and no output schema, the description should explain what the certificate output looks like and what the audit checks. Those gaps, plus the missing differentiation from the surviving-spouse sibling, leave an agent under-informed before invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the 10 parameters is already documented in the schema, which sets the baseline at 3. The description adds only the general notion of carrying a certified amount from a prior parcel to a new one, without adding format, units, or constraint detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb pair (audit and generate) plus a specific artifact (Certificate of Surviving Spouse Homestead Exemption Portability & Transfer) with statutory grounding in Tex. Tax Code § 11.131(d) and Fla. Stat. § 196.081(3). It is clear what the tool does, but it never distinguishes itself from the close sibling audit_surviving_spouse_vet_relief, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, no prerequisite framing, and no mention of alternatives such as audit_surviving_spouse_vet_relief, check_eligibility, or check_veteran_relief. The only usage signal is implicit in the phrase 'to carry over certified tax exemption to a new primary residence'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_surviving_spouse_vet_reliefAInspect
Audit eligibility and generate Form F-16 property tax relief application for unremarried surviving spouses of 100% P&T disabled veterans or service members killed in action under T.C.A. § 67-5-704(b).
| Name | Required | Description | Default |
|---|---|---|---|
| parcel_id | No | Parcel ID | |
| market_value | No | Current total appraised market value | |
| is_unremarried | Yes | True if surviving spouse has not remarried | |
| military_branch | No | Branch of Armed Forces | |
| property_address | No | Property street address | |
| is_primary_residence | Yes | True if owned and occupied as primary residence on January 1 | |
| deceased_veteran_name | Yes | Deceased veteran legal name | |
| surviving_spouse_name | Yes | Surviving spouse legal name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose one real behavioral trait beyond the schema: the tool produces a Form F-16 application document, not just a boolean eligibility verdict. However, it says nothing about what happens when the spouse fails eligibility, whether the generated form is persisted or returned, or what permissions/documents are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence that front-loads the two actions and then narrows to the eligible population and the governing statute. No filler and no restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no annotations, and no output schema, the description should say more about the return value (eligibility result plus a generated form artifact) and failure paths. The statutory scope is well covered, but the artifact-generation behavior an agent needs in order to consume the result is left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 8 parameters are already documented in the schema and the baseline is 3. The description adds context for the statutory conditions behind is_unremarried and is_primary_residence (100% P&T / KIA, § 67-5-704(b)), but contributes no format or dependency detail for parcel_id or market_value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific compound verb (audit eligibility + generate Form F-16 application), the precise resource (property tax relief under T.C.A. § 67-5-704(b)), and the exact beneficiary class (unremarried surviving spouses of 100% P&T veterans or KIA service members). That beneficiary scope is enough to distinguish it from sibling relief tools like audit_disabled_veteran_relief and audit_surviving_spouse_portability without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The qualifying conditions (unremarried spouse, 100% P&T or KIA, statutory citation) imply when the tool applies, but there is no explicit when-to-use/when-not statement and no naming of alternatives among the many adjacent veteran and spouse relief tools. An agent must infer the routing from the beneficiary description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_va_award_document_with_jevBInspect
Audit, classify, and extract military disability / discharge verification from VA award letters, DD-214s, or rating code sheets using TypeSafe System One (Jev). Validates P&T, TDIU, and surviving spouse DIC for $0.00 pro-bono statutory property tax exemption.
| Name | Required | Description | Default |
|---|---|---|---|
| raw_ocr_text | Yes | Raw OCR or PDF text extracted from VA benefit summary letter or DD-214 | |
| veteran_name | No | Optional claimant / veteran full name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It notes the $0.00 pro-bono nature of the exemption check, which is useful context, but says nothing about whether the document is stored, whether this is a read-only analysis, what happens on unreadable OCR input, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with the action and the domain of documents front-loaded; the second sentence carries the eligibility scope. The phrase 'using TypeSafe System One (Jev)' and the '$0.00 pro-bono statutory' framing are slightly promotional but still informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should say what the audit returns (classification verdict, extracted ratings, eligibility determination). For an extract-and-classify tool with 2 inputs, the absence of any return-value or side-effect description leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters, so the baseline is 3. The description adds document-type context that clarifies what raw_ocr_text should contain (VA benefit summary, DD-214, rating code sheet), but it adds no format or length guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names specific verbs (audit, classify, extract) and concrete resources (VA award letters, DD-214s, rating code sheets), plus the backing system (TypeSafe System One / Jev). It does not differentiate itself from near-neighbors like parse_va_benefit_letter or verify_va_disability_exemption, so an agent must infer the boundary from the phrase 'audit ... with Jev'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied through the document types and the P&T/TDIU/DIC exemption purpose. There is no explicit statement of when to pick this over verify_va_disability_exemption or parse_va_benefit_letter, and no prerequisites or when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_va_funding_fee_refundBInspect
Audit eligibility and draft statutory lender demand letter for full refund of VA Home Loan Funding Fee under 38 U.S.C. § 3729(c) for veterans awarded retroactive service-connected disability ratings.
| Name | Required | Description | Default |
|---|---|---|---|
| lender_name | Yes | Originating or current mortgage lender name | |
| loan_amount | Yes | Base loan amount before funding fee | |
| loan_number | No | Mortgage loan number | |
| closing_date | Yes | Mortgage loan closing date (YYYY-MM-DD) | |
| veteran_name | Yes | Veteran's legal name | |
| rating_effective_date | Yes | Effective date of service-connected rating from VA Rating Decision (YYYY-MM-DD) | |
| va_disability_percentage | Yes | Current VA disability rating percentage (min 10%) | |
| applied_funding_fee_percentage | Yes | VA funding fee percentage charged (e.g. 2.15) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose a consequential behavior — that it drafts a statutory lender demand letter, not just computes a number — and cites § 3729(c), which is real added context. However it never says whether the letter is returned, saved, or sent, nor whether ineligibility is reported, so material behavioral gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, front-loaded on the audit verb and the refund subject. It is dense enough that the second half (statute citation plus eligibility condition) requires a careful read, which keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Eight parameters with seven required is a substantial schema, and with no output schema and no annotations the description should say what comes back (an eligibility determination? a letter body?). The statutory citation lets an agent route correctly, but the output and the eligibility test itself are unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all eight parameters are already documented, making the baseline 3. The description hints at the semantics that matter most — the interaction between rating_effective_date and closing_date that establishes retroactivity — but leaves the agent to infer that relationship rather than stating it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States two specific verbs (audit eligibility, draft demand letter) against a specific resource (VA Home Loan Funding Fee refund), with a named legal basis. It is clearly separable from siblings like verify_va_disability_exemption or audit_va_award_document_with_jev, though it never explicitly names a sibling to route against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for veterans awarded retroactive service-connected disability ratings' implies the qualifying scenario, which is useful context. But there is no explicit when-not guidance, no alternatives named, and no statement of what to do if eligibility fails.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_veteran_living_trust_preservationBInspect
Audit and format Sworn Affidavit of Continued Beneficial Homestead Occupancy to preserve 100% disabled veteran statutory property tax relief after deeding residence to a revocable living trust under T.C.A. § 67-5-704(g) and Tex. Tax Code § 11.13(j).
| Name | Required | Description | Default |
|---|---|---|---|
| parcel_id | Yes | County parcel ID / APN | |
| trust_name | Yes | Full legal name of revocable living trust | |
| county_name | No | County name | |
| veteran_name | Yes | Veteran's legal name | |
| property_address | No | Property street address | |
| deed_recording_date | No | Date deed to trust was recorded with County Register of Deeds (YYYY-MM-DD) | |
| has_lifetime_occupancy_right | Yes | Whether trust instrument explicitly grants lifetime right of residential occupancy | |
| annual_property_tax_relief_usd | No | Annual statutory property tax relief amount to be preserved | |
| veteran_is_primary_beneficiary | Yes | Whether veteran is the settlor/grantor and primary lifetime beneficiary |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says 'audit and format' but never says what the audit does when eligibility facts fail (the two boolean parameters), whether it produces a fillable document, a warning list, or a refusal, or whether anything is written/recorded. For a tool that generates a sworn legal affidavit, the behavioral profile is materially under-disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the purpose and legal basis front-loaded and no filler. It is jargon-heavy (statute citations, 'continued beneficial homestead occupancy'), but every clause earns its place given the domain.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With nine parameters, no output schema, and no annotations, the description should say what the call returns and what happens on ineligible inputs. Neither is covered, so an agent cannot predict the result shape or failure behavior for a document-generation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all nine fields are already documented with types and meanings. The description adds no further semantics beyond naming the general domain, which meets the baseline for fully-covered schemas but nothing more.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('audit and format') and a specific deliverable ('Sworn Affidavit of Continued Beneficial Homestead Occupancy') with the legal effect being pursued. It does not distinguish itself from close siblings such as audit_disabled_veteran_relief, audit_surviving_spouse_vet_relief, or audit_veteran_shield, so an agent cannot route between them on description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trigger situation is implied clearly ('after deeding residence to a revocable living trust'), which is genuinely useful context. But there is no explicit when-not guidance, no statement of prerequisites (e.g., must the disability rating be verified first via verify_va_disability_exemption?), and no named alternative for non-trust cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_veteran_sah_ada_exclusionCInspect
Audit eligibility and format Specially Adapted Housing (SAH) and ADA accessibility assessment exclusion under 38 U.S.C. § 2101 & T.C.A. § 67-5-601 to excise medically necessary mobility improvements from residential property assessment.
| Name | Required | Description | Default |
|---|---|---|---|
| parcel_id | Yes | County parcel ID / APN | |
| county_name | No | County name | |
| veteran_name | Yes | Veteran's legal name | |
| county_tax_rate | No | Combined county and municipal tax rate per $100 assessed (default 3.0137) | |
| property_address | Yes | Property street address | |
| has_sah_or_sha_grant | No | Whether veteran received VA Specially Adapted Housing or Special Home Adaptation grant (VA Form 26-4555) | |
| va_disability_percentage | No | VA service-connected disability percentage (min 10% or physician certified) | |
| accessibility_improvements_cost | Yes | Documented contractor/material cost of accessibility improvements (ramps, roll-in showers, lifts) | |
| current_assessed_improvement_value | No | Current building assessed value on county CAMA card |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it does not disclose whether this tool is read-only or produces/records an exclusion filing, what permissions or documentation are required, whether results are persisted, or what happens on ineligible cases. The only behavioral signal is the word 'Audit', which implies analysis, but 'format' implies a possible write — the ambiguity is unresolved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no filler, which is good, but it is heavily compressed statutory jargon packed into one clause, making the actual action harder to parse than necessary. No structural headings or sentence breaks for a tool with 9 parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter, no-annotation, no-output-schema tool, the description omits what the tool returns (an eligibility determination? a formatted exclusion document? a tax savings figure?), how the statutory tests are applied, and what happens with the optional inputs. The legal citation alone does not give an agent enough to call this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (parcel_id, has_sah_or_sha_grant, va_disability_percentage, accessibility_improvements_cost, county_tax_rate, etc.) is already documented. The description adds only the statutory framework that gives those inputs meaning; it does not explain defaults, units, or how optional parameters change the computation. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (SAH / ADA accessibility assessment exclusion) and the two governing statutes (38 U.S.C. § 2101, T.C.A. § 67-5-601), plus the intended effect (excise mobility improvements from residential assessment). That is enough to distinguish it from neighbors like audit_disabled_veteran_relief or verify_va_disability_exemption. The compound verb 'Audit eligibility and format' is ambiguous, however — it is unclear whether 'format' means producing a filing document or normalizing data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit statement of when to choose this tool versus the many sibling relief/eligibility audits (audit_disabled_homeowner_relief, audit_disabled_veteran_relief, audit_combat_deployment_abatement, verify_va_disability_exemption). Usage is only inferable from the statutory citations and the phrase 'excise medically necessary mobility improvements' — no prerequisites, exclusions, or alternative routing are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_veteran_shieldARead-onlyIdempotentInspect
Review completeness of supplied applicant, property, residence, review-year and VA-related answers. Missing facts stay unknown. Returns requirements-review gaps, not eligibility, savings, verified identity or filing authority. Free screening; no provider request, document generation or filing.
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | Legacy alias for property_address; not a parcel lookup. | |
| parcel_id | No | Explicit county parcel or property account identifier. | |
| state_code | No | Reported two-letter state code; no default jurisdiction. | |
| county_name | No | Reported county. No county is inferred from an address. | |
| review_year | No | Requested review year, separate from any county source or bill year. | |
| veteran_name | No | Applicant name supplied for this review; never inferred from an account or VA record. | |
| has_remarried | No | Reported surviving-spouse remarriage status. Omit when unknown. | |
| has_va_dic_award | No | Reported VA survivor benefit award status. Omit when unknown. | |
| property_address | No | Explicit property street address. Supply the parcel or account identifier separately. | |
| rating_percentage | No | Legacy alias for va_disability_percentage. Conflicting values remain unknown. | |
| honorable_discharge | No | Legacy alias for is_honorable_discharge. Conflicting values remain unknown. | |
| is_surviving_spouse | No | Whether the applicant is a surviving spouse. This does not establish DIC, remarriage status or eligibility. | |
| is_primary_residence | No | Whether this property is the applicant's primary residence for the requested review year. Omit when unknown. | |
| is_honorable_discharge | No | Reported honorable discharge status; no document verification is performed. | |
| is_permanent_and_total | No | Reported permanent-and-total status, separate from rating. Omit when unknown. | |
| ownership_relationship | No | Reported relationship to this property; does not establish ownership or delegated authority. | |
| va_disability_percentage | No | Reported VA disability rating. A 100% rating alone does not establish permanent-and-total status. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive/closed-world, so the bar is lower, and the description still adds real behavior: unprovided facts remain unknown rather than being inferred or looked up, and the call triggers no provider request, document generation or filing. The one thing left unsaid is what a returned 'gap' record actually contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Roughly fifty words, front-loaded with the action and immediately followed by the scope limits; every sentence carries a distinct constraint. It is lean for a 17-parameter tool, which is a virtue, though the final clause reads as a terse list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 17 all-optional parameters and no output schema, the description correctly sets expectations that unknowns stay unknown and that results are gaps not determinations. However, with no output schema it never characterizes the shape or contents of the returned gap review, leaving the agent to guess what a successful response looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and every field—including deprecated aliases and the ownership_relationship enum—is documented in the schema itself. The description only groups the inputs into applicant/property/residence/review-year/VA categories, which is mild reinforcement rather than new semantics, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb+resource are specific: it reviews the completeness of supplied applicant, property, residence, review-year and VA answers, and explicitly states the output is a requirements-gap review rather than an eligibility determination. It does not name which veteran-related sibling (check_veteran_relief, verify_va_disability_exemption, audit_surviving_spouse_vet_relief) it replaces in which situation, so an agent must still infer the boundary from the negative framing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Free screening; no provider request, document generation or filing' implies the pre-flight/pre-eligibility context, and 'not eligibility, savings, verified identity or filing authority' implies those jobs belong to other tools. But no sibling is named and no explicit when-to-use/when-not rule is given, so routing still depends on inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_delinquent_taxesBInspect
Audit property for active County Trustee delinquent property tax liens, accrued penalty/interest, multiple-year exposure, and Chancery Court foreclosure tax sale risk.
| Name | Required | Description | Default |
|---|---|---|---|
| parcel_id | No | County parcel ID (e.g. '137A T 016') | |
| property_address | No | Property street address (e.g. '2430 CAMPBELL ST') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does disclose the substance of what is examined and surfaced — active trustee liens, accrued penalty/interest, multi-year exposure, Chancery Court foreclosure tax-sale risk — which gives useful behavioral context. It says nothing about data sources, freshness, failure modes, or that the operation is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; every clause names a distinct audited facet. It is dense and jurisdiction-flavored ('Chancery Court') but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description reasonably enumerates the kinds of findings returned, which partially compensates. But it leaves unresolved how the two optional parameters combine and unlike a tool with an output schema, return structure must be inferred.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters carry examples, so the schema already documents the inputs. The description adds nothing about parameter behavior — notably it does not say whether parcel_id or property_address is preferred, or whether either alone is sufficient given that zero parameters are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Audit') and a specific resource (delinquent property tax liens, penalty/interest, multi-year exposure, foreclosure sale risk). An agent knows exactly what domain outcome this tool produces, though it never names or distinguishes itself from close siblings like audit_property_tax or lookup_property_tax.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance at all. With roughly 80 siblings including audit_property_tax, lookup_property_tax, and check_portfolio_address_status, the absence of routing guidance is a real gap; the enumerated risk facets only loosely imply the use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_eligibilityAInspect
Check if a street address is within Untax's active launch area (Hamilton County, TN / Chattanooga) or eligible to join the expansion waitlist.
| Name | Required | Description | Default |
|---|---|---|---|
| street_address | Yes | Full property street address (e.g. '3731 Anderson Ave, Chattanooga, TN' or '123 Main St, Austin, TX') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden; it does disclose the geographic scope of the check and the two possible outcomes (inside launch area vs. waitlist-eligible), which is real behavioral context. However, it says nothing about the response shape, error behavior for malformed or out-of-state addresses, or whether the call has side effects (e.g., actually adding someone to a waitlist).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with the decision criterion and the geography stated immediately. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should say what a result contains and whether the call is read-only or has side effects. It covers the input question well but leaves the return value and resolution status of out-of-area addresses unexplained, which is exactly what a caller of an eligibility gate needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter carries its own format examples, so the description adds no parameter-level detail. Baseline 3 applies when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Check') and resource ('street address') with the precise decision being made: in-area vs. waitlist-eligible, naming the geography (Hamilton County, TN / Chattanooga). It does not explicitly contrast with the closely related siblings join_waitlist or suggest_addresses, so it falls short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the phrase 'eligible to join the expansion waitlist,' which hints that join_waitlist is the follow-up action, but the description never says when to call this versus join_waitlist or suggest_addresses. An agent must infer the workflow ordering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_portfolio_address_statusAInspect
Reconcile address change orders against official county roll records, returning per-parcel status ('verified_on_roll', 'watching_roll', 'stalled_needs_followup').
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Order ID returned by generate_address_change_packet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it does add real value by disclosing the return vocabulary ('verified_on_roll', 'watching_roll', 'stalled_needs_followup'), which tells the agent this is a read-style reconciliation check. It says nothing about record freshness, permission requirements, or whether it mutates state, leaving gaps for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that leads with the action and then the return contract, with zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description usefully compensates by enumerating the return statuses, so an agent knows what a call yields. The main shortfall is the absence of usage/routing context, which keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter already documents its origin (generate_address_change_packet), so the description adds no parameter meaning beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (reconcile) and two concrete resources (address change orders vs. official county roll records), and even names the exact status values returned. An agent can distinguish this from write-side siblings like generate_address_change_packet or quote_address_change without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use, when-not-to-use, or alternative-tool guidance. The only routing signal (order_id comes from generate_address_change_packet) lives in the schema, not the description, and no sibling like quote_address_change is mentioned as a contrast.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_veteran_reliefARead-onlyIdempotentInspect
Screen supplied applicant, property, residence, review-year and VA-related answers for missing information before a program requirements review. Uses the same contract as audit_veteran_shield. No default applicant or jurisdiction, eligibility decision, tax estimate, provider verification, document generation or filing.
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | Legacy alias for property_address; not a parcel lookup. | |
| parcel_id | No | Explicit county parcel or property account identifier. | |
| state_code | No | Reported two-letter state code; no default jurisdiction. | |
| county_name | No | Reported county. No county is inferred from an address. | |
| review_year | No | Requested review year, separate from any county source or bill year. | |
| veteran_name | No | Applicant name supplied for this review; never inferred from an account or VA record. | |
| has_remarried | No | Reported surviving-spouse remarriage status. Omit when unknown. | |
| has_va_dic_award | No | Reported VA survivor benefit award status. Omit when unknown. | |
| property_address | No | Explicit property street address. Supply the parcel or account identifier separately. | |
| rating_percentage | No | Legacy alias for va_disability_percentage. Conflicting values remain unknown. | |
| honorable_discharge | No | Legacy alias for is_honorable_discharge. Conflicting values remain unknown. | |
| is_surviving_spouse | No | Whether the applicant is a surviving spouse. This does not establish DIC, remarriage status or eligibility. | |
| is_primary_residence | No | Whether this property is the applicant's primary residence for the requested review year. Omit when unknown. | |
| is_honorable_discharge | No | Reported honorable discharge status; no document verification is performed. | |
| is_permanent_and_total | No | Reported permanent-and-total status, separate from rating. Omit when unknown. | |
| ownership_relationship | No | Reported relationship to this property; does not establish ownership or delegated authority. | |
| va_disability_percentage | No | Reported VA disability rating. A 100% rating alone does not establish permanent-and-total status. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds useful scope behavior: there is no default applicant or jurisdiction, and the tool does not make eligibility decisions, provide tax estimates, verify providers, generate documents or file anything.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the tool's purpose before listing exclusions. The second and third sentences are dense but purposeful, and no sentence is merely redundant with the title or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 17 optional parameters, full schema coverage and annotations, the description is complete enough for correct tool selection. It could say more about the expected return shape for the missing-information screening, but the lack of an output schema and the clear scope boundaries make this a minor gap rather than a blocking one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each of the 17 parameters is already documented in the input schema. The description summarizes the parameter categories but does not add syntax, formatting or conflict-resolution details beyond the schema, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: screening supplied applicant, property, residence, review-year and VA-related answers for missing information before a program requirements review. It explicitly rules out adjacent capabilities such as eligibility decisions, tax estimates, provider verification, document generation and filing, which distinguishes it from sibling audit, eligibility and document-generation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear timing guidance: use it before a program requirements review to screen for missing information. It also lists what the tool does not do, implicitly steering eligibility, estimate, verification and filing work elsewhere, but it does not explicitly name the alternative sibling tools to use instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_tax_sandbox_orderAIdempotentInspect
Verify fresh Stripe TEST payment for your own sandbox order and release its hash-bound draft packet and receipt. Records a simulated submission only; never submits a real appeal or changes county records. Requires owner:sandbox sign-in and a completed test checkout.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as non-read-only, idempotent, non-destructive, and open-world. The description adds important context beyond annotations: it records a simulated submission only, never submits a real appeal or changes county records, and requires sandbox authentication plus a completed test checkout.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences with the action, behavioral limits, and prerequisites front-loaded. There is no wasted repetition or boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the critical behavioral constraints for a sandbox finalization tool, including authentication, test-payment state, and simulation-only side effects. Without an output schema, it could say more about the returned packet/receipt or how to source order_id, so a small completeness gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter is order_id, and the schema provides no description at all (0% coverage). The description says it is for “your own sandbox order,” which gives minimal context, but it does not explain the expected identifier format or where to obtain the order_id, so it does not compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: verify a fresh Stripe TEST payment for a sandbox order and release its draft packet and receipt. It implies this is the finalization step relative to start_tax_sandbox and get_tax_sandbox_order, but it does not name or explicitly distinguish those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear preconditions: owner:sandbox sign-in and a completed test checkout, and limits use to fresh Stripe TEST payments for your own sandbox order. It does not explicitly route the agent to start_tax_sandbox or get_tax_sandbox_order when those are the correct alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
curate_portfolio_selectionBInspect
Interactively curate a staged portfolio selection in Chat / MCP: add new parcels, remove sold or NNN properties, toggle selection, set Primary Residence / Homestead HQ, or execute natural language instructions with TypeSafe System One (Jev). Recalculates selected parcel counts, total market value, and estimated annual tax recovery in real-time.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Curation action: 'remove', 'add', 'set_homestead', 'toggle', or 'auto' (default: 'auto') | |
| reason | No | Reason for exclusion or modification (e.g. 'under contract to sell', 'NNN lease') | |
| staging_id | No | Optional staging identifier | |
| client_name | No | Optional client name | |
| staged_properties | Yes | Array of staged property objects from previous staging/curation turn | |
| address_or_parcel_id | No | Target street address, parcel ID, or street name token (e.g. '4006 Brock Rd' or 'Brock Rd') | |
| conversational_instruction | No | Natural language instruction from user in chat (e.g. 'Remove Brock Rd because we are selling it next week, keep the rest') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It usefully states that counts, total market value, and estimated annual tax recovery recalculate in real-time, but says nothing about the mutation consequences of remove/toggle, whether curation is persisted or reversible, what "auto" or the opaque "TypeSafe System One (Jev)" actually does, or any auth/rate constraints — a significant gap for a state-changing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the core action and followed by the recalculated outputs. Every clause maps to a capability or side effect. Minor cost: the inline jargon "TypeSafe System One (Jev)" adds a name the agent cannot act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter, state-mutating tool with no annotations and no output schema, the description covers the action surface and the derived recalculations reasonably. It does not explain the return payload, what happens to the staged list after remove/toggle, or how it composes with stage_portfolio_selection, leaving a real gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description genuinely adds meaning beyond the enum labels: it maps 'add'/'remove' to domain intent (new parcels vs. sold or NNN properties), 'set_homestead' to Primary Residence/Homestead HQ, and 'auto' to natural-language execution. It still leaves staging_id, client_name, and reason semantics entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ("curate a staged portfolio selection") with an enumerated action set: add parcels, remove sold/NNN properties, toggle, set Primary Residence/Homestead HQ, and NL execution. An agent knows exactly what the tool does. However, it never distinguishes itself from the closely-named sibling stage_portfolio_selection, so an agent must infer that this operates on an already-staged set rather than creating one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by "from previous staging/curation turn" in the schema and by "staged portfolio selection in Chat / MCP," suggesting it is a follow-on to staging. But there is no explicit when-to-use statement, no exclusion of stage_portfolio_selection or check_portfolio_address_status, and no prerequisite that a staging_id must already exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forecast_truth_in_taxation_bill_shockBInspect
Model state Truth-in-Taxation revenue-neutral certified tax rates (T.C.A. § 67-5-1701) against proposed county/city tax rates to forecast individual parcel bill shock and appeal savings before tax bills are mailed.
| Name | Required | Description | Default |
|---|---|---|---|
| county | No | County name (e.g. Hamilton, Knox) | |
| address | Yes | Property situs address | |
| parcel_id | Yes | Subject parcel ID | |
| new_appraisal | Yes | New reappraisal cycle appraised market value | |
| prior_appraisal | Yes | Prior cycle appraised market value |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description must disclose operational behavior; it explains the modeling context but not whether the tool is read-only, has side effects, requires permissions, or returns only estimates. The legal and timing context is useful but insufficient for full behavioral transparency without annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no filler. Each clause identifies the statute, modeling basis, forecast outcomes, and timing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition gives enough domain framing to understand the forecast, and all input parameters are documented in the schema. However, with no output schema it does not describe the return structure, and with no annotations it leaves operational assumptions and proposed-rate sourcing unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all five parameters, so the schema already carries the parameter semantics. The description adds domain context but does not clarify how 'proposed county/city tax rates' are supplied when no such parameter exists, so it does not improve on the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Model') and a specific domain object ('Truth-in-Taxation revenue-neutral certified tax rates') plus the predicted outcomes ('bill shock and appeal savings'). It is clearly distinct from the sibling audit and lookup tools through its T.C.A. § 67-5-1701 forecasting framing, though it does not explicitly name an alternative tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before tax bills are mailed' gives a clear timing cue for when this forecast is relevant. It does not state when not to use it, prerequisites, or which sibling tools handle adjacent analyses such as reappraisal surge or property tax audits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_sf180_requestAInspect
Generate official Standard Form SF-180 (Request Pertaining to Military Records) to retrieve military discharge Copy 4 (DD-214 Member-4) from the National Personnel Records Center (NPRC) in St. Louis for property tax relief.
| Name | Required | Description | Default |
|---|---|---|---|
| ssn_last4 | No | Last 4 digits of SSN | |
| is_deceased | No | Whether the veteran is deceased (for surviving spouse relief) | |
| veteran_name | Yes | Full legal name used during military service | |
| date_of_entry | No | Approximate date entered active service | |
| service_branch | No | Branch of Armed Forces (e.g. 'U.S. Navy', 'U.S. Army') | |
| service_number | No | Optional military service number or officer ID | |
| requester_address | No | Return mailing address for NPRC delivery | |
| date_of_separation | No | Approximate date of honorable discharge/separation | |
| requester_relationship | No | Relationship to veteran (e.g. 'Self (Veteran)', 'Surviving Spouse') | |
| state_tax_relief_statute | No | Target statutory authority (e.g. 'T.C.A. § 67-5-704') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It usefully names the receiving agency (NPRC St. Louis) and the record type, but it does not state whether the tool merely produces a fillable PDF for the user to mail or actually files a request with NPRC, nor what the caller gets back or any auth requirements. That leaves a meaningful behavioral gap for a document-generation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the form name and resource. It is efficient and readable, though it packs several clauses (form, record copy, agency, purpose) that could be trimmed slightly without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter generation tool with no output schema and no annotations, the description explains the input side well via schema, but omits what the tool produces and whether it submits externally. That is a notable gap for a document/generation tool with zero annotation coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 10 parameters with examples. The description adds domain framing but no parameter-level semantics beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Generate) plus the exact resource (official SF-180), and clarifies the form's target record (DD-214 Member-4) and downstream purpose (property tax relief). This clearly separates it from siblings like generate_veteran_packet and generate_vso_referral, which produce different artifacts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives strong context (property tax relief, NPRC retrieval) that implies when the tool applies, but it never explicitly says when NOT to use it or which sibling (e.g., generate_veteran_packet, generate_vso_referral, run_veteran_pilot_flow) is the alternative for related requests. The routing is left to inference from the domain context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_veteran_packetARead-onlyIdempotentInspect
Return supplied-fact screening and a protected property-workspace handoff before application preparation. Despite the legacy tool name, this currently creates no documents, sends no email and files nothing. Select the saved property and review supporting evidence in the browser. No savings or qualification decision is returned.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Legacy request label only. This tool returns screening gaps and a review handoff; it creates no documents and sends or files nothing. | |
| address | No | Legacy alias for property_address; not a parcel lookup. | |
| parcel_id | No | Explicit county parcel or property account identifier. | |
| state_code | No | Reported two-letter state code; no default jurisdiction. | |
| county_name | No | Reported county. No county is inferred from an address. | |
| review_year | No | Requested review year, separate from any county source or bill year. | |
| veteran_name | No | Applicant name supplied for this review; never inferred from an account or VA record. | |
| has_remarried | No | Reported surviving-spouse remarriage status. Omit when unknown. | |
| has_va_dic_award | No | Reported VA survivor benefit award status. Omit when unknown. | |
| property_address | No | Explicit property street address. Supply the parcel or account identifier separately. | |
| rating_percentage | No | Legacy alias for va_disability_percentage. Conflicting values remain unknown. | |
| honorable_discharge | No | Legacy alias for is_honorable_discharge. Conflicting values remain unknown. | |
| is_surviving_spouse | No | Whether the applicant is a surviving spouse. This does not establish DIC, remarriage status or eligibility. | |
| is_primary_residence | No | Whether this property is the applicant's primary residence for the requested review year. Omit when unknown. | |
| is_honorable_discharge | No | Reported honorable discharge status; no document verification is performed. | |
| is_permanent_and_total | No | Reported permanent-and-total status, separate from rating. Omit when unknown. | |
| ownership_relationship | No | Reported relationship to this property; does not establish ownership or delegated authority. | |
| va_disability_percentage | No | Reported VA disability rating. A 100% rating alone does not establish permanent-and-total status. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only/idempotent/non-destructive, but the description adds critical context beyond them: despite the name, no documents are created, no email is sent, nothing is filed, and no savings or qualification decision is returned. For a tool whose name implies document generation, this disclosure is exactly what an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences with the scope disclaimer front-loaded ahead of navigation advice. The language is slightly jargon-laden ('supplied-fact screening,' 'protected property-workspace handoff') but nothing is expendable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description states what is and isn't returned (screening gaps, review handoff, no eligibility decision), which covers the main gap. With 18 well-documented parameters and read-only annotations, only the shape of the returned screening output remains unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across 18 parameters, including deprecated aliases and their conflict behavior, so the schema does the heavy lifting. The description adds no per-parameter guidance, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the two outputs (supplied-fact screening, protected property-workspace handoff) and explicitly disclaims the misleading legacy name by saying it creates no documents, sends no email, and files nothing. It is distinguishable from document-producing siblings such as generate_sf180_request, though the terms 'screening' and 'handoff' are somewhat abstract.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a light usage cue ('Select the saved property and review supporting evidence in the browser') but never states when to choose this over run_veteran_pilot_flow, check_veteran_relief, or audit_surviving_spouse_vet_relief. Usage is implied rather than explicitly routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_vso_referralAInspect
Generate a pre-formatted warm referral email to an Accredited Veterans Service Officer (DAV, VFW, American Legion, or County VSO) for rating increase or TDIU review when a veteran is rated under 100%.
| Name | Required | Description | Default |
|---|---|---|---|
| state_code | No | State code | |
| county_name | No | County name | |
| veteran_name | No | Veteran's legal name | |
| veteran_email | No | Veteran contact email | |
| veteran_phone | No | Veteran contact telephone | |
| service_branch | No | Military service branch | |
| va_disability_percentage | No | Current VA disability percentage (0-100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It signals the output is a 'pre-formatted' email and identifies the recipient class, which is useful, but it never clarifies whether the tool only drafts or actually sends the email, whether it resolves real VSO contacts from state/county, or what permissions or side effects are involved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence that front-loads the action and artifact, then qualifies eligibility. No filler, nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter generation tool with no output schema and no annotations, the description leaves real gaps: zero parameters are marked required, so an agent cannot tell whether veteran_name or state/county are mandatory to produce a usable referral, and the return format is undescribed. The core use case is covered, but the call-shaping details are not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented, which sets the baseline at 3. The description adds only the 'rated under 100%' context that implicitly ties to va_disability_percentage; it does not explain why state_code and county_name matter (VSO lookup) or what format they take.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Generate') and a specific artifact ('pre-formatted warm referral email to an Accredited VSO'), plus the eligible VSO organizations and the two benefit tracks (rating increase, TDIU). It is clear on its own, but it never distinguishes itself from nearby generation siblings such as generate_veteran_packet or generate_sf180_request, which an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete trigger condition: use it for rating increase or TDIU review 'when a veteran is rated under 100%.' That is genuine when-to-use guidance. It stops short of naming alternatives or stating when-not-to-use (e.g., for veterans already at 100% or for other claim types).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_appeal_lifecycleAInspect
Retrieve the statutory multi-level appeal ladder (Level 0 Informal -> Level 1 County Board -> Level 2 State Board), deadlines, Walk-Away Zero Guarantee upon denial, and mortgage escrow vs direct taxpayer guidance.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. 'Retrieve' strongly implies a read-only reference lookup, and the description lists what content is included (deadlines, guarantee, escrow guidance), but it does not explicitly state read-only/non-destructive behavior, permissions, rate limits, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that opens with the verb and resource, then lists the substantive content areas. Every clause adds meaning, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and no output schema, the description appropriately enumerates the kinds of content returned: appeal ladder levels, deadlines, the Walk-Away Zero Guarantee, and escrow-versus-direct taxpayer guidance. It is complete enough to call, though it does not describe the precise return format or whether the content is static or jurisdiction-specific.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero input parameters, so there is no parameter surface to document. The baseline for a parameterless tool is 4, and the description does not misrepresent any parameter behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, 'Retrieve,' and names the exact resource, the statutory multi-level appeal ladder, while enumerating the levels and included content. It is clearly distinguishable from sibling audit/check/lookup tools that focus on parcel, tax, veteran, or campaign analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the content: an agent can infer this is for appeal-process reference. There is no explicit statement of when to use this versus siblings, no exclusions, and no alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_condition_evidence_catalogAInspect
Retrieve generic property-condition evidence checklists. Categories have not been screened for any property. No repair-cost, legal entitlement, market-value adjustment or tax deduction is established.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose an important trait: the categories are unscreened and no determinations are established, which prevents an agent from treating output as findings. It omits return shape, size, and whether any auth or entitlement applies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what the tool returns, then the caveats. The second sentence is a dense four-item negation list but every item carries distinct meaning, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param read tool with no output schema and no annotations, the description covers purpose and caveats but says nothing about what a checklist entry actually contains or how the catalog feeds the downstream defect-suggestion tool. That relationship is the main missing piece.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema has nothing to explain and there is no semantic gap for the description to fill. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb plus resource ('Retrieve generic property-condition evidence checklists'), and the word 'generic' plus 'Categories have not been screened for any property' implicitly separates it from the property-specific sibling suggest_property_condition_defects. It never names that sibling outright, so differentiation is inferential rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The disclaimer list ('No repair-cost, legal entitlement, market-value adjustment or tax deduction is established') implies this is a preparatory catalog lookup rather than an analysis tool, but the description never states when to reach for it or what to do next. Usage has to be reconstructed from the negative framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hamilton_roll_analyticsBInspect
Retrieve comprehensive historical property assessment roll analytics, multi-cycle growth rates (2017, 2021, 2025), and submarket breakdowns for Hamilton County, TN.
| Name | Required | Description | Default |
|---|---|---|---|
| submarket | No | Optional submarket ID or zip code (e.g. 'north-shore', 'red-bank', '37405', '37415') to query neighborhood metrics |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. 'Retrieve' implies a read operation, but the description does not disclose permissions, data freshness, pagination, output shape, or other operational traits needed to understand behavior beyond the returned content categories.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It states the resource, location, and key data categories efficiently, making every phrase count.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, one-optional-parameter tool with rich schema coverage, the description covers the main purpose and data categories. However, with no annotations and no output schema, it does not provide return-format or operational context that an agent might need to interpret results confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single optional 'submarket' parameter is already documented in the schema. The description mentions 'submarket breakdowns' but does not add syntax or filtering details beyond what the schema provides, making the baseline of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Retrieve') and resource ('historical property assessment roll analytics') with location ('Hamilton County, TN') and named data categories. It distinguishes the tool by county and by data scope, but it does not explicitly contrast with sibling analytics tools such as get_roll_analytics or get_knox_roll_analytics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool retrieves but gives no guidance on when to use it versus alternatives like get_roll_analytics or get_knox_roll_analytics. There are no exclusions, prerequisites, or contextual usage conditions beyond the county name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jurisdiction_exemption_profileBInspect
Retrieve comprehensive statutory exemption rules, local option Senior Freeze ceilings, Disabled Veteran caps, and statutory review dates for any county/state.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | State postal code (e.g. 'TN', 'TX', 'IL') | |
| county | No | County name (e.g. 'Williamson', 'Davidson', 'Hamilton', 'Knox') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully enumerates what the payload contains (rules, ceilings, caps, review dates), which goes beyond the schema, but it omits important behavior: both parameters are optional, so it never says what happens with no arguments, nor whether results are county-level defaults, cached, or authoritative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb first and the returned artifacts listed efficiently. 'Comprehensive' is the one piece of filler, but nothing else wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, so the description is the only source of behavioral detail. It covers return content reasonably well but leaves the zero-required-parameter case and data precedence (state vs county granularity) unspecified — a real gap for a lookup whose inputs are both optional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters carry examples, so the schema already does this work. 'For any county/state' only restates scope; it adds no guidance on whether county can be supplied without state or how state-only requests resolve.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Retrieve) and a concrete resource: statutory exemption rules, Senior Freeze ceilings, Disabled Veteran caps, and review dates scoped to a county/state. An agent can tell this is a jurisdiction-level reference lookup rather than a parcel-level audit like audit_senior_tax_freeze, though the description never names that distinction explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus the many audit_* relief tools that overlap in subject matter (senior freeze, disabled veteran relief, surviving spouse). 'For any county/state' implies jurisdiction-level scope but no exclusion or prerequisite is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_knox_roll_analyticsAInspect
Retrieve comprehensive historical property assessment roll analytics, multi-cycle growth rates (2017, 2021, 2025), and submarket breakdowns for Knox County, TN (Knoxville, Farragut, Bearden, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| submarket | No | Optional submarket ID or zip code (e.g. 'downtown-knoxville', 'sequoyah-hills', 'farragut', '37902', '37919', '37934') to query neighborhood metrics |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'Retrieve' signals a read-only operation and the content categories (roll analytics, multi-cycle growth rates, submarket breakdowns) hint at what comes back, but there is nothing on permissions, cost, result size, or response shape for what is billed as a 'comprehensive' dataset.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with the county and core data categories up front; the parenthetical lists of years and city names add geographic concreteness at modest cost, though the sentence is dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and only one optional parameter, so the description only needs to convey scope and data types, which it does by naming growth cycles and submarket breakdowns; the lack of any return-format hint is a minor gap given the tool's breadth.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single optional submarket parameter, with concrete ID and zip-code examples, so the schema does the heavy lifting. The description's phrase 'submarket breakdowns' only loosely signals the parameter's role and adds no syntax or default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Retrieve') and a well-defined resource (Knox County historical assessment roll analytics, growth rates, submarket breakdowns). The county qualifier distinguishes it from the sibling get_hamilton_roll_analytics and the generic get_roll_analytics, though it never names those alternatives directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied through the 'Knox County' scoping; an agent can infer to use this instead of get_hamilton_roll_analytics for Knox data, but the description never states when to prefer it, or when to use the generic get_roll_analytics instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_microtransactions_catalogBInspect
Inspect an evidence-gated research inventory of property-tax review routes and actual session tool availability. Each route reports held/unavailable/evidence_required and not_screened applicability; no eligibility, pricing, savings, automatic refund or filing readiness is established.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it does disclose the key negative boundary ('no eligibility, pricing, savings, automatic refund or filing readiness is established'), which usefully frames the tool as a research/discovery read. However it never states that the operation is read-only or side-effect free, nor how results are structured beyond the status vocabulary (held/unavailable/evidence_required/not_screened).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the scope statement front-loaded and the limitation clause immediately after. Density of domain jargon slightly hurts readability but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 must describe returns; it names the per-route status categories, which helps, but does not say what a 'route' record contains or how the catalog is ordered/paginated. Combined with the unstated name-to-content relationship, an agent has meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly implies a full-inventory, unfiltered read rather than a targeted lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb 'inspect' and resource 'evidence-gated research inventory of property-tax review routes and actual session tool availability' are specific but jargon-laden, and the description never reconciles with the tool name (get_microtransactions_catalog). An agent can tell roughly what class of data it returns, but the phrasing 'session tool availability' is opaque and does not clearly separate it from sibling 'audit_microtransaction' or 'get_condition_evidence_catalog'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus alternatives, no prerequisites, and no mention of the closely named sibling audit_microtransaction. The agent must infer usage purely from the resource label.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_owner_review_detailsARead-onlyIdempotentInspect
Read one explicitly selected saved property review using the same source-bound service as the website. Requires both identifiers from get_owner_workspace and a live owner:read grant. User reports remain separate from county facts; changes are made in the protected browser review.
| Name | Required | Description | Default |
|---|---|---|---|
| review_id | Yes | ||
| saved_property_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and a closed-world scope, so the safety profile is covered. The description still earns credit for adding an authorization requirement (live owner:read grant), a provenance warning ("user reports remain separate from county facts") and a note that mutations happen elsewhere in the protected browser review. It does not describe what the returned payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the read action and immediately followed by prerequisites. Some internal jargon ("source-bound service") adds length without adding agent-actionable meaning, but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two parameters and no output schema, the definition covers prerequisites, authorization and data provenance well. However, with no output schema the description should at least indicate what a "review detail" contains versus county facts, which it does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the two patterned identifiers (intake_…, property_…) are undocumented in structured fields. The description partly compensates by saying both identifiers come from get_owner_workspace and that the review is explicitly selected, but it never distinguishes review_id from saved_property_id or explains the format constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Read one explicitly selected saved property review" gives a specific verb (read), resource (saved property review) and scope (exactly one, pre-selected). It also ties itself to get_owner_workspace as the identifier source, which helps separate it from the audit_* / analytics siblings, though it never names a true alternative for review retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states concrete preconditions: both identifiers must come from get_owner_workspace and a live owner:read grant is needed. "Explicitly selected" implicitly excludes browse/search usage, but there is no explicit when-not clause or named alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_owner_workspaceARead-onlyIdempotentInspect
Read the signed-in owner's actual saved property reviews with a revocable owner:read grant. Returns explicit property and review identifiers; no active property is assumed. Does not establish ownership, benefit eligibility, savings or filing authority.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses the required owner-scoped grant, states that identifiers are returned explicitly, and clarifies that no active property is assumed. It also warns that the tool does not establish ownership, benefit eligibility, savings, or filing authority, adding useful behavioral boundaries for an owner-facing read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core action and auth context. The trailing disclaimer is useful but slightly dense; overall it avoids repetition and unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with full annotation coverage and no output schema, the description supplies the key context: auth grant, absence of an active property assumption, and the identifiers it returns. It does not describe pagination or result shape, but that is a minor gap given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to describe parameter meanings and appropriately focuses on scope and output identifiers instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: reading the signed-in owner's actual saved property reviews and returning explicit property and review identifiers. This is clear enough to distinguish it from generic property lookup tools, though it does not explicitly contrast it with the closely related sibling get_owner_review_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It specifies an auth context ('revocable owner:read grant') and a scoping condition ('no active property is assumed'), and it rules out ownership, eligibility, savings, and filing authority. However, it does not explicitly say when to use this tool instead of nearby alternatives such as get_owner_review_details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_property_assessmentAInspect
Get retained county assessment observations and source provenance for a supported address or parcel ID. Missing facts stay unavailable; commercial source area is not finished living area. Any comparison is a draft with evidence holds and does not establish personal tax savings or filing readiness.
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | Alternative alias for property street address | |
| county_key | No | Optional exact registered county adapter key, such as hamilton. Restricts lookup to that county and avoids unrelated county scans; conflicting explicit prefixes are rejected. | |
| actual_sqft | No | Optional: Actual measured living area in sq ft | |
| address_or_pidn | Yes | Full street address or county parcel ID (e.g. '3731 Anderson Ave, Chattanooga, TN' or '157I L 001') | |
| notice_appraised_value | No | Optional: New proposed appraised value from reassessment notice |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does disclose non-obvious result semantics: unavailable facts stay unavailable (no fabrication), commercial source area is not finished living area, and comparisons are drafts with evidence holds. It omits read-only/auth/rate-limit behavior and return shape, keeping it from 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with the core purpose front-loaded and caveats following. No filler, though the legalistic phrasing ('evidence holds', 'filing readiness') is slightly heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, so the description must explain returns; it conveys caveats about result reliability but not what fields or structure an agent receives. Adequate but incomplete for a lookup tool with a five-parameter schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented (address, county_key, actual_sqft, address_or_pidn, notice_appraised_value). The description adds no parameter-level meaning beyond the schema, making baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('retained county assessment observations and source provenance') scoped to 'a supported address or parcel ID'. An agent knows what kind of data comes back. It stops short of differentiating from siblings like get_property_model_readiness or lookup_property_tax, so not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'for a supported address or parcel ID' phrasing implies the input precondition, but there is no explicit when-to-use, when-not-to-use, or named alternative among the many sibling tools. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_property_model_readinessCInspect
Inspect retained assessment/building observations, separate classification axes and method-specific missing evidence for local Development testing. This does not establish savings or filing readiness.
| Name | Required | Description | Default |
|---|---|---|---|
| county_key | No | Optional exact registered county adapter key, such as hamilton. Restricts lookup to that county and avoids unrelated county scans; conflicting explicit prefixes are rejected. | |
| address_or_pidn | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose something useful: the output is diagnostic evidence-gap material (classification axes, missing evidence) rather than a savings or filing determination. It still says nothing about whether the lookup is read-only in practice, what happens when the address/PIDN is unknown or outside county_key, or any failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no padding, and the disclaimer is placed after the purpose. However, the first sentence is noun-stacked and information-poor for its length, so brevity does not translate into clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No annotations and no output schema means the description must describe what comes back, and it only gestures at it ('classification axes', 'missing evidence') without structure or format. Combined with an undocumented required parameter, an agent could call this but could not predict or interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: county_key is well documented in the schema, but address_or_pidn has no schema description and the tool description never mentions either parameter. The dual address-or-PIDN format (and what a PIDN looks like) is left entirely unexplained, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb is 'Inspect' but the resource is buried in jargon ('retained assessment/building observations, separate classification axes and method-specific missing evidence') that never resolves into a concrete, checkable operation. An agent cannot tell what this returns or how it differs from siblings like get_property_assessment or simulate_property_model, which sound like the same domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage framing is a restriction ('for local Development testing') plus an exclusion ('does not establish savings or filing readiness'). There is no positive guidance on when to call this versus the many audit_*/get_* assessment tools, and no prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_representation_rulesBInspect
Look up statutory property tax representation rules, agent licensing requirements, written appearance waiver statutes, and governing boards across states (e.g. TN, GA, FL, TX, NC, AL).
| Name | Required | Description | Default |
|---|---|---|---|
| state_code | No | Two-letter state postal abbreviation (e.g. 'TN', 'GA', 'FL', 'TX'). Leave empty to retrieve all supported states. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It conveys that this is a static statutory reference lookup (implying a safe read), but says nothing about result breadth, whether all states are returned by default, or whether the statutory content is versioned/limited. Adequate but thin for a zero-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the domain terms come first and the state examples come last as parenthetical illustration. Slightly list-dense but every clause identifies a distinct content category the tool returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-parameter reference tool this is close to sufficient, but with no output schema and no annotations the description should at least sketch what a result contains (per-state rule records, license requirement text, board names) so the agent knows what to expect. It enumerates topics but not the shape of the return.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the state_code semantics (two-letter abbreviation, empty means all states) are already fully documented. The example states in the description reinforce but do not extend that. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Look up' plus a precisely scoped resource: statutory property tax representation rules, licensing requirements, waiver statutes, and governing boards. This clearly separates it from lookup_property_tax (tax amounts) and the audit_* family. It falls short of 5 only because it does not name the closest sibling it contrasts with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the reference-lookup framing, but there is no explicit when-to-use, when-not-to-use, or mention of any alternative tool. The agent must infer that this is for regulatory/representation questions rather than valuation or exemption questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_roll_analyticsCInspect
Retrieve historical property assessment roll analytics for supported counties (Hamilton County or Knox County, TN).
| Name | Required | Description | Default |
|---|---|---|---|
| county | No | County name ('hamilton' or 'knox', default: 'hamilton') | |
| submarket | No | Optional submarket ID or zip code |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full disclosure burden, yet it says nothing about what 'analytics' actually contains (aggregates, time series, per-parcel roll history), what time span 'historical' covers, or response shape and size. 'Retrieve' implies a read, but that is inference rather than disclosure; permissions, rate limits, and failure modes for unsupported counties are unaddressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the resource stated first and the county constraint trailing. Nothing is wasted, though its brevity is partly under-specification rather than disciplined economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and vague 'analytics' terminology, the description leaves the agent unable to predict what the call returns or how to choose between this and the county-specific siblings. For a data-retrieval tool in a 50+ sibling namespace, it should do more.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both 'county' (with default 'hamilton') and the optional 'submarket' are documented in the schema, so the baseline is 3. The description reinforces the two supported county values but adds no meaning about what a submarket ID or zip code actually filters within roll analytics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Retrieve') and resource ('historical property assessment roll analytics') with an explicit scope of Hamilton or Knox County, TN, so the agent knows exactly what data domain this covers. It does not, however, distinguish itself from the sibling tools get_hamilton_roll_analytics and get_knox_roll_analytics, which appear to cover the same ground per-county.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given, and the near-duplicate siblings get_hamilton_roll_analytics and get_knox_roll_analytics are never mentioned, leaving the agent to guess whether this unified tool supersedes them. There is also no guidance on when to supply a submarket versus omitting it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tax_sandbox_orderARead-onlyIdempotentInspect
Read your own isolated Untax test order. Requires owner:sandbox sign-in. Payment and draft delivery statuses are separate from production eligibility or county filing.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotent/non-destructive, so the bar is lower, yet the description adds real context: the auth requirement and the warning that payment and draft delivery statuses do not imply production eligibility or county filing. That is a genuine interpretation caveat an agent would otherwise get wrong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero filler, with the core action front-loaded before the auth requirement and the status caveat. Nothing could be cut without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries some burden for return semantics; it hints that statuses exist but never enumerates the fields returned. Combined with the undocumented order_id, an agent has the gist but not enough to call confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter order_id has 0% schema description coverage, and the description never says what an order ID is, its format, or where to obtain one (e.g., from start_tax_sandbox). With low coverage the description must compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Read your own isolated Untax test order") and adds the sandbox scoping that separates it from production lookups. It does not explicitly distinguish itself from the sibling start_tax_sandbox / complete_tax_sandbox_order pair, so it stops 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Requires owner:sandbox sign-in" gives a precondition for use, which implies who may call it. But there is no explicit guidance on when to read versus when to complete the order (complete_tax_sandbox_order) or start one, so alternatives are left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_waitlist_analyticsBInspect
Retrieve real-time waitlist analytics: total signups, referral attribution channels, geographic expansion demand by city/state, email consent rates, and recent activity.
| Name | Required | Description | Default |
|---|---|---|---|
| limit_recent | No | Number of recent anonymized entries to return (default: 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It adds genuine context by labeling the data 'real-time' and the samples 'anonymized', and it discloses the shape of the returned metrics; however it says nothing about permissions, scope of aggregation, rate limits, or whether the data is workspace-wide or global.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with the verb first and the metric list following; no filler or restated title. The enumeration is dense but every item names a distinct output dimension, so it earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly shouldered the job of describing return contents and does so by naming each metric. For a zero-required-parameter read tool this is nearly sufficient; only aggregation scope and data source are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — the single parameter limit_recent is fully documented in the schema, including its default of 5. The description's phrase 'recent activity' loosely corresponds but adds no format or bounds information beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Retrieve') plus named resource ('waitlist analytics'), and it enumerates the concrete metrics returned (signups, referral channels, geographic demand, consent rates, recent activity). It does not differentiate from the closely related sibling join_waitlist, but the analytics-vs-signup distinction is reasonably inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this instead of join_waitlist or any other sibling, and no preconditions or exclusions. The only usage cue is the implied read-only framing of 'Retrieve', which is left for the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gisdb_calculate_ground_scaleBRead-onlyInspect
Check availability of project-specific ground scaling. Currently unavailable without verified source CRS, local height and survey control; no scale factor is assumed.
| Name | Required | Description | Default |
|---|---|---|---|
| elevation_ft | Yes | Project site elevation above sea level in feet | |
| grid_distance_ft | Yes | Measured State Plane Grid distance in survey feet (e.g. 5280.0) | |
| grid_scale_factor | No | Optional State Plane grid scale factor (default: 0.999990 for TN) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavior: it is currently unavailable and "no scale factor is assumed" — telling the agent not to expect an actual computed scale factor from the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the availability constraint front-loaded and no filler. The only weakness is that the unavailability note reads as an afterthought relative to the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter read-only tool with no output schema this is close to adequate, but the description never says what the call actually returns (a boolean flag, an error, an empty result) when the prerequisites are missing, and its stated prerequisites don't match the schema's inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so elevation_ft, grid_distance_ft and grid_scale_factor are all documented in the schema, which sets the baseline at 3. The description adds no parameter-level detail, and the prerequisites it mentions (source CRS, local height, survey control) do not map to any schema field, which could confuse rather than clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description frames the tool as "Check availability of project-specific ground scaling," which is a specific verb and resource, but the tool name says "calculate_ground_scale." That mismatch means an agent expecting a computed result may be surprised; the actual purpose (a capability-availability check that currently returns nothing) is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the conditions under which the tool is not usable ("Currently unavailable without verified source CRS, local height and survey control"), which is real exclusion guidance. However, it names no alternative tool or workflow to use instead of the missing calculation, leaving the agent without a next step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gisdb_create_checkoutARead-onlyInspect
Get the buyer checkout link and fixed price for an available records product. Requires its exact product_id from gisdb_search_catalog. CAD and statewide packages remain unavailable unless separately released. Does not charge a payment method.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false. The description adds real behavioral context beyond them: no payment method is charged, and certain package classes are not available. It stops short of saying whether the link expires or is single-use, which keeps it from 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences with zero waste, front-loaded with the outcome and then the constraint, prerequisite, and safety note. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, closed-world read tool with no output schema, the description covers what it returns (checkout link and fixed price), the required input provenance, availability limits, and the no-charge guarantee. Only the link's lifetime/one-time-use behavior is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the single parameter is a required identifier with a regex pattern in the schema. The description compensates by stating the value must be exact and naming the tool that produces it (gisdb_search_catalog), which is meaningful guidance beyond the pattern alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get the buyer checkout link and fixed price') plus the eligible scope ('available records product'). It also names the sibling that supplies the required input (gisdb_search_catalog), so an agent can distinguish it from the catalog search 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the prerequisite ('Requires its exact product_id from gisdb_search_catalog') and the exclusion ('CAD and statewide packages remain unavailable unless separately released'). It lacks a naming of a direct follow-up or alternative sibling for the checkout step itself, but the when-to-use context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gisdb_download_sample_bundleBRead-onlyInspect
Check verified county sample availability. Returns unavailable until retained source, rights clearance, sample manifest, actual inventory, hash and accessible artifact evidence exist. No email, checkout or synthetic geometry is produced.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Optional legacy input; no email is sent or contact captured. | ||
| state | Yes | ||
| county | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, closed-world), and the description adds real behavioral context beyond that: the explicit gating conditions (retained source, rights clearance, manifest, inventory, hash, artifact evidence) and the negative guarantees about email capture and synthetic geometry. It stops short of saying what state the response takes once all conditions are satisfied, but this is well above annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the availability check front-loaded before the gating conditions. The middle condition list is dense but each item carries meaning; no filler or restatement of the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must carry the return-shape burden. It explains the 'unavailable' outcome clearly but never says what a successful response contains (a bundle? artifact links? manifest only?), and the county/state input expectations go unaddressed, leaving a meaningful gap for an agent preparing the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% — the county and state parameters have no schema descriptions at all, and the description does not compensate with format guidance (e.g., two-letter state code, county name normalization). The only parameter it clarifies is the optional email, and that clarification is oddly duplicated from the schema field description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Check verified county sample availability'), which is concrete enough to act on. However, the name promises a 'download_sample_bundle' while the description only describes an availability check, and it never names siblings like gisdb_request_sample or gisdb_redeem_download to disambiguate within a large GIS family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause 'No email, checkout or synthetic geometry is produced' implicitly draws a boundary against checkout-style siblings, so an agent can infer this is a pre-check step. But there is no explicit when-to-use, no prerequisite statement, and no named alternative for the case where availability is confirmed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gisdb_export_distress_feedCRead-onlyInspect
Enriched notice dossiers and distress exports are unavailable until every claimed fact and export right has source-bound evidence. Use explicit county/state retained notice records instead.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description's real contribution is a gating precondition — evidence requirements must be satisfied before export — but it never says how that condition is met, whether the tool ever succeeds, or what an invocation returns in the blocked state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler, and the blocking condition comes first. But the phrasing ('every claimed fact and export right has source-bound evidence') is dense policy jargon that an agent cannot operationalize, so brevity comes at the cost of intelligibility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and closed-world read-only annotations, the definition's only real job is to say when this tool is usable. It states the block and gives a fallback direction, but omits what triggers unblocking or whether calling it is ever worthwhile, leaving the agent to skip it on faith.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is trivially complete, so there is nothing for the description to disambiguate. Baseline 4 applies; the description neither helps nor harms parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states what the tool does; it only announces that enriched dossiers and distress exports are 'unavailable.' An agent learns the tool is blocked but not what a distress feed export would contain or produce, so the verb+resource is left to the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It does route the agent away from this tool toward 'explicit county/state retained notice records,' which is actionable steering. However, it never names the concrete sibling (e.g. gisdb_query_notices or gisdb_get_notice_dossier), so the agent must guess which of ~70 alternatives to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gisdb_get_cash_buyersARead-onlyInspect
Legacy tool name: inspect named portfolio ownership in a retained county assessment snapshot. Provides observed property counts and total county-appraised value; does not establish cash purchases, active buyers, acquisition price or a buy box.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| state | Yes | ||
| county | Yes | ||
| format | No |
TDQS
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 description's added value is the data provenance: results come from a 'retained county assessment snapshot' and report observed counts plus total county-appraised value. That tells the agent the data is a stale snapshot and what it means, well beyond annotations. Missing only details like freshness or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, with the identity and scope stated first and the disclaimers second. Every clause carries information, including the legacy-name caveat that prevents misuse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only snapshot query with no output schema, the description adequately conveys what comes back (property counts and county-appraised value) and what it does not. It falls short on the four undocumented input parameters, which an agent must guess at from the schema names alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters (county, state, limit, format), and the description only obliquely implies county-level scoping via 'county assessment snapshot'. It says nothing about the required state code, the 1-100 limit, or the json/csv format choice, so it does not compensate at all for the undocumented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('inspect named portfolio ownership in a retained county assessment snapshot') and explicitly disclaims the misleading legacy name by ruling out cash purchases, active buyers, acquisition price and buy box. It does not, however, name a sibling to use for actual buyer research, so the routing signal is only half-complete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The negative framing ('does not establish cash purchases, active buyers...') implicitly tells the agent when this tool is the wrong choice, which is valuable. But there is no positive when-to-use statement and no pointer to an alternative sibling, leaving the agent to infer the correct path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gisdb_get_metadataBInspect
Retrieve actual verified technical specifications and export details for a county CAD deliverable, or status unavailable when verified export details are not yet available.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | Two-letter state abbreviation (e.g. 'TN', 'GA') | |
| county | Yes | County name (e.g. 'Hamilton') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose useful behavior beyond the name: the returned data is 'actual verified' export information, and the tool may return 'status unavailable' rather than failing when details are missing. It does not cover permissions, coverage limits, or return structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded sentence with no obvious filler. The phrasing is slightly dense and 'actual verified' is somewhat redundant, but it remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with no output schema or annotations, the description covers the core return and the unavailable-status fallback. It still leaves gaps around output shape, coverage constraints, and failure behavior that an agent might want before calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both county and state are already documented in the input schema. The description implies county-level lookup but adds no further parameter semantics such as matching rules or accepted county/state combinations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Retrieve') and resource ('verified technical specifications and export details for a county CAD deliverable'), so the agent can understand what the tool returns. It does not explicitly distinguish itself from nearby siblings such as gisdb_search_catalog or gisdb_quote_enterprise, so it falls short of the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the tool is for looking up a county CAD deliverable's export details, but gives no explicit when-to-use guidance, no exclusions, and no alternative tools. An agent would have to infer when this beats gisdb_search_catalog or gisdb_quote_enterprise.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gisdb_get_notice_dossierCRead-onlyInspect
Enriched notice dossiers and distress exports are unavailable until every claimed fact and export right has source-bound evidence. Use explicit county/state retained notice records instead.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 does add a gating condition — output is withheld until 'every claimed fact and export right has source-bound evidence' — which is real behavioral context. But that condition is vague and the description never says what a call returns when the gate is not satisfied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, so nothing is wasteful in length. But the front-loaded sentence is dense jargon about 'claimed facts and export rights' that obscures rather than clarifies, and the more actionable content (the redirect) is buried second.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the full burden of explaining what a caller receives, and it does not. It never clarifies whether this returns an error, a stub, or a fallback payload, which is exactly what an agent needs before spending a call on a zero-input tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline there is no parameter semantics burden on the description. It neither helps nor hurts; the schema closes the object with additionalProperties: false and exposes nothing to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states what calling this tool actually does. Instead of describing a notice-dossier retrieval, it declares that dossiers are 'unavailable', leaving the agent unable to tell whether the call errors, returns an empty set, or returns a gate explanation. The only concrete signal is a redirect to county/state retained notice records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is a genuine routing signal in 'Use explicit county/state retained notice records instead', which implicitly points at gisdb_query_notices. However, it never says when, if ever, this tool itself should be invoked, so the usage condition for the tool being described is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gisdb_get_stacked_leadsCRead-onlyInspect
Inspect retained county property observations with source identity and nullable facts. Does not infer mortgage debt, equity, sale intent, life events, flood status or distress. County availability is explicit.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| state | Yes | ||
| county | Yes | ||
| format | No | ||
| offset | No | ||
| signal | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description usefully adds that returned facts are nullable with source identity and explicitly enumerates what the tool will not infer (debt, equity, sale intent, life events, flood status, distress), which is substantive guardrail context beyond the annotations. It stops short of describing return shape or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler, and the scope-limiting negatives are packed into one clause. It is front-loaded, though the opening sentence leans on undefined jargon ('retained', 'stacked leads') that costs more than it saves.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 undocumented parameters, two enums, no output schema, and a domain-specific data product, the description leaves the agent without enough to invoke it correctly (what q matches, what 'signal: assessment' means, default limit/format, how pagination works). It explains boundaries but not operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, so the description must carry the load — and it doesn't. It never mentions q, limit, offset, format (json/csv), or the single-value 'signal' enum, and only obliquely gestures at county/state via 'county availability is explicit'. An agent cannot infer filtering or pagination semantics from this text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb ('Inspect') and resource ('retained county property observations') are stated, but 'stacked leads' — the actual name of the tool's product — is never defined, so an agent cannot picture what a 'lead' record contains. The negative list (does not infer mortgage debt, equity, sale intent...) clarifies scope but doesn't describe what is returned, leaving the purpose partially vague relative to siblings like gisdb_get_cash_buyers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus adjacent tools such as gisdb_query_notices, gisdb_get_cash_buyers, or gisdb_export_distress_feed. 'County availability is explicit' hints that some counties are unsupported but doesn't tell the agent how to check or what to do when a county is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gisdb_query_noticesARead-onlyInspect
Read retained notice identity, type, publication and parcel fields for an explicit county and state. Does not establish current debt, legal status, equity, life events or future auctions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| state | Yes | ||
| county | Yes | ||
| notice_type | No | ||
| lifecycle_state | No |
TDQS
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 adds meaningful scope boundaries by stating what the data does not establish, which helps prevent misuse for debt, legal status, or auction questions. It does not add return format, pagination, or limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with the positive scope front-loaded and the limitations stated second. Every clause earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a useful high-level scope and negative boundaries, which helps for a read-only query tool. However, with five parameters at 0% schema description coverage and no output schema, it still leaves key call details such as limit behavior and lifecycle_state semantics unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It clarifies county and state as explicit inputs and broadly maps to notice fields, but it does not explain limit, notice_type, or lifecycle_state behavior, allowed values, or defaults. That leaves significant parameter semantics undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: read retained notice identity, type, publication and parcel fields. It also scopes the operation to an explicit county and state. It does not explicitly differentiate itself from siblings such as gisdb_get_notice_dossier, so it is clear but lacks sibling routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear usage condition, requiring an explicit county and state, and a clear exclusion: it does not establish current debt, legal status, equity, life events or future auctions. It does not name an alternative tool for those excluded purposes, so it falls short of full when/when-not/alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gisdb_quote_enterpriseARead-onlyInspect
Get the buyer checkout link and fixed price for an available records product. Requires its exact product_id from gisdb_search_catalog. CAD and statewide packages remain unavailable unless separately released. Does not charge a payment method.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only and non-destructive, but the description adds useful behavioral context: it does not charge a payment method and some product classes remain unavailable unless separately released.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with purpose, followed by prerequisite and constraints. No sentence is redundant or padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter quote tool with no output schema, the description covers purpose, prerequisite, availability constraints, and the no-charge behavior. Only minor details such as quote expiry or link lifetime are omitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry parameter meaning. It does so by explaining that product_id must be exact and come from gisdb_search_catalog, though the schema pattern itself documents the required format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: get the buyer checkout link and fixed price for an available records product. It is meaningfully distinct from sibling tools such as gisdb_create_checkout and gisdb_search_catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an important prerequisite (exact product_id from gisdb_search_catalog) and an exclusion (CAD/statewide packages unavailable), but does not explicitly say when to use this quote versus gisdb_create_checkout.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gisdb_redeem_downloadCRead-onlyInspect
Check an existing exact-county paid entitlement. Delivery remains unavailable until source evidence, redistribution authorization and a passing export receipt are bound to the package. Creates no token or raw storage URL.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | ||
| county_fips | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and destructiveHint annotations, the description discloses real behavioral constraints: delivery stays unavailable until source evidence, redistribution authorization and a passing export receipt are bound, and it creates no token or raw storage URL. That tells an agent the call is a gate, not a fetch. It still doesn't say what the call returns when the entitlement is valid or invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler, but the first sentence is awkward ("Check an existing exact-county paid entitlement") and conflicts conceptually with the name, and the middle sentence packs dense compliance jargon. It is compact but not clearly front-loaded with what the agent gets back.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and zero parameter descriptions, the description must explain both inputs and the outcome shape, but it omits order_id entirely and never states the success/failure signal. The precondition narrative is good, but a two-required-parameter gate tool still leaves an agent guessing what to pass and what it receives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden, yet it only hints at county_fips via "exact-county" and never mentions order_id or the five-digit FIPS pattern and accepted order_id characters. Half the required inputs are unexplained anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it "checks an existing exact-county paid entitlement," which is a specific verb-plus-resource, but the tool name is redeem_download, so it is unclear whether the tool redeems or merely validates. It never says how this differs from neighbors such as gisdb_create_checkout or gisdb_download_sample_bundle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the implicit prerequisite of an existing paid entitlement. There is no statement of when to call this versus gisdb_create_checkout or gisdb_download_sample_bundle, and no exclusion criteria or follow-up routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gisdb_request_sampleBRead-onlyInspect
Check verified county sample availability. Returns unavailable until retained source, rights clearance, sample manifest, actual inventory, hash and accessible artifact evidence exist. No email, checkout or synthetic geometry is produced.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Optional legacy input; no email is sent or contact captured. | ||
| state | Yes | ||
| county | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, non-destructive, closed-world), but the description adds real value beyond them: it enumerates the preconditions gate (retained source, rights clearance, manifest, inventory, hash, artifact evidence) and explicitly says no email is sent despite the legacy email param. That prevents the agent from treating this as a lead-capture call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, zero filler. The second sentence is dense but every clause (preconditions, no email, no checkout, no synthetic geometry) carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 explain the return condition ('unavailable until...'), which is the key output signal. However, required input semantics (county/state) remain undefined, and there's no indication of what a successful 'available' response contains or how preconditions are evaluated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 33% — only 'email' is documented, and the description reinforces that it's a no-op. The required 'county' and 'state' parameters have no description in either schema or description; the agent gets no hint on expected format (e.g., 2-letter state code) or matching semantics. With low coverage the description should compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Check verified county sample availability.' The second sentence clarifies what the check means in practice ('returns unavailable until...'), which is a genuine behavior, not a restatement of the name. It doesn't explicitly name the sibling that performs the actual checkout, so it's clear but not sibling-differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'No email, checkout or synthetic geometry is produced' implies this is a pre-flight check and that gisdb_create_checkout / gisdb_download_sample_bundle handles the real transaction, but the agent must infer that routing. There is no explicit 'use this before X' or 'use Y instead' statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gisdb_search_catalogAInspect
Search county CAD and property-record export availability across Tennessee and Georgia. Unavailable packages report unknown counts and prices; output coordinate systems remain unknown until verified.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Optional county name search filter (e.g. 'Hamilton', 'Knox', 'Fulton') | |
| state | Yes | Two-letter state abbreviation (e.g. 'TN', 'GA') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses that unavailable packages report unknown counts and prices and that output coordinate systems are unknown until verified, but it does not state whether the operation is read-only, whether authentication is required, or what the result shape looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no waste. The core purpose is front-loaded, and the caveats about unavailable packages and coordinate systems are placed after it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter search tool with complete schema coverage, the description gives enough context about availability, unknown counts/prices, and coordinate-system uncertainty. It stops short of describing the return payload in more detail, which matters slightly more because no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the optional county query filter and the required state abbreviation are already fully documented in the schema. The description does not add any parameter-level meaning beyond that baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: searching county CAD and property-record export availability across Tennessee and Georgia. It is clear what the tool does, but it does not explicitly distinguish the catalog-search role from siblings such as gisdb_get_metadata or gisdb_quote_enterprise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: this is a discovery/catalog tool for checking export availability before deeper actions such as quoting or downloading. However, the description never states when to use it versus gisdb_get_metadata or other gisdb catalog-adjacent siblings, and no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gisdb_subscribe_lead_feedARead-onlyInspect
Check subscription availability. Subscriptions are unavailable; this tool creates no session, payment, delivery or outreach.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, and the description is consistent with them. It adds genuine value beyond the annotations by enumerating what is NOT created — session, payment, delivery, outreach — pre-empting an agent from assuming a side effect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero waste, with the unavailability verdict placed immediately after the purpose statement so the agent sees the blocking fact first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only availability probe with no output schema, the description covers purpose and side-effects adequately. The only gap is that it does not say what the call returns (e.g. a boolean availability flag), which matters precisely because no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there is no argument semantics that need explaining and the description correctly implies a call with no inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Check subscription availability" gives a specific verb and resource, and the second sentence clarifies the outcome (subscriptions unavailable) plus the negative scope. It clearly separates this stub from sibling lead-feed tools like gisdb_get_stacked_leads or gisdb_export_distress_feed, though it never explicitly names those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description effectively signals 'do not use this to actually subscribe' and tells the agent the outcome in advance, which is useful routing information. However, it never states when an agent *should* call it or which sibling to use instead for obtaining leads.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
join_waitlistAInspect
Add a homeowner or investor's email to the priority launch waitlist for properties outside the initial launch area, with optional subscriptions for county launch alerts and tax strategies.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Homeowner email address | ||
| notes | No | Optional notes or estimated assessment | |
| opt_in_updates | No | Subscribe to county launch alerts and property tax calendar deadline reminders (default: true) | |
| street_address | Yes | Property street address | |
| referral_source | No | Where the homeowner heard about Untax (e.g. 'muse', 'claude', 'chatgpt', 'google', 'twitter', 'friend') | |
| opt_in_marketing | No | Subscribe to property tax saving strategies, market reports, and updates (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description has to carry the whole behavioral burden. It establishes that this is a signup/mutation and that subscriptions are optional, but says nothing about duplicate-email handling, idempotency, or what the caller gets back on success.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One well-formed sentence with the core action up front and qualifications trailing. Slightly dense with clauses, but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter write tool with no annotations and no output schema, the description covers purpose and scope but not the outcome: no mention of what joining produces, whether confirmation is sent, or how duplicate submissions behave.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds conceptual meaning to the two opt-in flags (county launch alerts, tax strategies) but never mentions street_address, notes, or referral_source, so it does not add much beyond the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('add email to waitlist') plus resource ('priority launch waitlist') and a clear scoping condition ('properties outside the initial launch area'). The mention of optional subscriptions separates it from read-side siblings like get_waitlist_analytics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear triggering condition: use it when the property falls outside the initial launch area. It does not explicitly name an alternative or state what to do for in-area properties, which keeps it short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_property_taxBInspect
Look up retained county assessment observations for a supported address or parcel ID. Returns appraised/assessed amounts, separate classification and exemption observations, and explicitly labeled building area/year facts. Unsupported comparison models stay held. Conditional assessment comparisons do not establish personal savings, a verified market value, filing readiness or countywide certification.
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | Alternative alias for property street address | |
| county_key | No | Optional exact registered county adapter key, such as hamilton. Restricts lookup to that county and avoids unrelated county scans; conflicting explicit prefixes are rejected. | |
| actual_sqft | No | Optional: Actual measured living area in sq ft (to detect assessor CAMA square footage measurement errors) | |
| address_or_pidn | Yes | Full street address or county parcel ID (e.g. '3731 Anderson Ave, Chattanooga, TN' or '157I L 001') | |
| notice_appraised_value | No | Optional: New proposed appraised value from reassessment notice (if differing from current online county roll) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It does add real value by disclosing that unsupported comparison models 'stay held' and by explicitly disclaiming what the observations do not certify. It omits permission requirements, error behavior for unsupported jurisdictions, and pagination/limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and returns are front-loaded, which is good, but the legal-disclaimer tone ('do not establish personal savings, a verified market value, filing readiness or countywide certification') consumes roughly half the text and is denser than the operational guidance an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five parameters, no output schema, and no annotations, the description covers the lookup scope, the shape of returned observations, and the limits of those observations. An agent could call it correctly; only error and unsupported-jurisdiction handling are left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all five parameters are already documented, including the county_key scoping and conflict-rejection behavior. The description adds only the general notion of a 'supported address or parcel ID' and does not clarify how optional inputs like actual_sqft or notice_appraised_value affect the lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (lookup of county assessment observations keyed by address or parcel ID) and enumerates the return contents (appraised/assessed amounts, classification, exemptions, building area/year facts). It does not, however, distinguish itself from close siblings like get_property_assessment or audit_property_tax, so an agent cannot route between them from this text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use statement and no named alternative ('use X instead when Y'). The closest thing is a negative scope disclaimer ('conditional assessment comparisons do not establish personal savings...'), which bounds misuse but does not tell the agent when to pick this tool over its many assessment-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_va_ogc_vsoAInspect
Query official VA Office of General Counsel (VA OGC) nationwide accreditation registry of 18,660+ recognized claims representatives across all 50 states (DAV, VFW, American Legion, PVA, AMVETS, State Departments of Veterans Services). Resolves official 3-character VA Power of Attorney (POA) codes and verifies accreditation registration numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name (e.g. 'Atlanta', 'Chattanooga', 'Miami') | |
| state | No | 2-letter US state code (e.g. 'GA', 'TN', 'FL', 'TX', 'CA') | |
| organization | No | Organization name or acronym (e.g. 'DAV', 'VFW', 'American Legion', 'PVA', 'Georgia Department of Veterans Service') | |
| registration_number | No | Official VA accreditation registration number to validate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the behavioral burden. It adds useful context that this is a public official registry of a known size, which implies a read-only lookup, but it never says what happens with zero filters (all 18,660 records?), how the four filters combine (AND vs OR), whether matching is exact or partial, or how results are returned/paginated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb and resource; the organization parenthetical duplicates the schema's own examples somewhat, but overall it is dense and purposeful rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 fully optional parameters, no annotations, and no output schema, an agent still lacks two essentials: what an unfiltered call returns and how multiple filters interact. Given the tool's complexity (a nationwide registry query), the description is adequate but leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter already has an example-bearing description, so the baseline is 3. The description adds real meaning by framing registration_number as a validation key and explaining that the registry resolves official 3-character POA codes, which is terminology the schema never defines.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: query the VA OGC nationwide accreditation registry, plus the two lookup capabilities (resolving 3-character POA codes and verifying registration numbers). The scope (18,660+ reps, all 50 states, named VSOs) makes it clearly distinct from siblings such as generate_vso_referral or verify_va_disability_exemption.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage — you call it to resolve POA codes or validate an accreditation registration number — but never says when to prefer it over siblings like get_representation_rules or generate_vso_referral, nor any exclusion conditions. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_scra_dmdc_certificateBInspect
Parse DoD Defense Manpower Data Center (DMDC) Active Duty Status Report text to verify active military service and calculate SCRA 6% tax interest cap protections.
| Name | Required | Description | Default |
|---|---|---|---|
| certificate_text | Yes | Pasted text from official DoD DMDC SCRA Active Duty certificate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It implies a read-only parse, but says nothing about what happens with malformed/unofficial text, whether the input is retained, what the output contains (active-duty determination, service dates, cap applicability), or any failure mode.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that names the source, the input type, and the outcome; nothing is wasted. It is dense with acronyms but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description should explain what an agent gets back — e.g. an active-duty finding, covered dates, and a cap determination — or at minimum that it is a non-destructive parse that must precede audit_scra_interest_cap. Neither is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, so the baseline is 3. The description confirms the domain (official DMDC text) but adds no format, length, or validity constraints beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Parse DoD DMDC Active Duty Status Report text') plus the downstream goal ('verify active military service and calculate SCRA 6% tax interest cap protections'). This is much clearer than a bare name restatement, but it never distinguishes itself from the close sibling audit_scra_interest_cap, which appears to be the next step in the same workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the first step before an SCRA interest-cap audit, but the description never says when to call this versus audit_scra_interest_cap or audit_county_dd214_recording, nor what prerequisite (a DMDC certificate in hand) is required. No exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_va_benefit_letterBInspect
Parse digital text or OCR extracted from a VA Benefits Summary & Service Verification Letter to determine 100% P&T rating, TDIU, and statutory exemption eligibility.
| Name | Required | Description | Default |
|---|---|---|---|
| letter_text | Yes | Pasted text or OCR content from VA.gov Benefit Summary letter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral-disclosure burden. It states the input source and target determinations, but does not disclose limitations, confidence, output format, or what happens if the letter text is incomplete or ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded sentence with no filler. The purpose and target determinations are stated immediately and without repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description names the input and the high-level determinations, which is adequate for a single-parameter parsing tool. However, because there is no output schema, it should say more about what the tool returns and how results are structured.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one fully described parameter, and its description already covers pasted text or OCR content from a VA.gov Benefit Summary letter. The tool description adds little parameter-level detail beyond that, so the baseline score of 3 applies when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: parse text from a VA Benefits Summary & Service Verification Letter. It also states the determinations made: 100% P&T rating, TDIU, and statutory exemption eligibility. It does not explicitly distinguish itself from nearby veteran-related siblings such as verify_va_disability_exemption or generate_veteran_packet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what input it accepts but gives no explicit guidance on when to use this tool versus alternatives. It does not mention when not to use it or point to sibling tools for related verification or audit tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quote_address_changeAInspect
Calculate tiered pricing for single or multi-property official mailing address changes in Hamilton County (Free DIY $0, Single $25, Small Portfolio $49, Landlord Bundle $79, Appeal Addon $19, Contingency Included $0).
| Name | Required | Description | Default |
|---|---|---|---|
| parcel_count | No | Number of parcels requiring mailing address updates (default 1) | |
| is_contingency | No | True if homeowner is enrolled in Option B ($0 upfront 25% Contingency) | |
| is_appeal_addon | No | True if purchased alongside an Option A ($129) appeal petition (discounted to $19/parcel) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the pricing tiers, including the contingency and appeal addon treatment, but it does not state whether the quote is binding, whether any record is created, whether authentication is required, or what the response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that front-loads the main action and embeds the pricing tiers compactly. Every element is relevant to quoting or understanding the service.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not specify the return format or whether the tool returns a single number, a line-item breakdown, or tier eligibility. It also omits the parcel-count thresholds that determine which multi-property tier applies, leaving an important gap for correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the schema. The description adds pricing context for the appeal addon and contingency options, but it does not explain how parcel_count maps to the Small Portfolio or Landlord Bundle tiers, which is the key missing semantic detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Calculate') and resource ('tiered pricing for single or multi-property official mailing address changes') and scopes it to Hamilton County. Sibling tools like check_portfolio_address_status handle status rather than pricing, so the purpose is distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when a pricing quote is needed, but it does not explicitly state when to use this versus alternatives such as check_portfolio_address_status or suggest_addresses. There are no exclusions or prerequisites beyond the implied context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recheck_property_opportunitiesAInspect
Recheck possible tax-reduction routes against current retained property records and a few owner-reported categories. Returns research and next questions; answers never establish eligibility, verified evidence, savings, owner authority, payment or filing readiness. Do not send exact income, ages, identifiers, documents or a caller-supplied audit.
| Name | Required | Description | Default |
|---|---|---|---|
| county_key | No | Optional exact registered county adapter key, such as hamilton. Restricts lookup to that county and avoids unrelated county scans; conflicting explicit prefixes are rejected. | |
| owner_answers | Yes | ||
| address_or_pidn | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does real work: it discloses that answers never establish eligibility, verified evidence, savings, owner authority, payment or filing readiness, and it warns against sending exact income, ages, identifiers, documents or a caller-supplied audit. It does not state whether the tool is read-only or whether submitted owner_answers are persisted, which is the main remaining gap for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the scope front-loaded and the disclaimer and privacy constraint following. 'A few owner-reported categories' is the one phrase that is vague rather than economical, but nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 should describe what comes back; 'research and next questions' plus the explicit limitation list is helpful but the return shape is unstated. For a tool with a 15-property nested input, the description covers the safety framing far better than it covers how to assemble the payload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 33%: only county_key is documented, while address_or_pidn and the 15-field nested owner_answers object have no field-level descriptions. The description partially compensates by telling the caller to supply category/requirement-style answers rather than exact income or ages, but it never explains what owner_answers fields mean or what 'pidn' is.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Recheck') and resource ('possible tax-reduction routes') against 'current retained property records' plus owner-reported categories, which differentiates it from the many audit_* siblings that target a single named program. It never names a sibling explicitly, so the boundary is inferable rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Recheck' implies the tool is used when re-running existing records with fresh owner answers, and the description says it 'Returns research and next questions' rather than a determination. However, there is no explicit when-to-use or when-not-to-use versus check_eligibility or audit_senior_tax_freeze; the only hard guidance offered is an input prohibition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_veteran_pilot_flowARead-onlyIdempotentInspect
Unavailable fixture-only demonstration. Returns an unavailable response and property-workspace handoff. It provides no personal records, identity verification, artifacts, filing or delivery.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds the essential behavioral fact beyond annotations: this call returns an unavailable response, not data, plus a property-workspace handoff. That is the single most important thing an agent needs to know before calling. It stops short of describing the exact response shape for the handoff.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the critical 'Unavailable' status before the negative capability list. Slight jargon ('fixture-only', 'property-workspace handoff') costs a little clarity but nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema stub with full annotation coverage, the description supplies the decisive fact (it is unavailable and returns no data) and delimits scope. What's faintly missing is what the returned handoff actually contains, but that is a minor gap for a demonstration fixture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters with 100% schema coverage and additionalProperties=false; there is nothing for the description to clarify. Baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does state an outcome ("Returns an unavailable response and property-workspace handoff") and explicitly negates several capabilities (no records, identity verification, artifacts, filing, delivery), which helps distinguish it from the many audit_/verify_ siblings. However, the name suggests an executable veteran pilot workflow and the description never says what that workflow is, only that it is a non-functional fixture. An agent knows it is a stub but not what it stands in for.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
By listing what it does NOT provide (personal records, identity verification, artifacts, filing, delivery), it implicitly routes the agent toward the audit_/verify_/generate_ siblings for real work. There is no explicit when-to-use statement or named alternative, so the guidance is inferential rather than directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_property_modelAInspect
Calculate an explicitly supplied unreviewed local what-if scenario bound to current source components. Requires evidence citations and method-specific inputs; never fills missing facts or authorizes analysis, tax savings, payment or filing.
| Name | Required | Description | Default |
|---|---|---|---|
| draft | Yes | Strict ModelingDraft: binding, reference integer-cent components, and tagged method inputs. Use retained observations and the documented Development workbench contract; never invent cashflows, ownership, source citations or allocations. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does real work: it declares the result 'unreviewed' and 'local', states that it requires evidence citations, and enumerates what it will not do (fill missing facts, authorize analysis, tax savings, payment or filing). What it omits is whether the call is side-effect free and what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight clauses: the positive statement of what is computed comes first, then the guardrails. No filler, and the semicolon cleanly separates capability from restriction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a deeply nested draft object, no annotations and no output schema, the description leaves two gaps: it never indicates what a successful call returns (a projected result? components? flags?), and it points at a 'documented Development workbench contract' without any hint of where that contract lives. The negative guardrails are strong, but the positive shape of the interaction is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required nested 'draft' object and schema coverage is 100%, so the schema already documents the contract in detail. The description adds only the high-level constraints ('method-specific inputs', 'requires evidence citations', 'never invent cashflows, ownership, source citations or allocations'), which corroborate rather than extend the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs a concrete verb ('Calculate') with a clearly scoped resource ('an explicitly supplied unreviewed local what-if scenario') and signals it is a sandboxed projection rather than an authoritative audit, which separates it from the many audit_* siblings. It never names an actual alternative tool, and 'bound to current source components' / 'method-specific inputs' stay abstract about what is actually being modeled.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the agent can infer this is for hypothetical scenarios built from user-supplied drafts rather than for filing, savings claims or formal analysis. There is no explicit 'use this when / use X instead' routing, and the natural neighbor get_property_model_readiness is never mentioned as a prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stage_portfolio_selectionAInspect
Stage a commercial holding portfolio, LLC cluster, or multiline address list for interactive curation in Chat / MCP. Automatically discovers sister entities, detects Homestead HQ vs commercial holdings, flags each property as selected, and computes aggregate overassessment delta and potential tax savings.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search query: owner name, LLC name, or primary address (e.g. 'Noble Nooga Properties LLC' or '810 Lindsay Ave') | |
| addresses | No | Optional array of street address strings | |
| client_name | No | Optional client or taxpayer name | |
| default_zip | No | Default zip code if omitted (default: 37402) | |
| default_city | No | Default city if omitted in address line (default: Chattanooga) | |
| realtor_name | No | Optional presenting realtor name | |
| default_state | No | Default state if omitted (default: TN) | |
| brokerage_name | No | Optional brokerage or fund name | |
| text_addresses | No | Optional raw pasted multiline text with 1 address per line |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It usefully discloses automatic sister-entity discovery, Homestead HQ versus commercial detection, selection flagging, and aggregate savings computation, but it omits operational details such as whether staging persists state, what permissions are needed, and whether existing selections are replaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no wasted text. The key action and supported input forms are front-loaded before the behavioral details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nine-parameter staging tool with no annotations and no output schema, the description provides meaningful behavioral context and mentions computed outputs like overassessment delta and potential tax savings. It remains somewhat incomplete regarding return format and state persistence, but the fully documented schema covers invocation details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all nine parameters are already documented in the input schema. The description reinforces the accepted input types (portfolio, LLC cluster, address list) but does not add syntax or usage meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: staging a commercial holding portfolio, LLC cluster, or multiline address list for interactive curation. It is clear what the tool does, though it does not explicitly distinguish itself from sibling tools such as curate_portfolio_selection or discover_related_properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for interactive curation in Chat / MCP' implies when to use the tool, but there is no explicit guidance on when to choose this over curate_portfolio_selection, discover_related_properties, or audit_portfolio_batch. Usage is inferable but not defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_tax_sandboxBIdempotentInspect
Start an explicitly requested test-only appeal or property-record service checkout for one source-backed property. Requires owner:sandbox sign-in. Uses Stripe TEST mode and isolated orders; does not establish ownership, eligibility, savings or an open appeal window. Never charges real money or files with a county.
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes | ||
| county_key | Yes | ||
| address_or_pidn | Yes | ||
| idempotency_key | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a mutation (readOnlyHint=false), idempotency, and non-destructiveness. The description adds valuable context: requires owner:sandbox sign-in, uses Stripe TEST mode and isolated orders, never charges real money or files with a county, and does not establish ownership or eligibility. This is rich behavioral context beyond annotations, though it does not describe the return value or post-start flow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with purpose and followed by essential constraints. Every sentence adds value, though the density of disclaimers could be slightly better organized for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, safety, and auth, which is substantial for a mutation tool with no output schema. However, it leaves critical gaps: parameter meanings are largely unexplained, and it does not indicate what the agent should do after starting the checkout (e.g., use complete_tax_sandbox_order).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must explain the four parameters. It only hints at address_or_pidn ('one source-backed property') and service ('appeal or property-record service'), but does not define county_key, idempotency_key, or clarify the enum values (appeal vs. microtx). Most parameter semantics are missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Start') and resource ('test-only appeal or property-record service checkout') with clear scope ('for one source-backed property'). Distinguishes itself from siblings like audit_property_tax or complete_tax_sandbox_order by emphasizing test-only and sandbox, though it does not name alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'explicitly requested' and disclaimers ('does not establish ownership, eligibility, savings or an open appeal window') imply when to use this tool and when to use other tools for those checks. However, no explicit alternatives are named, and there is no direct guidance on when-not to use or which sibling to choose instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_addressesAInspect
Search retained county-roll address candidates for partial queries and typos. A suggestion is a candidate identity, not verified owner authority or financial eligibility.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of candidate suggestions to return (default: 5) | |
| query | Yes | Address query or partial street name (e.g. '3731 Andrson Ave', 'Anderson Ave', '810 Lindsay') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It does disclose that results are candidates and not verified owner authority or financial eligibility, which is important. However, it omits other behavioral details like whether it's read-only (implied), rate limits, or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste: the first states the action and scope, the second adds a critical caveat. Information is front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with two parameters and no output schema, the description covers purpose, key behavioral caveat, and usage context. The only minor gap is that it doesn't explicitly mention the limit parameter or default, but that is fully covered in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters fully. The description adds no additional parameter-level meaning beyond what the schema provides (e.g., example queries are in the schema).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Search') and resource ('retained county-roll address candidates'), and clarifies the scope with 'partial queries and typos'. It distinguishes itself from verification-oriented siblings by stating that a suggestion is a candidate identity, not verified authority.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly indicates when to use the tool: for partial queries and typos (fuzzy matching). It does not name alternatives or exclusions, but the usage context is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_property_condition_defectsBInspect
Suggest evidence checks from retained property observations. Missing hazard evidence stays unavailable. County weather events do not establish parcel damage; no defect, repair cost, deduction or filing readiness is inferred.
| Name | Required | Description | Default |
|---|---|---|---|
| county_key | No | Optional exact registered county adapter key, such as hamilton. Restricts lookup to that county and avoids unrelated county scans; conflicting explicit prefixes are rejected. | |
| address_or_pidn | Yes | Property street address or parcel ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it does disclose a meaningful behavior — missing hazard evidence remains 'unavailable' rather than being fabricated, and downstream inferences are suppressed. It never states read-only semantics, what a returned suggestion contains, or any permissions/rate behavior, so coverage is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler, and the scope statement leads. But two of the three sentences are negative disclaimers and the key noun phrase 'retained property observations' is left undefined, so the structure informs less than its length permits.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, so the description must explain the return shape and safety profile; it establishes the boundaries of inference well but never says whether this is a read operation or what a suggested check looks like. Adequate to prevent misuse, not adequate to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so address_or_pidn and county_key are already documented (including the county-scoping and conflicting-prefix rejection behavior). The description adds no additional parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb (suggest) and resource (evidence checks derived from retained property observations) are stated, but 'evidence checks' and 'retained property observations' are never grounded, so the agent must guess what artifact comes back. The disclaimers imply it is not an assessment or audit tool, which edges it away from siblings like audit_fema_flood_hazard, but the core purpose stays abstract.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Negative guidance is explicit and useful: county weather events do not establish parcel damage, and no defect, repair cost, deduction or filing readiness is inferred — this tells the agent not to route storm/flood audit questions here. However, there is no positive statement of when to call it instead of get_condition_evidence_catalog or audit_parcel_blight_citations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_va_disability_exemptionCInspect
Verify federal VA disability rating (100% P&T, TDIU, SAH) under 38 U.S.C. Chapter 11 and map directly to state/county property tax exemption caps and vouchers.
| Name | Required | Description | Default |
|---|---|---|---|
| state_code | No | Target state ('TN', 'GA', etc.) | |
| county_name | No | Target county name | |
| veteran_name | Yes | Veteran legal name | |
| service_branch | No | Service branch (e.g. 'U.S. Army', 'USAF', 'USMC') | |
| effective_tax_rate | No | Effective tax rate | |
| parcel_market_value | No | Appraised market value of primary residence | |
| is_permanent_and_total | No | True if rating decision grants Permanent & Total (P&T) | |
| combined_rating_percent | No | Combined VA disability rating percentage (0 to 100) | |
| has_individual_unemployability_tdiu | No | True if veteran receives Total Disability based on Individual Unemployability | |
| has_specially_adapted_housing_grant | No | True if veteran received 38 U.S.C. § 2101 SAH grant |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With zero annotations the description carries the full burden. It says nothing about whether 'verify' means querying a VA source or merely trusting the caller-supplied booleans/percent (the schema suggests the latter, which makes 'verify' slightly overstated), nor about side effects, required state/county context, or jurisdiction coverage limits. The statutory citation and the 'caps and vouchers' phrase are useful signals about output shape, but that is the only added behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the core action front-loaded and no filler. The legal-citation padding ('38 U.S.C. Chapter 11') is defensible for domain precision but is the least load-bearing part of the sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 10 parameters, no annotations, and no output schema, the description is only partially sufficient: it never explains what happens when optional state_code/county_name are absent, how multiple benefit flags combine, or what the response contains beyond a vague 'caps and vouchers'. It is enough to know the domain but not enough to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 10 parameters, so the schema already explains each field including the P&T, TDIU, and SAH flags. The description adds no syntax, defaults, or interaction rules (e.g. 'state_code omitted = ?'), so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('verify federal VA disability rating' with named rating classes P&T, TDIU, SAH) and a concrete second output ('map ... to state/county property tax exemption caps and vouchers'). It does not differentiate itself from near-siblings like check_veteran_relief, audit_disabled_veteran_relief, or audit_veteran_sah_ada_exclusion, so the agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus the many veteran-relief siblings, no prerequisites (e.g. that a rating decision or benefit letter must be parsed first), and no exclusions. The only implied usage is the topical domain, which the agent could already get from the name.
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.
87 tool updates
- Added
analyze_parcel_reappraisal_surge - Added
audit_combat_deployment_abatement - Added
audit_commercial_reclassification - Added
audit_county_dd214_recording - Added
audit_disabled_homeowner_relief - Added
audit_disabled_veteran_relief - Added
audit_disabled_veteran_wheel_tax - Added
audit_fema_flood_hazard - Added
audit_microtransaction - Added
audit_municipal_permits - Added
audit_noaa_storm_swaths - Added
audit_parcel_blight_citations - Added
audit_parcel_soil_capability - Added
audit_parcel_topography - Added
audit_portfolio_batch - Added
audit_property_tax - Added
audit_property_transfers - Added
audit_retroactive_tax_recovery - Added
audit_scra_interest_cap - Added
audit_senior_tax_freeze - Added
audit_square_footage_correction - Added
audit_surviving_spouse_portability - Added
audit_surviving_spouse_vet_relief - Added
audit_va_award_document_with_jev - Added
audit_va_funding_fee_refund - Added
audit_veteran_living_trust_preservation - Added
audit_veteran_sah_ada_exclusion - Added
audit_veteran_shield - Added
check_delinquent_taxes - Added
check_eligibility - Added
check_portfolio_address_status - Added
check_veteran_relief - Added
curate_portfolio_selection - Removed
disconnect_va_connection - Added
discover_related_properties - Removed
find_va_facilities - Removed
find_va_forms - Added
forecast_truth_in_taxation_bill_shock - Added
generate_sf180_request - Changed
generate_veteran_packet23 fields changed- added
Input schema / properties / addressAdded value: +{ + "deprecated": true, + "description": "Legacy alias for property_address; not a parcel lookup.", + "maxLength": 256, + "type": "string" +} - removed
Input schema / properties / answersRemoved value: -{ - "additionalProperties": false, - "properties": { - "has_remarried": { - "type": "boolean" - }, - "has_va_dic_award": { - "type": "boolean" - }, - "is_honorable_discharge": { - "type": "boolean" - }, - "is_permanent_and_total": { - "type": "boolean" - }, - "is_primary_residence": { - "type": "boolean" - }, - "is_surviving_spouse": { - "type": "boolean" - }, - "ownership_relationship": { - "enum": [ - "owner", - "co_owner", - "authorized_helper" - ], - "type": "string" - }, - "review_year": { - "maximum": 2100, - "minimum": 1900, - "type": "integer" - }, - "va_disability_percentage": { - "maximum": 100, - "minimum": 0, - "multipleOf": 10, - "type": "integer" - }, - "veteran_name": { - "maxLength": 256, - "type": "string" - } - }, - "type": "object" -} - added
Input schema / properties / county_nameAdded value: +{ + "description": "Reported county. No county is inferred from an address.", + "maxLength": 256, + "type": "string" +} - added
Input schema / properties / has_remarriedAdded value: +{ + "description": "Reported surviving-spouse remarriage status. Omit when unknown.", + "type": "boolean" +} - added
Input schema / properties / has_va_dic_awardAdded value: +{ + "description": "Reported VA survivor benefit award status. Omit when unknown.", + "type": "boolean" +} - added
Input schema / properties / honorable_dischargeAdded value: +{ + "deprecated": true, + "description": "Legacy alias for is_honorable_discharge. Conflicting values remain unknown.", + "type": "boolean" +} - added
Input schema / properties / is_honorable_dischargeAdded value: +{ + "description": "Reported honorable discharge status; no document verification is performed.", + "type": "boolean" +} - added
Input schema / properties / is_permanent_and_totalAdded value: +{ + "description": "Reported permanent-and-total status, separate from rating. Omit when unknown.", + "type": "boolean" +} - added
Input schema / properties / is_primary_residenceAdded value: +{ + "description": "Whether this property is the applicant's primary residence for the requested review year. Omit when unknown.", + "type": "boolean" +} - added
Input schema / properties / is_surviving_spouseAdded value: +{ + "description": "Whether the applicant is a surviving spouse. This does not establish DIC, remarriage status or eligibility.", + "type": "boolean" +} - added
Input schema / properties / modeAdded value: +{ + "deprecated": true, + "description": "Legacy request label only. This tool returns screening gaps and a review handoff; it creates no documents and sends or files nothing.", + "enum": [ + "all", + "email", + "hand_carry", + "respa" + ], + "type": "string" +} - added
Input schema / properties / ownership_relationshipAdded value: +{ + "description": "Reported relationship to this property; does not establish ownership or delegated authority.", + "enum": [ + "owner", + "co_owner", + "authorized_helper" + ], + "type": "string" +} - added
Input schema / properties / parcel_idAdded value: +{ + "description": "Explicit county parcel or property account identifier.", + "maxLength": 256, + "type": "string" +} - added
Input schema / properties / property_addressAdded value: +{ + "description": "Explicit property street address. Supply the parcel or account identifier separately.", + "maxLength": 256, + "type": "string" +} - added
Input schema / properties / rating_percentageAdded value: +{ + "deprecated": true, + "description": "Legacy alias for va_disability_percentage. Conflicting values remain unknown.", + "maximum": 100, + "minimum": 0, + "multipleOf": 10, + "type": "integer" +} - removed
Input schema / properties / review_idRemoved value: -{ - "maxLength": 80, - "type": "string" -} - added
Input schema / properties / review_yearAdded value: +{ + "description": "Requested review year, separate from any county source or bill year.", + "maximum": 2100, + "minimum": 1900, + "type": "integer" +} - removed
Input schema / properties / saved_property_idRemoved value: -{ - "maxLength": 128, - "type": "string" -} - added
Input schema / properties / state_codeAdded value: +{ + "description": "Reported two-letter state code; no default jurisdiction.", + "pattern": "^[A-Za-z]{2}$", + "type": "string" +} - removed
Input schema / properties / use_connected_va_recordsRemoved value: -{ - "description": "Only true when the user explicitly asks to use their connected records for their own applicant review; requires additional owner:va permission and is_surviving_spouse=false.", - "type": "boolean" -} - added
Input schema / properties / va_disability_percentageAdded value: +{ + "description": "Reported VA disability rating. A 100% rating alone does not establish permanent-and-total status.", + "maximum": 100, + "minimum": 0, + "multipleOf": 10, + "type": "integer" +} - added
Input schema / properties / veteran_nameAdded value: +{ + "description": "Applicant name supplied for this review; never inferred from an account or VA record.", + "maxLength": 256, + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "review_id", - "saved_property_id" -]
- Added
generate_vso_referral - Changed
get_appeal_lifecycle1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Added
get_condition_evidence_catalog - Added
get_hamilton_roll_analytics - Added
get_jurisdiction_exemption_profile - Added
get_knox_roll_analytics - Added
get_microtransactions_catalog - Changed
get_property_assessment2 fields changed- changed
Input schema / properties / actual_sqft / descriptionPrevious value: -"Optional owner-reported measured living area, in square feet"New value: +"Optional: Actual measured living area in sq ft" - changed
Input schema / properties / county_key / descriptionPrevious value: -"Optional registered county key, such as hamilton. Searches only that county. A conflicting county prefix is rejected."New value: +"Optional exact registered county adapter key, such as hamilton. Restricts lookup to that county and avoids unrelated county scans; conflicting explicit prefixes are rejected."
- Added
get_property_model_readiness - Added
get_representation_rules - Added
get_roll_analytics - Removed
get_va_connection - Removed
get_va_facility - Removed
get_va_form - Added
get_waitlist_analytics - Added
gisdb_calculate_ground_scale - Added
gisdb_create_checkout - Added
gisdb_download_sample_bundle - Added
gisdb_export_distress_feed - Added
gisdb_get_cash_buyers - Added
gisdb_get_metadata - Added
gisdb_get_notice_dossier - Added
gisdb_get_stacked_leads - Added
gisdb_query_notices - Added
gisdb_quote_enterprise - Added
gisdb_redeem_download - Added
gisdb_request_sample - Added
gisdb_search_catalog - Added
gisdb_subscribe_lead_feed - Added
join_waitlist - Removed
list_property_services - Added
lookup_property_tax - Added
lookup_va_ogc_vso - Added
parse_scra_dmdc_certificate - Added
parse_va_benefit_letter - Added
quote_address_change - Changed
recheck_property_opportunities2 fields changed- changed
Input schema / properties / county_key / descriptionPrevious value: -"Optional registered county key, such as hamilton. Searches only that county. A conflicting county prefix is rejected."New value: +"Optional exact registered county adapter key, such as hamilton. Restricts lookup to that county and avoids unrelated county scans; conflicting explicit prefixes are rejected." - removed
Input schema / properties / skipped_question_idsRemoved value: -{ - "description": "Stable question IDs explicitly skipped in this same property conversation. Resend them with accumulated answers. Skips suppress prompts only; facts and eligibility remain unresolved.", - "items": { - "enum": [ - "primary_residence", - "owner_categories", - "record_discrepancy", - "condition_issues", - "property_use", - "elderly_age_requirement_met", - "elderly_income_requirement_met", - "disabled_requirement_met", - "disabled_income_requirement_met", - "veteran_disability_requirement_met", - "surviving_spouse_requirement_met", - "freeze_age_requirement_met", - "freeze_income_requirement_met", - "greenbelt_enrolled" - ], - "type": "string" - }, - "maxItems": 14, - "type": "array", - "uniqueItems": true -}
- Removed
review_property_service - Removed
review_veteran_requirements - Added
run_veteran_pilot_flow - Added
simulate_property_model - Added
stage_portfolio_selection - Changed
start_tax_sandbox3 fields changed- changed
Input schema / properties / idempotency_key / maxLengthPrevious value: -96New value: +128 - changed
Input schema / properties / idempotency_key / minLengthPrevious value: -8New value: +1 - removed
Input schema / properties / idempotency_key / patternRemoved value: -"^[A-Za-z0-9_-]+$"
- Removed
start_va_connection - Changed
suggest_addresses5 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / limit / maximumRemoved value: -20 - removed
Input schema / properties / limit / minimumRemoved value: -1 - removed
Input schema / properties / query / maxLengthRemoved value: -200 - removed
Input schema / properties / query / minLengthRemoved value: -1
- Added
suggest_property_condition_defects - Added
verify_va_disability_exemption
2 tool updates
- Added
list_property_services - Added
review_property_service
2 tool updates
- Removed
audit_microtransaction - Removed
get_microtransactions_catalog
2 tool updates
- Changed
get_property_assessment2 fields changed- changed
Input schema / properties / actual_sqft / descriptionPrevious value: -"Optional: Actual measured living area in sq ft"New value: +"Optional owner-reported measured living area, in square feet" - changed
Input schema / properties / county_key / descriptionPrevious value: -"Optional exact registered county adapter key, such as hamilton. Restricts lookup to that county and avoids unrelated county scans; conflicting explicit prefixes are rejected."New value: +"Optional registered county key, such as hamilton. Searches only that county. A conflicting county prefix is rejected."
- Changed
recheck_property_opportunities1 field changed- changed
Input schema / properties / county_key / descriptionPrevious value: -"Optional exact registered county adapter key, such as hamilton. Restricts lookup to that county and avoids unrelated county scans; conflicting explicit prefixes are rejected."New value: +"Optional registered county key, such as hamilton. Searches only that county. A conflicting county prefix is rejected."
84 tool updates
- Removed
analyze_parcel_reappraisal_surge - Removed
audit_combat_deployment_abatement - Removed
audit_commercial_reclassification - Removed
audit_county_dd214_recording - Removed
audit_disabled_homeowner_relief - Removed
audit_disabled_veteran_relief - Removed
audit_disabled_veteran_wheel_tax - Removed
audit_fema_flood_hazard - Changed
audit_microtransaction10 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / anyOfAdded value: +[ + { + "properties": { + "address": { + "pattern": "\\S" + } + }, + "required": [ + "address" + ] + }, + { + "properties": { + "parcel_id": { + "pattern": "\\S" + } + }, + "required": [ + "parcel_id" + ] + } +] - changed
Input schema / properties / address / descriptionPrevious value: -"Property street address or parcel ID"New value: +"Explicitly selected property street address or parcel ID. A nonblank address takes precedence over parcel_id." - added
Input schema / properties / address / maxLengthAdded value: +200 - changed
Input schema / properties / parcel_id / descriptionPrevious value: -"County Parcel ID / PIDN"New value: +"Explicitly selected county parcel ID / PIDN, used when address is absent or blank." - added
Input schema / properties / parcel_id / maxLengthAdded value: +200 - changed
Input schema / properties / service_type / descriptionPrevious value: -"Microtransaction service type: 'demolished_outbuilding', 'square_footage_correction', 'mailing_address_change', 'commercial_reclassification', 'certified_tax_ledger'"New value: +"Explicit research route selected from get_microtransactions_catalog. Common aliases: demolished_outbuilding, square_footage_correction, mailing_address_change, commercial_reclassification, certified_tax_ledger. No service is assumed." - added
Input schema / properties / service_type / maxLengthAdded value: +128 - added
Input schema / properties / service_type / minLengthAdded value: +1 - added
Input schema / requiredAdded value: +[ + "service_type" +]
- Removed
audit_municipal_permits - Removed
audit_noaa_storm_swaths - Removed
audit_parcel_blight_citations - Removed
audit_parcel_soil_capability - Removed
audit_parcel_topography - Removed
audit_portfolio_batch - Removed
audit_property_tax - Removed
audit_property_transfers - Removed
audit_retroactive_tax_recovery - Removed
audit_scra_interest_cap - Removed
audit_senior_tax_freeze - Removed
audit_square_footage_correction - Removed
audit_surviving_spouse_portability - Removed
audit_surviving_spouse_vet_relief - Removed
audit_va_award_document_with_jev - Removed
audit_va_funding_fee_refund - Removed
audit_veteran_living_trust_preservation - Removed
audit_veteran_sah_ada_exclusion - Removed
audit_veteran_shield - Removed
check_delinquent_taxes - Removed
check_eligibility - Removed
check_portfolio_address_status - Removed
check_veteran_relief - Removed
curate_portfolio_selection - Added
disconnect_va_connection - Removed
discover_related_properties - Added
find_va_facilities - Added
find_va_forms - Removed
forecast_truth_in_taxation_bill_shock - Removed
generate_sf180_request - Changed
generate_veteran_packet23 fields changed- removed
Input schema / properties / addressRemoved value: -{ - "deprecated": true, - "description": "Legacy alias for property_address; not a parcel lookup.", - "maxLength": 256, - "type": "string" -} - added
Input schema / properties / answersAdded value: +{ + "additionalProperties": false, + "properties": { + "has_remarried": { + "type": "boolean" + }, + "has_va_dic_award": { + "type": "boolean" + }, + "is_honorable_discharge": { + "type": "boolean" + }, + "is_permanent_and_total": { + "type": "boolean" + }, + "is_primary_residence": { + "type": "boolean" + }, + "is_surviving_spouse": { + "type": "boolean" + }, + "ownership_relationship": { + "enum": [ + "owner", + "co_owner", + "authorized_helper" + ], + "type": "string" + }, + "review_year": { + "maximum": 2100, + "minimum": 1900, + "type": "integer" + }, + "va_disability_percentage": { + "maximum": 100, + "minimum": 0, + "multipleOf": 10, + "type": "integer" + }, + "veteran_name": { + "maxLength": 256, + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / properties / county_nameRemoved value: -{ - "description": "Reported county. No county is inferred from an address.", - "maxLength": 256, - "type": "string" -} - removed
Input schema / properties / has_remarriedRemoved value: -{ - "description": "Reported surviving-spouse remarriage status. Omit when unknown.", - "type": "boolean" -} - removed
Input schema / properties / has_va_dic_awardRemoved value: -{ - "description": "Reported VA survivor benefit award status. Omit when unknown.", - "type": "boolean" -} - removed
Input schema / properties / honorable_dischargeRemoved value: -{ - "deprecated": true, - "description": "Legacy alias for is_honorable_discharge. Conflicting values remain unknown.", - "type": "boolean" -} - removed
Input schema / properties / is_honorable_dischargeRemoved value: -{ - "description": "Reported honorable discharge status; no document verification is performed.", - "type": "boolean" -} - removed
Input schema / properties / is_permanent_and_totalRemoved value: -{ - "description": "Reported permanent-and-total status, separate from rating. Omit when unknown.", - "type": "boolean" -} - removed
Input schema / properties / is_primary_residenceRemoved value: -{ - "description": "Whether this property is the applicant's primary residence for the requested review year. Omit when unknown.", - "type": "boolean" -} - removed
Input schema / properties / is_surviving_spouseRemoved value: -{ - "description": "Whether the applicant is a surviving spouse. This does not establish DIC, remarriage status or eligibility.", - "type": "boolean" -} - removed
Input schema / properties / modeRemoved value: -{ - "deprecated": true, - "description": "Legacy request label only. This tool returns screening gaps and a review handoff; it creates no documents and sends or files nothing.", - "enum": [ - "all", - "email", - "hand_carry", - "respa" - ], - "type": "string" -} - removed
Input schema / properties / ownership_relationshipRemoved value: -{ - "description": "Reported relationship to this property; does not establish ownership or delegated authority.", - "enum": [ - "owner", - "co_owner", - "authorized_helper" - ], - "type": "string" -} - removed
Input schema / properties / parcel_idRemoved value: -{ - "description": "Explicit county parcel or property account identifier.", - "maxLength": 256, - "type": "string" -} - removed
Input schema / properties / property_addressRemoved value: -{ - "description": "Explicit property street address. Supply the parcel or account identifier separately.", - "maxLength": 256, - "type": "string" -} - removed
Input schema / properties / rating_percentageRemoved value: -{ - "deprecated": true, - "description": "Legacy alias for va_disability_percentage. Conflicting values remain unknown.", - "maximum": 100, - "minimum": 0, - "multipleOf": 10, - "type": "integer" -} - added
Input schema / properties / review_idAdded value: +{ + "maxLength": 80, + "type": "string" +} - removed
Input schema / properties / review_yearRemoved value: -{ - "description": "Requested review year, separate from any county source or bill year.", - "maximum": 2100, - "minimum": 1900, - "type": "integer" -} - added
Input schema / properties / saved_property_idAdded value: +{ + "maxLength": 128, + "type": "string" +} - removed
Input schema / properties / state_codeRemoved value: -{ - "description": "Reported two-letter state code; no default jurisdiction.", - "pattern": "^[A-Za-z]{2}$", - "type": "string" -} - added
Input schema / properties / use_connected_va_recordsAdded value: +{ + "description": "Only true when the user explicitly asks to use their connected records for their own applicant review; requires additional owner:va permission and is_surviving_spouse=false.", + "type": "boolean" +} - removed
Input schema / properties / va_disability_percentageRemoved value: -{ - "description": "Reported VA disability rating. A 100% rating alone does not establish permanent-and-total status.", - "maximum": 100, - "minimum": 0, - "multipleOf": 10, - "type": "integer" -} - removed
Input schema / properties / veteran_nameRemoved value: -{ - "description": "Applicant name supplied for this review; never inferred from an account or VA record.", - "maxLength": 256, - "type": "string" -} - added
Input schema / requiredAdded value: +[ + "review_id", + "saved_property_id" +]
- Removed
generate_vso_referral - Changed
get_appeal_lifecycle1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Removed
get_condition_evidence_catalog - Removed
get_hamilton_roll_analytics - Removed
get_jurisdiction_exemption_profile - Removed
get_knox_roll_analytics - Changed
get_microtransactions_catalog1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Removed
get_property_model_readiness - Removed
get_representation_rules - Removed
get_roll_analytics - Added
get_va_connection - Added
get_va_facility - Added
get_va_form - Removed
get_waitlist_analytics - Removed
gisdb_calculate_ground_scale - Removed
gisdb_create_checkout - Removed
gisdb_download_sample_bundle - Removed
gisdb_export_distress_feed - Removed
gisdb_get_cash_buyers - Removed
gisdb_get_metadata - Removed
gisdb_get_notice_dossier - Removed
gisdb_get_stacked_leads - Removed
gisdb_query_notices - Removed
gisdb_quote_enterprise - Removed
gisdb_redeem_download - Removed
gisdb_request_sample - Removed
gisdb_search_catalog - Removed
gisdb_subscribe_lead_feed - Removed
join_waitlist - Removed
lookup_property_tax - Removed
lookup_va_ogc_vso - Removed
parse_scra_dmdc_certificate - Removed
parse_va_benefit_letter - Removed
quote_address_change - Changed
recheck_property_opportunities1 field changed- added
Input schema / properties / skipped_question_idsAdded value: +{ + "description": "Stable question IDs explicitly skipped in this same property conversation. Resend them with accumulated answers. Skips suppress prompts only; facts and eligibility remain unresolved.", + "items": { + "enum": [ + "primary_residence", + "owner_categories", + "record_discrepancy", + "condition_issues", + "property_use", + "elderly_age_requirement_met", + "elderly_income_requirement_met", + "disabled_requirement_met", + "disabled_income_requirement_met", + "veteran_disability_requirement_met", + "surviving_spouse_requirement_met", + "freeze_age_requirement_met", + "freeze_income_requirement_met", + "greenbelt_enrolled" + ], + "type": "string" + }, + "maxItems": 14, + "type": "array", + "uniqueItems": true +}
- Added
review_veteran_requirements - Removed
run_veteran_pilot_flow - Removed
simulate_property_model - Removed
stage_portfolio_selection - Changed
start_tax_sandbox3 fields changed- changed
Input schema / properties / idempotency_key / maxLengthPrevious value: -128New value: +96 - changed
Input schema / properties / idempotency_key / minLengthPrevious value: -1New value: +8 - added
Input schema / properties / idempotency_key / patternAdded value: +"^[A-Za-z0-9_-]+$"
- Added
start_va_connection - Changed
suggest_addresses5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / limit / maximumAdded value: +20 - added
Input schema / properties / limit / minimumAdded value: +1 - added
Input schema / properties / query / maxLengthAdded value: +200 - added
Input schema / properties / query / minLengthAdded value: +1
- Removed
suggest_property_condition_defects - Removed
verify_va_disability_exemption
84 tool updates
- Added
analyze_parcel_reappraisal_surge - Added
audit_combat_deployment_abatement - Added
audit_commercial_reclassification - Added
audit_county_dd214_recording - Added
audit_disabled_homeowner_relief - Added
audit_disabled_veteran_relief - Added
audit_disabled_veteran_wheel_tax - Added
audit_fema_flood_hazard - Changed
audit_microtransaction10 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / anyOfRemoved value: -[ - { - "properties": { - "address": { - "pattern": "\\S" - } - }, - "required": [ - "address" - ] - }, - { - "properties": { - "parcel_id": { - "pattern": "\\S" - } - }, - "required": [ - "parcel_id" - ] - } -] - changed
Input schema / properties / address / descriptionPrevious value: -"Explicitly selected property street address or parcel ID. A nonblank address takes precedence over parcel_id."New value: +"Property street address or parcel ID" - removed
Input schema / properties / address / maxLengthRemoved value: -200 - changed
Input schema / properties / parcel_id / descriptionPrevious value: -"Explicitly selected county parcel ID / PIDN, used when address is absent or blank."New value: +"County Parcel ID / PIDN" - removed
Input schema / properties / parcel_id / maxLengthRemoved value: -200 - changed
Input schema / properties / service_type / descriptionPrevious value: -"Explicit research route selected from get_microtransactions_catalog. Common aliases: demolished_outbuilding, square_footage_correction, mailing_address_change, commercial_reclassification, certified_tax_ledger. No service is assumed."New value: +"Microtransaction service type: 'demolished_outbuilding', 'square_footage_correction', 'mailing_address_change', 'commercial_reclassification', 'certified_tax_ledger'" - removed
Input schema / properties / service_type / maxLengthRemoved value: -128 - removed
Input schema / properties / service_type / minLengthRemoved value: -1 - removed
Input schema / requiredRemoved value: -[ - "service_type" -]
- Added
audit_municipal_permits - Added
audit_noaa_storm_swaths - Added
audit_parcel_blight_citations - Added
audit_parcel_soil_capability - Added
audit_parcel_topography - Added
audit_portfolio_batch - Added
audit_property_tax - Added
audit_property_transfers - Added
audit_retroactive_tax_recovery - Added
audit_scra_interest_cap - Added
audit_senior_tax_freeze - Added
audit_square_footage_correction - Added
audit_surviving_spouse_portability - Added
audit_surviving_spouse_vet_relief - Added
audit_va_award_document_with_jev - Added
audit_va_funding_fee_refund - Added
audit_veteran_living_trust_preservation - Added
audit_veteran_sah_ada_exclusion - Added
audit_veteran_shield - Added
check_delinquent_taxes - Added
check_eligibility - Added
check_portfolio_address_status - Added
check_veteran_relief - Added
curate_portfolio_selection - Removed
disconnect_va_connection - Added
discover_related_properties - Removed
find_va_facilities - Removed
find_va_forms - Added
forecast_truth_in_taxation_bill_shock - Added
generate_sf180_request - Changed
generate_veteran_packet23 fields changed- added
Input schema / properties / addressAdded value: +{ + "deprecated": true, + "description": "Legacy alias for property_address; not a parcel lookup.", + "maxLength": 256, + "type": "string" +} - removed
Input schema / properties / answersRemoved value: -{ - "additionalProperties": false, - "properties": { - "has_remarried": { - "type": "boolean" - }, - "has_va_dic_award": { - "type": "boolean" - }, - "is_honorable_discharge": { - "type": "boolean" - }, - "is_permanent_and_total": { - "type": "boolean" - }, - "is_primary_residence": { - "type": "boolean" - }, - "is_surviving_spouse": { - "type": "boolean" - }, - "ownership_relationship": { - "enum": [ - "owner", - "co_owner", - "authorized_helper" - ], - "type": "string" - }, - "review_year": { - "maximum": 2100, - "minimum": 1900, - "type": "integer" - }, - "va_disability_percentage": { - "maximum": 100, - "minimum": 0, - "multipleOf": 10, - "type": "integer" - }, - "veteran_name": { - "maxLength": 256, - "type": "string" - } - }, - "type": "object" -} - added
Input schema / properties / county_nameAdded value: +{ + "description": "Reported county. No county is inferred from an address.", + "maxLength": 256, + "type": "string" +} - added
Input schema / properties / has_remarriedAdded value: +{ + "description": "Reported surviving-spouse remarriage status. Omit when unknown.", + "type": "boolean" +} - added
Input schema / properties / has_va_dic_awardAdded value: +{ + "description": "Reported VA survivor benefit award status. Omit when unknown.", + "type": "boolean" +} - added
Input schema / properties / honorable_dischargeAdded value: +{ + "deprecated": true, + "description": "Legacy alias for is_honorable_discharge. Conflicting values remain unknown.", + "type": "boolean" +} - added
Input schema / properties / is_honorable_dischargeAdded value: +{ + "description": "Reported honorable discharge status; no document verification is performed.", + "type": "boolean" +} - added
Input schema / properties / is_permanent_and_totalAdded value: +{ + "description": "Reported permanent-and-total status, separate from rating. Omit when unknown.", + "type": "boolean" +} - added
Input schema / properties / is_primary_residenceAdded value: +{ + "description": "Whether this property is the applicant's primary residence for the requested review year. Omit when unknown.", + "type": "boolean" +} - added
Input schema / properties / is_surviving_spouseAdded value: +{ + "description": "Whether the applicant is a surviving spouse. This does not establish DIC, remarriage status or eligibility.", + "type": "boolean" +} - added
Input schema / properties / modeAdded value: +{ + "deprecated": true, + "description": "Legacy request label only. This tool returns screening gaps and a review handoff; it creates no documents and sends or files nothing.", + "enum": [ + "all", + "email", + "hand_carry", + "respa" + ], + "type": "string" +} - added
Input schema / properties / ownership_relationshipAdded value: +{ + "description": "Reported relationship to this property; does not establish ownership or delegated authority.", + "enum": [ + "owner", + "co_owner", + "authorized_helper" + ], + "type": "string" +} - added
Input schema / properties / parcel_idAdded value: +{ + "description": "Explicit county parcel or property account identifier.", + "maxLength": 256, + "type": "string" +} - added
Input schema / properties / property_addressAdded value: +{ + "description": "Explicit property street address. Supply the parcel or account identifier separately.", + "maxLength": 256, + "type": "string" +} - added
Input schema / properties / rating_percentageAdded value: +{ + "deprecated": true, + "description": "Legacy alias for va_disability_percentage. Conflicting values remain unknown.", + "maximum": 100, + "minimum": 0, + "multipleOf": 10, + "type": "integer" +} - removed
Input schema / properties / review_idRemoved value: -{ - "maxLength": 80, - "type": "string" -} - added
Input schema / properties / review_yearAdded value: +{ + "description": "Requested review year, separate from any county source or bill year.", + "maximum": 2100, + "minimum": 1900, + "type": "integer" +} - removed
Input schema / properties / saved_property_idRemoved value: -{ - "maxLength": 128, - "type": "string" -} - added
Input schema / properties / state_codeAdded value: +{ + "description": "Reported two-letter state code; no default jurisdiction.", + "pattern": "^[A-Za-z]{2}$", + "type": "string" +} - removed
Input schema / properties / use_connected_va_recordsRemoved value: -{ - "description": "Only true when the user explicitly asks to use their connected records for their own applicant review; requires additional owner:va permission and is_surviving_spouse=false.", - "type": "boolean" -} - added
Input schema / properties / va_disability_percentageAdded value: +{ + "description": "Reported VA disability rating. A 100% rating alone does not establish permanent-and-total status.", + "maximum": 100, + "minimum": 0, + "multipleOf": 10, + "type": "integer" +} - added
Input schema / properties / veteran_nameAdded value: +{ + "description": "Applicant name supplied for this review; never inferred from an account or VA record.", + "maxLength": 256, + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "review_id", - "saved_property_id" -]
- Added
generate_vso_referral - Changed
get_appeal_lifecycle1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Added
get_condition_evidence_catalog - Added
get_hamilton_roll_analytics - Added
get_jurisdiction_exemption_profile - Added
get_knox_roll_analytics - Changed
get_microtransactions_catalog1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Added
get_property_model_readiness - Added
get_representation_rules - Added
get_roll_analytics - Removed
get_va_connection - Removed
get_va_facility - Removed
get_va_form - Added
get_waitlist_analytics - Added
gisdb_calculate_ground_scale - Added
gisdb_create_checkout - Added
gisdb_download_sample_bundle - Added
gisdb_export_distress_feed - Added
gisdb_get_cash_buyers - Added
gisdb_get_metadata - Added
gisdb_get_notice_dossier - Added
gisdb_get_stacked_leads - Added
gisdb_query_notices - Added
gisdb_quote_enterprise - Added
gisdb_redeem_download - Added
gisdb_request_sample - Added
gisdb_search_catalog - Added
gisdb_subscribe_lead_feed - Added
join_waitlist - Added
lookup_property_tax - Added
lookup_va_ogc_vso - Added
parse_scra_dmdc_certificate - Added
parse_va_benefit_letter - Added
quote_address_change - Changed
recheck_property_opportunities1 field changed- removed
Input schema / properties / skipped_question_idsRemoved value: -{ - "description": "Stable question IDs explicitly skipped in this same property conversation. Resend them with accumulated answers. Skips suppress prompts only; facts and eligibility remain unresolved.", - "items": { - "enum": [ - "primary_residence", - "owner_categories", - "record_discrepancy", - "condition_issues", - "property_use", - "elderly_age_requirement_met", - "elderly_income_requirement_met", - "disabled_requirement_met", - "disabled_income_requirement_met", - "veteran_disability_requirement_met", - "surviving_spouse_requirement_met", - "freeze_age_requirement_met", - "freeze_income_requirement_met", - "greenbelt_enrolled" - ], - "type": "string" - }, - "maxItems": 14, - "type": "array", - "uniqueItems": true -}
- Removed
review_veteran_requirements - Added
run_veteran_pilot_flow - Added
simulate_property_model - Added
stage_portfolio_selection - Changed
start_tax_sandbox3 fields changed- changed
Input schema / properties / idempotency_key / maxLengthPrevious value: -96New value: +128 - changed
Input schema / properties / idempotency_key / minLengthPrevious value: -8New value: +1 - removed
Input schema / properties / idempotency_key / patternRemoved value: -"^[A-Za-z0-9_-]+$"
- Removed
start_va_connection - Changed
suggest_addresses5 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / limit / maximumRemoved value: -20 - removed
Input schema / properties / limit / minimumRemoved value: -1 - removed
Input schema / properties / query / maxLengthRemoved value: -200 - removed
Input schema / properties / query / minLengthRemoved value: -1
- Added
suggest_property_condition_defects - Added
verify_va_disability_exemption
20 tool updates
- First observed
audit_microtransaction - First observed
complete_tax_sandbox_order - First observed
disconnect_va_connection - First observed
find_va_facilities - First observed
find_va_forms - First observed
generate_veteran_packet - First observed
get_appeal_lifecycle - First observed
get_microtransactions_catalog - First observed
get_owner_review_details - First observed
get_owner_workspace - First observed
get_property_assessment - First observed
get_tax_sandbox_order - First observed
get_va_connection - First observed
get_va_facility - First observed
get_va_form - First observed
recheck_property_opportunities - First observed
review_veteran_requirements - First observed
start_tax_sandbox - First observed
start_va_connection - First observed
suggest_addresses
Related MCP Connectors
Source-backed property assessment research and draft assessment comparisons for supported pilot j...
Browse county records and group parcels by recorded owner name. (mooshworks.com)
Sourced property-tax protest facts; homeowner reviews and files. Not a law firm; no outcome claims.
x402 cited web research and synthesis for agents. $1.99 per completed brief.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceProvides source-dated Washington property evidence and transaction math, including REET, seller scenarios, and research packets, for software and AI assistants.-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to look up county assessor public records for properties, check MLS discrepancies against public data, and discover new county assessor sources, all via a local MCP server for real-estate appraisal workflows.6MIT
- AlicenseAqualityCmaintenanceAllows agents to check and file California Prop 8 property tax reduction in an automated way3MIT
- FlicenseNot gradedqualityDmaintenanceProvides free property and parcel intelligence using official US government data APIs, county assessor records, and live listings, with tools for hazard risk checks, affordability calculations, and parcel ranking.-
Glama MCP Gateway
Add one secure layer between your agents and this server.