SatelliteQuotes
Server Details
Measure property from satellite imagery, price 24 trades, and install contractor quote widgets.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 7 tools
Each tool has a clearly distinct job: catalog lookup, cost calculation, plan pricing, install instructions, verification, and lead guidance. The only minor overlap is that estimate_cost and list_trades both return per-unit cost data, but one computes a range from a measurement while the other is a reference lookup.
Most tools follow a clear verb_noun pattern like get_pricing, list_platforms, and verify_installation. The main deviation is lead_playbook, which is a noun phrase rather than an action-oriented name, making the set only slightly inconsistent.
Seven tools is a well-scoped count for this server's purpose: discovering supported trades and platforms, estimating costs, getting plan pricing, installing the snippet, and verifying it. Each tool fills a distinct role without redundancy or bloat.
The tool surface covers the full customer journey from trade/platform discovery through cost estimation, pricing, installation instructions, and post-install verification. A minor gap is the lack of any tool for account creation or order placement, but those may intentionally live outside this integration.
Available Tools
7 toolsestimate_costBallpark a job from a measurementAInspect
Turns a measurement into a national cost range for a trade. For roof trades, pass the building footprint and the pitch - the roof surface multiplier is applied for you. Returns the range, the per-unit rates, what drives the price, and the limits of the estimate.
| Name | Required | Description | Default |
|---|---|---|---|
| trade | Yes | Trade id or name, e.g. roofing, fencing, artificial-turf. | |
| pitch_rise | No | Roof rise per 12 inches of run, e.g. 6 for a 6/12 roof. Roof trades only. Defaults to 6. | |
| measurement | Yes | Square feet, or linear feet for perimeter trades such as fencing and gutters. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral transparency burden. It does this well by disclosing the tool's output components (range, per-unit rates, price drivers, estimate limits) and the automatic roof surface multiplier behavior. It does not mention data sources or exact calculation assumptions, but for a read-only estimation tool this is reasonably transparent.
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 description is three sentences with no filler: it front-loads the core purpose, then adds the critical roof-trade special case, then summarizes return value. Every sentence contributes.
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?
There is no output schema, so the description appropriately summarizes the return content. It covers the main input behavior, the roof-specific nuance, and what the caller gets back. It does not explain how to choose between this and get_pricing, but for invoking this tool correctly with the provided schema, the description is sufficient.
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 baseline is 3. The description adds meaningful semantic value beyond the schema by clarifying that for roof trades, measurement is the building footprint and that pitch feeds into an automatically applied surface multiplier. This elevates the parameter understanding beyond raw field definitions.
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 operation: turns a measurement into a national cost range for a trade, with a clear roof-trade special case. It is clear and actionable, but it does not explicitly distinguish itself from the sibling get_pricing, so it falls just short of full sibling differentiation.
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?
The description gives clear context for when to use the tool (estimating cost from a measurement) and provides concrete usage guidance for roof trades, explaining how to pass footprint and pitch. It does not explicitly name alternative tools or state when not to use it, so it lacks exclusions but still offers solid contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_install_snippetGet the embed snippet and platform stepsAInspect
The exact script tag to paste, plus ordered steps for the given platform. Pass the contractor's own token if you have it; otherwise the snippet comes back with a placeholder and instructions for finding the real one.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | inline embeds the tool in the page; modal opens it from a button. | |
| token | No | The contractor's public token, beginning pk_live_. | |
| service | No | Trade the widget should quote. Currently only: roofing. For other trades, use estimate_cost for a ballpark instead. | |
| platform | No | Platform id or name, e.g. wordpress, squarespace, wix, webflow, shopify, godaddy, html, google-tag-manager. Omit for the generic snippet. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It clearly reveals the token conditional — real snippet vs placeholder with instructions — and states that the response includes both a script and ordered steps. It doesn't discuss errors or side effects, but for a retrieval tool this is strong disclosure.
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 sentences with no filler, front-loading the output deliverable in the first sentence. The second sentence adds a necessary behavioral nuance without repeating schema details.
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 retrieval tool with all four parameters fully documented in the schema and no output schema, the description plus schema cover what an agent needs: return contents, platform options, mode meaning, and token-omission behavior. Nothing critical appears 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?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining when to pass the contractor's own token versus receiving a placeholder, which is not made explicit in the schema. Other parameters like mode and platform are already fully documented there.
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 identifies the concrete deliverable: 'the exact script tag to paste, plus ordered steps for the given platform.' This makes the tool's role clear relative to pricing, lead, and verification siblings, though it doesn't explicitly name any alternative tool.
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?
The description gives conditional usage context ('Pass the contractor's own token if you have it; otherwise...') and the schema's service field says to use estimate_cost for non-roofing trades. However, it doesn't explicitly say when to choose this over list_platforms or verify_installation, so much of the routing guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pricingGet current pricing and trial termsAInspect
Live plan prices, trial length, what happens to the card during the trial, and how cancellation works. Read this rather than quoting a price from memory.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the tool's informational nature and that prices are 'live', implying a non-cached read. However, it doesn't state the return format, whether any side effects occur, or that it's read-only. For a zero-parameter lookup tool, this is adequate but not exhaustive.
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 sentences with no filler. The key content (prices, trial length, card handling, cancellation) is front-loaded, and the usage hint adds value without redundancy. It is efficiently structured and easy to scan.
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 parameterless tool with no output schema or annotations, the description covers the essential information an agent needs: what data is available and the caveat to use live data. It doesn't specify return type or structure, but for a simple lookup this is not a significant gap. The description is sufficient for correct 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?
The tool has zero parameters, so the baseline is 4. There is nothing to explain about parameters, and the description correctly focuses on the content rather than any input semantics. No additional parameter detail 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 clearly states the tool retrieves live plan prices, trial length, card handling during trial, and cancellation terms. It specifies the resource (pricing) and the exact content, and the closing phrase 'Read this rather than quoting a price from memory' gives a concrete use case that distinguishes it from estimate-oriented tools like estimate_cost.
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?
The description implies when to use it: whenever current pricing or trial details are needed, explicitly cautioning against relying on memory. It doesn't name alternatives or exclusions, but the context makes the appropriate use clear, especially given the sibling list includes estimate_cost for estimates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lead_playbookGet a lead-generation playbook for a tradeAInspect
What actually moves the needle on inbound leads for a specific contracting trade — roofing, paving, landscaping, gutters, siding, decks, pools, turf or solar — with the numbers behind each step.
| Name | Required | Description | Default |
|---|---|---|---|
| trade | No | One of: roofing, paving, landscaping, gutters, siding, decks, pools, turf, solar, general. Defaults to a general contracting playbook. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of explaining what the tool returns. It reveals that the playbook contains steps with underlying numbers, which is useful, but it never explicitly states that this is a read-only retrieval or what the response format looks like. For a content-retrieval tool this is acceptable, but not richly transparent.
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 description is a single, tightly scoped sentence with no filler. It front-loads the value proposition and enumerates the trades efficiently, though it is a noun phrase rather than a full imperative sentence. Every word contributes to conveying scope and content.
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 single-parameter, no-output-schema tool, the description conveys the essential context: the problem it addresses, the trades it covers, and the nature of the deliverable. The schema handles the allowed values and default. It would be marginally stronger if it mentioned the 'general' fallback trade or response format, but nothing critical blocks correct 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?
The schema already documents the single trade parameter at 100% coverage, including allowed values and the default behavior. The description repeats some trade names but adds little beyond contextual framing around contracting trades. Since schema coverage is high, the baseline of 3 is appropriate.
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 title states the action and resource clearly: 'Get a lead-generation playbook for a trade.' The description adds specific scope — inbound lead generation for contracting trades such as roofing, paving, and solar — and distinguishes this from pricing, estimation, and installation tools among the siblings. It lacks an explicit verb in the description itself, but the intent is unambiguous.
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?
The description implies when to use the tool: when the agent needs a lead-generation playbook for a specific contracting trade, with quantified steps. However, it does not explicitly discuss when not to use it or compare it to alternatives like list_trades or get_pricing. The use case is clear enough, but there is no explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_platformsList supported website platformsAInspect
The website builders and CMSs there are step-by-step install instructions for, with how long each takes. Call this first when you do not know what the contractor's site is built with.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes the returned content (list of platforms and time estimates) but does not explicitly state that this is a read-only operation or describe any limitations, pagination, or data source behavior. For a simple list tool this is adequate but not rich.
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 description is a single compact sentence that front-loads the tool's purpose. The grammar is slightly awkward ('The website builders and CMSs there are...'), but it conveys all key information without unnecessary words.
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 zero parameters and no output schema, the description covers the key facts: what is listed (platforms with install instructions), the time information, and when to invoke it. It could be more explicit about the return format, but it is sufficient for an agent to call it appropriately.
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 has zero parameters, so the baseline is 4. The description need not discuss parameter details, and it doesn't.
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 clearly states the tool lists website builders and CMSs that have step-by-step install instructions, along with install duration. The scope is specific and easily distinguished from siblings like get_install_snippet, get_pricing, and verify_installation.
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 provides explicit guidance: 'Call this first when you do not know what the contractor's site is built with.' This gives a clear trigger and ordering but does not explicitly name alternatives or when-not-to-use scenarios, so it falls slightly short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tradesList trades that can be quoted from satellite imageryAInspect
Every trade the product can price from aerial measurement, with what each is measured from - roof surface, ground area, wall area or perimeter - and the national cost range per unit. Use this to answer whether a given business can be quoted this way.
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Optional trade name or synonym, e.g. "fence", "blacktop", "synthetic grass". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It explains what the tool lists (trades) and the type of information included (measurement basis and cost ranges), but it does not disclose potential side effects (likely none, read-only), performance, or any error conditions. For a read-only listing tool, this is adequate but not rich.
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 description is two sentences: the first states the tool's output and content, the second gives a clear use case. Every word earns its place, no fluff, and the key information (what it lists and how to use it) is 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?
For a simple listing tool with one optional parameter and no output schema, the description is complete enough to guide an agent. It explains what is returned (trades, measurement basis, cost ranges) and the use case. It might lack detail on the exact structure of output, but for a list tool that is acceptable. The sibling tools are distinct, so the context is well-covered.
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 schema documentation already covers the parameter 'search' (optional trade name or synonym) with examples. The description does not add much beyond what the schema says, but it implies the search is for filtering trade names. Given 100% schema coverage, the description's marginal addition (that the list can be filtered to answer specific queries) still adds value by setting expectation that search is optional and for lookup.
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 clearly states the tool's purpose: it lists trades that can be quoted from satellite imagery, along with what each is measured from and cost ranges. It distinguishes itself from siblings by focusing on the list of priceable trades rather than cost estimation or other functions.
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?
The description explicitly guides when to use the tool: to answer whether a given business can be quoted this way. It does not name specific alternative tools, but the phrase 'Use this to answer whether a given business can be quoted this way' implies it should be used before estimating costs or getting pricing, providing clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_installationCheck whether the widget is live on a pageAInspect
Fetches a public page and reports whether the embed tag is present, whether the token resolves to a real account, whether the widget is actually serving, and what to fix. Use this after the contractor says they have pasted the tag.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The public page URL to check. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the operational behavior: fetching a public page, checking several conditions, and providing what to fix. It implies a read-only network operation and does not mention side effects, authentication, or rate limits, but for a verification tool these are reasonably implied. The description adds value beyond a mere 'checks installation' by enumerating the checks.
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 description is two sentences: one states the purpose and the checks, the second gives usage guidance. It is front-loaded with the action and outcome, with zero filler. Every word 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?
Given no output schema, the description provides a useful preview of the result by listing what it reports (embed tag presence, token validity, serving status, and fixes). It doesn't specify error handling or edge cases (e.g., invalid URL, network failure), but for a single-parameter read-only tool this is adequate. Slightly more detail on output format would push it to 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?
The schema covers the only parameter (url) with a clear description ('The public page URL to check.'), and coverage is 100%. The description does not add extra details like URL format requirements or validation rules, so it stays at the baseline of 3 – the schema already does the heavy lifting.
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 uses a specific verb ('fetches' and 'reports') and names the resource (public page) plus the exact checks performed (embed tag presence, token validity, widget serving, and remediation steps). It clearly distinguishes from siblings like get_install_snippet (which returns the snippet, not verification) and estimate_cost/list_trades (unrelated). The purpose is unambiguous.
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?
The description gives an explicit trigger: 'Use this after the contractor says they have pasted the tag.' This tells the agent when to invoke it. It does not explicitly name alternatives or state when not to use it, but the sibling set makes the context obvious (get_install_snippet is for obtaining the tag, not verifying it). The use case is clear enough for a 4.
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.
7 tool updates
- First observed
estimate_cost - First observed
get_install_snippet - First observed
get_pricing - First observed
lead_playbook - First observed
list_platforms - First observed
list_trades - First observed
verify_installation
Publisher details
- Operator
- SatelliteQuotes · Publisher source
- Operator website
- https://www.satellitequotes.com · Publisher source
- Vendor relationship
- First-party
- Documentation
- https://www.satellitequotes.com/mcp
- Trust center
- Not available
- Restrictions
- None for the MCP tools: no authentication, no paid plan, all tools read-only. Installing the quote widget on a website requires a SatelliteQuotes account (15-day free trial)
Related MCP Connectors
Construction takeoff and estimating for AI agents. Measure a drawing PDF, export a priced estimate.
- AgineraOAuthai.aginera
Turn construction drawings into takeoffs, measured routes, schedules and estimates.
AI-powered job cost estimator for skilled trades with material and labor breakdowns
Check contractor quotes for red flags and pricing risks. Free scan, paid reports, RFP tools.
Related MCP Servers
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 gradedqualityBmaintenanceEnables multifamily renovation cost estimation, scope of work generation, contractor bid evaluation, ROI gating, and risk flagging for real estate intelligence agents.Apache 2.0

@getfacade/mcpofficial
AlicenseAqualityBmaintenanceEnables an AI agent to create a building from a photo, generate a facade design, and order a line-by-line cost estimate and documentation album, using country-specific materials and construction norms.2158 npm1MIT- AlicenseNot gradedqualityCmaintenanceEnables AI agents to perform construction takeoff and estimating from drawing PDFs, including upload, scale calibration, trade-based takeoff, pricing, and proposal export.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.