HireNimbus MCP Server
Qué hace este MCP
Finds, compares, and books local home-service professionals such as plumbers, electricians, HVAC technicians, handymen, and renovation providers.
Herramientas
Esquema de entrada
{'type': 'object', 'title': 'book_electrician_mcpArguments', 'required': ['location'], 'properties': {'page': {'type': 'integer', 'title': 'Page', 'default': 1}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 6}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Context', 'default': None, 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'location': {'type': 'string', 'title': 'Location', 'examples': ['22307', '94114'], 'minLength': 1, 'description': 'Prefer a 5-digit US ZIP for location (e.g. "22307" or "94114"). This is the primary and preferred location input. After get_my_profile, if address.postalCode exists and the user confirmed the saved street address is the job site, pass that postalCode. Do not pass search_location when it is City, ST and a ZIP is available on the address. Never pass a street address, formattedAddress, or address1.'}}}
Esquema de salida
{'type': 'object', 'title': 'book_electrician_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'title': 'book_handyman_mcpArguments', 'required': ['location'], 'properties': {'page': {'type': 'integer', 'title': 'Page', 'default': 1}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 6}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Context', 'default': None, 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'location': {'type': 'string', 'title': 'Location', 'examples': ['22307', '94114'], 'minLength': 1, 'description': 'Prefer a 5-digit US ZIP for location (e.g. "22307" or "94114"). This is the primary and preferred location input. After get_my_profile, if address.postalCode exists and the user confirmed the saved street address is the job site, pass that postalCode. Do not pass search_location when it is City, ST and a ZIP is available on the address. Never pass a street address, formattedAddress, or address1.'}}}
Esquema de salida
{'type': 'object', 'title': 'book_handyman_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'title': 'book_hvac_mcpArguments', 'required': ['location'], 'properties': {'page': {'type': 'integer', 'title': 'Page', 'default': 1}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 6}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Context', 'default': None, 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'location': {'type': 'string', 'title': 'Location', 'examples': ['22307', '94114'], 'minLength': 1, 'description': 'Prefer a 5-digit US ZIP for location (e.g. "22307" or "94114"). This is the primary and preferred location input. After get_my_profile, if address.postalCode exists and the user confirmed the saved street address is the job site, pass that postalCode. Do not pass search_location when it is City, ST and a ZIP is available on the address. Never pass a street address, formattedAddress, or address1.'}}}
Esquema de salida
{'type': 'object', 'title': 'book_hvac_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'title': 'book_plumber_mcpArguments', 'required': ['location'], 'properties': {'page': {'type': 'integer', 'title': 'Page', 'default': 1}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 6}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Context', 'default': None, 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'location': {'type': 'string', 'title': 'Location', 'examples': ['22307', '94114'], 'minLength': 1, 'description': 'Prefer a 5-digit US ZIP for location (e.g. "22307" or "94114"). This is the primary and preferred location input. After get_my_profile, if address.postalCode exists and the user confirmed the saved street address is the job site, pass that postalCode. Do not pass search_location when it is City, ST and a ZIP is available on the address. Never pass a street address, formattedAddress, or address1.'}}}
Esquema de salida
{'type': 'object', 'title': 'book_plumber_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'title': 'book_renovation_mcpArguments', 'required': ['location'], 'properties': {'page': {'type': 'integer', 'title': 'Page', 'default': 1}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 6}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Context', 'default': None, 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'location': {'type': 'string', 'title': 'Location', 'examples': ['22307', '94114'], 'minLength': 1, 'description': 'Prefer a 5-digit US ZIP for location (e.g. "22307" or "94114"). This is the primary and preferred location input. After get_my_profile, if address.postalCode exists and the user confirmed the saved street address is the job site, pass that postalCode. Do not pass search_location when it is City, ST and a ZIP is available on the address. Never pass a street address, formattedAddress, or address1.'}}}
Esquema de salida
{'type': 'object', 'title': 'book_renovation_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', '$defs': {'BookingLocationInput': {'type': 'object', 'title': 'BookingLocationInput', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'default': None, 'description': 'Latitude; use together with lng or lon'}, 'lng': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lng', 'default': None, 'description': 'Longitude; use together with lat'}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'default': None, 'description': 'Alias for lng when paired with lat'}, 'zip': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Zip', 'default': None, 'examples': ['22314'], 'description': '5-digit US ZIP (e.g. "22314") to resolve coordinates'}, 'text': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Text', 'default': None, 'examples': ['Alexandria, VA'], 'description': 'City and state text (e.g. "Alexandria, VA") to resolve coordinates'}}, 'description': 'Optional geocoding hint when the address lacks coordinates. Provide one style only.'}, 'HomeownerAddressInput': {'type': 'object', 'title': 'HomeownerAddressInput', 'properties': {'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'City', 'default': None, 'description': 'City name'}, 'region': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Region', 'default': None, 'description': 'State or province code (e.g. VA)'}, 'country': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Country', 'default': None, 'description': 'Country code (e.g. US)'}, 'address1': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Address1', 'default': None, 'description': 'Street line 1 (e.g. 123 Main St). Required when overriding address.'}, 'address2': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Address2', 'default': None, 'description': 'Apt, unit, or suite'}, 'postalCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Postalcode', 'default': None, 'description': '5-digit ZIP or postal code'}}, 'description': 'Street-level address override for booking tools. Omit to use the authenticated profile address.'}}, 'title': 'book_same_pro_again_mcpArguments', 'required': ['job_id'], 'properties': {'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Name', 'default': None, 'description': 'Optional name override; omit to use authenticated homeowner profile'}, 'phone': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Phone', 'default': None, 'description': 'Optional phone override; omit to use authenticated homeowner profile'}, 'job_id': {'anyOf': [{'type': 'string'}, {'type': 'integer'}], 'title': 'Job Id', 'description': 'Job ID from get_previous_jobs for the prior booking to rehire'}, 'source': {'type': 'string', 'title': 'Source', 'default': 'AI Assistant'}, 'address': {'anyOf': [{'$ref': '#/$defs/HomeownerAddressInput'}, {'type': 'null'}], 'default': None, 'description': 'Optional street-level address override. Omit to use profile or prior-job address. Pass structured fields only (address1, city, region, postalCode, etc.) — never formattedAddress.'}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Context', 'default': None, 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'location': {'anyOf': [{'$ref': '#/$defs/BookingLocationInput'}, {'type': 'null'}], 'default': None, 'description': 'Optional geocoding hint when address lacks coordinates. Omit in normal flows. When needed, pass exactly one of: lat+lng, zip, or text.'}, 'confirm_booking': {'type': 'boolean', 'title': 'Confirm Booking', 'default': False, 'description': 'false (default): return a rebooking preview; does NOT submit. true: submit the rebooking after the homeowner explicitly confirms.'}, 'job_description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Job Description', 'default': None, 'description': 'Description of the new work; omit to reuse the prior job description'}}}
Esquema de salida
{'type': 'object', 'title': 'book_same_pro_again_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'title': 'cancel_booking_mcpArguments', 'required': ['job_id', 'reason'], 'properties': {'job_id': {'anyOf': [{'type': 'string'}, {'type': 'integer'}], 'title': 'Job Id', 'description': 'Booking ID from get_previous_jobs'}, 'reason': {'type': 'string', 'title': 'Reason', 'minLength': 3, 'description': 'Short homeowner-provided cancellation reason'}, 'context': {'type': 'string', 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'confirm_cancellation': {'type': 'boolean', 'title': 'Confirm Cancellation', 'default': False, 'description': 'false (default): return a cancellation preview without changing the booking; true: cancel after the homeowner explicitly confirms'}}}
Esquema de salida
{'type': 'object', 'title': 'cancel_booking_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', '$defs': {'BookingLocationInput': {'type': 'object', 'title': 'BookingLocationInput', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'default': None, 'description': 'Latitude; use together with lng or lon'}, 'lng': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lng', 'default': None, 'description': 'Longitude; use together with lat'}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'default': None, 'description': 'Alias for lng when paired with lat'}, 'zip': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Zip', 'default': None, 'examples': ['22314'], 'description': '5-digit US ZIP (e.g. "22314") to resolve coordinates'}, 'text': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Text', 'default': None, 'examples': ['Alexandria, VA'], 'description': 'City and state text (e.g. "Alexandria, VA") to resolve coordinates'}}, 'description': 'Optional geocoding hint when the address lacks coordinates. Provide one style only.'}, 'HomeownerAddressInput': {'type': 'object', 'title': 'HomeownerAddressInput', 'properties': {'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'City', 'default': None, 'description': 'City name'}, 'region': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Region', 'default': None, 'description': 'State or province code (e.g. VA)'}, 'country': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Country', 'default': None, 'description': 'Country code (e.g. US)'}, 'address1': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Address1', 'default': None, 'description': 'Street line 1 (e.g. 123 Main St). Required when overriding address.'}, 'address2': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Address2', 'default': None, 'description': 'Apt, unit, or suite'}, 'postalCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Postalcode', 'default': None, 'description': '5-digit ZIP or postal code'}}, 'description': 'Street-level address override for booking tools. Omit to use the authenticated profile address.'}}, 'title': 'create_booking_mcpArguments', 'required': ['serviceProviderSlug', 'job_description'], 'properties': {'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Name', 'default': None, 'description': 'Optional override of profile name; omit to use authenticated homeowner profile'}, 'phone': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Phone', 'default': None, 'description': 'Optional override of profile phone; omit to use authenticated homeowner profile'}, 'source': {'type': 'string', 'title': 'Source', 'default': 'AI Assistant'}, 'address': {'anyOf': [{'$ref': '#/$defs/HomeownerAddressInput'}, {'type': 'null'}], 'default': None, 'description': 'Optional street-level address override. Omit to use the authenticated homeowner profile address. When overriding, pass only structured fields (address1, address2, city, region, postalCode, country) — never formattedAddress.'}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Context', 'default': None, 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'location': {'anyOf': [{'$ref': '#/$defs/BookingLocationInput'}, {'type': 'null'}], 'default': None, 'description': 'Optional geocoding hint when address lacks coordinates. Omit in normal flows (profile address is used). When needed, pass exactly one of: lat+lng, zip, or text (e.g. {"text": "Alexandria, VA"}).'}, 'confirm_booking': {'type': 'boolean', 'title': 'Confirm Booking', 'default': False, 'description': 'false (default): return booking_summary for user review; does NOT submit. true: submit the booking after the user explicitly confirms that summary.'}, 'job_description': {'type': 'string', 'title': 'Job Description'}, 'search_result_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Search Result Id', 'default': None, 'description': 'Search result ID returned by the provider search that produced the selected provider. Required for confirmed out-of-market bookings.'}, 'serviceProviderSlug': {'type': 'string', 'title': 'Serviceproviderslug'}}}
Esquema de salida
{'type': 'object', 'title': 'create_booking_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'title': 'find_electrician_mcpArguments', 'required': ['location'], 'properties': {'page': {'type': 'integer', 'title': 'Page', 'default': 1}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 6}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Context', 'default': None, 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'location': {'type': 'string', 'title': 'Location', 'examples': ['22307', '94114'], 'minLength': 1, 'description': 'Prefer a 5-digit US ZIP for location (e.g. "22307" or "94114"). This is the primary and preferred location input. After get_my_profile, if address.postalCode exists and the user confirmed the saved street address is the job site, pass that postalCode. Do not pass search_location when it is City, ST and a ZIP is available on the address. Never pass a street address, formattedAddress, or address1.'}}}
Esquema de salida
{'type': 'object', 'title': 'find_electrician_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'title': 'find_handyman_mcpArguments', 'required': ['location'], 'properties': {'page': {'type': 'integer', 'title': 'Page', 'default': 1}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 6}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Context', 'default': None, 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'location': {'type': 'string', 'title': 'Location', 'examples': ['22307', '94114'], 'minLength': 1, 'description': 'Prefer a 5-digit US ZIP for location (e.g. "22307" or "94114"). This is the primary and preferred location input. After get_my_profile, if address.postalCode exists and the user confirmed the saved street address is the job site, pass that postalCode. Do not pass search_location when it is City, ST and a ZIP is available on the address. Never pass a street address, formattedAddress, or address1.'}}}
Esquema de salida
{'type': 'object', 'title': 'find_handyman_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'title': 'find_hvac_mcpArguments', 'required': ['location'], 'properties': {'page': {'type': 'integer', 'title': 'Page', 'default': 1}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 6}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Context', 'default': None, 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'location': {'type': 'string', 'title': 'Location', 'examples': ['22307', '94114'], 'minLength': 1, 'description': 'Prefer a 5-digit US ZIP for location (e.g. "22307" or "94114"). This is the primary and preferred location input. After get_my_profile, if address.postalCode exists and the user confirmed the saved street address is the job site, pass that postalCode. Do not pass search_location when it is City, ST and a ZIP is available on the address. Never pass a street address, formattedAddress, or address1.'}}}
Esquema de salida
{'type': 'object', 'title': 'find_hvac_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'title': 'find_plumber_mcpArguments', 'required': ['location'], 'properties': {'page': {'type': 'integer', 'title': 'Page', 'default': 1}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 6}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Context', 'default': None, 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'location': {'type': 'string', 'title': 'Location', 'examples': ['22307', '94114'], 'minLength': 1, 'description': 'Prefer a 5-digit US ZIP for location (e.g. "22307" or "94114"). This is the primary and preferred location input. After get_my_profile, if address.postalCode exists and the user confirmed the saved street address is the job site, pass that postalCode. Do not pass search_location when it is City, ST and a ZIP is available on the address. Never pass a street address, formattedAddress, or address1.'}}}
Esquema de salida
{'type': 'object', 'title': 'find_plumber_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'title': 'find_renovation_mcpArguments', 'required': ['location'], 'properties': {'page': {'type': 'integer', 'title': 'Page', 'default': 1}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 6}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Context', 'default': None, 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'location': {'type': 'string', 'title': 'Location', 'examples': ['22307', '94114'], 'minLength': 1, 'description': 'Prefer a 5-digit US ZIP for location (e.g. "22307" or "94114"). This is the primary and preferred location input. After get_my_profile, if address.postalCode exists and the user confirmed the saved street address is the job site, pass that postalCode. Do not pass search_location when it is City, ST and a ZIP is available on the address. Never pass a street address, formattedAddress, or address1.'}}}
Esquema de salida
{'type': 'object', 'title': 'find_renovation_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'title': 'get_booking_status_mcpArguments', 'required': ['booking_id'], 'properties': {'context': {'type': 'string', 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'booking_id': {'type': 'string', 'title': 'Booking Id'}}}
Esquema de salida
{'type': 'object', 'title': 'get_booking_status_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {'context': {'type': 'string', 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}}}
Esquema de entrada
{'type': 'object', 'title': 'get_my_profile_mcpArguments', 'required': [], 'properties': {'context': {'type': 'string', 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}}}
Esquema de salida
{'type': 'object', '$defs': {'HomeownerAddress': {'type': 'object', 'title': 'HomeownerAddress', 'properties': {'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'City', 'default': None, 'description': 'City name'}, 'region': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Region', 'default': None, 'description': 'State or province code (e.g. VA)'}, 'country': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Country', 'default': None, 'description': 'Country code (e.g. US)'}, 'address1': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Address1', 'default': None, 'description': 'Street line 1 (e.g. 123 Main St)'}, 'address2': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Address2', 'default': None, 'description': 'Apt, unit, or suite'}, 'postalCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Postalcode', 'default': None, 'description': 'ZIP or postal code'}, 'formattedAddress': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Formattedaddress', 'default': None, 'description': 'Single-line formatted address when available (read-only; do not pass on input)'}}, 'description': 'Structured service address returned from the homeowner profile.'}}, 'title': 'GetMyProfileResult', 'examples': [{'name': 'Jane Doe', 'phone': '+15551234567', 'status': 'ok', 'address': {'city': 'Alexandria', 'region': 'VA', 'country': 'US', 'address1': '123 Main St', 'address2': None, 'postalCode': '22314', 'formattedAddress': '123 Main St, Alexandria, VA 22314'}, 'message': None, 'search_location': '22314'}, {'name': None, 'phone': None, 'status': 'error', 'address': None, 'message': 'No authenticated homeowner profile found.', 'search_location': None}, {'name': None, 'phone': None, 'status': 'auth_required', 'address': None, 'message': 'No HireNimbus account is connected. Searching and browsing pros works without an account.', 'error_code': 'AUTH_REQUIRED', 'next_action': 'continue_discovery', 'search_location': None}], 'required': ['status'], 'properties': {'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Name', 'default': None, 'description': 'Homeowner full name from profile (present when status is ok)'}, 'phone': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Phone', 'default': None, 'description': 'Homeowner phone from profile (present when status is ok)'}, 'status': {'enum': ['ok', 'error', 'auth_required'], 'type': 'string', 'title': 'Status', 'description': 'Outcome: "ok" when profile loaded, "auth_required" when unsigned-in, "error" otherwise'}, 'address': {'anyOf': [{'$ref': '#/$defs/HomeownerAddress'}, {'type': 'null'}], 'default': None, 'description': 'Full service street address on file with fields address1, address2, city, region, postalCode, country, formattedAddress'}, 'message': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Message', 'default': None, 'description': 'Error or auth_required explanation'}, 'error_code': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Error Code', 'default': None, 'description': 'Stable code such as "AUTH_REQUIRED" when status is auth_required'}, 'next_action': {'anyOf': [{'enum': ['continue_discovery', 'connect_to_book'], 'type': 'string'}, {'type': 'null'}], 'title': 'Next Action', 'default': None, 'description': 'When status is auth_required: "continue_discovery" means search and show pros without OTP; "connect_to_book" means start phone/OTP connect now'}, 'search_location': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Search Location', 'default': None, 'examples': ['22307', '94114'], 'description': '5-digit US ZIP from address.postalCode (e.g. "22307" or "94114") — pass to search_providers.location after the user confirms the saved street address is the job site. Never City, ST, a street line, formattedAddress, or address1.'}}, 'description': 'Authenticated homeowner profile returned by get_my_profile.'}
Esquema de entrada
{'type': 'object', 'title': 'get_previous_jobs_mcpArguments', 'required': [], 'properties': {'context': {'type': 'string', 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}}}
Esquema de salida
{'type': 'object', 'title': 'get_previous_jobs_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'title': 'get_provider_details_mcpArguments', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'title': 'Slug'}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Context', 'default': None, 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}}}
Esquema de salida
{'type': 'object', 'title': 'get_provider_details_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'title': 'get_provider_reviews_mcpArguments', 'required': ['slug'], 'properties': {'page': {'type': 'integer', 'title': 'Page', 'default': 1}, 'slug': {'type': 'string', 'title': 'Slug'}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Context', 'default': None, 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'page_size': {'type': 'integer', 'title': 'Page Size', 'default': 5}}}
Esquema de salida
{'type': 'object', 'title': 'get_provider_reviews_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'title': 'search_providers_mcpArguments', 'required': ['query', 'location'], 'properties': {'page': {'type': 'integer', 'title': 'Page', 'default': 1}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 6}, 'query': {'type': 'string', 'title': 'Query', 'minLength': 1, 'description': 'Service keyword for non-top categories (e.g. cleaning, landscaping, roofing). For handyman, HVAC, plumber, electrician, or renovation, use the dedicated find_* tools instead.'}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Context', 'default': None, 'examples': ['Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP.', 'Homeowner is comparing HVAC pros after a no-cool air conditioner at the confirmed job site.'], 'description': 'Always include this argument on every call — do not omit it (analytics / Agent Intent). Write 15-25 words in third person explaining why this tool is being called. Abstract purpose only: never names, phones, emails, street addresses, IDs, or other PII. Example: "Homeowner wants vetted local plumbers for a leaking kitchen faucet within the previously confirmed ZIP."'}, 'location': {'type': 'string', 'title': 'Location', 'examples': ['22307', '94114'], 'minLength': 1, 'description': 'Prefer a 5-digit US ZIP for location (e.g. "22307" or "94114"). This is the primary and preferred location input. After get_my_profile, if address.postalCode exists and the user confirmed the saved street address is the job site, pass that postalCode. Do not pass search_location when it is City, ST and a ZIP is available on the address. Never pass a street address, formattedAddress, or address1.'}}}
Esquema de salida
{'type': 'object', 'title': 'search_providers_mcpOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
Cambios recientes en herramientas
Servidores MCP similares
AdButler
Manages AdButler advertisers, campaigns, ad items, audiences, zones, creatives, catalogs, and advertising reports.
Duvo MCP
Provides governed retail and CPG operations for cases, queues, approvals, automations, process documentation, integrations, and a…
Lovie Company Formation
Supports company formation and business administration with bank accounts, cards, invoicing, bookkeeping, accounting periods, and…
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
独行录 / opcmenu
Supports founder and company discovery, collaboration goals and tasks, events and signups, networking, messaging, profiles, produ…
Meta Council
Provides governed workflows for consulting, outreach, sales deals, invoices, marketing campaigns, content approvals, accounting a…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…