MCP Server

contractorroster

com.contractorroster/contractorroster
Business & Operations Public & reachable MCP 2025-11-25

What this MCP does

Searches and returns verified US licensed-contractor records by state, trade, and geographic criteria.

count_contractors
Count contractors matching a state × trade × geo query, without charging. Use to qualify a query before calling search_contractors. Returns total count and estimated cost in cents at the caller's price tier.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['state', 'trade', 'geo_type', 'geo_value'], 'properties': {'state': {'enum': ['CO', 'TX', 'WA', 'OR', 'CA', 'FL', 'VA', 'MN', 'OH', 'AZ', 'IL', 'NY', 'PA', 'NV', 'UT', 'MA', 'CT', 'LA', 'OK', 'AL', 'AR', 'WV', 'NE', 'ID', 'AK', 'IA', 'ME', 'TN', 'MS', 'MT', 'HI', 'DE', 'VT', 'DC'], 'type': 'string'}, 'trade': {'enum': ['EC', 'PC', 'HVAC', 'GC', 'ROOFING', 'SOLAR', 'LANDSCAPE', 'POOL', 'FIRE_PROTECTION', 'CARPENTRY', 'CONCRETE', 'MASONRY', 'DRYWALL', 'TILE', 'EXCAVATING', 'PAINTING', 'FLOORING'], 'type': 'string'}, 'geo_type': {'enum': ['zip', 'city'], 'type': 'string'}, 'geo_value': {'type': 'string', 'maxLength': 60, 'minLength': 1}, 'active_only': {'type': 'boolean'}}}
get_usage
Return the partner's current balance, pricing, and the 20 most recent transactions (top-ups + api calls). No charge.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
list_states
List supported US states with their available geo types and per-trade availability. Free; no auth required.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
list_trades
List supported trade codes with display names. Free; no auth required.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
search_contractors
Fetch enriched contractor records for a state × trade × geo query. Charges the partner balance at price_per_record_cents × records_delivered. Set dry_run:true for a free cost preview. Returns structured shortfall info on insufficient balance so the agent can prompt the user to top up.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['state', 'trade', 'geo_type', 'geo_value'], 'properties': {'limit': {'type': 'integer', 'maximum': 5000, 'minimum': 1}, 'state': {'enum': ['CO', 'TX', 'WA', 'OR', 'CA', 'FL', 'VA', 'MN', 'OH', 'AZ', 'IL', 'NY', 'PA', 'NV', 'UT', 'MA', 'CT', 'LA', 'OK', 'AL', 'AR', 'WV', 'NE', 'ID', 'AK', 'IA', 'ME', 'TN', 'MS', 'MT', 'HI', 'DE', 'VT', 'DC'], 'type': 'string'}, 'trade': {'enum': ['EC', 'PC', 'HVAC', 'GC', 'ROOFING', 'SOLAR', 'LANDSCAPE', 'POOL', 'FIRE_PROTECTION', 'CARPENTRY', 'CONCRETE', 'MASONRY', 'DRYWALL', 'TILE', 'EXCAVATING', 'PAINTING', 'FLOORING'], 'type': 'string'}, 'dry_run': {'type': 'boolean'}, 'geo_type': {'enum': ['zip', 'city'], 'type': 'string'}, 'geo_value': {'type': 'string', 'maxLength': 60, 'minLength': 1}, 'active_only': {'type': 'boolean'}}}
Added
get_usage
Sept. 17, 2026, 12:34 p.m.
Added
search_contractors
Sept. 17, 2026, 12:34 p.m.
Added
count_contractors
Sept. 17, 2026, 12:34 p.m.
Added
list_trades
Sept. 17, 2026, 12:34 p.m.
Added
list_states
Sept. 17, 2026, 12:34 p.m.