PermitStack
com.permit-stack/permitsVersion 1.0.0U.S. building permits, permit histories by address and contractors from city and county records.
Status
Responds328 msAnswered our handshake without sign-in.- 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 msNo sign-in
Claude Code
claude mcp add --transport http permits https://mcp.permit-stack.com/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: permits
Remote MCP server URL: https://mcp.permit-stack.com/mcpCursor
{
"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.
Tools
18 tools
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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