# Tektolo

> Deterministic, source-cited rental property tools: turnover estimates and deposit rules by US state.

- name: com.tektolo/capabilities
- version: 0.1.0
- connection class: R0 (autonomous)
- trust: 100/100
- quality: 76/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.tektolo%2Fcapabilities
- tools: https://api.protogrid.dev/v1/servers/com.tektolo%2Fcapabilities/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "capabilities": {
      "type": "http",
      "url": "https://tektolo.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 100
- drivers: +repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-100% +updated-11d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 76/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 5 of 5 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- warn `tools.token_cost`: about 11,325 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 33 tool changes in 30 days
- fail `stability.rug_pull`: 4 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 5, about 11,325 tokens to load them all
- tool set hash: 0d7c6bbda291bdaec86e95ed01c200c9
- tools last changed: 2026-10-17T02:06:38.578Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.tektolo/capabilities.svg)](https://protogrid.dev/servers/com.tektolo/capabilities)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-17 `property_turnover_issue_codes` changed (outputSchema)
- 2026-10-17 `property_turnover_scope` changed (description, inputSchema, outputSchema)
  - before: 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 or measured quantities. Inputs: property (ZIP, bedrooms, bathrooms; optional unit type, size, year built) and findings (a description or issue code, with location, extent and quantity); optional rate_card, decisions and detail. Returns tasks by trade with low/expected/high costs for the ZIP, priorities, vendor scopes, refer-outs to licensed professionals, assumptions, unknowns and download links. Not for: diagnosing hazards, legal advice on deposits, remodel bids, properties outside the US. Deterministic and source-cited: the same input gives the same result.
  - after: 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.
- 2026-10-17 `property_turnover_quick_estimate` changed (description, inputSchema, outputSchema)
  - before: 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's labor market, must/should/could priorities, refer-outs to licensed professionals, assumptions, and links to the web tool and downloads. Same engine as property_turnover_scope. Not for: diagnosing hazards, legal advice on deposits, remodel bids, properties outside the US. Deterministic and source-cited: the same input gives the same result.
  - after: 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.
- 2026-10-17 `deposit_settlement_rules` changed (outputSchema)
- 2026-10-17 `deposit_settlement_settle` changed (outputSchema)
- 2026-10-16 `property_turnover_issue_codes` changed (inputSchema, outputSchema)
- 2026-10-16 `property_turnover_scope` changed (inputSchema, outputSchema)
- 2026-10-16 `property_turnover_quick_estimate` changed (description, inputSchema, outputSchema)
  - before: 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"); optional unit type, size, year built. Returns a priced make-ready estimate: repair tasks by trade with low/expected/high costs for the ZIP's labor market, must/should/could priorities, refer-outs to licensed professionals, assumptions, and links to the web tool and downloads. Same engine as property_turnover_scope. Not for: diagnosing hazards, legal advice on deposits, remodel bids, properties outside the US. Deterministic and source-cited: the same input gives the same result.
  - after: 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's labor market, must/should/could priorities, refer-outs to licensed professionals, assumptions, and links to the web tool and downloads. Same engine as property_turnover_scope. Not for: diagnosing hazards, legal advice on deposits, remodel bids, properties outside the US. Deterministic and source-cited: the same input gives the same result.
- 2026-10-16 `deposit_settlement_rules` changed (inputSchema, outputSchema)
- 2026-10-16 `deposit_settlement_settle` changed (inputSchema, outputSchema)

Full history: https://api.protogrid.dev/v1/servers/com.tektolo%2Fcapabilities/changes

## Remotes

- https://tektolo.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (5)

- `deposit_settlement_rules`: 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.
- `deposit_settlement_settle`: 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.
- `property_turnover_issue_codes`: 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.
- `property_turnover_quick_estimate`: 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.
- `property_turnover_scope`: 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.
