Skip to main content
Glama
cotletdev

Contractor Foreman MCP Server

by cotletdev

Update estimate

update_estimate

Change an estimate's status, title, dates, description, inclusions, or exclusions; only supplied fields are updated.

Instructions

Changes an estimate's status, title, dates, description, inclusions or exclusions.

Sets only the fields you pass. status moves the estimate on the Estimates board: estimating, pending_approval, on_hold, re_estimating, approved, completed or lost. Marking it approved here does not email anyone. send_estimate sends it. Line items change with add_estimate_items and remove_estimate_items.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleNo
statusNo
exclusionsNo
inclusionsNo
descriptionNo
estimate_idYesFrom list_estimates.
expire_dateNo
estimate_dateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.1

TDQS

A4.6/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, but the description adds genuinely useful behavior: partial-update semantics ('Sets only the fields you pass') and the negative side effect ('Marking it approved here does not email anyone'). It stops short of stating permissions or what the response contains, so a 4 rather than a 5.

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

Conciseness5/5

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

Three tight sentences; the partial-update rule and status semantics come first, and the sibling routing comes last. No restatement of the name or title, no wasted clauses.

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?

For an 8-parameter mutation with no output schema, the description covers partial updates, status transitions, side effects, and the related tools well. It omits what the call returns and whether invalid status transitions are rejected, which are the remaining gaps.

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

Parameters4/5

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

Schema coverage is only 13% (just estimate_id), so the description must carry the load — and it does, naming the mutable fields and spelling out the full status lifecycle and what 'approved' does not do. It still adds no format detail for inclusions/exclusions/description or the date fields, so not a 5.

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?

Opens with a specific verb and resource ('Changes an estimate's...') and enumerates the exact fields that can be modified. It also explicitly separates this tool from send_estimate and the add/remove item tools, so an agent can pick it out of the crowded sibling list without reading the schema.

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

Usage Guidelines5/5

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

Explicitly routes the agent: status changes happen here, but emailing the estimate requires send_estimate, and line items are handled by add_estimate_items/remove_estimate_items. That is a clear when-to-use / when-not-to-use statement with named alternatives.

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

Deploy Server

Other Tools