Skip to main content
Glama
paintbrushv

plat-costmodel

by paintbrushv

estimate_scope

Calculate multifamily renovation scope and cost from a ScopeRequest, persist the request and estimate, and return a ScopeEstimate or validation error.

Instructions

Canonical entry point: estimate a ScopeRequest, persist (request, estimate).

Returns the ScopeEstimate as a dict, or a ValidationProblem dict on error.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scope_request_dictYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

C2.7/5.0
Behavior3/5

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

With no annotations, the description carries full burden, and it does disclose two useful traits: it persists (request, estimate), revealing a write side effect, and it names the error return shape (ValidationProblem dict). It omits auth requirements, idempotency/upsert semantics, and what 'persist' means for repeated calls.

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?

Two short sentences, front-loaded with the primary action and side effect, then the return contract. No filler; it is terse rather than padded, though the terseness comes at the cost of omitted detail.

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

Completeness2/5

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

No output schema and no annotations, so the description must do more work than it does. It does name the return values, which partially compensates for the missing output schema, but the nested, undescribed request object remains a black box, which is the critical gap for a tool whose only input is that object.

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

Parameters2/5

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

There is a single parameter at 0% schema description coverage, and it is an open object with additionalProperties=true, so the schema conveys nothing about its contents. The description names 'ScopeRequest' but supplies no field, type, or example, leaving the agent unable to construct a valid argument.

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

Purpose3/5

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

States a verb ('estimate') and a domain resource ('ScopeRequest') and claims to be the 'Canonical entry point', which hints at precedence. However, 'ScopeRequest' is never defined and the description does not distinguish this tool from the many sibling estimates (estimate, estimate_full_property, estimate_property_from_model, estimate_from_deal), so an agent cannot confidently pick it.

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

Usage Guidelines2/5

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

'Canonical entry point' is the only routing hint, but there is no explicit statement of when to use this versus estimate, estimate_from_deal, or estimate_property_from_model, nor any prerequisite or exclusion. No when-not guidance at all.

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