Tulsa Foam Pros — book spray foam insulation in Tulsa
Server Details
Book spray foam insulation in Tulsa, OK: prices, ZIP coverage, free callback.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a largely distinct role: check_service_area validates a ZIP, get_service_info supplies general facts, and request_service books a callback. There is mild overlap since get_service_info also mentions 'towns served,' which brushes against check_service_area's area-checking purpose, but descriptions keep them separable.
All three names follow a clean verb_noun snake_case pattern (check_service_area, get_service_info, request_service) with no mixing of conventions.
Three tools fit the narrow referral-booking scope well, covering eligibility, information, and booking. It's on the lean side but each tool earns its place with no filler.
The surface covers the core flow: check area, get info, then book and receive a reference. Minor gaps exist (no booking status lookup, modify, or cancel), but these are workarounds for a simple referral service.
Available Tools
3 toolscheck_service_areaCheck a ZIP codeARead-onlyIdempotentInspect
Is a US ZIP code inside the Tulsa 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 cover the safety profile (readOnlyHint, idempotentHint, openWorldHint=false), but the description adds the one thing annotations cannot: that the result is a boolean accompanied by the nearest served town, useful context given no output schema exists. It stops short of describing boundary behavior (e.g. ZIPs partially covered or unknown ZIPs).
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 core question front-loaded and the return contract immediately after. Every clause earns its 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?
For a one-parameter read-only predicate with no output schema, the description adequately covers intent and return shape. It is only slightly thin on how the answer should drive subsequent calls relative to the sibling tools.
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%, so the description must carry the meaning of the single parameter. It identifies it as a 'US ZIP code', which adds domain scope, but the 5-digit format is already enforced by the schema pattern and no invalid-input or alternate-format behavior is described.
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 precise predicate ('Is a US ZIP code inside the Tulsa service area?') and the exact return shape (yes/no plus nearest served town). The check-style scope clearly separates it from get_service_info and request_service without needing to open either 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?
Usage is implied by the question form — it reads as a pre-flight eligibility check — but the description never says when to call this versus get_service_info or request_service, nor any prerequisite or exclusion condition. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_service_infoSpray Foam Insulation in Tulsa: prices, area, hoursARead-onlyIdempotentInspect
Facts about Tulsa Foam Pros, a free referral service for spray foam insulation in Tulsa, Oklahoma: 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 non-schema context: this is a free third-party referral service rather than a contractor, which tells the agent how to represent the result. It does not mention rate limits or freshness of the facts.
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 that states the subject, the nature of the service, and the returned fields with no filler. Nothing in it is redundant or padded.
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 parameters and no output schema, the description carries the burden of conveying what comes back, and it does so by enumerating the facts (towns, prices, hours, response time, languages, phone). Annotations cover the safety profile. Only minor gaps remain, such as whether prices are ranges or exact figures.
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. The description correctly implies a parameterless 'give me the facts' call without inventing any inputs, and adds nothing that would contradict the empty schema.
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 a specific resource (Tulsa Foam Pros service facts) and enumerates the exact contents retrieved: towns served, typical prices, hours, response time, languages, phone. It implicitly separates itself from request_service via 'before recommending or booking,' but never names the other sibling check_service_area, so differentiation is only partial.
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 a clear sequencing directive that positions it ahead of the request_service sibling. It stops short of stating when-not to use it or how it relates to check_service_area, so it is clear context without full exclusion rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_serviceRequest spray foam insulation (free callback)AInspect
Book spray foam insulation in the Tulsa 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. attic (hot upstairs, high bills); crawl space or basement; whole home or new build) | |
| 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 declare readOnlyHint=false, openWorldHint=true and non-destructive; the description adds real behavioral context beyond them: callback SLA ('within the hour during business hours'), no cost to the homeowner, consent requirement, and that a reference is returned. It does not address the non-idempotent flag (i.e., whether a duplicate submission creates a second callback), which is the one meaningful remaining gap.
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?
The lead sentence is front-loaded and efficient, but the parenthetical '(a vetted local pro calls back within the hour during business hours)' redundantly restates the preceding clause, and 'Returns a reference and what happens next' is vague filler. Tightening would remove a full clause 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?
No output schema exists, so the description must signal the return ('a reference'), and it does. For a 7-parameter write operation it covers consent, cost, callback timing, and the sibling pre-check; only the duplicate-submission semantics remain unaddressed.
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 all 7 parameters are already documented, which sets the baseline at 3. The description adds only the geographic scope ('Tulsa area') beyond the schema's ZIP field, which is useful but marginal.
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 a specific verb and resource ('Book spray foam insulation in the Tulsa area') plus the concrete outcome (a vetted local pro calls back within the hour). It also names and routes around the sibling check_service_area, so an agent can separate it from get_service_info without inspecting schemas.
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 a clear precondition/alternative: 'Check the ZIP with check_service_area first if unsure.' It also states the eligibility constraint (a real person who asked, with consent). No explicit when-not-to-use case, but the routing to the sibling is unambiguous.
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 mobile welding in Tulsa, OK: prices, service area by ZIP, free callback from a local pro.
31Book paintless dent repair in Omaha, NE: prices, ZIP coverage, free callback.
31Book windshield replacement in Oklahoma City, OK: prices, ZIP coverage, free callback.
31Book gutter guard installation in Nashville, TN: prices, ZIP coverage, free callback.
31
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to match users with licensed, rated contractors in Miami, providing pricing and direct contact details.13 npmMIT
- FlicenseNot gradedqualityBmaintenanceThe routing layer between AI agents and local Florida businesses. Live data on permits, sector gaps, and market signals across 2,383 ZIP codes — so when an agent, voice assistant, or real customer needs something done, the right business gets the job. Ask LocalIntel Claim Your Listing-
- AlicenseNot gradedqualityAmaintenanceProvides free energy intelligence APIs for AI agents: solar production estimates, US clean-energy incentives by ZIP, home Energy Node Scores, contractor search, and consented installer routing.MIT
- FlicenseNot gradedqualityBmaintenanceSearch 6,900+ U.S. surety bond requirements across all 50 states. Instant pricing.-
Glama MCP Gateway
Add one secure layer between your agents and this server.