# PermitInfoBroker (remote · permitinfobroker.com)

Daily US building permits for 30 cities and counties. Free counts; records paid per call via x402.

- Trust score: 73/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `permitinfobroker.com`: 73/100 (this document), [markdown](https://verifymcp.io/servers/com-permitinfobroker-permits/permitinfobroker.md), [page](https://verifymcp.io/servers/com-permitinfobroker-permits/permitinfobroker)

## Channel facts

- Endpoint: `https://permitinfobroker.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 63/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1301 tokens (~144/item across 9 items; 9 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 94/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 82% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 9 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 10 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the PermitInfoBroker MCP server?

PermitInfoBroker is a hosted endpoint at https://permitinfobroker.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-permitinfobroker-permits 'https://permitinfobroker.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-permitinfobroker-permits": {
      "url": "https://permitinfobroker.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-permitinfobroker-permits": {
      "type": "http",
      "url": "https://permitinfobroker.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-permitinfobroker-permits]
url = "https://permitinfobroker.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-permitinfobroker-permits": {
      "type": "remote",
      "url": "https://permitinfobroker.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-permitinfobroker-permits --url 'https://permitinfobroker.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-permitinfobroker-permits:
    url: "https://permitinfobroker.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-permitinfobroker-permits": {
      "Transport": "http",
      "Url": "https://permitinfobroker.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-permitinfobroker-permits -t streamable-http -u 'https://permitinfobroker.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-permitinfobroker-permits": {
      "type": "http",
      "url": "https://permitinfobroker.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 73, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-04 (score 72, +54)

- [security improvement] Authorization: unverified → partial
- [security improvement] HTTPS: unverified → pass
- [security improvement] Injection markers: unverified → pass
- [security improvement] Transport: fail → pass
- [functional improvement] Endpoint reachability: not serving MCP → reachable
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Stability: unverified → 0.27
- [functional improvement] MCP protocol: unverified → pass

### 2026-11-02 (score 18, −53)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Authorization: partial → unverified
- [security regression] Tool safety: pass → unverified
- [security regression] HTTPS: pass → unverified
- [security regression] Stability: 0.17 → unverified
- [security regression] Transport: pass → fail
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-11-01 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-30 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-29 (score 69, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “count_permits” rewrote its description, which is the text the model reads
- [security] Tool “list_coverage” rewrote its description, which is the text the model reads
- [security] Tool “search_permits” rewrote its description, which is the text the model reads
- [security] Tool “weekly_permit_report” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 121 → 144
- [functional improvement] Tool coverage: 77% → 82%
- [functional] New tool “sample_permits”
- [functional] New tool “top_contractors”
- [cosmetic] “count_permits” added an optional parameter “multiTrade”
- [cosmetic] “count_permits” added an optional parameter “near”
- [cosmetic] “count_permits” added an optional parameter “radiusMiles”
- [cosmetic] “search_permits” added an optional parameter “multiTrade”
- [cosmetic] “search_permits” added an optional parameter “near”
- [cosmetic] “search_permits” added an optional parameter “radiusMiles”
- [cosmetic] “search_permits” added an optional parameter “sort”

### 2026-10-28 (score 69, +4)

- [security improvement] HTTPS: unverified → pass
- [security] Tool “permit_history_for_address” rewrote its description, which is the text the model reads
- [security] Tool “search_permits” rewrote its description, which is the text the model reads
- [security] Tool “weekly_permit_report” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: pass → fail
- [functional improvement] Stability: unverified → 0.03
- [cosmetic] “count_permits” added an optional parameter “includeRenewals”
- [cosmetic] “search_permits” added an optional parameter “includeRenewals”

### 2026-10-27 (score 65)

First indexed and scored.

## MCP tools (9)

### `list_coverage` (~51 tokens)

List coverage

List covered US cities and counties (ids, names, permit counts, newest permit date, and how often their records include zip, location, job value, contractor and phone), permit categories and prices. Free.

### `sample_permits` (~94 tokens)

Sample permit records

Three real permit records from 30-60 days ago for one area (optionally one category), to see the data before paying. Free.

Input parameters:

- `category` (string): Permit category, e.g. roof, pool, solar, hvac, new_residential
- `jurisdiction` (string, required): Area id, e.g. new-york-ny, miami-dade-fl. Use list_coverage for names.

### `permit_stats` (~71 tokens)

Permit counts by category

Count building permits issued in the last N days (1-90) by category, for one area or all. Free.

Input parameters:

- `days` (integer)
- `jurisdiction` (string): Area id, e.g. new-york-ny, miami-dade-fl. Use list_coverage for names.

### `permit_trends` (~93 tokens)

Permit trend for a category

Daily permit counts and the busiest cities and zip codes for one category over the last N days. Free.

Input parameters:

- `category` (string, required): Permit category, e.g. roof, pool, solar, hvac, new_residential
- `days` (integer)
- `jurisdiction` (string): Area id, e.g. new-york-ny, miami-dade-fl. Use list_coverage for names.

### `count_permits` (~248 tokens)

Count matching permits

How many permits match a search (area, category, city, zip, distance, multi-trade projects, dates, minimum value) before paying for the records. Free.

Input parameters:

- `category` (string): Permit category, e.g. roof, pool, solar, hvac, new_residential
- `city` (string): City name, case-insensitive
- `includeRenewals` (boolean): Include New York renewals of existing permits (left out by default)
- `jurisdiction` (string, required): Area id, e.g. new-york-ny, miami-dade-fl. Use list_coverage for names.
- `minValue` (number): Minimum job valuation in USD
- `multiTrade` (boolean): Only permits at addresses with another type of permit within 90 days (usually bigger projects)
- `near` (string): Only permits near a zip code in the area or a "lat,lng" point
- `radiusMiles` (number): Radius around near, in miles
- `since` (string): Issued on or after (YYYY-MM-DD)
- `until`: Issued on or before (YYYY-MM-DD)
- `zip` (string)

### `search_permits` (~334 tokens)

Search building permits

Newly issued building permits with address, permit type, description, contractor, job value and issue date, filtered by area, category, city, zip, distance from a point or zip, multi-trade projects, dates and minimum value, newest first or sorted by job value or urgency. Up to 100 per call. Costs $0.40 in USDC (x402; Base, Solana, Polygon or Arbitrum); no charge when nothing matches.

Input parameters:

- `category` (string): Permit category, e.g. roof, pool, solar, hvac, new_residential
- `city` (string): City name, case-insensitive
- `includeRenewals` (boolean): Include New York renewals of existing permits (left out by default)
- `jurisdiction` (string, required): Area id, e.g. new-york-ny, miami-dade-fl. Use list_coverage for names.
- `limit` (integer)
- `minValue` (number): Minimum job valuation in USD
- `multiTrade` (boolean): Only permits at addresses with another type of permit within 90 days (usually bigger projects)
- `near` (string): Only permits near a zip code in the area or a "lat,lng" point
- `radiusMiles` (number): Radius around near, in miles
- `since` (string): Issued on or after (YYYY-MM-DD)
- `sort` (string): newest first (default), highest job value first, or urgent permits first
- `until`: Issued on or before (YYYY-MM-DD)
- `zip` (string)

### `permit_history_for_address` (~79 tokens)

Permit history for an address

Every known building permit at a street address in any covered area. Costs $0.10 in USDC (x402; Base, Solana, Polygon or Arbitrum); no charge when nothing matches.

Input parameters:

- `address` (string, required): Street address, e.g. 1712 Bluebonnet Ln
- `zip` (string)

### `weekly_permit_report` (~114 tokens)

Weekly permit report

All building permits issued in the last 7 days for one area, with counts by category. Costs $4.00 in USDC (x402; Base, Solana, Polygon or Arbitrum); no charge when nothing matches.

Input parameters:

- `category` (string): Permit category, e.g. roof, pool, solar, hvac, new_residential
- `jurisdiction` (string, required): Area id, e.g. new-york-ny, miami-dade-fl. Use list_coverage for names.

### `top_contractors` (~158 tokens)

Busiest contractors

The busiest contractors in one area over the last 7-90 days, optionally for one permit type: permit counts, total declared job value, mix of work, busiest zip codes and business phone where the city publishes it. Costs $5.00 in USDC (x402; Base, Solana, Polygon or Arbitrum); no charge when nothing matches.

Input parameters:

- `category` (string): Permit category, e.g. roof, pool, solar, hvac, new_residential
- `days` (integer): Look-back window in days
- `jurisdiction` (string, required): Area id, e.g. new-york-ny, miami-dade-fl. Use list_coverage for names.
- `limit` (integer)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-permitinfobroker-permits/permitinfobroker#diagnostics

## Score history

- 2026-11-05: 73
- 2026-11-04: 72
- 2026-11-03: 18
- 2026-11-02: 18
- 2026-11-01: 71
- 2026-10-31: 70
- 2026-10-30: 70
- 2026-10-29: 69
- 2026-10-28: 69
- 2026-10-27: 65

## Common questions

### What is the PermitInfoBroker MCP server?

PermitInfoBroker is an MCP server listed in the public MCP registry as com.permitinfobroker/permits. Daily US building permits for 30 cities and counties. Free counts; records paid per call via x402. This page covers its hosted endpoint (https://permitinfobroker.com/mcp).

### Is the PermitInfoBroker MCP server safe to use?

PermitInfoBroker scores 73 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the PermitInfoBroker MCP server expose?

PermitInfoBroker exposes 9 tools: list_coverage, sample_permits, permit_stats, permit_trends, count_permits, and 4 more. Their descriptions and schemas cost roughly 1,242 tokens of context every time the server is loaded.

### Does the PermitInfoBroker MCP server require authentication?

No. We connected to PermitInfoBroker without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the PermitInfoBroker MCP server still maintained?

PermitInfoBroker is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://permitinfobroker.com/mcp
- Website: https://permitinfobroker.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-permitinfobroker-permits/permitinfobroker.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-permitinfobroker-permits/permitinfobroker.json
- HTML version of this page: https://verifymcp.io/servers/com-permitinfobroker-permits/permitinfobroker
