contractorroster
Verified US licensed-contractor data: 879k+ state-board records, metered per record, free discovery.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"contractorroster": {
"url": "https://contractorroster.com/api/mcp"
}
}
}Remote endpoints
https://contractorroster.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟢list_states
List supported US states with their available geo types and per-trade availability. Free; no auth required.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_trades
List supported trade codes with display names. Free; no auth required.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢count_contractors(state, trade, geo_type, geo_value, active_only)
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",
"properties": {
"state": {
"type": "string",
"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"
]
},
"trade": {
"type": "string",
"enum": [
"EC",
"PC",
"HVAC",
"GC",
"ROOFING",
"SOLAR",
"LANDSCAPE",
"POOL",
"FIRE_PROTECTION",
"CARPENTRY",
"CONCRETE",
"MASONRY",
"DRYWALL",
"TILE",
"EXCAVATING",
"PAINTING",
"FLOORING"
]
},
"geo_type": {
"type": "string",
"enum": [
"zip",
"city"
]
},
"geo_value": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"active_only": {
"type": "boolean"
}
},
"required": [
"state",
"trade",
"geo_type",
"geo_value"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡search_contractors(state, trade, geo_type, geo_value, active_only, ...)
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",
"properties": {
"state": {
"type": "string",
"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"
]
},
"trade": {
"type": "string",
"enum": [
"EC",
"PC",
"HVAC",
"GC",
"ROOFING",
"SOLAR",
"LANDSCAPE",
"POOL",
"FIRE_PROTECTION",
"CARPENTRY",
"CONCRETE",
"MASONRY",
"DRYWALL",
"TILE",
"EXCAVATING",
"PAINTING",
"FLOORING"
]
},
"geo_type": {
"type": "string",
"enum": [
"zip",
"city"
]
},
"geo_value": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"active_only": {
"type": "boolean"
},
"dry_run": {
"type": "boolean"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 5000
}
},
"required": [
"state",
"trade",
"geo_type",
"geo_value"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢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",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence