{"serverId":"mcp-registry/com.contractorroster/contractorroster","tools":[{"name":"count_contractors","fixed":{"name":"count_contractors","description":"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.","inputSchema":{"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"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":264,"tokensAfter":264},{"name":"get_usage","fixed":{"name":"get_usage","description":"Return the partner's current balance, pricing, and the 20 most recent transactions (top-ups + api calls). No charge.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":71,"tokensAfter":71},{"name":"list_states","fixed":{"name":"list_states","description":"List supported US states with their available geo types and per-trade availability. Free; no auth required.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"list_trades","fixed":{"name":"list_trades","description":"List supported trade codes with display names. Free; no auth required.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":59,"tokensAfter":59},{"name":"search_contractors","fixed":{"name":"search_contractors","description":"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.","inputSchema":{"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"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":309,"tokensAfter":309}],"toolsChanged":5,"tokensSaved":0,"todo":[{"tool":"count_contractors","params":["state","trade","geo_type","geo_value","active_only"]},{"tool":"search_contractors","params":["limit","state","trade","dry_run","geo_type","geo_value","active_only"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}