accueil / serveurs / Dev & Code / com.tektolo/rental-property
com.tektolo/rental-property
serveur MCP (Model Context Protocol) · Tektolo 0.1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.tektolo/rental-property est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.tektolo/rental-property » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 5 outils
- deposit_settlement_rules≈ 11417 tokens
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. Deterministic and source-cited: the same input gives the same result.
Paramètres, retour & exemple (6)
Paramètrescity· string · optionnel
Optional city for its overlay (e.g. 'Chicago').as_of· string · optionnel
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.audit· boolean · optionnel
Also return the run record and input/result hashes (an audit trail). Default false.state· string · requis
US state, 2-letter code or name (e.g. 'TX').serve_pinned· boolean · optionnel
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_bundle. We refuse a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Default false: the call fails whenever the rules have changed.expect_ruleset· string · optionnel
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 (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.
Exemple d'appel{"name": "deposit_settlement_rules", "arguments": {"state": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"run": "texte", "links": "texte", "result": "texte", "review": "texte", "reading": "texte", "signature": "texte", "input_hash": "texte", "client_refs": "texte", "result_hash": "texte", "request_hash": "texte"}} - deposit_settlement_settle≈ 11302 tokens
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. Deterministic and source-cited: the same input gives the same result.
Paramètres, retour & exemple (45)
Paramètrescity· string · optionnel
City, for a city overlay where covered (e.g. 'Chicago'). Optional.as_of· string · optionnel
Today's date (YYYY-MM-DD) for the deadline status. Defaults to today (UTC); send it for repeatable results.audit· boolean · optionnel
Also return the run record and input/result hashes (an audit trail). Default false.state· string · requis
US state, 2-letter code (e.g. 'CA'); a state name also works.returned· object · optionnel
What the landlord has returned so far and when. With it, timeliness says whether the refund and the itemized statement were on time and how many days late.furnished· boolean · optionnel
The unit is rented furnished (California before AB 12: 3 months; Kansas: 1.5 months; Delaware: no cap).deductions· array · optionnel
What you intend to deduct (or, for a tenant, what the landlord listed). An explicit empty list means nothing is deducted (it decides the shorter no-deduction periods, e.g. Montana 10 days, Alaska 14); leave it out when that is not known yet.move_in_on· string · optionnel
Tenancy start (YYYY-MM-DD). Used for interest and, when an item's age is unknown, for depreciation.vacated_on· string · requis
Day the tenant moved out and returned possession (YYYY-MM-DD).client_refs· object · optionnel
Your own reference ids (e.g. unit_id, job_id). Echoed back, never used.deposit_usd· ? · requis
Security deposit held, dollars.lease_end_on· string · optionnel
Day the lease was scheduled to end (YYYY-MM-DD), when it differs from when the tenancy actually ended (a broken lease). Lost rent and lease-break charges run to it; deadlines do not (they follow tenancy_ended_on, else the move-out, with the scheduled end as a later alternative).serve_pinned· boolean · optionnel
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_bundle. We refuse a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Default false: the call fails whenever the rules have changed.tenancy_type· string · optionnel · written_lease | at_will
written_lease or at_will (Maine 6033(2): a written agreement's period, at most 30 days, or 21 days for a tenancy at will; Massachusetts 15B(4): at will, 30 days after the move-out, a written lease, 30 days after its end). Left out with a move-out before tenancy_ended_on: the earlier (at-will) date leads and the other is listed.documentation· object · optionnel
What documentation you have; leave a field out when unknown.building_units· integer · optionnel
Units in the building. Some interest rules depend on it (NY 6+, IL 25+).expect_ruleset· string · optionnel
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 (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.owner_occupied· boolean · optionnel
The landlord lives in the building (ME, NH, NJ and Chicago exempt small owner-occupied buildings; with building_units).small_landlord· boolean · optionnel
California AB 12 small landlord (a natural person or an LLC of natural persons owning at most two properties with at most four units; not for a service member): a two-month cap.pet_deposit_usd· ? · optionnel
The part of deposit_usd that is a pet deposit (outside the cap in Missouri, Alabama, North Dakota and Saint Paul; allowed on top of it up to one month in Hawaii and Alaska, half a month in Kansas, a quarter in Nebraska).monthly_rent_usd· ? · optionnel
Monthly rent, for the deposit cap check.prepaid_rent_usd· ? · optionnel
Rent paid in advance beyond the first month, held besides deposit_usd. Counts toward the cap in AK, AZ, CA, CT, MD, MI and NY; earns interest in CT, MA (last month's rent), MD and Chicago; in Minneapolis it lowers the deposit cap to half a month.tenancy_ended_on· string · optionnel
When the tenancy actually ended (YYYY-MM-DD): the lease's end, or an earlier termination or accepted surrender. Deadlines that run from the end of the tenancy use it. For a tenant who left before the lease was due to end, send the scheduled end as lease_end_on (older callers sent it here, which still works: the deadline is then counted from it, with the move-out date as an earlier alternative where the facts point to one).tenant_abandoned· boolean · optionnel
The tenant abandoned the unit or was evicted (Maryland 8-203(h): the clock runs from the tenant's written demand; Washington 59.18.280: from when the landlord learns of it; Louisiana 9:3251(C): the one-month rule does not apply). Left out: inferred from tenant_gave_proper_notice: false; with a move-out before tenancy_ended_on the earlier abandonment clock leads and the other date is listed.contractor_needed· boolean · optionnel
Damage exceeds the deposit and needs a third-party contractor, and you said so in writing in time (Virginia, West Virginia: 15 more days).lease_return_days· integer · optionnel
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).lease_term_months· integer · optionnel
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.statement_sent_on· string · optionnel
Day you sent (or delivered) the itemized statement (YYYY-MM-DD). With it the statement is judged on time or late; documentation.itemized_statement alone cannot tell.demand_received_on· string · optionnel
Day you received the tenant's demand for the deposit (YYYY-MM-DD; written in Oklahoma, by first-class mail in Maryland 8-203(h)). Arizona, Kansas, Oklahoma, South Carolina and Mississippi start the clock on it.tenant_age_60_plus· boolean · optionnel
A person 60 or older occupies the unit (New Hampshire 540-A:5, I: the owner-occupied exemption does not reach the unit). tenant_age_62_plus true implies it.tenant_age_62_plus· boolean · optionnel
The tenant is 62 or older (Connecticut: a one-month cap).new_tenant_rent_usd· ? · optionnel
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.third_party_managed· boolean · optionnel
A third party manages the unit or collects rent for a fee.claim_notice_sent_on· string · optionnel
Day you sent the written notice of intent to impose a claim on the deposit (YYYY-MM-DD). Florida (due within 30 days of termination) and the District of Columbia (within 45 days): the balance is due 30 days after it; a late notice does not count.deposit_collected_on· string · optionnel
Day the deposit was collected (YYYY-MM-DD); defaults to move_in_on. California (AB 12, from 2024-07-01) and Colorado caps depend on it.landlord_units_owned· integer · optionnel
Rental units the landlord owns in all (Arkansas 5 or fewer, Georgia 10 or fewer, with third_party_managed, may be exempt).interest_paid_through· string · optionnel
Interest already paid or credited to the tenant up to this day (annual-payment rules: San Francisco, Los Angeles, Berkeley, Connecticut, Massachusetts, ...): interest is counted from it.interest_rate_percent· ? · optionnel
Annual rate the deposit account paid, where the law sets interest at the bank's rate (New Jersey, North Dakota, New Hampshire, New York, Pennsylvania, Portland), or caps it (Massachusetts: 5% or the bank's lesser rate). Without it bank-rate interest is unknown. Illinois 765 ILCS 715 uses IDFPR's published rate instead.new_tenant_moved_in_on· string · optionnel
Day a new tenant moved in, if the unit was re-rented (YYYY-MM-DD). West Virginia and Wisconsin can end the period earlier; rent claimed for days from it on is not recoverable (re-rent mitigation).rent_ordinance_covered· boolean · optionnel
The unit is covered by the city's rent ordinance (Los Angeles RSO, Berkeley Rent Ordinance). Their deposit interest is owed only then; unknown: the amount is shown beside the refund, not in it.tenant_gave_proper_notice· boolean · optionnel
A termination notice that meets the statute was given (Alaska: 14 days instead of 30 when nothing is deducted for damage).lease_signed_or_renewed_on· string · optionnel
Day the current lease was signed or last renewed (YYYY-MM-DD). Georgia (2024-07-01) and Maryland (2024-10-01) caps apply to leases from then; defaults to move_in_on, with a warning that a later renewal may bring the new cap.nonstandard_provision_signed· boolean · optionnel
Wisconsin: the tenant signed a separate NONSTANDARD RENTAL PROVISIONS document covering the charge (ATCP 134.06(3)(b)); false makes such charges 'no'.forwarding_address_received_on· string · optionnel
Day you received the tenant's written forwarding address (YYYY-MM-DD). Several states start or hold the clock on it (Texas, Connecticut, Iowa, Minnesota).tenant_gave_forwarding_address· boolean · optionnel
False when the tenant never gave a forwarding address in writing (not just 'not yet known'). Illinois, Pennsylvania, Ohio, Delaware, South Carolina and New Hampshire then relieve the landlord of the penalty. Implied true by forwarding_address_received_on.
Exemple d'appel{"name": "deposit_settlement_settle", "arguments": {"state": "texte", "vacated_on": "texte", "deposit_usd": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"run": "texte", "links": "texte", "result": "texte", "review": "texte", "reading": "texte", "signature": "texte", "input_hash": "texte", "client_refs": "texte", "result_hash": "texte", "request_hash": "texte"}} - property_turnover_issue_codes≈ 1831 tokens
Searches the standard taxonomy of rental-unit turnover issues (component.issue codes such as carpet.pet_urine). Inputs, all optional: query (keywords), area (e.g. flooring), limit (default 8). With no arguments it lists the taxonomy areas and the first codes. Returns matching codes with names and areas, and the total match count. Codes are optional: the turnover estimate tools also accept plain descriptions. Not for: cost estimates, legal or security-deposit questions, work other than rental turnover. Deterministic and source-cited: the same input gives the same result.
Paramètres, retour & exemple (8)
Paramètresarea· string · optionnel
Optional taxonomy area filter, e.g. 'flooring' or 'walls' (not a room). Call with no arguments to list every area in `areas`.audit· boolean · optionnel
Also return the run record and input/result hashes (an audit trail). Default false.limit· integer · optionnel
Most codes to return.query· string · optionnel
Keywords to match against codes, names and aliases, e.g. 'pet stain carpet'.client_refs· object · optionnel
Your own reference ids (e.g. unit_id, job_id). Echoed back, never used.serve_pinned· boolean · optionnel
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_bundle. We refuse a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Default false: the call fails whenever the rules have changed.expect_ruleset· string · optionnel
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 (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.include_aliases· boolean · optionnel
Also return each code's aliases (larger result).
Exemple d'appel{"name": "property_turnover_issue_codes", "arguments": {"area": "texte", "audit": true, "limit": 1, "query": "texte", "client_refs": {}, "serve_pinned": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"run": "texte", "links": "texte", "result": "texte", "review": "texte", "reading": "texte", "signature": "texte", "input_hash": "texte", "client_refs": "texte", "result_hash": "texte", "request_hash": "texte"}} - property_turnover_quick_estimate≈ 4825 tokens
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. Issues the matcher cannot place are read by an AI model; the answer is then a draft that lists what was read (reading). Not for: diagnosing hazards, legal advice on deposits, remodel bids, properties outside the US. The same findings under the same ruleset give the same result; AI never sets a number.
Paramètres, retour & exemple (16)
Paramètreszip· string · requis
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.audit· boolean · optionnel
Also return the run record and input/result hashes (an audit trail). Default false.sq_ft· integer · optionnel
Interior sq ft.carpet· boolean · optionnel
Is there wall-to-wall carpet?detail· string · optionnel · summary | full
summary (default, small) or full (every line).issues· array · optionnel
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, nail holes'; one finding each); a room before or after the condition sets the location ('Bedroom 2 carpet torn', 'mold in bathroom'); a written count sets the quantity ('3 blinds broken'); an entry saying there is no work ('no mold', 'leak fixed by tenant') is reported as not billed.retain· boolean · optionnel
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 removed, to improve matching; the estimate is the same either way.profile· string · optionnel
minimum (rent-ready basics) | standard | premium (higher finish).bedrooms· integer · requis
0 for a studio.bathrooms· ? · requis
Half baths count as 0.5.unit_type· string · optionnel
Single-family homes and townhomes get house-sized defaults (floor area, locks).price_tier· string · optionnel
bulk_contract (portfolio contract prices) | pm_vendor (default: a property manager buying turns from local vendors) | retail_one_off (an owner hiring one contractor).year_built· integer · optionnel
Drives lead-paint (pre-1978) handling.client_refs· object · optionnel
Your own reference ids (e.g. unit_id, job_id). Echoed back, never used.serve_pinned· boolean · optionnel
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_bundle. We refuse a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Default false: the call fails whenever the rules have changed.expect_ruleset· string · optionnel
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 (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.
Exemple d'appel{"name": "property_turnover_quick_estimate", "arguments": {"zip": "texte", "bedrooms": 1, "bathrooms": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"run": "texte", "links": "texte", "result": "texte", "review": "texte", "reading": "texte", "signature": "texte", "input_hash": "texte", "client_refs": "texte", "result_hash": "texte", "request_hash": "texte"}} - property_turnover_scope≈ 7782 tokens
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; use this one for rate cards, owner decisions, measured quantities or confirmed findings. Inputs: property (ZIP, bedrooms, bathrooms, optional details) and findings (description or issue code, location, extent, quantity); optional rate_card, decisions, detail, read. Returns tasks by trade, low/expected/high costs, priorities, vendor scopes, refer-outs, assumptions, unknowns and download links. Text is read by the matcher alone unless read=ai. Not for: diagnosing hazards, legal advice on deposits, remodel bids, properties outside the US. The same findings under the same ruleset give the same result; AI never sets a number.
Paramètres, retour & exemple (15)
Paramètresread· string · optionnel · parser | ai
parser (default): descriptions are read by the deterministic parser and matcher only; what they cannot place comes back as a manual-quote line with suggested codes. ai: what the parser cannot place is then read by an AI model; the answer is a draft (review.status) and echoes the reading, whose findings you confirm and send back for a verified answer (contract 0.12.0).audit· boolean · optionnel
Also return the run record and input/result hashes (an audit trail). Default false.detail· string · optionnel · summary | full
summary: totals, trade scopes, every line tied to a finding (capped at 40) plus the largest must-fix/refer-out lines, a one-line note on the routine lines left out, notes, and only findings needing attention (small). full: every line, finding and source.retain· boolean · optionnel
Optional (contract 0.5.0). false: keep none of this request's text. By default the finding descriptions are kept with contact details and access codes removed, to improve matching; the estimate is the same either way.findings· array · optionnel
Move-out inspection findings, one per condition, with location and extent.property· object · requis
The unit: ZIP, size, type and year built.tax_rate· ? · optionnel
Applied to all lines, e.g. 0.07.decisions· array · optionnel
Approve, decline or defer lines or findings from an earlier scope.rate_card· array · optionnel
Your own prices by trade or task; they replace the regional library prices.standards· object · optionnel
Finish profile, price tier and overrides.client_refs· object · optionnel
Your own reference ids (e.g. unit_id, job_id). Echoed back, never used.constraints· object · optionnel
Target ready date, whether the unit is occupied, access notes.serve_pinned· boolean · optionnel
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_bundle. We refuse a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Default false: the call fails whenever the rules have changed.trade_vendors· object · optionnel
Vendor (name, contact) to put on each trade's lines.expect_ruleset· string · optionnel
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 (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.
Exemple d'appel{"name": "property_turnover_scope", "arguments": {"property": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"run": "texte", "links": "texte", "result": "texte", "review": "texte", "reading": "texte", "signature": "texte", "input_hash": "texte", "client_refs": "texte", "result_hash": "texte", "request_hash": "texte"}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».