Skip to main content
Glama
cogear

RoofScope MCP Server

Official
by cogear

RoofScope report measurements

get_roofscope_scope
Read-only

Fetch a RoofScope report's measurements by scopeId: roof, gutter, and siding quantities, pitch details, and PDF/DXF/DWG links. Returns report status if unfinished or held.

Instructions

One RoofScope report's measurements. For roof products: total roof area (in squares) by slope bucket and pitch, perimeter, eaves, rakes, ridges, hips, valleys, step and headwall flashing, and every plane per structure. For GutterScope / RoofScopePlus: gutter and downspout length, end caps and elbows. For SidingScope: siding area, wraps, windows and doors. Plus links to the PDF (and DXF/DWG where there are any). An unfinished or held report comes back as its status instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scopeIdYesThe RoofScope scopeId from search_roofscope_scopes (not the orderId).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes meaningfully beyond the readOnly/destructive/openWorld annotations by disclosing that the payload shape varies by product type (roof vs gutter vs siding), that PDF/DXF/DWG links are conditional, and that 'an unfinished or held report comes back as its status instead' — a genuinely important edge-case behavior. It stops short of describing error behavior for an invalid or unknown scopeId.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then a product-by-product inventory of returns and a status caveat. It is long, but given the absence of an output schema nearly every clause carries information an agent cannot get elsewhere; only the near-duplicate opening relative to the title is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does the heavy lifting by naming the returned fields per product and the conditional asset links, plus the unfinished/held status case. It is close to sufficient for a one-parameter read tool; only failure/empty-result behavior is unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage, and the schema already explains that scopeId comes from search_roofscope_scopes and is not the orderId. The description adds no format, syntax, or example beyond that, so the baseline 3 for schema-driven parameters applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource ('One RoofScope report's measurements') and enumerates exactly what that resource contains per product line, so an agent knows this is a single-report fetch rather than a search. However, the opening sentence nearly restates the title 'RoofScope report measurements', and it never explicitly contrasts itself with search_roofscope_scopes — that differentiation lives only in the input schema's scopeId note.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: call this when you already have a scopeId and need the report's measurements. There is no explicit when-to-use, no statement that scopeId must first come from search_roofscope_scopes (that hint is in the schema, not the description), and no exclusion or alternative named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.