Skip to main content
ClaudeWave
chaoz23 avatar
chaoz23

king-county-permit-status

Ver en GitHub

Look up building permit status for King County, WA — searches across city + county jurisdictions. Agent-friendly: --pipe, --schema, tool.json.

MCP ServersRegistry oficial1 estrellas0 forks● PythonActualizado today
ClaudeWave Trust Score
70/100
· OK
Passed
  • ✓Actively maintained (<30d)
  • ✓Clear description
  • ✓Topics declared
  • ✓Documented (README)
Flags
  • !No standard license detected
Last scanned: 10/10/2026
Install in Claude Code / Claude Desktop
Method: UVX (Python) · king-county-permit-status
Claude Code CLI
claude mcp add king-county-permit-status -- uvx king-county-permit-status
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "king-county-permit-status": {
      "command": "uvx",
      "args": ["king-county-permit-status"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Package name inferred from the repository name. Verify it exists on PyPI, or clone https://github.com/chaoz23/king-county-permit-status and follow its README.
Casos de uso

Resumen de MCP Servers

# King County Permit Status

Look up building permit history and status across King County, WA jurisdictions — county-level permits (septic, critical areas, grading) and city-level permits (building, mechanical, electrical) can all apply to the same address. Coverage is live where a jurisdiction offers an open permit feed, and falls back to the correct municipal portal link everywhere else.

<!-- BEGIN COVERAGE (generated by scripts/gen_scorecard.py) -->

**Coverage today:** 🟢 **20/39** cities live (status + history) · 🟠 **19/39** indexed (issued-permit history from the King County Assessor; current status needs the city portal, which `next_step` names) · plus unincorporated King County. See the coverage scorecard below for the per-city breakdown.

<!-- END COVERAGE -->

```bash
python3 lookup.py "27927 E Main St"           # by address
python3 lookup.py "7222000353"                  # by parcel number
python3 lookup.py "B25000947"                   # by permit number
python3 lookup.py "23-127651-LP"                # Bellevue permit number
python3 lookup.py "6145915-CN"                  # Seattle SDCI permit number
python3 lookup.py --pipe "27927 E Main St"      # agent pipeline mode
python3 lookup.py --schema                      # print tool definition
```

### Hosted API + MCP (no install)

The same lookup is served read-only, no auth, from `permits-api.secondlandings.ai`
(`server.py`, zero dependencies; see `deploy/README.md`):

| | |
|---|---|
| **MCP** (Streamable HTTP) | `POST https://permits-api.secondlandings.ai/mcp` — tool `king_county_permit_status`, arg `query` |
| **REST** | `GET https://permits-api.secondlandings.ai/api/lookup?q=1817+Morris+Ave+S,+Renton+WA` |
| **OpenAPI 3.1** (typed) | `/openapi.json` · agent orientation `/llms.txt` · CLI definition `/tool.json` · `/healthz` |

Results are live; the server caches each query for 15 minutes and rate-limits
per client (30/min) to protect the municipal portals. Run it yourself with
`python3 server.py` or `docker compose up` — `server.json` is the MCP Registry manifest.

Parcel-number searches query every supported MyBuildingPermit and live city
portal because a bare parcel number does not identify its city jurisdiction.

Address searches are routed by **geometry, not the mailing city**: the address
is geocoded with King County's four-county locator and the point is tested
against the city-limits polygons. A "Kent, WA" address that sits in
unincorporated King County is searched as county, not Kent; an address with no
city in it is routed correctly instead of fanning out to every jurisdiction; and
Pierce-side addresses of Milton/Pacific/Auburn get a `pierce:` parcel id. The
mailing city is only used when geocoding fails (`jurisdiction.basis` says which).

## What you get

```json
{
  "action": "found",
  "permit_count": 2,
  "searched": ["Renton (EnerGov)"],
  "permits": [
    {
      "permit_number": "E26000458",
      "type": "Residential Electrical Permit",
      "status": "Issued",
      "description": "Electrical Work (Garage & Garage Exterior): ...",
      "address": "1817 Morris Ave S Renton WA 98055",
      "jurisdiction": "Renton",
      "applied_date": "2026-01-28",
      "issued_date": "2026-01-28",
      "finaled_date": null,
      "expires_date": "2027-07-27",
      "portal": "https://permitting.rentonwa.gov",
      "record_url": null,
      "is_open": true
    }
  ],
  "trust_level": "live",
  "fetched_at": "2026-10-08T19:02:11+00:00",
  "parcel_id": "king:7222000353",
  "cite_as": "King County Permit Status (github.com/chaoz23/king-county-permit-status), queried 2026-10-08 via Renton (EnerGov)"
}
```

| Field | Description |
|---|---|
| `action` | `found` (permits returned), `none` (no matches), `refine` (connection issue) |
| `permit_count` | Number of unique permits found |
| `permits` | Array sorted newest `applied_date` first |
| `searched` | Which jurisdictions were searched |
| `separate_portal` | If the city has an unsupported portal: city name + URL + prose note |
| `next_step` | Structured twin of `separate_portal` for agents: `kind: manual_portal_search`, `reason` (`no_feed` / `electrical_only` / `parcel_resolution_failed` / `source_incomplete`), `portal_url` (the portal's actual search page when known — PermitTrax, LAMA, OpenGov, Kent), `vendor`, `search_by` (inputs that page accepts; empty when login-gated), `query`, `query_type`, `covers_electrical`, `hint` |
| `errors` | Source errors when a search is incomplete; may accompany permits from successful sources |
| `trust_level` | `live` (every applicable source answered), `partial` (a source errored or a portal needs manual follow-up), `fallback` (nothing searchable) |
| `fetched_at` | UTC timestamp of the query — records are live, never cached |
| `parcel_id` | County-namespaced parcel, e.g. `king:7222000353` or `pierce:5985002900`, when the query was or resolved to a parcel |
| `jurisdiction` | Where the query was routed and why: `city`, `basis` (`city-limits` = the geocoded point falls inside that city's polygon — authoritative; `geocoder-city`; `address-text` = the mailing city in the query, used only when geocoding fails), `county`, `unincorporated` (true → county permits only, even if the mailing city says "Kent") |
| `address_resolution` | How well the geocoder matched an address: `matched_address`, `score`, `match_type` (`point` = exact address point; `interpolated` = number placed along the street, no parcel; `street`), `partial_match`, `street_number_snapped` |
| `cite_as` | One-line attribution string for generated text |

Per permit: `permit_number`, `type`, `status`, `is_open` (normalized across vendor status vocabularies; `null` when the source exposes no status), `description`, `address`, `jurisdiction`, `applied_date`, `issued_date`, `finaled_date`, `expires_date`, `portal`, `record_url` (the specific record's URL when the source exposes one).

## Multi-jurisdiction coverage

| Source | Cities / scope |
|---|---|
| [MyBuildingPermit.com](https://permitsearch.mybuildingpermit.com/) | Auburn, Bellevue, Bothell, Burien, Edmonds, Federal Way, Issaquah, Kenmore, **King County** (unincorporated), Kirkland, Mercer Island, Mill Creek, Newcastle, Sammamish, Snoqualmie |
| Bellevue Open Data (live ArcGIS API) | Daily Bellevue permit snapshot (1998+) for address, parcel, and permit-number searches |
| Seattle Open Data (live Socrata APIs) | Building, electrical, trade, and land-use permits for Seattle address and permit-number searches |
| Renton EnerGov (live API) | All Renton permit types including electrical |
| Redmond EnerGov Civic Access (live API) | All Redmond permit types including electrical, for address, parcel, and permit-number searches |
| Accela Citizen Access (live) | Woodinville, and King County's own agency for unincorporated addresses (older history, enforcement and electrical records that MyBuildingPermit lacks), for address, parcel, and permit-number searches |
| SmartGov (live) | Normandy Park and Carnation, for address, parcel, and permit-number searches |
| King County Assessor parcel index | Issued-permit history (number, type, description, issue date, value, **issuing city**) for every King County parcel — the only source for the 19 cities without a public portal. It is what cities report for *valuation*: building/remodel/addition permits (some electrical), dense since ~2023 and thin before, back to the late 1990s; never trade sub-permits or inspections, and no status. Address queries use the geocoded parcel, parcel queries use it directly |
| LAMA (live) | SeaTac, for address and permit-number searches (incl. SeaTac's self-run electrical; parcel search not offered by the portal; capped at 200 newest per query) |
| Shoreline eTRAKiT (live) | Building, mechanical/plumbing, and land-use permits for Shoreline address, parcel, and permit-number searches (status/description not exposed by the portal's search) |
| WA State L&I | Electrical permits for cities not handling their own (2020+) |

<!-- BEGIN SCORECARD (generated by scripts/gen_scorecard.py) -->

### Coverage scorecard

Auto-generated from `routing_data.json` (`python3 scripts/gen_scorecard.py --write`). One row per King County city.

**Legend** — ✅ live (status + history) · 🗂️ index (valuation-reported building history from the King County Assessor's parcel index — no status, no sub-permits, dense since ~2023) · ➖ L&I electrical only (2020+) · ⚠️ gap (city self-runs electrical, not yet integrated)

**Health** = last weekly live probe of the city's source (`scripts/source_health.py`, 2026-10-09): ✅ answered with records · ⚪ answered, zero rows for a known-good query · ⛔ blocked (403) · ❌ down · ❔ unchecked · — no live source

| City | Status | Source | Health | Building | Electrical | Mech/Plumb | Land Use |
|---|---|---|---|---|---|---|---|
| Algona | 🟠 Indexed | KC Assessor index | ✅ | 🗂️ index | ➖ L&I | 🗂️ index | 🗂️ index |
| Auburn | 🟢 Live | MyBuildingPermit | ✅ | ✅ | ➖ L&I | ✅ | ✅ |
| Beaux Arts Village | 🟠 Indexed | KC Assessor index | ✅ | 🗂️ index | ➖ L&I | 🗂️ index | 🗂️ index |
| Bellevue | 🟢 Live | Bellevue (Open Data) | ✅ | ✅ | ✅ | ✅ | ✅ |
| Black Diamond | 🟠 Indexed | KC Assessor index | ✅ | 🗂️ index | ➖ L&I | 🗂️ index | 🗂️ index |
| Bothell | 🟢 Live | MyBuildingPermit | ✅ | ✅ | ➖ L&I | ✅ | ✅ |
| Burien | 🟢 Live | MyBuildingPermit | ✅ | ✅ | ✅ | ✅ | ✅ |
| Carnation | 🟢 Live | Carnation (SmartGov) | ✅ | ✅ | ➖ L&I | ✅ | ✅ |
| Clyde Hill | 🟠 Indexed | KC Assessor index | ✅ | 🗂️ index | ➖ L&I | 🗂️ index | 🗂️ index |
| Covington | 🟠 Indexed | KC Assessor index | ✅ | 🗂️ index | ➖ L&I | 🗂️ index | 🗂️ index |
| Des Moines | 🟠 Indexed | KC Assessor index | ✅ | 🗂️ index | ⚠️ gap | 🗂️ index | 🗂️ index |
| Duvall | 🟠 Indexed | KC Assessor index | ✅ | 🗂️ index | ➖ L&I | 🗂️ index | 🗂️ index |
| Enumclaw | 🟠 Indexed | KC Assessor index | ✅ | 🗂️ index | ➖ L&I | 🗂️ index | 🗂️ index |
| Federal Way | 🟢 Live | MyBuildingPermit | ✅ | ✅ | ✅ | ✅ | ✅ |
| Hunt
agent-toolscivic-datacivic-techking-countymcpmcp-serverpermitstool-usewashington-state

Lo que la gente pregunta sobre king-county-permit-status

¿Qué es chaoz23/king-county-permit-status?

+

chaoz23/king-county-permit-status es mcp servers para el ecosistema de Claude AI. Look up building permit status for King County, WA — searches across city + county jurisdictions. Agent-friendly: --pipe, --schema, tool.json. Tiene 1 estrellas en GitHub y su última actualización registrada es del 2026-10-09.

¿Cómo se instala king-county-permit-status?

+

Puedes instalar king-county-permit-status clonando el repositorio (https://github.com/chaoz23/king-county-permit-status) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar chaoz23/king-county-permit-status?

+

Nuestro agente de seguridad ha analizado chaoz23/king-county-permit-status y le ha asignado un Trust Score de 70/100 (tier: OK). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene chaoz23/king-county-permit-status?

+

chaoz23/king-county-permit-status es mantenido por chaoz23. La última actividad registrada en GitHub es del 2026-10-09, con 12 issues abiertos.

¿Hay alternativas a king-county-permit-status?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega king-county-permit-status en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: chaoz23/king-county-permit-status
[![Featured on ClaudeWave](https://claudewave.com/api/badge/chaoz23-king-county-permit-status)](https://claudewave.com/repo/chaoz23-king-county-permit-status)
<a href="https://claudewave.com/repo/chaoz23-king-county-permit-status"><img src="https://claudewave.com/api/badge/chaoz23-king-county-permit-status" alt="Featured on ClaudeWave: chaoz23/king-county-permit-status" width="320" height="64" /></a>

Más MCP Servers

Alternativas a king-county-permit-status