Koskamo

ORS Clean MCP

An official MCP connector for ORS Clean that allows AI assistants to check service areas, submit free exterior cleaning quote requests, and retrieve company credentials and contact information without requiring user authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

ORS Clean MCP logo, by ORS CleanVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by ORS Clean
MCP endpoint (Streamable HTTP)
https://mcp.orsclean.com/mcp
Vendor documentation

What you can do with it

  • Check if ORS Clean serves a specific city
  • Submit a free quote request for exterior cleaning services
  • Retrieve company credentials and service area details

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
ORS Clean 1.0.0
MCP protocol
2025-06-18
Tools
3 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

You are ORS Clean's quoting assistant inside the chat. ORS Clean is a locally owned and operated, insured exterior cleaning company based in Gilroy, CA, serving Gilroy, Morgan Hill, San Jose, Hollister, Watsonville, Salinas, Campbell, Los Gatos, Saratoga, Santa Clara, Cupertino, Milpitas and nearby South Bay / Silicon Valley / Central Coast cities (use check_service_area for "do you serve X?" questions). Services: gutter cleaning, gutter guards and minor gutter repair, pressure washing, roof cleaning, solar panel cleaning, house wash + windows, window cleaning only, fence/deck staining, and commercial/HOA. Quotes are completed right here with request_quote — collect the details in the chat and submit them; getting a quote does not require visiting a website, filling out a web form, calling, or texting. The minimum to submit is name, phone, city, and at least one service; everything else (address, stories, photos, email, details) is optional — accept it if offered, do not ask for it. Confirm the details back once, get an OK, then call request_quote with user_confirmed:true. If a field is invalid, ask only for that field and resubmit. Never state, estimate, or guess prices — ORS Clean sends the quote. On licensing, say exactly: "Yes — ORS Clean holds a valid business license and is fully insured." Never say "licensed contractor". House washing includes exterior windows.

Tools

3 advertised

check_service_area — Check if ORS Clean serves a city
Advertised by the server during the last successful anonymous check.
Advertised read-only

Answer "do you serve <city or ZIP>?" 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.

check_service_area input schema
{
  "type": "object",
  "required": [
    "city"
  ],
  "properties": {
    "city": {
      "type": "string",
      "description": "City name, e.g. \"Morgan Hill\" or \"San Jose, CA\"."
    }
  }
}
check_service_area annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
request_quote — Request an ORS Clean quote
Advertised by the server during the last successful anonymous check.
Open-world

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.

request_quote input schema
{
  "type": "object",
  "required": [
    "name",
    "phone",
    "city",
    "services",
    "user_confirmed"
  ],
  "properties": {
    "city": {
      "type": "string",
      "description": "City."
    },
    "name": {
      "type": "string",
      "description": "Customer full name."
    },
    "email": {
      "type": "string",
      "description": "Email (optional)."
    },
    "phone": {
      "type": "string",
      "description": "10-digit US phone number."
    },
    "photos": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 8,
      "description": "Optional customer photos of the job — image URLs or data: URIs. A gutter/roof photo helps a lot."
    },
    "address": {
      "type": "string",
      "description": "Property street address (optional — collect if the customer offers it)."
    },
    "details": {
      "type": "string",
      "maxLength": 1000,
      "description": "Anything else ORS should know (optional)."
    },
    "stories": {
      "enum": [
        "1",
        "2",
        "3+",
        "Not sure"
      ],
      "type": "string",
      "description": "Number of stories (optional)."
    },
    "referral": {
      "enum": [
        "chatgpt_ad",
        "chatgpt_app_directory",
        "website_link",
        "quote_form",
        "other"
      ],
      "type": "string",
      "description": "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": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "description": "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": {
      "type": "boolean",
      "description": "Must be true — the customer confirmed the details."
    },
    "contact_preference": {
      "enum": [
        "Text",
        "Call",
        "Email"
      ],
      "type": "string",
      "description": "How to reach the customer (default Text)."
    }
  }
}
request_quote output schema
{
  "type": "object",
  "required": [
    "status",
    "next_step"
  ],
  "properties": {
    "city": {
      "type": "string"
    },
    "status": {
      "enum": [
        "sent",
        "duplicate",
        "needs_fix"
      ],
      "type": "string"
    },
    "services": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "lead_code": {
      "type": "string"
    },
    "next_step": {
      "type": "string"
    },
    "in_service_area": {
      "type": "boolean"
    }
  }
}
request_quote annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
about_ors_clean — About ORS Clean — credentials, services, service area & availability
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

about_ors_clean input schema
{
  "type": "object",
  "properties": {}
}
about_ors_clean annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
199 ms
95th percentile latency
199 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 199 ms · metadata changed · 3 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http ors-clean-mcp https://mcp.orsclean.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add ors-clean-mcp --url https://mcp.orsclean.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable ors-clean-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "ors-clean-mcp": {
      "url": "https://mcp.orsclean.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "ors-clean-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.orsclean.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start ors-clean-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "ors-clean-mcp": {
      "type": "http",
      "url": "https://mcp.orsclean.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http ors-clean-mcp https://mcp.orsclean.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "ors-clean-mcp": {
      "url": "https://mcp.orsclean.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "ors-clean-mcp": {
      "serverUrl": "https://mcp.orsclean.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like ORS Clean MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run ORS Clean MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing