Permit requirements lookup
check_permit_requirementsCheck whether a residential construction project in King/Pierce/Snohomish counties requires a permit. Each result carries verdict — required / exempt / depends / unknown — computed from the jurisdiction's own thresholds, the parcel's overlays (when address is given) and the facts you pass; when it is depends, verdict.questions names the facts to ask the homeowner and pass back. requiresPermit is the rule's default posture, not the answer. Also returns timeline, fees, inspections, submittals and the official source URL. Use for "Do I need a permit to build a deck in Seattle?". Pass address to also get the per-item submittal set (submittals_v2). Kinds of work that are not project types (a shed, a retaining wall, a pool, an antenna, grading) are answered from the jurisdiction's own rule for that work when location or address names one; verdict.separatePermits lists any other permit the same work needs (shoreline, floodplain, grading).
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "check_permit_requirements"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| facts | No | What the homeowner has said about the scope, keyed by fact. Each result carries `verdict.questions` naming the facts still open, with their keys; pass the answers back here. Parcel facts (inCriticalArea, inFloodZone, inShoreline, historicOrLandmark, and those a city maps itself, such as inSingleFamilyResidentialZone in Issaquah) are read from the parcel when `address` is given; pass them only without an address. | |
| limit | No | Max matching rules to return (default 25). Narrow with projectType/location before raising it. | |
| address | No | Full street address — when provided, the response includes `submittals_v2` from the unified resolver (per-item triggers, source citations, filler actor). Overrides `location` for jurisdiction routing. | |
| location | No | City or jurisdiction slug, e.g. "Seattle", "Bellevue", "Tacoma", "king-county-unincorporated" | |
| projectType | No | Project type — canonical: kitchen, bathroom, basement, deck, fence, siding, windows, flooring, adu, roofing, hvac, electrical, plumbing, addition. Also a kind of work, answered with a location or address: accessory-structure (shed), retaining-wall, paving (driveway, patio), swimming-pool, interior-alteration, garage-conversion, awning, play-structure, antenna, water-tank, underground-tank, grading, street-tree | |
| guardRunLengthFt | No | Total guard/railing run in the scope of work, feet. A guard is separately permittable from the surface it stands on; a deck exemption does not carry it. | |
| deckOverStoryBelow | No | True if any part of the deck is over a basement or a story below. A deck under 30 in is still NOT exempt in Kirkland if it sits over a story. | |
| deckOnAccessibleRoute | No | True if the deck is part of an accessible route to a building entrance — an independent permit trigger, separate from height. | |
| deckHeightAboveGradeIn | No | Deck walking surface above grade, inches — measured to the grade below at any point within 36 in of the outer edge. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| next | No | ||
| total | No | ||
| parcel | No | ||
| message | No | ||
| results | No | ||
| routing | No | ||
| coverage | No | Present on an unfiltered call: the jurisdictions and project types the catalog covers. | |
| overlays | No | ||
| returned | No | ||
| important | No | ||
| disclaimer | No | ||
| trustLevel | No | "authoritative" when every returned rule is the city's own rule; "mixed" when some are the Washington state floor or not verified for the city (each rule carries its own `source` and `verdict`); or a LEGACY_LLM_SEED warning. Relay the warning or the mixed note if present. | |
| attribution | No | ||
| recommendation | No | ||
| overlayDisclaimer | No | ||
| authoritativeRulesCount | No |