Roofer Registry

com.rooferregistry/roofer-registry · v0.2.0 · sales-and-crm

Roofer Registry is healthy: it completed an MCP handshake in 1216 ms and exposes 9 tools.

State-licensed roofing contractors with regulator discipline records and provenance.

Endpoint: https://rooferregistry.com/api/mcp (streamable-http)

Repository · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count9
Latency1216 ms
Last checked (UTC)2026-10-22T22:55:12.279Z

Health history

Checked (UTC)StatusLatencyError
2026-10-22T22:55:12.279ZHealthy1216

Tools (9)

check_licenseLook up one roofing contractor license by state and license number. Returns status as published by the state regulator, a machine-readable verdict (licensed-active | licensed-not-active | not-found), licensee name, city, expiration, and provenance (regulator source URL + fetch date). The verdict is
search_licenseesSearch roofing contractors by name, firm, or partial license number, optionally within a state and city. Returns up to 50 regulator-sourced records with a true total count. Use this when the user has a name but no license number.
state_rulesReturn what Roofer Registry has verified about a state's rules for roofing contractors: licensing, licenseTypes, deductibleWaiver, depositRule, permit, insurance, unlicensedPenalty, rightToCancel, aob — each { value, quote, citation, url } or null. Plus regulator, lookup URL, active-licensee count.
unlicensed_activityList people and companies the state board cited for unlicensed contracting, filtered by county and/or name. Use when the user has a name or company from a truck or flyer but no license number, or asks who was caught working unlicensed after a storm. Republished as filed; a citation is not a judgment
enforcement_actionsBoard discipline and unlicensed-activity citations for a state, license number, name, or county. Merges licensed-activity discipline rows and unlicensed-activity citations, newest first. Republished as filed; a citation is an allegation the board acted on, a Final Order is the board's decision.
compare_rulesCompare a specific rule field across 2–10 states. Only states with verified: true carry a rule. Treat null as "not verified", not "no rule". Input formats: states as two-letter codes (FL, GA, TX); field is one of licensing, licenseTypes, deductibleWaiver, depositRule, permit, insurance, unlicensedPe
changes_sinceLicense changes (new, lapsed, status change) since a given date, optionally filtered by state and change type. Changes are tracked starting from the first roster refresh after deploy — no backfill is available. Use when monitoring for new licenses, lapses, or status changes.
verify_liveFetch the current license status directly from the state regulator (FL only) and compare it with our roster copy. Uses a 24-hour cache; the second call within 24h returns cached: true. Other states return { supported: false, lookupUrl }. Hard cap: 100 live fetches per UTC day.
request_contactSend a contact request to ONE specific licensee the user has chosen, by license number. This creates the same consent-recorded request a person submits on the profile page; it is not lead routing and we never pick the licensee for the user. Only call after the user has seen the record and explicitly