Skip to main content
Glama

Create construction estimate

create_estimate

Creates a new project in the user's Phulax account and generates an itemized construction cost estimate for it: materials with quantities, labor hours and cost by trade, equipment, permits, a phase timeline and an estimated total range. Covers US building, remodeling and repair jobs described in plain words; takes a text scope description and the job site ZIP code. Results are AI estimates, not quotes. Counts toward the plan's project limit and daily AI limit. Text only: estimates from uploaded plans, blueprints or photos (Bid Mode) are made on the Phulax website.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "description": "<description>",
      "zip_code": "<zip_code>"
    },
    "name": "create_estimate"
  }
}

Input Schema

NameRequiredDescriptionDefault
zip_codeYes5-digit US ZIP code of the job site (sets state building codes and regional pricing).
descriptionYesScope of work in plain words: what is being built or changed, sizes/dimensions, materials and finish level if known. Example: "Gut and remodel a 8x10 bathroom: new tile floor and shower, vanity, toilet, fan, mid-range finishes."
project_typeNoOptional short label, e.g. "bathroom remodel", "deck", "roof replacement", "new home".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only say this is a non-read-only, non-idempotent write with no destruction; the description adds real behavior: it creates a persistent project, consumes the plan's project limit and daily AI limit, and the output is an AI estimate rather than a quote. It still doesn't address whether the created project can be removed or what happens on repeat calls, but the quota and reliability caveats are exactly the kind of context annotations cannot convey.

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 action and deliverable, then constraints, then the exclusion — a sensible order with no filler. The enumerated output list runs long but each element informs what the caller will receive.

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

Completeness5/5

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 carries the return-value burden itself and does so by listing the estimate components and the total range. Combined with the quota impact, the AI-estimate disclaimer and the text-only boundary, an agent has everything needed to call it correctly.

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?

Schema description coverage is 100% and each field already documents itself (ZIP sets state codes and regional pricing, description holds the plain-word scope, project_type is an optional label). The description only restates that it takes a text scope and a ZIP, adding no syntax, length or formatting guidance beyond the schema, so baseline 3 applies.

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

Purpose5/5

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

Specific verb+resource: creates a project AND generates an itemized cost estimate, with the deliverable enumerated (materials, labor by trade, equipment, permits, timeline, total range). Scope is bounded to US building/remodeling/repair jobs described in plain text, which separates it from plan/photo-based estimating and from read-only siblings like get_project.

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

Usage Guidelines4/5

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

Clear when-to-use context (plain-word US scope description) plus an explicit when-not: uploaded plans, blueprints or photos must go through Bid Mode on the website. It does not name sibling tools such as ask_project or estimate_change_order, so the routing to alternatives is left implicit.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources