Verified DFW home-services directory. AI agents submit listings and find bookable pros.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Find service businesses in the dfwmetro.net directory for booking. Returns every listing with its verification status labeled: VERIFIED businesses (human verification-desk reviewed) rank first and carry machine-booking capability and endpoint health; NOT_YET_VERIFIED businesses are clearly labeled, ranked by automated pre-check score, and carry machine_ready:false. Pass verified_only:true for the strict VERIFIED-only shelf. This tool can never change verification status.
DFW city filter, e.g. 'Plano'.
Max listings to return (1-50).
Category id from https://dfwmetro.net/categories.json, e.g. 'plumbing'. Legacy display labels ('Plumbing', 'Heating & Air Conditioning', 'Electrical') are also accepted and normalized.
Subcategory label filter, e.g. 'Drain cleaning'.
True returns only VERIFIED listings (the strict premium shelf); false (default) returns all listings with verification status labeled, VERIFIED ranked first.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Find service businesses in the dfwmetro.net directory for booking. Returns every listing with its verification status labeled: VERIFIED businesses (human verification-desk reviewed) rank first and carry machine-booking capability and endpoint health; NOT_YET_VERIFIED businesses are clearly labeled, ranked by automated pre-check score, and carry machine_ready:false. Pass verified_only:true for the strict VERIFIED-only shelf. This tool can never change verification status.
| Argument | Type | Description |
|---|---|---|
| city | string | DFW city filter, e.g. 'Plano'. |
| limit | integer | Max listings to return (1-50). |
| trade | string | Category id from https://dfwmetro.net/categories.json, e.g. 'plumbing'. Legacy display labels ('Plumbing', 'Heating & Air Conditioning', 'Electrical') are also accepted and normalized. |
| subcategory | string | Subcategory label filter, e.g. 'Drain cleaning'. |
| verified_only | boolean | True returns only VERIFIED listings (the strict premium shelf); false (default) returns all listings with verification status labeled, VERIFIED ranked first. |
{
"type": "object",
"title": "dfwmetro.net listing discovery",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"city": {
"type": "string",
"description": "DFW city filter, e.g. 'Plano'."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Max listings to return (1-50)."
},
"trade": {
"type": "string",
"description": "Category id from https://dfwmetro.net/categories.json, e.g. 'plumbing'. Legacy display labels ('Plumbing', 'Heating & Air Conditioning', 'Electrical') are also accepted and normalized."
},
"subcategory": {
"type": "string",
"description": "Subcategory label filter, e.g. 'Drain cleaning'."
},
"verified_only": {
"type": "boolean",
"default": false,
"description": "True returns only VERIFIED listings (the strict premium shelf); false (default) returns all listings with verification status labeled, VERIFIED ranked first."
}
},
"description": "Find genuinely online-bookable service businesses in the dfwmetro.net directory. Every listing is returned with its verification status labeled: VERIFIED businesses (human verification-desk reviewed) rank first and carry machine-booking capability and endpoint health; NOT_YET_VERIFIED businesses are clearly labeled — trust_level 'pending' means awaiting desk review and ranks last — and carry machine_ready:false. Pass verified_only:true for the strict VERIFIED-only shelf. Nothing here can change verification status.",
"additionalProperties": true
}Find VERIFIED service businesses in the dfwmetro.net directory for booking. Only listings that passed human verification-desk review are returned — this tool can never surface unverified businesses and can never change verification status. Each result includes the business's booking_url plus machine-booking capability and endpoint health when known. Use booking_url for human-style booking flows; use capability endpoints only when present. Kept for backward compatibility; new integrations should prefer find_listings with verified_only:true.
| Argument | Type | Description |
|---|---|---|
| city | string | DFW city filter, e.g. 'Plano'. |
| limit | integer | Max listings to return (1-50). |
| trade | string | Category id from https://dfwmetro.net/categories.json, e.g. 'plumbing'. Legacy display labels ('Plumbing', 'Heating & Air Conditioning', 'Electrical') are also accepted and normalized. |
| subcategory | string | Subcategory label filter, e.g. 'Drain cleaning'. |
| verified_only | boolean | True returns only VERIFIED listings (the strict premium shelf); false (default) returns all listings with verification status labeled, VERIFIED ranked first. |
{
"type": "object",
"title": "dfwmetro.net listing discovery",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"city": {
"type": "string",
"description": "DFW city filter, e.g. 'Plano'."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Max listings to return (1-50)."
},
"trade": {
"type": "string",
"description": "Category id from https://dfwmetro.net/categories.json, e.g. 'plumbing'. Legacy display labels ('Plumbing', 'Heating & Air Conditioning', 'Electrical') are also accepted and normalized."
},
"subcategory": {
"type": "string",
"description": "Subcategory label filter, e.g. 'Drain cleaning'."
},
"verified_only": {
"type": "boolean",
"default": false,
"description": "True returns only VERIFIED listings (the strict premium shelf); false (default) returns all listings with verification status labeled, VERIFIED ranked first."
}
},
"description": "Find genuinely online-bookable service businesses in the dfwmetro.net directory. Every listing is returned with its verification status labeled: VERIFIED businesses (human verification-desk reviewed) rank first and carry machine-booking capability and endpoint health; NOT_YET_VERIFIED businesses are clearly labeled — trust_level 'pending' means awaiting desk review and ranks last — and carry machine_ready:false. Pass verified_only:true for the strict VERIFIED-only shelf. Nothing here can change verification status.",
"additionalProperties": true
}Submit a DFW service business to the dfwmetro.net verified directory. The business MUST be genuinely online-bookable: booking_url must point at a real scheduling flow (date/time picker or booking widget) — quote forms, contact forms, phone-only, and login-gated flows fail verification. You do not need to categorize it yourself: describe what the business does in 'description' and the trade is assigned automatically (send 'trade' only if you are sure of the category id). Find the business's real street address BEFORE submitting — check its website (footer/contact page) or the JSON-LD LocalBusiness block on its site or booking page — and send it as 'street_address': it drives the exact map pin. When the trade requires a state license (plumbing, electrical, HVAC, personal & specialty services), also send 'license_number' (e.g. 'TACLA40925C', 'TECL 12345', 'M-12345') — the server pre-checks the format and the human desk verifies it against the state registry. You may also send 'starting_price_cents' (integer cents, e.g. 8500 = $85.00, shown publicly as 'from $X') and 'price_note' (short qualifier, e.g. 'per visit'). Accepted submissions start as NOT_YET_VERIFIED and pass human review before going live.
| Argument | Type | Description |
|---|---|---|
| dba | string | Trade/DBA name shown publicly. Defaults to legal_name. |
| city* | string | DFW city, e.g. 'Plano'. |
| phone | string | |
| trade | string | OPTIONAL. Category id from https://dfwmetro.net/categories.json (e.g. 'plumbing', 'electrical', 'personal_specialty'). Pre-v2 ids (e.g. 'nail-salon') are accepted and stored as their v2 industry. If omitted, the server assigns the trade from your description — you do not need to get this right yourself. |
| website |
| string |
| zip_code | string |
| legal_name* | string | Legal business name. |
| price_note | string | OPTIONAL. Short qualifier shown next to the starting price, e.g. 'per visit', 'up to shoulder length'. |
| booking_url* | string | REQUIRED. Direct URL of the business's real online scheduling flow (date/time picker or booking widget). Generic contact/quote forms, phone-only, and login-gated flows fail verification — do not submit them. |
| description | string | What the business DOES, in plain words (e.g. 'mobile piano tuning, in-home appointments'). Used to categorize the listing when trade is omitted, and shown to the verification desk. The more specific, the better the categorization. |
| service_area | string | Defaults to 'DFW'. |
| submitted_by | string | Agent identifier, e.g. 'agent:my-booking-bot'. Defaults to 'agent:unknown'. |
| subcategories | array | Must match the trade's subcategory labels in categories.json. |
| license_number | string | STRONGLY RECOMMENDED when the trade requires a state license (plumbing, electrical, HVAC, personal & specialty services). The trade's license number, e.g. 'TACLA40925C' (HVAC), 'TECL 12345' (electrical), 'M-12345' (plumbing). The server checks the format against the Texas pattern; the human desk verifies it against the state registry before VERIFIED. |
| street_address | string | STRONGLY RECOMMENDED. The business's real street address, e.g. '2818 Satsuma Drive'. Find it on the business's website (footer / contact page) or in the JSON-LD LocalBusiness block on its site or booking page BEFORE submitting. It drives the exact map pin; without it the listing gets only a city-level dot. Not required — submissions without it are still accepted. |
| years_in_business | integer |
| license_type_detail | string | Free-text license detail, e.g. 'Master Plumber' or 'Class A ACR Contractor'. Shown to the verification desk alongside license_number. |
| starting_price_cents | integer | OPTIONAL. Starting price in cents, e.g. 8500 = $85.00. Shown publicly as 'from $X'. Omit when pricing varies too much to quote a starting point. |
{
"type": "object",
"title": "dfwmetro.net listing submission",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"legal_name",
"city",
"booking_url"
],
"properties": {
"dba": {
"type": "string",
"maxLength": 200,
"description": "Trade/DBA name shown publicly. Defaults to legal_name."
},
"city": {
"type": "string",
"maxLength": 200,
"description": "DFW city, e.g. 'Plano'."
},
"phone": {
"type": "string",
"maxLength": 40
},
"trade": {
"type": "string",
"description": "OPTIONAL. Category id from https://dfwmetro.net/categories.json (e.g. 'plumbing', 'electrical', 'personal_specialty'). Pre-v2 ids (e.g. 'nail-salon') are accepted and stored as their v2 industry. If omitted, the server assigns the trade from your description — you do not need to get this right yourself."
},
"website": {
"type": "string",
"maxLength": 300
},
"zip_code": {
"type": "string",
"maxLength": 20
},
"legal_name": {
"type": "string",
"maxLength": 200,
"description": "Legal business name."
},
"price_note": {
"type": "string",
"maxLength": 120,
"description": "OPTIONAL. Short qualifier shown next to the starting price, e.g. 'per visit', 'up to shoulder length'."
},
"booking_url": {
"type": "string",
"format": "uri",
"maxLength": 500,
"description": "REQUIRED. Direct URL of the business's real online scheduling flow (date/time picker or booking widget). Generic contact/quote forms, phone-only, and login-gated flows fail verification — do not submit them."
},
"description": {
"type": "string",
"maxLength": 1000,
"description": "What the business DOES, in plain words (e.g. 'mobile piano tuning, in-home appointments'). Used to categorize the listing when trade is omitted, and shown to the verification desk. The more specific, the better the categorization."
},
"service_area": {
"type": "string",
"maxLength": 200,
"description": "Defaults to 'DFW'."
},
"submitted_by": {
"type": "string",
"pattern": "^(agent:[A-Za-z0-9._-]{1,64}|human)$",
"description": "Agent identifier, e.g. 'agent:my-booking-bot'. Defaults to 'agent:unknown'."
},
"subcategories": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80
},
"maxItems": 20,
"description": "Must match the trade's subcategory labels in categories.json."
},
"license_number": {
"type": "string",
"maxLength": 60,
"description": "STRONGLY RECOMMENDED when the trade requires a state license (plumbing, electrical, HVAC, personal & specialty services). The trade's license number, e.g. 'TACLA40925C' (HVAC), 'TECL 12345' (electrical), 'M-12345' (plumbing). The server checks the format against the Texas pattern; the human desk verifies it against the state registry before VERIFIED."
},
"street_address": {
"type": "string",
"maxLength": 200,
"description": "STRONGLY RECOMMENDED. The business's real street address, e.g. '2818 Satsuma Drive'. Find it on the business's website (footer / contact page) or in the JSON-LD LocalBusiness block on its site or booking page BEFORE submitting. It drives the exact map pin; without it the listing gets only a city-level dot. Not required — submissions without it are still accepted."
},
"years_in_business": {
"type": "integer",
"maximum": 200,
"minimum": 0
},
"license_type_detail": {
"type": "string",
"maxLength": 120,
"description": "Free-text license detail, e.g. 'Master Plumber' or 'Class A ACR Contractor'. Shown to the verification desk alongside license_number."
},
"starting_price_cents": {
"type": "integer",
"maximum": 100000000,
"minimum": 0,
"description": "OPTIONAL. Starting price in cents, e.g. 8500 = $85.00. Shown publicly as 'from $X'. Omit when pricing varies too much to quote a starting point."
}
},
"description": "Submit a DFW service business to the dfwmetro.net verified directory. Every submission starts as NOT_YET_VERIFIED and must pass human verification-desk review before appearing as verified. status is always forced to NOT_YET_VERIFIED and license_required is derived from the directory taxonomy — any values you send for those fields are ignored. trade is optional: omit it and describe the business in 'description' and the server assigns the category deterministically. Unknown extra fields are ignored.",
"additionalProperties": true
}