Search / com.permit-stack/permits
PermitStack
R0· no sign-inU.S. building permits, permit histories by address and contractors from city and county records.
v1.0.0 · active · website · descriptor JSON · versions
Search / com.permit-stack/permits
R0· no sign-inU.S. building permits, permit histories by address and contractors from city and county records.
v1.0.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"permits": {
"type": "http",
"url": "https://mcp.permit-stack.com/mcp"
}
}
}claude mcp add --transport http permits https://mcp.permit-stack.com/mcp[mcp_servers.permits]
url = "https://mcp.permit-stack.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"permits": {
"type": "remote",
"url": "https://mcp.permit-stack.com/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"permits": {
"type": "http",
"url": "https://mcp.permit-stack.com/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=permits&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLnBlcm1pdC1zdGFjay5jb20vbWNwIn0%3D"
}{
"servers": {
"permits": {
"type": "http",
"url": "https://mcp.permit-stack.com/mcp"
}
}
}{
"mcpServers": {
"permits": {
"httpUrl": "https://mcp.permit-stack.com/mcp"
}
}
}extensions:
"permits":
enabled: true
name: "permits"
type: streamable_http
uri: "https://mcp.permit-stack.com/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations6 of 6 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 2,517 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +website +reachable +uptime-100% +updated-15d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://mcp.permit-stack.com/mcp streamable-http | none | yes | 100% | 176 ms | 2025-11-25 | 2026-11-07 |
get_contractor_permitsread-only | List 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. |
get_coverageread-only | Describe 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. |
get_permitread-only | Look 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. |
get_property_historyread-only | Permit 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. |
search_contractorsread-only | Search 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. |
search_permitsread-only | Search 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. |
Schemas: list_tools.
{
"name": "com.permit-stack/permits",
"title": "PermitStack",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://mcp.permit-stack.com/mcp",
"type": "streamable-http"
}
],
"version": "1.0.0",
"websiteUrl": "https://permit-stack.com/docs/connectors/",
"description": "U.S. building permits, permit histories by address and contractors from city and county records."
}