# ZoningVerdict Agent Skill

ZoningVerdict is an agent-facing municipal zoning ordinance data service. Records tell you what's on file; ZoningVerdict tells you what the ordinance actually says, independently verified, with the citation.

Operator: Verified Signals LLC. ZoningVerdict is a Verified Signals LLC product.

Coverage: 64 municipalities in 6 states. Topics: permitted_uses, special_land_uses, setbacks, height, lot_coverage, lot_size, parking, adu, accessory_structures, fences, signs, home_occupation, variance_process.

Terms: https://zoningverdict.com/terms (v0-draft).

Disclaimer: ZoningVerdict summarizes public zoning regulations for information purposes. It is not legal advice, professional architectural or engineering services, or a substitute for confirmation with the municipality. Regulations change; verify before acting.

## Generated integrations

OpenAI tools: https://zoningverdict.com/agent-integrations/openai-tools.json
Claude tools: https://zoningverdict.com/agent-integrations/claude-tools.json
Versioned OpenAPI: https://zoningverdict.com/agent-integrations/openapi.json
MCP package source: https://github.com/verifiedsignals/zoningverdict/tree/main/packages/mcp

## Access without a wallet

Use MCP issue_free_api_key (or POST /api/v1/keys/free) with accept_terms=true, terms_version=v0-draft, and a private cryptographically random 64-character lowercase hex client_nonce. Save the returned key and nonce privately. Send X-Api-Key on future requests. Same 100 successful metered calls per UTC month; no checkout, wallet, or paid overages. One issuance per network egress per month, expiring at the next UTC month; retry with the original nonce, and request a new key next month. Compiled Preflights and monitoring are excluded.

## Recommended Flow

1. Free discovery: call check_coverage with an address or municipality string. It returns whether ZoningVerdict covers the place, which topics are available, the content pack version, and the last-reviewed date. It does not identify the parcel's zoning district.
2. Resolve only when needed: call resolve_parcel_district or POST /api/v1/parcel/resolve with {"address":"9040 Carothers Pkwy, Franklin, TN 37067"} to identify the covered municipality and zoning district for a specific address.
3. Compile a Preflight: call create_preflight or POST /api/v1/preflights with address, taxonomy-v2 intent and a fresh random request_id. Price $3; pack_gap is never charged. Retain request_id for identical retries. The paid Preflight boundary is narrower than address resolution.
4. Do not guess district codes. The free district listing and every teaching error name the valid next call.

## MCP

Endpoint: https://zoningverdict.com/api/mcp

Tools: check_coverage, list_municipalities, list_districts, get_district_rules, ask_zoning_question, resolve_parcel_district, create_watch, create_preflight, get_preflight_status, subscribe_to_twin, get_twin_updates

Optional monitoring: subscribe_to_twin costs $1 for 30 days of Impact Updates, with no automatic renewal. Supply the purchased Preflight workflow_id/access_token and a new request_id. Poll get_twin_updates (or GET /api/v1/twins) with the original Preflight handle and after_version cursor for signed machine-readable updates.

Machine example input: {"address":"1000 W Avon Rd, Rochester Hills, MI 48309","request_id":"replace-with-a-fresh-random-uuid-per-purchase","intent":{"taxonomy_version":2,"project_type":"fence","use":"residential_single_family","attributes":{"yard":"rear","height_band":"over_4_to_6_ft"}}}

Sign the $3 x402 challenge, then retry the same input with PAYMENT-SIGNATURE. HTTP 202 returns a durable workflow_id and access_token. Poll GET /api/v1/preflights?workflow_id=... with Authorization: Bearer <access_token>, or get_preflight_status. Settlement happens after successful compilation; the final response includes the receipt and signed JSON. Retain the workflow handle across reconnects. A payment_review status requires reconciliation, not another payment. These are application workflow IDs, independent of MCP Tasks protocol revisions.

Free tools: check_coverage, list_municipalities, list_districts.

## REST

- GET https://zoningverdict.com/api/v1/coverage/check?q=...
- GET https://zoningverdict.com/api/v1/municipalities
- GET https://zoningverdict.com/api/v1/districts?municipality=...
- GET https://zoningverdict.com/api/v1/rules?municipality=...&district=...&topic=...
- GET https://zoningverdict.com/api/v1/questions?municipality=...&topic=...
- POST https://zoningverdict.com/api/v1/parcel/resolve {"address":"9040 Carothers Pkwy, Franklin, TN 37067"}
- GET https://zoningverdict.com/api/v1/changelog

OpenAPI: https://zoningverdict.com/api/v1/openapi.json

## x402 Paid Flow

Metered endpoints:
- POST https://zoningverdict.com/api/v1/twins - $1.00/call over x402; schema in https://zoningverdict.com/.well-known/ai-tool/index.json
- POST https://zoningverdict.com/api/v1/preflights - $3.00/call over x402; schema in https://zoningverdict.com/.well-known/ai-tool/index.json
- GET https://zoningverdict.com/api/v1/rules - $0.01/call over x402; schema in https://zoningverdict.com/.well-known/ai-tool/index.json
- GET https://zoningverdict.com/api/v1/questions - $0.01/call over x402; schema in https://zoningverdict.com/.well-known/ai-tool/index.json
- POST https://zoningverdict.com/api/v1/parcel/resolve - $0.01/call over x402; schema in https://zoningverdict.com/.well-known/ai-tool/index.json

Rules and questions give keyless callers 3 trial calls per day per municipality. Parcel resolve is pay-per-call from the first unsigned request; call the free keyless coverage preflight before resolving an address. A paid endpoint returns HTTP 402 with a PAYMENT-REQUIRED header when payment is due. Sign the returned x402 v2 exact-payment requirements and retry with PAYMENT-SIGNATURE. A settled success returns PAYMENT-RESPONSE.

## Positioning

Records tell you what's on file; ZoningVerdict tells you what the ordinance actually says, independently verified, with the citation.

## Limits

ZoningVerdict is informational. It is not legal advice, professional architectural or engineering services, or a substitute for confirmation with the municipality. Regulations change. See https://zoningverdict.com/terms.
