ORS Clean — Exterior Cleaning Quotes
Server Details
Request quotes from ORS Clean, a locally owned, insured exterior cleaning company serving the South Bay, Silicon Valley and Central Coast, CA. Services: gutter cleaning, gutter guards and minor gutter repair, pressure washing, roof cleaning, solar panel cleaning, house washing (includes exterior windows), window cleaning, fence and deck staining, and commercial/HOA work. Service area: Gilroy, Morgan Hill, San Jose, Hollister, Watsonville, Salinas, Campbell, Los Gatos, Saratoga, Santa Clara, Cupertino, Milpitas and nearby cities. Check the service area and submit a quote request directly in chat — no account or website visit needed.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 3 tools
Each tool has a clear primary role: business info, service-area lookup, and quote intake, and the descriptions explicitly cross-reference each other (e.g. check_service_area is 'not required before request_quote'). The one soft overlap is that about_ors_clean also claims to answer 'where do they work' and 'when are you available' questions, which brushes against check_service_area and hints at scheduling, but the guidance to use request_quote for quotes keeps the boundaries workable.
All three names are snake_case and readable, with check_/request_ following a verb_noun pattern. The outlier is about_ors_clean, which uses a preposition and embeds the brand name, breaking the verb_noun convention.
Three tools is minimal but fits a narrow quote-intake domain, and each one earns its place: identity/trust, area eligibility, and the core quote submission. It leans slightly thin rather than bloated.
The surface covers the inbound path (who are you, do you serve me, give me a quote) but stops there: no way to check quote status, book or reschedule a slot, or follow up on a submitted request. The about tool advertises availability and lead-time answers without any accompanying scheduling action, which is a dead end for customers ready to book a date.
Available Tools
3 toolsabout_ors_cleanAbout ORS Clean — credentials, services, service area & availabilityARead-onlyInspect
Answer "who is ORS Clean / are they legit / insured / licensed / what do they do / where do they work / how soon can you come / when are you available / what is your lead time / tell me about ORS Clean" questions. Returns ORS Clean's business license, insurance, the services it offers, the cities it serves, its reviews, scheduling availability, and contact info. Quotes: use request_quote in this chat.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety and scope are covered structurally. The description adds the payload inventory (license, insurance, services, cities, reviews, availability, contact), which is useful, but it does not say whether the availability/lead-time data is live or a static statement, nor how stale reviews or insurance details may be. With annotations carrying the safety profile, a 3 fits.
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?
Everything is front-loaded in two sentences, with the routing rule last where an agent will still read it. The long run of quoted trigger phrases is dense but functional as an intent-matching aid rather than filler.
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 and no parameters, the description bears the burden of describing what comes back, and it does so by listing the seven data categories returned. What is missing is shape or freshness of that data, but for a zero-arg read-only info tool the coverage is sufficient to call it correctly.
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 per the baseline this scores 4. Nothing in the description misleads about inputs, and no parameter explanation is needed.
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 concrete questions the tool answers (legitimacy, insurance, licensing, services, service area, availability, lead time) and enumerates what it returns: license, insurance, services, cities, reviews, availability, contact info. That is far more specific than the title, and the closing line separates it from request_quote. Only check_service_area overlaps slightly with 'cities it serves', but the primary resource is clearly defined.
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?
Use cases are given as natural-language trigger questions, and the description explicitly routes quoting to request_quote in this chat — a real when-not statement with a named alternative. It does not say when to prefer check_service_area over this tool for address-specific verification, which is the one routing ambiguity left.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_service_areaCheck if ORS Clean serves a cityARead-onlyInspect
Answer "do you serve ?" for ORS Clean's South Bay / Silicon Valley / Central Coast area. Not required before request_quote, which checks the service area itself. Returns the nearest served city when the answer is no.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City name, e.g. "Morgan Hill" or "San Jose, CA". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, closed-world, non-destructive, so the safety profile is covered; the description adds real value by disclosing the negative-case return ("nearest served city when the answer is no"). It does not describe the positive-case return shape, leaving a small 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?
Three short sentences, front-loaded with the question being answered, then the caveat, then the return behavior. No filler.
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 lookup with annotations covering safety and no output schema, the description covers purpose, the negative-case result, and inter-tool routing. Only the yes-case return value is left implicit.
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%, so baseline is 3; the description earns one more by widening the accepted input to ZIP codes, which the schema's example ("Morgan Hill" / "San Jose, CA") does not convey. The slight tension between "city or ZIP" and the schema's city-name framing is a minor weakness.
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 question it answers ("do you serve <city or ZIP>?") scoped to ORS Clean's named service regions, which is far more than restating the name. It also distinguishes itself from the sibling request_quote by noting that tool performs its own service-area check.
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 exclusion ("Not required before request_quote") plus the reason, preventing an unnecessary chained call. The alternative is named by name, so the agent knows where else service-area logic lives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_quoteRequest an ORS Clean quoteAInspect
Request an ORS Clean quote for gutter cleaning, gutter guards & minor repair, pressure washing, roof cleaning, solar panel cleaning, house wash + windows, window cleaning, fence/deck staining, or commercial/HOA work in Gilroy, Morgan Hill, San Jose, Hollister, Watsonville, Salinas, Campbell, Los Gatos, Saratoga, Santa Clara, Cupertino, Milpitas and nearby cities. Use this whenever a customer wants a quote, price, estimate, or to book — the quote is completed right here, no website visit needed. Minimum: name, phone, city, one service. Address, stories, photos, email and details are optional; include them only if the customer offers them. Read the details back, get an explicit OK, then pass user_confirmed:true. Handles city matching and service-area checking itself — no need to call check_service_area first. Never state or estimate prices — ORS Clean sends the quote.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City. | |
| name | Yes | Customer full name. | |
| No | Email (optional). | ||
| phone | Yes | 10-digit US phone number. | |
| photos | No | Optional customer photos of the job — image URLs or data: URIs. A gutter/roof photo helps a lot. | |
| address | No | Property street address (optional — collect if the customer offers it). | |
| details | No | Anything else ORS should know (optional). | |
| stories | No | Number of stories (optional). | |
| referral | No | Optional. Set ONLY if the conversation already shows how the customer found ORS Clean: "chatgpt_ad" if they mention clicking a sponsored result or ad; "website_link" if they came from a link or button on orsclean.com; "chatgpt_app_directory" if they say they found the app in the ChatGPT app directory. Do not ask the customer a question just to fill this in. | |
| services | Yes | One or more services. Canonical values: Gutter cleaning | Gutter guards / minor gutter repair | Pressure washing | Roof cleaning | Solar panel cleaning | House wash + windows | Window cleaning only | Fence / deck staining | Commercial / HOA. Plain phrases are accepted and normalized (e.g. "gutters", "power wash", "windows", "solar", "driveway"). | |
| user_confirmed | Yes | Must be true — the customer confirmed the details. | |
| contact_preference | No | How to reach the customer (default Text). |
Output Schema
| Name | Required | Description |
|---|---|---|
| city | No | |
| status | Yes | |
| services | No | |
| lead_code | No | |
| next_step | Yes | |
| in_service_area | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides essential behavioral constraints and workflow instructions that go far beyond the schema or annotations. These include the required conversational flow (read back, get explicit OK), the business limitation (never state or estimate prices), and the defined service area boundaries.
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 definition is extremely verbose and lengthy. While every sentence serves a functional purpose, the sheer density and size detract from overall conciseness, making it less scannable than highly successful Tier A definitions.
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?
Given the complexity (defining geographic service areas, a list of specific services, and a mandatory multi-step conversational logic), the description is exceptionally complete, leaving no critical gaps for an agent to fail at invocation.
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?
While the schema is 100% covered, the description adds crucial domain knowledge by listing the full range of canonical services and explicitly stating that the system is capable of normalizing 'plain phrases' for the `services` array, guiding parameter selection.
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 is highly specific, clearly stating the action (Request a quote) and the resource (ORS Clean), successfully distinguishing it as the transactional tool rather than a verification or informational sibling.
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?
It explicitly directs the AI on when to use the tool (when a customer wants a quote, price, or estimate) and when *not* to use other tools (stating that it handles service area checks itself, making `check_service_area` redundant in this context).
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
about_ors_clean - First observed
check_service_area - First observed
request_quote
Publisher details
- Operator
- ORS Clean · Publisher source
- Operator website
- https://orsclean.com · Publisher source
- Vendor relationship
- Not applicable
- Documentation
- Not applicable
- Trust center
- Not available
- Restrictions
- Not applicable
Related MCP Connectors
Book local businesses in Southern California and San Jose, or get prices from nearby pros.
Book window & gutter cleaning in Colorado and New Mexico: instant firm quote, real calendar slot
Get quotes from local shops for a home repair or project anywhere in the US. Free for homeowners.
Find, get quotes from and book local service businesses on their own Square or Google calendar.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search checked US roofing, siding, and gutter contractors by city and trade, and to retrieve individual contractor profiles with contact details, claimed status, and ratings. Read-only, requires no login or API key, and filters out closed or unlisted businesses.MIT

RoofMeasure MCPofficial
AlicenseAqualityBmaintenanceProvides free EagleView-style satellite roof measurements and modular Xactimate-style estimating from Google Solar API data, enabling contractors to generate reports and estimates from any address.3MIT- AlicenseNot gradedqualityBmaintenanceProvides deterministic cleaning cost, time, crew, and chemical usage estimates for homes and offices via MCP and HTTP endpoints.MIT
- FlicenseBqualityNot gradedmaintenanceEnables booking cleaning services in San Francisco by collecting customer details and automatically sending booking requests via email to service partners.1-
Glama MCP Gateway
Add one secure layer between your agents and this server.