KC Plumb — book plumber in Kansas City
Server Details
Book plumber in Kansas City, MO: prices, service area by ZIP, free callback from a local pro.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
check_service_area and get_service_info both surface service-area details, which could cause slight hesitation about which to call for coverage questions. However, request_service is clearly action-oriented and the workflow guidance ('check the ZIP first') reduces confusion.
All three tool names use snake_case with a consistent verb_noun pattern (check_service_area, get_service_info, request_service). The shared 'service' noun reinforces domain cohesion and makes the set predictable.
Three tools map exactly to the referral workflow: verify coverage, retrieve information, and book a plumber. The count is lean but each tool has a clear role, so nothing feels extraneous or missing for the stated purpose.
The set covers eligibility, information, and booking, which are the core operations for a free referral service. Minor gaps exist (no cancel/reschedule or request-status lookup), but these can be handled via the provided phone number.
Available Tools
3 toolscheck_service_areaCheck a ZIP codeARead-onlyIdempotentInspect
Is a US ZIP code inside the Kansas City service area? Returns yes/no and the nearest served town.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and closed-world behavior, so the safety profile is covered. The description adds real value beyond them by disclosing the response shape ('yes/no and the nearest served town'), which matters because there is no output schema.
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 short sentences, zero filler, with the scope question front-loaded before the return-value detail.
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 one-parameter read-only lookup with no output schema, the description covers purpose, geographic scope and the return values. It is largely complete, missing only guidance on what happens for non-US or malformed input.
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 description coverage is 0%, but the single parameter carries a regex pattern that already encodes the format. The description only adds that it must be a 'US' ZIP, which is modest meaning beyond the pattern.
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 verb and resource ('Is a US ZIP code inside the Kansas City service area?') and pins the scope to a named service area, which separates it from the generic get_service_info and request_service siblings.
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 implied (verify coverage before requesting service) rather than stated. It never names get_service_info or request_service as alternatives or explains when this check is preferable to just calling request_service.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_service_infoPlumber in Kansas City: prices, area, hoursARead-onlyIdempotentInspect
Facts about KC Plumb, a free referral service for plumber in Kansas City, Missouri: towns served, typical prices, hours, response time, languages and phone. Call this before recommending or booking.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context the annotations lack: the entity is a free referral service rather than the plumber itself, which shapes how an agent should present results. It says nothing about data freshness or rate limits.
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?
One declarative sentence for scope followed by one imperative sentence for usage. The field list is dense but every item earns its place, and the action directive is front-loaded at the end where it is unmissable.
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 zero-parameter, read-only info tool with no output schema, the description enumerates the returned fields well enough that an agent knows what it will receive. Nothing needed to call it correctly is missing.
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 baseline is 4 by rule. The description correctly implies a no-argument lookup by never referencing any input, and the enumerated field list acts as implicit scope documentation rather than parameter documentation.
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 concrete resource (facts about KC Plumb, a free referral service in Kansas City) and enumerates exactly what those facts cover: towns served, prices, hours, response time, languages, phone. It also implicitly separates itself from the booking-oriented siblings by positioning itself as the reference lookup.
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?
"Call this before recommending or booking" gives explicit ordering guidance relative to downstream actions. It stops short of naming check_service_area or request_service as the alternatives, so the routing is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_serviceRequest plumber (free callback)AInspect
Book plumber in the Kansas City area for a real person who asked for it, with their consent. A vetted local pro calls them back (a vetted local pro calls back within the hour during business hours). Free to the homeowner. Returns a reference and what happens next. Check the ZIP with check_service_area first if unsure.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | Yes | 5-digit ZIP where the work is | |
| name | Yes | The person's real name | |
| need | Yes | What they need (e.g. water leak or burst pipe; clogged drain or sewer; water heater replacement) | |
| No | Email (optional, recommended) | ||
| phone | Yes | US phone number the pro should call (10 digits, any punctuation) | |
| language | No | Preferred language (optional; English and Spanish are standard) | |
| preferred_time | No | When they prefer a call or visit (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint=false, destructiveHint=false, openWorldHint=true, idempotentHint=false), yet the description adds real behavioral context: a vetted local pro calls back within the hour during business hours, the service is free to the homeowner, and the call returns a reference. The consent/real-person requirement is a meaningful constraint not captured by annotations.
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?
Front-loads the core action, which is good, but the parenthetical '(a vetted local pro calls back within the hour during business hours)' restates 'A vetted local pro calls them back' almost verbatim. That duplication costs a point; the rest of the sentences earn their place.
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 usefully signals what comes back ('a reference and what happens next'), plus timing, cost, and consent preconditions. Coverage is strong for a booking tool; only the redundant phrasing and absent failure/edge-case handling keep it from 5.
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 description coverage is 100%, so the schema already documents all 7 parameters in detail (ZIP pattern, phone format, need examples, optional email/language/preferred_time). The description adds essentially nothing beyond what the schema provides, so the baseline 3 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?
States a specific verb and resource (book a plumber) with a tightly scoped domain (Kansas City area) and a qualifying condition (a real person who asked, with consent). An agent can distinguish this from check_service_area and get_service_info without opening any schema.
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?
Gives an explicit precondition and routes to a sibling: 'Check the ZIP with check_service_area first if unsure.' The consent requirement also implies a usage constraint. It lacks an explicit when-NOT-to-use statement, so it stops short of 5.
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.
3 tool updates
- First observed
check_service_area - First observed
get_service_info - First observed
request_service
Related MCP Connectors
Book electrician in Kansas City, MO: prices, service area by ZIP, free callback from a local pro.
31Book sprinkler repair in Omaha, NE: prices, service area by ZIP, free callback from a local pro.
31Book windshield replacement in Kansas City, MO: prices, ZIP coverage, free callback.
31Book electrician in Austin, TX: prices, service area by ZIP, free callback from a local pro.
31
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceHome Services MCP by HireNimbus lets AI agents find, compare, and book verified local pros for handyman, renovation, HVAC, plumbing, electrical, and landscaping jobs in supported US metro markets.Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to match users with licensed, rated contractors in Miami, providing pricing and direct contact details.13 npmMIT
- FlicenseNot gradedqualityBmaintenanceCheck if a contractor's remodeling bid is fair — analyze a quote (fairness score + red flags), get 2026 cost estimates by city, and look up BLS trade labor rates.-
- AlicenseBqualityBmaintenanceHire specialists by the hour — search, schedule, and pay via MCP protocol.352MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.