{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T16:29:03.733Z","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property","markdownUrl":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property.md","server":{"slug":"com-tektolo-rental-property","name":"Tektolo Rental Property","registryName":"com.tektolo/rental-property","description":"Rental property tools for agents: turnover cost estimates and security deposit rules by US state.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"mcp-rental-property","type":"remote","identifier":"https://tektolo.com/mcp/rental-property","withdrawn":false,"url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property","version":"0.1.0","transport":null,"scoredAt":"2026-11-05T10:22:34.760Z"},"score":{"total":85,"tier":"high trust","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":85},{"date":"2026-11-04","total":85},{"date":"2026-11-03","total":84},{"date":"2026-11-02","total":84},{"date":"2026-11-01","total":83},{"date":"2026-10-31","total":83},{"date":"2026-10-30","total":82},{"date":"2026-10-29","total":82},{"date":"2026-10-28","total":81},{"date":"2026-10-27","total":81},{"date":"2026-10-26","total":80},{"date":"2026-10-25","total":80},{"date":"2026-10-24","total":79},{"date":"2026-10-23","total":79},{"date":"2026-10-22","total":78},{"date":"2026-10-21","total":78},{"date":"2026-10-20","total":78},{"date":"2026-10-19","total":77},{"date":"2026-10-18","total":77},{"date":"2026-10-17","total":76},{"date":"2026-10-16","total":76},{"date":"2026-10-15","total":75},{"date":"2026-10-14","total":75},{"date":"2026-10-13","total":74},{"date":"2026-10-12","total":74}]},"categories":[{"name":"Endpoint Security","score":80,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.","HTTPS is enforced; there's no plaintext access path.","The HSTS (Strict-Transport-Security) header is present.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.none_no_destructive","args":{}},{"code":"https.enforced","args":{}},{"code":"headers.hsts_present","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":100,"verdict":"pass","reasons":["Verified streamable-http transport via a live MCP handshake."],"codes":[{"code":"transport.verified","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":77,"verdict":"fail","reasons":["100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).","AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 5511 tokens (~551/item across 10 items; 5 tools + 5 resources), over budget; trim descriptions and params.","Tools include usage examples."],"codes":[{"code":"schema.descriptions","args":{"pct":"100"}},{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"551","items":"10","tools":"5","tokens":"5511","resources":"5"}},{"code":"schema.examples","args":{}}]},{"name":"Stability & Change Management","score":80,"verdict":"partial","reasons":["Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"24"}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description.","Structured output schemas are declared (100% of tools); any adoption earns full credit."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}},{"code":"toolquality.output_present","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 5 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"5"}},{"code":"toolsafety.manipulation_clean","args":{"units":"7","judged":"7"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a current MCP spec version (2026-07-28)."],"codes":[{"code":"protocol.current","args":{"version":"2026-07-28"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"mcp-rental-property","type":"remote","identifier":"https://tektolo.com/mcp/rental-property","withdrawn":false,"score":85,"current":true,"url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property","markdownUrl":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property.md"}],"facts":[{"label":"Endpoint","value":"https://tektolo.com/mcp/rental-property"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"0.1.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"deposit_settlement_settle","title":"Settle a security deposit after move-out","description":"Settles a US residential security deposit after move-out under the state's statute (50 states and DC) and a covered city's ordinance. Inputs: state, deposit_usd, vacated_on; optional city, monthly_rent_usd, move_in_on, deductions (category, amount, item age, whether the tenant caused it), the dates that start a state's clock, and as_of. Returns the return deadline and its status, each deduction allowed or not (with depreciation), interest owed, refund due, penalty exposure, a draft itemized statement and a citation for every rule. Not for: legal advice, tenant demand letters, repair cost estimates, pet deposits, rentals outside the US.\nDeterministic and source-cited: the same input gives the same result.","inputs":[{"name":"as_of","type":"string","required":false,"description":"Date for deadline status; defaults to today (UTC). Send YYYY-MM-DD for repeatable results."},{"name":"audit","type":"boolean","required":false,"description":"Also return the run record and input/result hashes (an audit trail). Default false."},{"name":"building_units","type":"integer","required":false,"description":"Units in the building. Some interest rules depend on it (NY 6+, IL 25+)."},{"name":"city","type":"string","required":false,"description":"City, for a city overlay where covered (e.g. 'Chicago'). Optional."},{"name":"claim_notice_sent_on","type":"string","required":false,"description":"Written claim notice sent (YYYY-MM-DD). FL: within 30 days of termination; DC:45. Balance due 30 days after timely notice; late notice does not count."},{"name":"client_refs","type":"object","required":false,"description":"Your own reference ids (e.g. unit_id, job_id). Echoed back, never used."},{"name":"colorado_post_closing_occupancy","type":"boolean","required":false,"description":"Colorado: buyer-landlord bought this residence from seller-tenant; both executed purchase-contract post-closing occupancy before the deposit was required. True confirms all facts; false excludes; nul…"},{"name":"contractor_needed","type":"boolean","required":false,"description":"Damage exceeds the deposit and needs a third-party contractor, and you said so in writing in time (Virginia, West Virginia: 15 more days)."},{"name":"county","type":"string","required":false,"description":"TN county: act applies over 75,000 population by 2010 census (66-28-102(a)). Inferred from city only if unambiguous."},{"name":"deductions","type":"array","required":false,"description":"Charges to deduct (or the landlord's list). Explicit [] means no deductions and selects shorter periods (MT10 days, AK14); omit when unknown."},{"name":"demand_received_on","type":"string","required":false,"description":"Deposit demand received (YYYY-MM-DD): written in OK; first-class mail in MD (8-203(h)). Starts clocks in AZ/KS/OK/SC/MS."},{"name":"deposit_collected_on","type":"string","required":false,"description":"Collection date; defaults to move_in_on. CA AB12 uses it. CO: proxy only if deposit_required_on is absent; never proves the exception."},{"name":"deposit_in_separate_account","type":"boolean","required":false,"description":"TN 66-28-301(a): deposit-only separate account. No account and no damage listing means none can be kept (c)."},{"name":"deposit_required_on","type":"string","required":false,"description":"Colorado cap: date submission was required. Collection, move-out and as_of cannot establish the 2027 exception."},{"name":"deposit_usd","type":null,"required":true,"description":"Security deposit held, dollars."},{"name":"documentation","type":"object","required":false,"description":"What documentation you have; leave a field out when unknown."},{"name":"expect_ruleset","type":"string","required":false,"description":"Optional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothin…"},{"name":"forwarding_address_received_on","type":"string","required":false,"description":"Written forwarding address received (YYYY-MM-DD). Can start/hold clocks in TX, CT, IA, MN."},{"name":"furnished","type":"boolean","required":false,"description":"The unit is rented furnished (California before AB 12: 3 months; Kansas: 1.5 months; Delaware: no cap)."},{"name":"interest_paid_through","type":"string","required":false,"description":"Interest already paid/credited through this date; accrual starts here (annual-payment rules, e.g. SF/LA/Berkeley/CT/MA)."},{"name":"interest_rate_percent","type":null,"required":false,"description":"Annual deposit-bank rate: NJ/ND/NH/NY/PA/Portland; MA uses lesser of bank rate or 5%. Omitted bank rate is unknown. IL 765 ILCS 715 uses published IDFPR rate instead."},{"name":"landlord_filed_action_on","type":"string","required":false,"description":"MI 554.613: date landlord sued for claimed damage (YYYY-MM-DD); sue or return balance within 45 days. Omitted assumes no suit."},{"name":"landlord_units_owned","type":"integer","required":false,"description":"Rental units the landlord owns in all (Arkansas 5 or fewer, Georgia 10 or fewer, with third_party_managed, may be exempt)."},{"name":"lease_end_on","type":"string","required":false,"description":"Scheduled lease end (YYYY-MM-DD), if different from actual tenancy end. Lost rent/lease-break charges use it. Deadlines use tenancy_ended_on, else move-out; scheduled end remains a later alternative."},{"name":"lease_return_days","type":"integer","required":false,"description":"Return period the lease sets, in days, where the statute lets a lease set one (Colorado up to 60, Idaho up to 30, Maine shorter)."},{"name":"lease_signed_or_renewed_on","type":"string","required":false,"description":"Current lease signing/last renewal (YYYY-MM-DD). GA cap from 2024-07-01; MD from 2024-10-01. Defaults move_in_on; warns later renewal may activate cap."},{"name":"lease_term_months","type":"integer","required":false,"description":"Term of the lease in months (0 for month-to-month). Delaware's cap applies to leases of a year or more, New Mexico's to shorter ones."},{"name":"monthly_rent_usd","type":null,"required":false,"description":"Monthly rent, for the deposit cap check."},{"name":"move_in_on","type":"string","required":false,"description":"Tenancy start (YYYY-MM-DD). Used for interest and, when an item's age is unknown, for depreciation."},{"name":"new_tenant_moved_in_on","type":"string","required":false,"description":"Re-rented: new tenant's move-in date (YYYY-MM-DD). Can shorten WV/WI periods; rent overlapping the new tenancy is unrecoverable."},{"name":"new_tenant_rent_usd","type":null,"required":false,"description":"Monthly rent the new tenant pays (with new_tenant_moved_in_on): the rent received for overlapping days is credited against rent claimed for them."},{"name":"nonstandard_provision_signed","type":"boolean","required":false,"description":"Wisconsin: the tenant signed a separate NONSTANDARD RENTAL PROVISIONS document covering the charge (ATCP 134.06(3)(b)); false makes such charges 'no'."},{"name":"owner_is_natural_person","type":"boolean","required":false,"description":"GA 44-7-36 only: true=natural-person owner; false=LLC/corporation/partnership/trust, which cannot claim small-landlord exemption. Omitted: exemption stays an alternative."},{"name":"owner_occupied","type":"boolean","required":false,"description":"The landlord lives in the building (ME, NH, NJ and Chicago exempt small owner-occupied buildings; with building_units)."},{"name":"pet_deposit_usd","type":null,"required":false,"description":"Pet portion of deposit_usd: outside caps in MO/AL/ND/Saint Paul; extra cap allowance of 1 month in HI/AK, half in KS, quarter in NE."},{"name":"prepaid_rent_usd","type":null,"required":false,"description":"Advance rent beyond first month, held besides deposit_usd. Counts in AK/AZ/CA/CT/MD/MI/NY caps; earns interest in CT/MA(last-month rent)/MD/Chicago; Minneapolis cap becomes half-month. UT: send only…"},{"name":"rent_ordinance_covered","type":"boolean","required":false,"description":"Covered by LA RSO or Berkeley Rent Ordinance: required for their deposit interest. Unknown interest stays beside, not inside, refund."},{"name":"renter_notice_served_on","type":"string","required":false,"description":"UT 57-17-3(3) renter notice served after deadline (YYYY-MM-DD). Owner gets 5 business days to comply (5); no notice means no 57-17-5 relief."},{"name":"returned","type":"object","required":false,"description":"Prior refund/statement and date; timeliness assesses each duty and days late."},{"name":"serve_pinned","type":"boolean","required":false,"description":"Optional, with expect_ruleset. True asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle; the result says so in served_from_…"},{"name":"small_landlord","type":"boolean","required":false,"description":"CA AB 12: natural person or LLC of natural persons, at most 2 properties containing at most 4 units total, tenant not a service member;2 month cap."},{"name":"state","type":"string","required":true,"description":"US state, 2-letter code (e.g. 'CA'); a state name also works."},{"name":"statement_sent_on","type":"string","required":false,"description":"Itemized statement sent/delivered (YYYY-MM-DD), to assess timeliness; documentation.itemized_statement alone supplies no date."},{"name":"tenancy_ended_on","type":"string","required":false,"description":"Actual tenancy end: lease end, early termination or accepted surrender (YYYY-MM-DD). End-of-tenancy deadlines use this; send a different scheduled end as lease_end_on. Legacy scheduled ends still wor…"},{"name":"tenancy_type","type":"string","required":false,"description":"written_lease or at_will. ME 6033(2): written period<=30 days, at-will 21. MA 15 B(4):30 days from move-out(at-will) or lease end(written). Omitted when vacated_on precedes tenancy_ended_on: earlier…"},{"name":"tenant_abandoned","type":"boolean","required":false,"description":"Abandoned or evicted: MD 8-203(h) clock starts at written demand; WA 59.18.280 at landlord awareness; LA 9:3251(C) one-month rule excluded. Omitted: inferred from tenant_gave_proper_notice=false. If…"},{"name":"tenant_age_60_plus","type":"boolean","required":false,"description":"An occupant is 60+ (NH 540-A:5,I: owner-occupied exemption excluded). tenant_age_62_plus=true implies this."},{"name":"tenant_age_62_plus","type":"boolean","required":false,"description":"The tenant is 62 or older (Connecticut: a one-month cap)."},{"name":"tenant_gave_forwarding_address","type":"boolean","required":false,"description":"False: no written forwarding address ever given. May relieve penalties in IL/PA/OH/SC/NH; DE also accepts a lease notice address. forwarding_address_received_on implies true."},{"name":"tenant_gave_proper_notice","type":"boolean","required":false,"description":"A termination notice that meets the statute was given (Alaska: 14 days instead of 30 when nothing is deducted for damage)."},{"name":"third_party_managed","type":"boolean","required":false,"description":"A third party manages the unit or collects rent for a fee."},{"name":"vacated_on","type":"string","required":true,"description":"Day the tenant moved out and returned possession (YYYY-MM-DD)."}],"outputs":[{"name":"client_refs","type":"object|null","required":false,"description":null},{"name":"deprecation","type":"array|null","required":false,"description":null},{"name":"input_hash","type":"string|null","required":false,"description":null},{"name":"links","type":"object|null","required":false,"description":null},{"name":"reading","type":"object|null","required":false,"description":null},{"name":"request_hash","type":"string|null","required":false,"description":null},{"name":"result","type":"object","required":true,"description":null},{"name":"result_hash","type":"string|null","required":false,"description":null},{"name":"review","type":"object|null","required":false,"description":null},{"name":"run","type":"object|null","required":false,"description":null},{"name":"signature","type":"object|null","required":false,"description":null}],"hasOutputSchema":true,"hasExamples":true,"tokenEstimate":2351},{"name":"deposit_settlement_rules","title":"Security deposit rules for a state (and city)","description":"Looks up the security deposit rules (deposits only) for one US state, with a covered city's deposit ordinance (Chicago, San Francisco, Berkeley, Los Angeles, Seattle, Portland, Minneapolis, Saint Paul). Inputs: state (two-letter code); optional city. Returns the deposit return deadline and what starts it, itemization and documentation duties, allowed deductions and depreciation, deposit interest, penalties, the deposit cap and recent changes, with citations. Not for: settling a specific move-out (deposit_settlement_settle does that), evictions, unpaid-rent collection, rent increases or rent control, lease renewal or notice periods, legal advice.\nDeterministic and source-cited: the same input gives the same result.","inputs":[{"name":"as_of","type":"string","required":false,"description":"Optional date (YYYY-MM-DD): show the law in force on that day, for a past move-out the day the tenancy ended. Omitted: the current law."},{"name":"audit","type":"boolean","required":false,"description":"Also return the run record and input/result hashes (an audit trail). Default false."},{"name":"city","type":"string","required":false,"description":"Optional city for its overlay (e.g. 'Chicago')."},{"name":"expect_ruleset","type":"string","required":false,"description":"Optional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothin…"},{"name":"serve_pinned","type":"boolean","required":false,"description":"Optional, with expect_ruleset. True asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle; the result says so in served_from_…"},{"name":"state","type":"string","required":true,"description":"US state, 2-letter code or name (e.g. 'TX')."}],"outputs":[{"name":"client_refs","type":"object|null","required":false,"description":null},{"name":"deprecation","type":"array|null","required":false,"description":null},{"name":"input_hash","type":"string|null","required":false,"description":null},{"name":"links","type":"object|null","required":false,"description":null},{"name":"reading","type":"object|null","required":false,"description":null},{"name":"request_hash","type":"string|null","required":false,"description":null},{"name":"result","type":"object","required":true,"description":null},{"name":"result_hash","type":"string|null","required":false,"description":null},{"name":"review","type":"object|null","required":false,"description":null},{"name":"run","type":"object|null","required":false,"description":null},{"name":"signature","type":"object|null","required":false,"description":null}],"hasOutputSchema":true,"hasExamples":true,"tokenEstimate":444},{"name":"property_turnover_quick_estimate","title":"Quick turnover estimate (start here)","description":"Estimates what it costs to turn over a US rental unit after move-out; the first tool for a turnover estimate. Inputs: a 5-digit ZIP, bedrooms, bathrooms and the issues in plain English (e.g. \"stained carpet in both bedrooms\"), which may come from the user's photos; optional unit type, size, year built. Returns a priced make-ready estimate: repair tasks by trade with low/expected/high costs for the ZIP, priorities, refer-outs to licensed professionals, assumptions and links. An AI model reads the issues; the answer is a draft listing what it read (reading), and words it cannot place bill nothing. Not for: diagnosing hazards, legal advice on deposits, remodel bids, properties outside the US.\nThe same findings under the same ruleset give the same result; AI never sets a number.","inputs":[{"name":"audit","type":"boolean","required":false,"description":"Also return the run record and input/result hashes (an audit trail). Default false."},{"name":"bathrooms","type":null,"required":true,"description":"Half baths count as 0.5."},{"name":"bedrooms","type":"integer","required":true,"description":"0 for a studio."},{"name":"carpet","type":"boolean","required":false,"description":"Is there wall-to-wall carpet?"},{"name":"client_refs","type":"object","required":false,"description":"Your own reference ids (e.g. unit_id, job_id). Echoed back, never used."},{"name":"detail","type":"string","required":false,"description":"summary (default, small) or full (every line)."},{"name":"expect_ruleset","type":"string","required":false,"description":"Optional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothin…"},{"name":"issues","type":"array","required":false,"description":"What was found in plain English, e.g. ['stained carpet in both bedrooms', 'nail holes everywhere', 'oven is filthy']. Read like pasted notes: an entry may hold several conditions ('carpet stained, na…"},{"name":"pets","type":"boolean","required":false,"description":"Did pets live in the unit? true adds an optional flea treatment."},{"name":"price_tier","type":"string","required":false,"description":"bulk_contract (portfolio contract prices) | pm_vendor (default: a property manager buying turns from local vendors) | retail_one_off (an owner hiring one contractor)."},{"name":"profile","type":"string","required":false,"description":"minimum (rent-ready basics) | standard | premium (higher finish)."},{"name":"retain","type":"boolean","required":false,"description":"Optional (contract 0.5.1). false: keep none of this request's text, so the AI reader's answer for the issues is not stored either. By default the text is kept with contact details and access codes re…"},{"name":"serve_pinned","type":"boolean","required":false,"description":"Optional, with expect_ruleset. True asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle; the result says so in served_from_…"},{"name":"sq_ft","type":"integer","required":false,"description":"Interior sq ft."},{"name":"unit_type","type":"string","required":false,"description":"Single-family homes and townhomes get house-sized defaults (floor area, locks)."},{"name":"walk_date","type":"string","required":false,"description":"The walk-through date; dated or aged items are judged against it. Omit if unknown."},{"name":"year_built","type":"integer","required":false,"description":"Drives lead-paint (pre-1978) handling."},{"name":"zip","type":"string","required":true,"description":"The user's 5-digit US ZIP code. If it is missing or not exactly 5 digits, ask the user; never guess, pad or correct it."}],"outputs":[{"name":"client_refs","type":"object|null","required":false,"description":null},{"name":"deprecation","type":"array|null","required":false,"description":null},{"name":"input_hash","type":"string|null","required":false,"description":null},{"name":"links","type":"object|null","required":false,"description":null},{"name":"reading","type":"object|null","required":false,"description":null},{"name":"request_hash","type":"string|null","required":false,"description":null},{"name":"result","type":"object","required":true,"description":null},{"name":"result_hash","type":"string|null","required":false,"description":null},{"name":"review","type":"object|null","required":false,"description":null},{"name":"run","type":"object|null","required":false,"description":null},{"name":"signature","type":"object|null","required":false,"description":null}],"hasOutputSchema":true,"hasExamples":true,"tokenEstimate":875},{"name":"property_turnover_scope","title":"Scope a property turnover","description":"Turns move-out inspection findings for a US rental unit into a priced make-ready scope. For a first estimate use property_turnover_quick_estimate (plain words). Inputs: property (ZIP, bedrooms, bathrooms, optional details) and findings, each an issue code from property_turnover_issue_codes with rooms, status, quantity and the original words (source_text); optional rate_card, decisions, detail. Returns tasks by trade, low/expected/high costs, priorities, vendor scopes, refer-outs, assumptions, unknowns and download links. Not for: diagnosing hazards, legal advice on deposits, remodel bids, properties outside the US.\nDeterministic and source-cited: the same input gives the same result.","inputs":[{"name":"audit","type":"boolean","required":false,"description":"Also return the run record and input/result hashes (an audit trail). Default false."},{"name":"client_refs","type":"object","required":false,"description":"Your own reference ids (e.g. unit_id, job_id). Echoed back, never used."},{"name":"constraints","type":"object","required":false,"description":"Target ready date, whether the unit is occupied, access notes."},{"name":"decisions","type":"array","required":false,"description":"Approve, decline or defer lines or findings from an earlier scope."},{"name":"detail","type":"string","required":false,"description":"summary (small): totals, trade scopes, lines tied to findings. full: all."},{"name":"expect_ruleset","type":"string","required":false,"description":"Optional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothin…"},{"name":"findings","type":"array","required":false,"description":"Move-out inspection findings, one per observed condition, coded."},{"name":"property","type":"object","required":true,"description":"The unit: ZIP, size, type and year built."},{"name":"rate_card","type":"array","required":false,"description":"Your own prices by trade or task; they replace the regional library prices."},{"name":"read","type":"string","required":false,"description":"Deprecated and ignored: scope reads no free text."},{"name":"retain","type":"boolean","required":false,"description":"false: keep none of this request's text."},{"name":"serve_pinned","type":"boolean","required":false,"description":"Optional, with expect_ruleset. True asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle; the result says so in served_from_…"},{"name":"standards","type":"object","required":false,"description":"Finish profile, price tier and overrides."},{"name":"tax_rate","type":null,"required":false,"description":"Applied to all lines, e.g. 0.07."},{"name":"trade_vendors","type":"object","required":false,"description":"Vendor (name, contact) to put on each trade's lines."}],"outputs":[{"name":"client_refs","type":"object|null","required":false,"description":null},{"name":"deprecation","type":"array|null","required":false,"description":null},{"name":"input_hash","type":"string|null","required":false,"description":null},{"name":"links","type":"object|null","required":false,"description":null},{"name":"reading","type":"object|null","required":false,"description":null},{"name":"request_hash","type":"string|null","required":false,"description":null},{"name":"result","type":"object","required":true,"description":null},{"name":"result_hash","type":"string|null","required":false,"description":null},{"name":"review","type":"object|null","required":false,"description":null},{"name":"run","type":"object|null","required":false,"description":null},{"name":"signature","type":"object|null","required":false,"description":null}],"hasOutputSchema":true,"hasExamples":true,"tokenEstimate":595},{"name":"property_turnover_issue_codes","title":"Look up turnover issue codes","description":"The issue-code catalog for rental-unit turnover findings (group.issue codes such as carpet.pet_urine). Inputs, all optional: q (search words or a code), group (e.g. flooring), limit, include_aliases; query and area are older names for q and group. With no arguments it returns every code in short form (code, name, group, default extent, refer-out). With q it returns the best matches with description, aliases, not_when, rooms and examples. Returns the codes, the match count, every group, and general.manual_quote, the code for a condition no other code fits. Not for: cost estimates, legal or security-deposit questions, work other than rental turnover.\nDeterministic and source-cited: the same input gives the same result.","inputs":[{"name":"area","type":"string","required":false,"description":"Older name for group; use group."},{"name":"audit","type":"boolean","required":false,"description":"Also return the run record and input/result hashes (an audit trail). Default false."},{"name":"client_refs","type":"object","required":false,"description":"Your own reference ids (e.g. unit_id, job_id). Echoed back, never used."},{"name":"expect_ruleset","type":"string","required":false,"description":"Optional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothin…"},{"name":"group","type":"string","required":false,"description":"Only codes in this group, e.g. 'flooring' or 'walls' (a part of the unit, not a room). `groups` in the answer lists them all."},{"name":"include_aliases","type":"boolean","required":false,"description":"Also return aliases in the short list (search hits always carry them)."},{"name":"limit","type":"integer","required":false,"description":"Most codes to return. Default: 8 with q, every code without."},{"name":"q","type":"string","required":false,"description":"Words to search for in the codes, names, aliases, descriptions and examples, e.g. 'pet stain carpet'. Hits come back with full detail. Leave out to list every code in short form."},{"name":"query","type":"string","required":false,"description":"Older name for q; use q."},{"name":"serve_pinned","type":"boolean","required":false,"description":"Optional, with expect_ruleset. True asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle; the result says so in served_from_…"}],"outputs":[{"name":"client_refs","type":"object|null","required":false,"description":null},{"name":"deprecation","type":"array|null","required":false,"description":null},{"name":"input_hash","type":"string|null","required":false,"description":null},{"name":"links","type":"object|null","required":false,"description":null},{"name":"reading","type":"object|null","required":false,"description":null},{"name":"request_hash","type":"string|null","required":false,"description":null},{"name":"result","type":"object","required":true,"description":null},{"name":"result_hash","type":"string|null","required":false,"description":null},{"name":"review","type":"object|null","required":false,"description":null},{"name":"run","type":"object|null","required":false,"description":null},{"name":"signature","type":"object|null","required":false,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":570}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T10:22:34.000Z","track":"remote","endpoint":"https://tektolo.com/mcp/rental-property","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=tektolo.com","issuer":"CN=GeoTrust TLS RSA CA G1,OU=www.digicert.com,O=DigiCert Inc,C=US","notBefore":"2026-10-08T00:00:00Z","notAfter":"2027-04-08T23:59:59Z","keyType":"RSA","keyBits":2048,"isCa":false},{"subject":"CN=GeoTrust TLS RSA CA G1,OU=www.digicert.com,O=DigiCert Inc,C=US","issuer":"CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US","notBefore":"2017-11-02T12:23:37Z","notAfter":"2027-11-02T12:23:37Z","keyType":"RSA","keyBits":2048,"isCa":true},{"subject":"CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US","issuer":"CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US","notBefore":"2013-08-01T12:00:00Z","notAfter":"2038-01-15T12:00:00Z","keyType":"RSA","keyBits":2048,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"tektolo.com.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"com.","outcome":"verified","label":"Verified"},{"zone":"tektolo.com.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"none","label":"No authorisation required","gate":null,"gateLabel":null,"status":200,"authorizationServers":[]},"httpsRedirect":{"outcome":"https_enforced","label":"HTTPS enforced","status":301},"transports":[{"transport":"streamable-http","outcome":"verified","label":"Verified","status":200,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-12","recent":[{"id":"chg_01a1a611-a500-7439-b91c-55cfbeb0bfa4","kind":"score.total_changed","summary":"Trust score (84 → 85)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a1a611-a500-7439-b91c-55cfbeb0bfa4"},{"id":"chg_01a19bc6-1352-797a-8c48-30b1f9602237","kind":"score.total_changed","summary":"Trust score (83 → 84)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a19bc6-1352-797a-8c48-30b1f9602237"},{"id":"chg_01a19179-1108-7066-a0ee-8c9503d0604a","kind":"score.total_changed","summary":"Trust score (82 → 83)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a19179-1108-7066-a0ee-8c9503d0604a"},{"id":"chg_01a1872a-cad5-7f27-bb7e-c15458bb2245","kind":"score.total_changed","summary":"Trust score (81 → 82)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a1872a-cad5-7f27-bb7e-c15458bb2245"},{"id":"chg_01a17cd2-3a03-7a3b-8dfa-59932c3e7b52","kind":"score.total_changed","summary":"Trust score (80 → 81)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a17cd2-3a03-7a3b-8dfa-59932c3e7b52"},{"id":"chg_01a177ab-f4fb-7448-95a6-72dfb4744843","kind":"param.description_changed","summary":"“deposit_settlement_settle” reworded the description of “as_of”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a177ab-f4fb-7448-95a6-72dfb4744843"},{"id":"chg_01a177ab-f4fc-764b-8fd4-505c8e5ece47","kind":"param.description_changed","summary":"“deposit_settlement_settle” reworded the description of “claim_notice_sent_on”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a177ab-f4fc-764b-8fd4-505c8e5ece47"},{"id":"chg_01a177ab-f4fc-7ecd-8ec8-9a31b126f2b6","kind":"param.description_changed","summary":"“deposit_settlement_settle” reworded the description of “county”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a177ab-f4fc-7ecd-8ec8-9a31b126f2b6"},{"id":"chg_01a177ab-f4fd-75ae-b164-08b4ed5f7161","kind":"param.description_changed","summary":"“deposit_settlement_settle” reworded the description of “deductions”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a177ab-f4fd-75ae-b164-08b4ed5f7161"},{"id":"chg_01a177ab-f4fd-7cdf-b307-e8ee78ffec40","kind":"param.description_changed","summary":"“deposit_settlement_settle” reworded the description of “demand_received_on”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a177ab-f4fd-7cdf-b307-e8ee78ffec40"},{"id":"chg_01a177ab-f4fe-7372-b445-405e6f418783","kind":"param.description_changed","summary":"“deposit_settlement_settle” reworded the description of “deposit_collected_on”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a177ab-f4fe-7372-b445-405e6f418783"},{"id":"chg_01a177ab-f4fe-7c72-80ce-46ab9423db47","kind":"param.description_changed","summary":"“deposit_settlement_settle” reworded the description of “deposit_in_separate_account”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a177ab-f4fe-7c72-80ce-46ab9423db47"},{"id":"chg_01a177ab-f4ff-7338-9d20-9bbc9cfbe881","kind":"param.description_changed","summary":"“deposit_settlement_settle” reworded the description of “forwarding_address_received_on”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a177ab-f4ff-7338-9d20-9bbc9cfbe881"},{"id":"chg_01a177ab-f500-7956-b5b8-83ecf2ee1880","kind":"param.description_changed","summary":"“deposit_settlement_settle” reworded the description of “interest_paid_through”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a177ab-f500-7956-b5b8-83ecf2ee1880"},{"id":"chg_01a177ab-f501-70f5-86d2-0055e29a5b9b","kind":"param.description_changed","summary":"“deposit_settlement_settle” reworded the description of “interest_rate_percent”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a177ab-f501-70f5-86d2-0055e29a5b9b"},{"id":"chg_01a177ab-f501-75f8-a1af-00e64c69a193","kind":"param.description_changed","summary":"“deposit_settlement_settle” reworded the description of “landlord_filed_action_on”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a177ab-f501-75f8-a1af-00e64c69a193"},{"id":"chg_01a177ab-f502-708d-ad3b-f29bff198a09","kind":"param.description_changed","summary":"“deposit_settlement_settle” reworded the description of “lease_end_on”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a177ab-f502-708d-ad3b-f29bff198a09"},{"id":"chg_01a177ab-f502-77d5-8825-144236d531bd","kind":"param.description_changed","summary":"“deposit_settlement_settle” reworded the description of “lease_signed_or_renewed_on”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a177ab-f502-77d5-8825-144236d531bd"},{"id":"chg_01a177ab-f502-7d44-9919-4fdba4727e38","kind":"param.description_changed","summary":"“deposit_settlement_settle” reworded the description of “new_tenant_moved_in_on”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a177ab-f502-7d44-9919-4fdba4727e38"},{"id":"chg_01a177ab-f503-7a33-a72b-36660c2fdb37","kind":"param.description_changed","summary":"“deposit_settlement_settle” reworded the description of “owner_is_natural_person”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property#chg-chg_01a177ab-f503-7a33-a72b-36660c2fdb37"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property","markdown":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property.md","changelogJson":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property/changelog.json","changelogRss":"https://verifymcp.io/servers/com-tektolo-rental-property/mcp-rental-property.xml","external":[{"label":"Remote endpoint","href":"https://tektolo.com/mcp/rental-property"},{"label":"Repository","href":"https://github.com/tektolo/skills"},{"label":"Website","href":"https://tektolo.com/"}]}}