Rural Home Pros
Server Details
US well drillers and septic contractors: services, emergency service, estimates, with sources.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: compare_listings handles multi-listing comparison, get_listing retrieves a single listing, search_listings performs filtered discovery, and list_categories/list_places expose separate metadata facets. There is no overlap that would cause an agent to misselect between them.
All tool names follow a consistent snake_case verb_noun pattern: compare_listings, get_listing, list_categories, list_places, and search_listings. The convention is predictable and readable throughout.
Five tools is well-scoped for a read-only listings discovery server. Each tool serves a distinct browsing or comparison need, and no tool feels redundant or missing from the core surface.
The set covers search, detail retrieval, comparison, category metadata, and place metadata, which is a solid read-only lifecycle for listings. A minor gap is the lack of an explicit pagination or next-page tool, though search_listings returns 20 per page and likely accepts page parameters.
Available Tools
5 toolscompare_listingsCompare listingsBRead-onlyIdempotentInspect
Two to five listings side by side, fact by fact.
| Name | Required | Description | Default |
|---|---|---|---|
| listings | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered structurally. The description adds only the multi-item scope; it says nothing about the comparison output, ordering, or how mismatched fields are handled, so it clears the lower annotated bar but adds little.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the key constraint front-loaded and no filler paragraphs. The phrase 'fact by fact' is stylistic and carries little operational meaning, keeping it just short of maximal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool whose annotations cover the safety profile, the definition is close to sufficient, but it never hints at what the side-by-side comparison returns or what the agent should expect to do with it (there is no output schema). Adequate, with a clear gap in expected result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter at 0% top-level schema description coverage, so the description should compensate. Instead, 'Two to five listings' merely restates the schema's minItems/maxItems, and the URL-vs-slug format is only documented inside the schema itself. No added semantic meaning beyond structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific action on a specific resource ('listings side by side') and encodes the cardinality constraint ('Two to five'). It implicitly separates itself from the singular get_listing sibling by requiring multiple listings, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of when to pick this over get_listing or search_listings, and no prerequisites mentioned. The only inference an agent can draw is the 2-5 count from the phrasing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_listingGet a listingARead-onlyIdempotentInspect
One listing with every fact, the page each fact comes from, and the date it was checked.
| Name | Required | Description | Default |
|---|---|---|---|
| listing | Yes | The listing URL or its slug (the last part of the URL). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds genuinely useful behavior context about returned provenance (source page and check date per fact), but says nothing about lookup failure behavior, freshness windows, or result size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler that packs the resource plus the three most relevant return characteristics. Nothing could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must carry the return-value burden, and it only gestures at it ('every fact') without describing structure, field names, or shape. For a one-parameter read tool whose annotations cover safety, this is adequate but leaves the agent guessing about the response payload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is documented as 'the listing URL or its slug (the last part of the URL).' The description introduces no additional syntax, format, or validation detail, so the schema does all the work — baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific retrieval verb and resource ('One listing') and goes further to enumerate what comes back: every fact, the source page per fact, and the verification date. This clearly separates it from the multi-item siblings (compare_listings, search_listings), though the description never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'One listing' signals single-item lookup by URL/slug, which contrasts naturally with search_listings and compare_listings. There is no explicit when-to-use statement, no mention of when to prefer a sibling, and no prerequisite or error guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesList categoriesBRead-onlyIdempotentInspect
The categories with their number of listings and their filters, each with its values.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds that each category comes with listing counts and filter values, which is useful return-shape context, though it omits ordering or whether filtering is possible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short clause with no filler or redundancy. It is terse and front-loaded, though the fragmentary grammar makes the structure slightly awkward.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must carry the burden of explaining return values, and it does so only briefly (categories, listing counts, filters with values). For a simple zero-parameter read tool this is adequate but leaves details like ordering or nesting unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema cannot carry parameter meaning and there is nothing for the description to compensate for. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('categories') and hints at the returned content (listing counts, filters with values), but is a verbless fragment that never states the action. It adds some information beyond the title but remains only a vague statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings like list_places or search_listings, nor any prerequisites or exclusions. Usage can only be weakly inferred from the fact that it returns categories.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_placesList placesCRead-onlyIdempotentInspect
The places with listings and their numbers: the top level, or the places inside a parent place.
| Name | Required | Description | Default |
|---|---|---|---|
| parent | No | The path of a place from an earlier answer, for its towns | |
| category | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds nothing beyond them — no mention of return shape, counts semantics, or empty-result behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short clause with no waste, which is good, but it is a sentence fragment whose key information ('their numbers') is placed before the actual scope, making it read awkwardly rather than being cleanly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what is returned, yet 'their numbers' is left undefined. It also omits the 'category' filter entirely and gives no basis for choosing this tool over the four siblings, leaving real gaps for a two-parameter listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: 'parent' is documented in the schema and the description reinforces its meaning ('places inside a parent place' vs 'the top level'). However, the 'category' enum is never mentioned in the description, so half the parameters gain no additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The fragment 'The places with listings and their numbers' gestures at listing places with counts, but never states a verb ('list') or clearly names the resource; 'their numbers' is ambiguous. It does not distinguish this from siblings like search_listings or list_categories, so an agent must infer the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no sibling is named as an alternative. The only contextual hint is the schema note that 'parent' comes 'from an earlier answer', which implies a follow-up step but is not framed as usage guidance in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_listingsSearch listingsBRead-onlyIdempotentInspect
Find listings of Rural Home Pros with the filters of the site, 20 per page, most checked facts first. list_categories names the filters and values of each category.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| sort | No | ||
| query | No | Free text: a name or a word | |
| where | No | A place: town, region, or state (a part of the name is enough) | |
| filters | No | ||
| category | No | Category, default: well-drillers |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so safety is covered. The description adds genuinely new behavior: a fixed page size of 20 and a default ordering of 'most checked facts first', which tells the agent what to expect without probing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded and the companion-tool pointer placed after. No filler, though the second sentence is somewhat terse relative to what it needs to convey.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns, yet it only mentions page size and ordering — not the shape of a listing, whether total counts/pagination metadata come back, or how filters combine. Adequate for a search tool but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% and six parameters exist, so the description should compensate more than it does. It usefully delegates filter semantics to list_categories, but says nothing about page, sort, query, where, or category behavior beyond what the schema already carries.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource ('Find listings of Rural Home Pros') and adds scope detail (20 per page, most checked facts first), but the resource name is domain jargon and the description never distinguishes this tool from siblings like get_listing or compare_listings. An agent gets the gist but not the boundaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Points to list_categories as the way to discover filter names and values, which is useful routing guidance. However, there is no explicit when-to-use statement versus get_listing (single lookup) or compare_listings, so the agent must infer the selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
compare_listings - First observed
get_listing - First observed
list_categories - First observed
list_places - First observed
search_listings
Related MCP Connectors
US local-services data: find locals by trade and city, browse open jobs, see which markets answer
Verified US local service providers across 10 home-services trades. Owned data, no API key.
Search thousands of verified US local service providers across 10 home-services trades, including crawl space repair, floor coating, radon mitigation, commercial electrical, and laundry services. Returns ratings, services, pricing, descriptions, and profile links. Every result passes a completeness gate, so listings are never half-empty.
Local US home-service pricing, providers ranked by the Vouched Score, rebates, and glossary.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAccess ServiceGraph — a structured catalog of 100k+ US professional-services firms (law, marketing, consulting, accounting, IT services, architecture, engineering, HR, PR, design) with filters for industry, services offered, location, size, ratings, and third-party listing presence.62MIT
- AlicenseNot gradedqualityBmaintenanceOpen & historical US government bid solicitations from city/county portals — updated daily.380 npmMIT
- AlicenseAqualityDmaintenanceProvides aggregated municipal development costs for US jurisdictions, including impact fees and utility connection charges, enabling AI agents to assess building feasibility quickly.1417 npmMIT
- AlicenseAqualityDmaintenanceollect comprehensive environmental data from 80+ US federal sources (FEMA, EPA, USGS, NOAA, NRCS, USFWS, DOE, DOT, CDC, Census) for any US location. One tool returns flood zones, soils, wetlands, rainfall, water quality, contamination, seismic risk, infrastructure, ecology, energy, and demographics.312 npm7MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.