Skip to main content
Glama

Housecall Pro MCP Server and API by Cotlet

Add estimate option

add_estimate_option
Destructive

Add another option (a separate price) to an estimate, with its own lines. The customer picks one option when approving. Returns the estimate with all its options.

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": {
      "estimate_id": "<estimate_id>",
      "line_items": "<line_items>"
    },
    "name": "add_estimate_option"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoOption name. Default: Option #N.
line_itemsYesLines of the new option, in order.
estimate_idYesestimate_id from list_estimates.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description usefully adds the return behavior ('Returns the estimate with all its options'), but does not disclose the practical consequences of the mutation — e.g. that repeated calls create additional options because the operation is not idempotent, or how existing options are affected.

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 short sentences with zero filler: purpose first, business semantics second, return value last. Every sentence contributes distinct information an agent needs.

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

Completeness3/5

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

For a destructive, non-idempotent mutation, the definition covers what the tool does and what it returns, which is good since no output schema exists. It leaves out prerequisites and side effects — whether the estimate must be unsent, whether existing options remain selectable, and what happens on repeated calls — which are material for a write tool acting on customer-facing pricing.

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%, with defaults, enums, and min/max constraints fully documented inline, so the schema carries the parameter burden. The description only adds the qualitative note that the new option has 'its own lines', which does not meaningfully extend what the schema already says about line_items or name.

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?

The description gives a specific verb and resource ('Add another option ... to an estimate') and clarifies the domain concept with 'a separate price' and 'its own lines', which sets it apart from create_estimate or line-item editing. It stops short of naming any sibling tool explicitly, so it is clear but not fully differentiated.

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 context is implied by 'The customer picks one option when approving', which tells the agent this is for offering alternatives on an existing estimate. However, there is no explicit when-to-use/when-not guidance and no stated prerequisites, such as whether the estimate must still be in draft or unsent status before an option can be added.

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.