Skip to main content
Glama

modify

Commit a change to a booked job: first quote it again with its transaction_id, then modify with that quote_token, optionally moving it to another window. The job stays booked; the old version and price are kept. The answer and every refusal carry change: kinds (capacity, commercial, eligibility, approval, non_commercial), rechecked, price from and to; a refused change leaves the booked job as it was. Refused with NEEDS_OWNER_APPROVAL when the new quote adds, drops or rewords something the owner must approve, or would not book on its own and costs more or moves an owner-approved job. A job the business called off answers SUPPLIER_CANCELLED with recovery. Refused with PRICE_MISMATCH when it is for a different ZIP, leaves out a task the booked job asked for (send every booked task again in inputs.addons), drops the home (leaves out a fact of the home the booked job stated: its kind, size or a room count; new values are allowed; refused with next_actions cancel, search), or does not state exactly the day and hour conditions of the window (a job that stays in its window keeps the same-day or next-day condition it was booked with). The owner's yes covered one version only. Check the new quote's price against your customer's limit before you modify: a change is priced against the business's current offering. Moving to a time that is too soon answers INSUFFICIENT_NOTICE with error.earliest; a job that keeps its time is never re-checked.

Input Schema

NameRequiredDescriptionDefault
quote_tokenYes
transaction_idYestransaction_id from quote or hold
idempotency_keyYesUnique per write request (a UUID). Retrying with the same key returns the original result.
new_allocation_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and delivers: the job stays booked, the old version and price are preserved, what the response contains (change kinds, rechecked, price from/to), every refusal code (NEEDS_OWNER_APPROVAL, SUPPLIER_CANCELLED, PRICE_MISMATCH, INSUFFICIENT_NOTICE), and specific success conditions. This is unusually rich behavioral disclosure for a mutation tool.

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

Conciseness3/5

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

The purpose is front-loaded, but the body is a dense, run-on wall of text, especially the single PRICE_MISMATCH sentence that strings multiple unrelated failure conditions together. Nearly every clause is substantive, but the structure makes it hard to parse quickly.

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 a complex, no-output-schema mutation tool the description covers return fields, failure modes, and side effects thoroughly. Minor gaps remain: the provenance of new_allocation_id (where to obtain a window id) is not stated, and idempotency is left entirely to the schema.

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 50%, leaving quote_token and new_allocation_id undocumented in the schema. The description compensates by explaining that quote_token comes from the fresh quote and that the optional window move maps to the allocation argument, adding real meaning beyond the schema.

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 opening sentence states a specific verb and resource: 'Commit a change to a booked job,' and makes the two-step protocol explicit (re-quote with transaction_id, then modify with quote_token). It implicitly separates itself from book/cancel by scoping to an already-booked job, but it never names a sibling tool outright.

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?

It clearly establishes the ordering precondition: you must re-quote first and pass the resulting quote_token, and the change is priced against the business's current offering. It does not, however, explicitly contrast with alternatives like cancel or hold, or state when a caller should prefer cancel over modify.

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