Skip to main content

PermitStack

com.permit-stack/permitsVersion 1.0.0

U.S. building permits, permit histories by address and contractors from city and county records.

Status

Responds328 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:09 UTC
Latency
328 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 21:12 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://mcp.permit-stack.com/mcpResponds328 ms
No sign-in

Claude Code

claude mcp add --transport http permits https://mcp.permit-stack.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: permits
Remote MCP server URL: https://mcp.permit-stack.com/mcp

Cursor

{
  "mcpServers": {
    "permits": {
      "url": "https://mcp.permit-stack.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"permits","type":"http","url":"https://mcp.permit-stack.com/mcp"}'

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

18 tools

Tools of PermitStack
Read-only
Idempotent
Open world
get_certificateGet an occupancy or completion certificate by UUID, including certificate_status and co_date_basis. A duplicate id resolves to its canonical record. Coverage varies; a completion certificate does not establish occupancy.NoYesYesNo
get_contractor_licensesList public board licenses linked to a contractor UUID by the API's exact matching rules. Coverage and as_of dates vary by board. Access and locked_fields identify unavailable fields; a registration is not a license. No contact enrichment.NoYesYesNo
get_contractor_permitsList the permits pulled by one contractor, identified by the contractor UUID from search_contractors. Returns up to 25 permits per page with the contractor's work history fields (dates, categories, values). Results carry no property owner name, owner mailing address or permit applicant name fields.NoYesYesNo
get_coverageDescribe PermitStack's coverage: total permits, jurisdictions (active, archive, frozen) and states. On a signed-in connection it also lists covered jurisdictions with their permit counts, county and `data_through` (the date of the newest permit held), filterable by state and by name, up to 25 per call, largest first. Without sign-in it returns the platform totals only.NoYesYesNo
get_dataset_coverageList source and place coverage for inspections, violations, pipeline cases/decisions or certificates. Includes the API's measured freshness, completeness and caveats where available. Counts have source-specific meanings; complaints are separate from violations. Requires sign-in. Licensing has no coverage endpoint.NoYesYesNo
get_permitLook up a permit by the permit number assigned by the issuing jurisdiction, optionally narrowed by city and state. The number is matched exactly (ignoring case), and the same number can exist in several jurisdictions, so up to 5 matching permits are returned; give the city or state to tell them apart. If nothing matches exactly and a city or state was given, permits in that place whose number contains the text are returned instead, and `match` says "partial". When the connected account covers a limited date range, `account_window_from` is set and only permits from that date onward are searched. Results carry no property owner name, owner mailing address or permit applicant name fields.NoYesYesNo
get_permit_inspectionsList inspections linked to a permit UUID. Future scheduled inspections are excluded by default unless result=SCHEDULED or upcoming opts in. An empty list means no linked inspection is held. Coverage varies by source and place; an empty result does not establish that no record exists. Up to 25 results per call. total_capped marks a lower bound; total_unknown means the total is unknown. Pagination guidance is in _notes.NoYesYesNo
get_pipeline_caseGet a planning case by UUID with linked decisions and permits. A permit link matches site and time, not proof it was issued under this case; link_method and confidence describe the match. A planning case does not guarantee construction. Coverage varies.NoYesYesNo
get_property_historyPermit history for one property, looked up by street address (house number and street name, e.g. '123 Main St'). Optional city, state and ZIP narrow the match when the same street address exists in several places. Returns a property profile (permit timeline, category breakdown, contractors) and up to 25 permit records per page, newest first; `has_more` says whether the next page has more. Covers all permit categories. When the connected account covers a limited date range, the profile and records cover only that range, `account_window_from` is set, and `_notes` says so: the result is then not the property's full permit history. Results carry no property owner name, owner mailing address or permit applicant name fields.NoYesYesNo
get_violationGet a violation or complaint by UUID, including source status and related copies. A complaint is not a confirmed violation. Coverage and published fines vary by source.NoYesYesNo
lookup_licenseLook up a license number in its issuing state across the public board rosters held, with matching contractors. Coverage and as_of dates vary by board. Access and locked_fields identify unavailable fields; a registration is not a license. No contact enrichment.NoYesYesNo
search_certificatesSearch certificates of occupancy or completion. Defaults exclude renewals; co_date_basis states what each date means. Completion certificates do not establish occupancy, and pending applications are not issued certificates. Coverage varies by source and place; an empty result does not establish that no record exists. Up to 25 results per call. total_capped marks a lower bound; total_unknown means the total is unknown. Pagination guidance is in _notes.NoYesYesNo
search_contractorsSearch contractors by name, city, state or specialty. Returns up to 25 contractors per call with the contractor UUID, name, licence number and licence state, home city and state, total permit count, first and last permit dates, specialties and activity score (0-100), sorted by activity score (highest first). Project values are not included; get_contractor_permits lists a contractor's permits with their estimated values.NoYesYesNo
search_inspectionsSearch inspection logs by place, permit, type, result and date. Summaries and future scheduled inspections are excluded by default; upcoming and summaries opt in. Sources report data_through. Coverage varies by source and place; an empty result does not establish that no record exists. Up to 25 results per call. total_capped marks a lower bound; total_unknown means the total is unknown. Pagination guidance is in _notes.NoYesYesNo
search_permitsSearch U.S. building permits by location (city, state, ZIP code, or a lat/lng radius), category, status, property type, filing or issue date range, estimated project value, contractor name, or free text. Returns up to 25 permits per call with address, dates, category, status, estimated value, contractor and description, plus the total number of matches. Response fields: `total` is exact unless `total_capped` is true, in which case it is a lower bound; when `total_unknown` is true the count could not be computed and `total` is null. `account_window_clamped`, `account_window_days` and `account_window_from` are set when the connected account covers a limited date range, and the results then cover only that range. Category HVAC also matches MECHANICAL, and MECHANICAL also matches HVAC. date_after/date_before match whichever date a permit has (issued, else filed), for feeds that publish only one of the two. Results carry no property owner name, owner mailing address or permit applicant name fields.NoYesYesNo
search_pipeline_casesSearch planning and zoning cases by place, type, status, dates and proposed size. A planning case does not guarantee construction. Sources report data_through. Coverage varies by source and place; an empty result does not establish that no record exists. Up to 25 results per call. total_capped marks a lower bound; total_unknown means the total is unknown. Pagination guidance is in _notes.NoYesYesNo
search_pipeline_decisionsSearch council, planning commission and zoning board decisions by place, body, action and meeting date. RECOMMENDED_* is a recommendation, not a final decision. A decision does not guarantee construction. Coverage varies by source and place; an empty result does not establish that no record exists. Up to 25 results per call. total_capped marks a lower bound; total_unknown means the total is unknown. Pagination guidance is in _notes.NoYesYesNo
search_violationsSearch agency findings by place, case number, status, category and date. record_kind defaults to violation; complaints are reports, not confirmed violations. Sources report data_through, coverage_window and count_unit. Coverage varies by source and place; an empty result does not establish that no record exists. Up to 25 results per call. total_capped marks a lower bound; total_unknown means the total is unknown. Pagination guidance is in _notes.NoYesYesNo

Details

Registry status
Active
Published
Oct 23, 2026
Updated
Oct 23, 2026
Repository
Not given
Categories (suggested)
Data and analyticsSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing