# Roofer Registry Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## Roofer Registry

Verify state-licensed roofing contractors, check discipline records, and compare state regulations.

- Record: https://musedirectory.ai/connector/roofer-registry
- Category: Shopping & Commerce
- Developer: rooferregistry.com (https://rooferregistry.com)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 333ms, checked 2026-10-29T20:36:50Z
- Endpoint: https://rooferregistry.com/api/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-10-29T20:36:50Z)
- Source: Found in the official MCP Registry (com.rooferregistry/roofer-registry) https://registry.modelcontextprotocol.io/v0/servers?search=com.rooferregistry%2Froofer-registry

Look up roofing contractor licenses by state and license number, search by name or firm, review discipline and unlicensed-activity citations, compare state rules, and send contact requests to verified contractors.

Example request: "Is the roofing contractor on this truck bid licensed in Florida, and do they have any discipline records?"

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Roofer Registry to help me. It is a free service with an MCP server at https://rooferregistry.com/api/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- check_license: Look 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 da
- search_licensees: Search 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_rules: Return 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, act
- unlicensed_activity: List 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 citati
- enforcement_actions: Board 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 bo
- compare_rules: Compare 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, ins
- changes_since: License 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_live: Fetch 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_contact: Send 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 r

Screening checks:
- MCP handshake: pass (Answered in 333ms)
- Domain against threat feeds (Cloudflare security DNS): pass (rooferregistry.com not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: pass (9 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (Domain registered 34 days ago)
- AI review of purpose and tool behavior: pass (No concerns)
