Johnson Bros. Plumbing: check coverage, services, pricing, availability, and book by SMS.
Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.
https://thejohnsonbros.com/mcp16 tools · 514msget_quoteUse this when the user wants a non-binding estimate for a specific plumbing issue. Returns a price range, typical duration, and next step. Do not present the range as a guaranteed repair price; final pricing is confirmed on-site before work begins.
WHEN TO USE: When a customer asks "How much does…Use this when the user wants a non-binding estimate for a specific plumbing issue. Returns a price range, typical duration, and next step. Do not present the range as a guaranteed repair price; final pricing is confirmed on-site before work begins. WHEN TO USE: When a customer asks "How much does…
| Parameter | Type | Description |
|---|---|---|
| service_type* | string | Type of plumbing service (required). Examples: 'drain cleaning', 'water heater repair', 'toilet repair' |
| issue_description* | string | Description of the plumbing problem (required). Be specific about symptoms and location. |
| property_type | string | Type of property (default: 'residential') |
| urgency | string | How urgent is the repair? |
emergency_helpUse this immediately when the user describes an urgent plumbing safety or damage situation. Give bounded mitigation guidance and direct them to call Johnson Bros.; for gas, fire, or immediate danger, direct them to leave and call 911 first. Do not treat this tool as monitored emergency dispatch or…Use this immediately when the user describes an urgent plumbing safety or damage situation. Give bounded mitigation guidance and direct them to call Johnson Bros.; for gas, fire, or immediate danger, direct them to leave and call 911 first. Do not treat this tool as monitored emergency dispatch or…
| Parameter | Type | Description |
|---|---|---|
| emergency_type* | string | Type of plumbing emergency (required). Examples: 'burst pipe', 'flooding', 'gas leak', 'sewage backup', 'no hot water', 'no water' |
| additional_details | string | Additional context about the emergency (optional). Include location, duration, actions already taken. |
open_customer_portalUse this when the customer wants to book Johnson Bros. service or search their own past visits. Opens a compact card that expands into a customer form without sending a message or creating a booking. History requires SMS verification and the customer card’s private, short-lived proof. Booking requi…Use this when the customer wants to book Johnson Bros. service or search their own past visits. Opens a compact card that expands into a customer form without sending a message or creating a booking. History requires SMS verification and the customer card’s private, short-lived proof. Booking requi…
| Parameter | Type | Description |
|---|---|---|
| view | string | Choose booking for a new service visit, or history for the customer’s own previous and upcoming visits. |
search_service_historyUse this from the customer card or browser bridge after customer_lookup verifies SMS and supplies private proof. Shared agents must use the history returned by customer_lookup or open the customer portal; an MCP connection alone never authorizes history. Searches the authenticated account records a…Use this from the customer card or browser bridge after customer_lookup verifies SMS and supplies private proof. Shared agents must use the history returned by customer_lookup or open the customer portal; an MCP connection alone never authorizes history. Searches the authenticated account records a…
| Parameter | Type | Description |
|---|---|---|
| query | string | Repair keywords or date text, for example drain or 2025. Empty searches all available records. |
| status | string | Filter the verified customer’s available visits by status. |
| limit | integer | Maximum records to return, from 1 to 50. |
| history_access_token | string | Private verification proof attached automatically by the customer card or browser bridge. Never ask the customer for it or invent it. |
submit_customer_infoAfter asking Have you used us before?, use for NEW customers only after they approve full name, address, email, phone and where they found us. Include the customer-approved issue_description when the service or symptoms are already known. Saves an in-area customer; outside database coverage saves a…After asking Have you used us before?, use for NEW customers only after they approve full name, address, email, phone and where they found us. Include the customer-approved issue_description when the service or symptoms are already known. Saves an in-area customer; outside database coverage saves a…
| Parameter | Type | Description |
|---|---|---|
| name* | string | Full first and last name |
| phone* | string | — |
| email* | string | — |
| address* | object | — |
| heard_about_us* | string | Where the customer found Johnson Bros; ask, never infer from the platform |
| issue_description | string | Customer-approved service and reported symptoms, if already provided. Preserved in outside-area office lead notes; do not invent a diagnosis. Optional so conta… |
| confirmed* | boolean | Customer submitted or approved the new customer form, including any supplied issue description |
customer_lookupFor a returning customer: first call with phone and confirmed:true to request a code. Next call with the returned challenge_id and customer-supplied code. Saved details and recent service history are returned only after successful verification. If lookup fails, offer the new-customer form or office…For a returning customer: first call with phone and confirmed:true to request a code. Next call with the returned challenge_id and customer-supplied code. Saved details and recent service history are returned only after successful verification. If lookup fails, offer the new-customer form or office…
| Parameter | Type | Description |
|---|---|---|
| phone* | string | — |
| confirmed* | boolean | — |
| challenge_id | string | — |
| code | string | — |
request_out_of_area_callbackUse as soon as a caller is found to be outside the automatic-booking service area and agrees to a call from the office. Requires name, phone, city, state, service ZIP, issue_description and confirmed:true. The server rechecks coverage: in_service_area means continue normal booking (no callback is c…Use as soon as a caller is found to be outside the automatic-booking service area and agrees to a call from the office. Requires name, phone, city, state, service ZIP, issue_description and confirmed:true. The server rechecks coverage: in_service_area means continue normal booking (no callback is c…
| Parameter | Type | Description |
|---|---|---|
| name* | string | Caller full first and last name |
| phone* | string | Callback number. On phone calls the channel supplies the caller ID; confirm it with the caller. |
| address* | object | — |
| issue_description* | string | What the caller needs, in their words |
| confirmed* | boolean | True only after the caller agreed to the office calling them back |
get_availabilityUse this when the user wants live Johnson Bros. appointment availability. Include zip and any known town/state for a customer booking inquiry. Outside-area or unresolved locations receive no windows. Without a location, this returns general capacity only, not eligibility to book; coverage_status is…Use this when the user wants live Johnson Bros. appointment availability. Include zip and any known town/state for a customer booking inquiry. Outside-area or unresolved locations receive no windows. Without a location, this returns general capacity only, not eligibility to book; coverage_status is…
| Parameter | Type | Description |
|---|---|---|
| days | integer | — |
| start_date | string | — |
| time_preference | string | — |
| zip | string | Service ZIP when known. Always include the customer location for a booking inquiry; outside-area requests receive no windows. |
| town | string | — |
| state | string | — |
check_service_areaCheck a service ZIP, or a Massachusetts town, city or neighborhood name on its own, against the coverage database for Norfolk, Suffolk and Plymouth counties. Answer "do you serve <town>?" directly with town (no ZIP needed): covered = yes; partially_covered = yes for the listed covered_zips, confirm…Check a service ZIP, or a Massachusetts town, city or neighborhood name on its own, against the coverage database for Norfolk, Suffolk and Plymouth counties. Answer "do you serve <town>?" directly with town (no ZIP needed): covered = yes; partially_covered = yes for the listed covered_zips, confirm…
| Parameter | Type | Description |
|---|---|---|
| zip | string | — |
| town | string | — |
| state | string | — |
get_services_pricingUse this when the user wants to browse Johnson Bros. services or general non-binding price ranges. Do not use it for an issue-specific estimate; use get_quote. Final pricing is confirmed on-site before work begins.Use this when the user wants to browse Johnson Bros. services or general non-binding price ranges. Do not use it for an issue-specific estimate; use get_quote. Final pricing is confirmed on-site before work begins.
| Parameter | Type | Description |
|---|---|---|
| category | string | Filter by category: 'emergency', 'maintenance', 'repair', 'installation', 'specialty' |
| search | string | Search term, e.g. "water heater", "drain" |
business_infoStart here for a self-contained Johnson Bros. business briefing: locations, services, hours, service area, dispatch fee, pricing and booking policies, credentials, payment methods, and how to get further information through MCP without browsing the website. Not live availability or private customer…Start here for a self-contained Johnson Bros. business briefing: locations, services, hours, service area, dispatch fee, pricing and booking policies, credentials, payment methods, and how to get further information through MCP without browsing the website. Not live availability or private customer…
No input schema was published for this tool.
request_callbackUse this only after the user explicitly asks Johnson Bros. to call them about a plumbing need and provides their own contact details. This creates a callback lead, not an appointment, and can notify the office and send a transactional SMS acknowledgment. Do not use it for emergency dispatch; tell e…Use this only after the user explicitly asks Johnson Bros. to call them about a plumbing need and provides their own contact details. This creates a callback lead, not an appointment, and can notify the office and send a transactional SMS acknowledgment. Do not use it for emergency dispatch; tell e…
| Parameter | Type | Description |
|---|---|---|
| name* | string | Customer full name, for example "Jane Smith" |
| phone* | string | Customer phone number for the callback |
| string | — | |
| issue_description* | string | Short description of the plumbing issue |
| preferred_callback_time | string | Optional preference such as "weekday morning" |
| urgency | string | — |
| confirmed* | boolean | True only after the user explicitly asks Johnson Bros. to contact them |
request_bookingUse this only after the user explicitly asks to start a Johnson Bros. booking and confirms their own contact details, service address, issue, and preferred windows. It sends a six-digit SMS code and does not schedule a visit. Do not claim an appointment exists until confirm_booking returns status:c…Use this only after the user explicitly asks to start a Johnson Bros. booking and confirms their own contact details, service address, issue, and preferred windows. It sends a six-digit SMS code and does not schedule a visit. Do not claim an appointment exists until confirm_booking returns status:c…
| Parameter | Type | Description |
|---|---|---|
| service* | string | Requested service, e.g. "water heater replacement" |
| preferred_windows | array | Preferred arrival windows from get_availability (start_time/end_time ISO strings) |
| time_preference | string | Fallback time-of-day preference if none of the preferred windows is open |
| customer_type | string | Required for booking: answer to Have you used us before? |
| heard_about_us | string | Required for new customers: where they found us |
| name* | string | Customer full name |
| phone* | string | Customer mobile number — receives the 6-digit confirmation code |
| address* | object | — |
| string | — | |
| notes | string | Issue description / anything the technician should know |
| promotion_review_requested | boolean | — |
| referral_code | string | — |
| confirmed* | boolean | True only after the user explicitly asks to start this booking request and send the SMS code |
confirm_bookingUse this after the customer supplies the six-digit SMS code from request_booking. It can create customer and job records or an office-review lead, notify the office, and send transactional customer or referral-status texts. Only status:confirmed with booked:true means the visit is scheduled. status…Use this after the customer supplies the six-digit SMS code from request_booking. It can create customer and job records or an office-review lead, notify the office, and send transactional customer or referral-status texts. Only status:confirmed with booked:true means the visit is scheduled. status…
| Parameter | Type | Description |
|---|---|---|
| booking_id* | string | — |
| code* | string | — |
searchUse this to find Johnson Bros. Plumbing pages about services, service area, pricing policy, or common questions. Returns ids, titles and URLs only -- call fetch with an id to read the full text. Do not use it to check live appointment availability (use get_availability) or to look up a customer.Use this to find Johnson Bros. Plumbing pages about services, service area, pricing policy, or common questions. Returns ids, titles and URLs only -- call fetch with an id to read the full text. Do not use it to check live appointment availability (use get_availability) or to look up a customer.
| Parameter | Type | Description |
|---|---|---|
| query* | string | Natural-language search terms, e.g. 'water heater Quincy' |
fetchUse this to read the full text of a document returned by search. Takes the exact id from a search result. Returns public business information only -- it never returns customer records.Use this to read the full text of a document returned by search. Takes the exact id from a search result. Returns public business information only -- it never returns customer records.
| Parameter | Type | Description |
|---|---|---|
| id* | string | Document id from a search result, e.g. 'faq:pricing-service-fee' |
16 of 16 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Johnson Bros. Plumbing: check coverage, services, pricing, availability, and book by SMS.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.