Tool tree
gradeNot graded
page: Every page
search_contractorsAnswer
Search public septic contractor listings by keyword, service, location, or distance without collecting personal information.
View tool JSON
{
"name": "search_contractors",
"kind": "answer",
"impl": "imperative",
"description": "Search public septic contractor listings by keyword, service, location, or distance without collecting personal information.",
"inputSchema": {
"type": "object",
"properties": {
"q": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"Septic Pumping",
"Septic Inspection",
"Septic Repair",
"Septic Installation",
"Drain Field Repair",
"Tank Replacement",
"Emergency Service",
"Maintenance"
]
},
"city": {
"type": "string"
},
"region": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"radius_km": {
"type": "number",
"minimum": 1,
"maximum": 200
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"cursor": {
"type": "string"
}
},
"additionalProperties": false
},
"page": "/"
}submit_septic_quoteSensitive Action
The only tool that submits a septic quote. Use it after the user has explicitly agreed to share contact and property details with Septic Ontario for contractor matching. The on-page estimate form is for people typing in the browser and is not a second submission tool.
View tool JSON
{
"name": "submit_septic_quote",
"kind": "transact",
"impl": "imperative",
"description": "The only tool that submits a septic quote. Use it after the user has explicitly agreed to share contact and property details with Septic Ontario for contractor matching. The on-page estimate form is for people typing in the browser and is not a second submission tool.",
"inputSchema": {
"type": "object",
"required": [
"name",
"email",
"phone",
"address",
"postal_code",
"service_types",
"message"
],
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"phone": {
"type": "string"
},
"address": {
"type": "string"
},
"city": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"service_types": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"enum": [
"Septic Pumping",
"Septic Inspection",
"Septic Repair",
"Septic Installation",
"Drain Field Repair",
"Tank Replacement",
"Emergency Service",
"Maintenance"
]
}
},
"urgency": {
"type": "string",
"enum": [
"emergency",
"soon",
"week",
"flexible"
]
},
"message": {
"type": "string",
"minLength": 10
},
"business_id": {
"type": "string"
},
"agent_source": {
"type": "string",
"enum": [
"API",
"agent",
"web"
],
"description": "Where the quote came from. This tool records agent. API is a direct POST /api/v1/quotes call. web is the website form."
}
},
"additionalProperties": false
},
"page": "/"
}open_quote_formAction
Open the human-friendly quote form at /quote-request/ when the user prefers the website UI or WebMCP submission is not appropriate.
View tool JSON
{
"name": "open_quote_form",
"kind": "act",
"impl": "imperative",
"description": "Open the human-friendly quote form at /quote-request/ when the user prefers the website UI or WebMCP submission is not appropriate.",
"inputSchema": {
"type": "object",
"properties": {
"business_id": {
"type": "string",
"description": "Optional business listing UUID"
}
}
},
"page": "/"
}find_contractorsAction
Open /directory/ or /near-me/ with filters. Use this instead of navigate_to_page for contractor search. service must be a catalog category, not free text.
View tool JSON
{
"name": "find_contractors",
"kind": "act",
"impl": "imperative",
"description": "Open /directory/ or /near-me/ with filters. Use this instead of navigate_to_page for contractor search. service must be a catalog category, not free text.",
"inputSchema": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City name filter"
},
"service": {
"type": "string",
"enum": [
"Septic Pumping",
"Septic Inspection",
"Septic Repair",
"Septic Installation",
"Drain Field Repair",
"Tank Replacement",
"Emergency Service",
"Maintenance"
],
"description": "Directory service category"
},
"near_me": {
"type": "boolean",
"description": "Open /near-me/ instead of /directory/"
}
}
},
"page": "/"
}navigate_to_pageAction
Navigate to a same-origin path such as /resources/ or /service-areas/. Do not use for contractor search — call find_contractors or search_contractors. Do not use for the quote form — call open_quote_form.
View tool JSON
{
"name": "navigate_to_page",
"kind": "act",
"impl": "imperative",
"description": "Navigate to a same-origin path such as /resources/ or /service-areas/. Do not use for contractor search — call find_contractors or search_contractors. Do not use for the quote form — call open_quote_form.",
"inputSchema": {
"type": "object",
"required": [
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Path beginning with / (same-origin only). Not /directory, /near-me, or /quote-request."
}
}
},
"page": "/"
}get_agent_discoveryAnswer
Return machine-readable discovery endpoints (agent skills index, MCP server card, API catalog, OpenAPI, quote manifest).
View tool JSON
{
"name": "get_agent_discovery",
"kind": "answer",
"impl": "imperative",
"description": "Return machine-readable discovery endpoints (agent skills index, MCP server card, API catalog, OpenAPI, quote manifest).",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}page: Home
newsletter_signupSensitive Action
Subscribes the visitor to Septic Ontario septic care tips and maintenance reminders.
View tool JSON
{
"name": "newsletter_signup",
"kind": "transact",
"impl": "declarative",
"description": "Subscribes the visitor to Septic Ontario septic care tips and maintenance reminders.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Your name (optional)"
},
"email": {
"type": "string",
"description": "Enter your email address"
}
},
"required": [
"email"
]
},
"page": "/"
}