MCP Server

Contractors Near Me

ai.contractorsnearme/contractors-near-me

What this MCP does

Searches contractor directories and project bids, retrieves profiles and reviews, and supports lead submission and management.

get_availability
Get Availability
Get a contractor's published availability calendar by slug. Returns days, start/end times, timezone, and note. Public read, no API key required.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'minLength': 1}}}
get_contractor
Get Contractor Profile
Get detailed contractor profile by slug. Returns full profile including about text, contact info, and trade details.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'minLength': 1}}}
get_itb
Get ITB
Get a single public invitation to bid (ITB) by its UUID. Returns full project detail including description, budget range, job site address, and dates. Public read, no API key required.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['itb_id'], 'properties': {'itb_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
get_marketplace_request
Get Marketplace Request
Get a single public marketplace request by UUID or slug, with canonical request status, bounded budget visibility, payment summary, and proposal/application summary fields.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id_or_slug'], 'properties': {'city_slug': {'type': 'string', 'minLength': 1}, 'id_or_slug': {'type': 'string', 'minLength': 1}, 'state_code': {'type': 'string', 'maxLength': 2, 'minLength': 2}}}
get_my_leads
Get My Leads
Get leads submitted to the authenticated contractor's directory profile. Requires API key authentication. Returns lead name, email, phone, message, status, source, and created date.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'status': {'type': 'string'}}}
get_reviews
Get Contractor Reviews
Get reviews for a contractor by slug. Returns review text, rating, reviewer name, and dates. Limited to 50 per request.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contractor_slug'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'contractor_slug': {'type': 'string', 'minLength': 1}}}
list_marketplace_requests
List Marketplace Requests
List public marketplace requests with canonical request status, bounded budget visibility, urgency, payment summary, and proposal/application summary fields.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'minLength': 1}, 'limit': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}}
list_trades
List Trades
Get a list of all available trades/professions. Returns filtered list of contractor trades from the directory.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
respond_to_lead
Respond to Lead
Update the status of a lead owned by the authenticated contractor's directory profile, optionally adding a note. Requires API key authentication. Allowed statuses: new, contacted, qualified, converted, lost.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['lead_id'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'status': {'enum': ['new', 'contacted', 'qualified', 'converted', 'lost'], 'type': 'string'}, 'lead_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
search_contractors
Search Contractors
Search active contractors by trade, location, company name, and geo radius.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'minLength': 1}, 'lat': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'city': {'type': 'string', 'minLength': 1}, 'limit': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'state': {'type': 'string', 'maxLength': 2, 'minLength': 2}, 'trade': {'type': 'string', 'minLength': 1}, 'accountType': {'enum': ['gc', 'supplier', 'subcontractor', 'customer'], 'type': 'string'}, 'customerOnly': {'type': 'boolean'}, 'radius_miles': {'type': 'number', 'exclusiveMinimum': 0}, 'contractorCategory': {'enum': ['gc', 'supplier', 'subcontractor'], 'type': 'string'}}}
search_itbs
Search ITBs
Search public invitations to bid (ITBs) on the projects board. Returns open project title, description, budget range, location, and created date. Public read, no API key required.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'city': {'type': 'string', 'maxLength': 100}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'state_code': {'type': 'string', 'maxLength': 2, 'minLength': 2}}}
submit_lead
Submit Lead
Submit a lead to ContractorsNearMe. Requires API key authentication.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'email', 'message'], 'properties': {'name': {'type': 'string', 'minLength': 2}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}, 'phone': {'type': 'string'}, 'message': {'type': 'string', 'minLength': 10}, 'trade_slug': {'type': 'string'}, 'contractor_slug': {'type': 'string'}}}
submit_review
Submit Review
Submit a review for a contractor. Requires API key authentication. Reviews are held for moderation before publishing.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contractor_slug', 'rating', 'description', 'reviewer_name'], 'properties': {'title': {'type': 'string'}, 'rating': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'description': {'type': 'string', 'minLength': 20}, 'rating_value': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'reviewer_name': {'type': 'string', 'minLength': 2}, 'rating_quality': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'contractor_slug': {'type': 'string', 'minLength': 1}, 'rating_timeliness': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'rating_cleanliness': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'rating_communication': {'type': 'integer', 'maximum': 5, 'minimum': 1}}}
update_my_profile
Update My Profile
Update the authenticated contractor's own directory profile. Requires API key authentication. Only the profile owned by the key's contractor can be updated.
Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'dba': {'type': 'string', 'maxLength': 200}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}, 'phone': {'type': 'string', 'maxLength': 40}, 'quote': {'type': 'string', 'maxLength': 300}, 'website': {'type': 'string', 'maxLength': 500}, 'about_text': {'type': 'string', 'maxLength': 5000}, 'company_name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'company_size': {'type': 'string', 'maxLength': 100}, 'license_number': {'type': 'string', 'maxLength': 100}, 'year_established': {'type': 'integer', 'maximum': 2100, 'minimum': 1800}}}
Added
get_marketplace_request
Sept. 11, 2026, 3:33 p.m.
Added
list_marketplace_requests
Sept. 11, 2026, 3:33 p.m.
Added
get_availability
Sept. 11, 2026, 3:33 p.m.
Added
get_itb
Sept. 11, 2026, 3:33 p.m.
Added
search_itbs
Sept. 11, 2026, 3:33 p.m.
Added
update_my_profile
Sept. 11, 2026, 3:33 p.m.
Added
respond_to_lead
Sept. 11, 2026, 3:33 p.m.
Added
get_my_leads
Sept. 11, 2026, 3:33 p.m.
Added
submit_review
Sept. 11, 2026, 3:33 p.m.
Added
submit_lead
Sept. 11, 2026, 3:33 p.m.
Added
list_trades
Sept. 11, 2026, 3:33 p.m.
Added
get_reviews
Sept. 11, 2026, 3:33 p.m.
Added
get_contractor
Sept. 11, 2026, 3:33 p.m.
Added
search_contractors
Sept. 11, 2026, 3:33 p.m.