Skip to main content
Glama

STEADYWRK Agentic Readiness Probe, Store Guard and Dispatch

Server Details

Keyless storefront readiness probe linking a Store Guard audit, plus dispatch estimates and quotes.

Ownership verified
Status
Healthy
Uptime
99.7% over 83 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.8/5.0

Scored across 9 tools

Disambiguation3/5

The two validators (acp.validate, ucp.validate) are distinct, but agentic.readiness_probe also inspects UCP and ACP discovery files, creating real overlap in what an agent should call. Within dispatch, estimate (public modeled pricing) versus index (catalog with modeled rates) versus quote (credentialed request) are separable only after careful reading of long descriptions, and dispatch.evals is vague about what it evaluates relative to the readiness probe.

Naming Consistency3/5

The namespace.action pattern (acp., ucp., agentic., dispatch.) is readable and mostly uniform, but namespaces fragment inconsistently across what is essentially one storefront-readiness area. Action segments mix verbs (validate, estimate, quote, order) with bare nouns (index, evals, order_status), so no single convention is followed throughout.

Tool Count5/5

Nine tools is well within a comfortable range for a server spanning two domains (storefront readiness checks and field-service dispatch). Each tool maps to a recognizable operation, and nothing feels padded or missing at the count level.

Completeness4/5

Dispatch covers a credible lifecycle: catalog, estimate, quote, order creation, and order status tracking, while validators return verdicts plus fix lists. Gaps remain—no order cancellation/update, no way to retrieve or compare stored readiness snapshots historically, and no trade-level detail beyond the index—but these are workable around.

Available Tools

9 tools
acp.validateValidate a store's ACP discovery fileA
Read-onlyIdempotent
Inspect

Free validator for a store's Agentic Commerce Protocol (ACP) discovery file at /.well-known/acp.json. Pass url to fetch a public store's file, or document to check pasted JSON. Returns a verdict, every rule result, and a fix list: each failed rule with the change that fixes it. Reads one public file, stores nothing, calls no checkout endpoint. No API key required.

NameRequiredDescriptionDefault
urlNoPublic store URL or domain, e.g. shop.example.com
documentNoThe discovery document's JSON text, checked without any fetch

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive. The description adds value beyond them by stating it reads one public file, stores nothing, and calls no checkout endpoint, plus that no API key is needed. The return shape (verdict, per-rule results, fix list) is described, though an output schema exists, so that earns less credit.

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?

Four tight sentences, front-loaded with what the tool is and where the file lives, then mode selection, then return shape, then safety and auth constraints. No filler and nothing repeated needlessly.

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?

For a two-optional-parameter read-only validator with full schema coverage and an output schema, the description covers everything an agent needs: both invocation modes, the mutual-exclusion rule, the return shape, and the safety/auth profile. Nothing material is missing.

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 the schema itself documents both parameters and the exactly-one-of constraint. The description restates the fetch-vs-paste distinction and adds the 'public store' qualifier, but adds no syntax, format, or error-handling detail beyond what the schema provides, so the baseline of 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?

States a specific verb (validate) and resource (a store's ACP discovery file at /.well-known/acp.json), and names the protocol explicitly, which distinguishes it from the sibling ucp.validate. An agent can tell what this does and which protocol it governs without opening 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 Guidelines4/5

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

The description gives clear mode-selection guidance: pass url to fetch a public store's file, or document to check pasted JSON. It also notes no API key is required, lowering invocation friction. It does not, however, explicitly point to ucp.validate as the alternative for UCP files, so the sibling routing is left implicit.

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

agentic.readiness_probeInspect storefront readinessA
Read-onlyIdempotent
Inspect

Run a one-time readiness check on a public storefront and return a score, a grade and per-check results (UCP and ACP discovery files, product schema, robots rules, answer-engine maps). The result is a dated snapshot of public files, not an attested Store Guard grade. Input: url, a public storefront URL or domain (up to 255 characters; local, private and numeric hosts are refused). Each run may store a public snapshot record, at most one per host per UTC day, linked in the response. The response also lists Store Guard and sample-report links under next. Rate-limited per caller. No API key required.

NameRequiredDescriptionDefault
urlYesPublic storefront URL or domain

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint/openWorldHint/idempotentHint), it discloses rate limiting per caller, that no API key is needed, that local/private/numeric hosts are refused, and the storage side effect: at most one public snapshot record per host per UTC day, linked in the response. These are exactly the operational facts an agent cannot get from structured fields.

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?

Front-loads the verb, resource, and return shape, then layers constraints and side effects in short, information-dense sentences with no filler. The parenthetical check list replaces a longer enumeration without losing specificity.

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?

An output schema exists, so return values need no explanation; the description instead covers the things the schema cannot: refusal rules, rate limits, auth requirements, snapshot-vs-attested caveat, and the `next` links. For a single-parameter, side-effecting read tool this is complete.

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 100% and there is only one parameter, so the baseline is the schema itself. The description still adds meaning: the URL may be a bare domain, is capped at 255 characters, and must be a public host since local, private, and numeric hosts are refused.

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?

States a specific verb and resource ('run a one-time readiness check on a public storefront') and enumerates exactly what is checked (UCP/ACP discovery files, product schema, robots rules, answer-engine maps). It also explicitly separates itself from the Store Guard attested grade, so an agent can distinguish it from sibling validators like acp.validate and ucp.validate.

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?

The description frames this as a 'one-time' check producing a 'dated snapshot, not an attested Store Guard grade,' which tells the agent when this tool is the right choice versus the attested grade path. It also notes 'No API key required,' removing an eligibility question. It does not name the sibling validators as alternatives for protocol-specific checks, so it falls short of explicit when-not routing.

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

dispatch.estimateEstimate dispatch costA
Read-onlyIdempotent
Inspect

Public modeled field-service price estimate with cited BLS wage benchmarks. Returns customer hourly rates, line items, ranges and a total alongside geographic scope and source provenance. Model estimates are not observed transaction prices or binding quotes. Use dispatch.quote with an accepted credential to request a quote. No API key required.

NameRequiredDescriptionDefault
tradeYesTrade code: hvac, plumbing, electrical, general_maintenance, roofing, painting, carpentry or locksmith (see dispatch.index).
urgencyNoroutine
locationYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, not open-world), but the description adds meaningful caveats beyond them: estimates are modeled, not observed transaction prices, and not binding quotes, plus the auth posture. It stops short of disclosing latency or rate-limit behavior, but the model-vs-quote limitation is exactly the context an agent needs.

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?

Five compact sentences, each carrying a distinct load: purpose, return contents, non-binding caveat, sibling routing, and auth. Front-loaded with the purpose; the only mild redundancy is listing return contents when an output schema already exists.

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 read-only estimator with an output schema and safety annotations, the description covers the critical unknowns: what is returned, that results are non-binding, and that no key is needed. The gap is parameter-level guidance (urgency meanings, location requirements) delegated to the sibling dispatch.index rather than restated here.

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?

Schema description coverage is only 33% (only 'trade' is documented; 'urgency' and the nested location fields are not), so the description would need to compensate. Instead it says nothing about the required location.state, acceptable urgency values/default, or trade codes, leaving undocumented parameters weaker than the schema alone.

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?

States a specific verb and resource ('modeled field-service price estimate') and immediately differentiates itself from dispatch.quote by clarifying that estimates are not binding quotes. An agent can distinguish this read-only estimator from the quoting sibling without opening either 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 to the alternative ('Use dispatch.quote with an accepted credential to request a quote') and gives the condition that selects it (an accepted credential). It also states 'No API key required,' which tells the agent when this public estimator is callable.

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

dispatch.evalsRead dispatch evaluationsA
Read-onlyIdempotent
Inspect

Return the public evaluation document for a selected rolling window. Consult its per-field provenance and methodology to distinguish self-reported estimates, measurements, and unavailable fields. It is not an independent audit or a service-level guarantee. No API key required.

NameRequiredDescriptionDefault
periodNorolling_30d

Output Schema

NameRequiredDescription
periodYes
estimatedYesFalse only when every goal-fulfillment rate is backed by fresh, sufficient production telemetry. A rate without such telemetry is null, not an estimate.
provenanceYesPer-field record of whether each figure is measured (live_telemetry), a stated target or coverage statement (canonical_estimate), or unavailable (published as null).
methodologyYesMetric definitions, named-period window, source-class vocabulary. Never a sample size.
operationalYes
trust_signalsYes
schema_versionYes
goal_fulfillmentYesEach rate is a live measurement or null. Null means unavailable (see provenance.by_field), not zero.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive, so the safety profile is covered. The description adds genuinely new context: no API key is required, and it explicitly disclaims being 'an independent audit or a service-level guarantee' — an important limitation on trustworthiness that the structured fields do not 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?

Four sentences, front-loaded with the core purpose and followed by interpretation guidance and caveats. No filler or repetition, though the second and third sentences are somewhat dense and could be tightened.

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?

An output schema exists, so return-value detail is unnecessary, and the description appropriately covers trust caveats, auth requirements, and interpretability. Combined with the annotations, an agent has enough to invoke and reason about the result, though the missing parameter detail is a small gap.

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 0%, so the description must carry the burden, and it only gestures at the 'period' param via 'a selected rolling window.' The enum values (rolling_7d/30d/90d) are largely self-explanatory, but the description adds no detail about units, default behavior, or trade-offs between windows.

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?

States a specific verb and resource: 'Return the public evaluation document' scoped to a 'rolling window.' This is clear enough to distinguish from dispatch.estimate or dispatch.quote, but it never names or contrasts those siblings explicitly, so it lands just short of the top score.

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?

The description tells the agent how to read the result ('consult its per-field provenance and methodology') but never says when to choose this tool over alternatives like dispatch.estimate. There are no conditions, prerequisites, or exclusions to guide selection, so a caller has no routing guidance.

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

dispatch.indexRead the dispatch trade catalogA
Read-onlyIdempotent
Inspect

Return the catalog of 8 dispatch trade verticals. Per trade: the BLS OES hourly WAGE benchmark (medianRateDollars/p25/p75 — what a technician earns, NOT a price) alongside billedHourlyRateRoutineDollars, a modeled customer hourly estimate at routine urgency. Estimates are not observed transaction prices or binding quotes. No API key required.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
noteYes
tradesYes
updated_atYes
source_periodYes
wage_vs_billedYes
model_assumptionsYes
rate_model_versionYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, closed-world, non-destructive), so the description's real value is semantic: it warns that medianRateDollars/p25/p75 are technician wages, NOT prices, and that billedHourlyRateRoutineDollars is a modeled estimate, not an observed price or binding quote. That prevents a genuine misinterpretation of the returned data.

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?

Three tight sentences, front-loaded with the core action and scope. The parenthetical wage-vs-price clarification is dense but earns its place; nothing else is wasted.

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?

For a zero-parameter, read-only catalog tool with an output schema, the description supplies everything needed: what is returned, how many items, what the fields mean, and that the numbers are estimates rather than quotes.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. The sentence about per-trade fields is about outputs, not inputs.

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+resource: 'Return the catalog of 8 dispatch trade verticals.' This clearly separates it from siblings that compute values (dispatch.estimate, dispatch.quote) — this one reads a static reference catalog.

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?

The description implicitly frames this as a catalog lookup ('No API key required' signals a free, unauthenticated read), but it never states when to call it versus dispatch.estimate or dispatch.quote, nor any precondition. Usage is inferable but not spelled out.

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

dispatch.orderCreate a dispatch work orderB
Destructive
Inspect

Create a field-service order and return its status URL. HTTP 201 returns a created order; HTTP 202 returns an order accepted_pending_fulfilment with fulfilled=false. Order creation requires a provisioned integration key through x-api-key. MCP also accepts that key through Authorization: Bearer; direct REST order creation requires x-api-key. A self-serve OAuth token authenticates but is not entitled to create orders: HTTP 402 payment_required (JSON-RPC -32002 over MCP). Anonymous callers receive HTTP 401 with WWW-Authenticate. To be provisioned, POST JSON to https://steadywrk.app/api/integration-key-request or use https://steadywrk.app/developers/keys and a person reviews each request. Email fallback: hello@steadywrk.app.

NameRequiredDescriptionDefault
tradeYesTrade code, as listed by dispatch.index (e.g. plumbing, hvac, electrical).
urgencyNoroutine
locationYes
nte_centsNo
test_modeNotrue: a test booking with your STEADYWRK key (any key, including the free one). Answered whether orders are open or not, marked test: true; nothing is dispatched, matched or charged.
descriptionYes
callback_urlNo
reference_idNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior4/5

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

Strong disclosure beyond annotations: the 201-vs-202 split, that 202 means accepted_pending_fulfilment with fulfilled=false, and the full auth failure taxonomy (402/payment_required, JSON-RPC -32002, 401 + WWW-Authenticate). It stops short of describing the real-world side effects — contractor dispatch and NTE charging — and says nothing about retry safety despite idempotentHint=false.

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 and there is little redundancy, but emphasis is badly misallocated: roughly two-thirds of the text covers auth, provisioning URLs, and an email fallback, while the parameters that determine whether the order is correct get zero words. The developer-portal link and email fallback are marginal for an in-call agent.

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?

An output schema exists, so return values needn't be explained, and the auth/status semantics are unusually thorough. But for a destructive, non-idempotent, potentially billable 8-parameter mutation with a nested location object, leaving nte_cents and location semantics undocumented is a real completeness gap.

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?

Schema description coverage is only 25%, and the description adds no parameter meaning at all — it is entirely about authentication. Critically, nte_cents (a monetary not-to-exceed cap, min 2500 / max 5,000,000) goes unmentioned, as do the location object's fields, urgency tiers, callback_url, and reference_id.

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: "Create a field-service order and return its status URL." That is unambiguous. However, it never distinguishes this from sibling tools dispatch.quote and dispatch.estimate, which an agent would plausibly consider for the same intent.

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 is implied through entitlement requirements (a provisioned integration key is required; a self-serve OAuth token gets 402). That tells the agent who *can* call it but not when to prefer it over dispatch.quote or dispatch.estimate. No explicit exclusions or alternative-routing guidance is given.

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

dispatch.order_statusRead a dispatch work orderA
Read-onlyIdempotent
Inspect

Return the current state of a work order created by dispatch.order: status, assignment, quote and timestamps. Same key as dispatch.order (the order's status_url, served over MCP). A self-serve OAuth token cannot have created an order, so it receives HTTP 402 payment_required (JSON-RPC -32002). Anonymous callers receive HTTP 401 with WWW-Authenticate. To be provisioned, POST JSON to https://steadywrk.app/api/integration-key-request or use https://steadywrk.app/developers/keys and a person reviews each request. Email fallback: hello@steadywrk.app.

NameRequiredDescriptionDefault
order_idYesThe order.id returned by dispatch.order.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: exact failure modes (HTTP 402 payment_required with JSON-RPC -32002, HTTP 401 with WWW-Authenticate), the provisioning path, human review, and an email fallback. That is unusually rich behavioral disclosure for a read tool.

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?

Purpose and returned fields are front-loaded in the first sentence, followed by key/auth mechanics. Sentences are dense but each carries actionable content; the provisioning URLs and email fallback make it longer than strictly necessary for an invocation decision.

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?

With an output schema present, return values need no explanation, and safety is covered by annotations. Purpose, identifier semantics, and auth/provisioning obstacles are all addressed; only edge cases such as an unknown order_id (e.g. 404 behavior) are left unstated.

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 coverage is 100% and the single parameter is already documented as 'order.id returned by dispatch.order'. The description's note that it is the same key as dispatch.order (the status_url served over MCP) adds only marginal clarification, 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?

States a specific verb ('Return the current state') and resource ('a work order'), and enumerates the returned fields (status, assignment, quote, timestamps). It also distinguishes itself from the sibling dispatch.order by tying the order_id back to that creation call.

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?

Makes clear this reads orders created by dispatch.order and that the caller must hold the same key, which implicitly excludes anonymous/self-serve callers. It does not explicitly state when to prefer this over other siblings, but the context is unambiguous.

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

dispatch.quoteGet a dispatch quoteAInspect

Request a field-service quote by trade, location, and urgency. Returns availability and quote details when available. Accepts a provisioned integration key through x-api-key or, when OAuth is enabled, a scoped self-serve OAuth token through Authorization: Bearer. MCP also accepts the provisioned key through Authorization: Bearer. Request an integration key: POST JSON to https://steadywrk.app/api/integration-key-request (GET it for the fields), or use https://steadywrk.app/developers/keys and a person reviews each request. Email fallback: hello@steadywrk.app. Over MCP, without a key, add contact_email (and optionally contact_name and company) and the request is filed for a person to answer by email. Other anonymous callers receive HTTP 401 with WWW-Authenticate. Public modeled pricing is available through dispatch.estimate.

NameRequiredDescriptionDefault
tradeYesTrade code: hvac, plumbing, electrical, general_maintenance, roofing, painting, carpentry or locksmith (see dispatch.index).
companyNo
urgencyNoroutine
locationYes
nte_centsNo
test_modeNotrue: a test booking with your STEADYWRK key (any key, including the free one). Answered whether orders are open or not, marked test: true; nothing is dispatched, matched or charged.
descriptionNo
contact_nameNo
contact_emailNoOnly without a key: where a person replies with the quote. The request is filed for review.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing auth requirements (x-api-key, Authorization: Bearer for OAuth or MCP), the anonymous-caller outcome (HTTP 401 with WWW-Authenticate), the human-review fallback when no key is present, and how key provisioning works. Annotations only say it is a non-idempotent, open-world, non-destructive call; the description supplies the operational context an agent actually needs. No claim conflicts with the structured hints.

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 purpose and return behavior, then organized into auth, key provisioning, and fallback paragraphs. The auth sentences repeat themselves ('Accepts a provisioned integration key through x-api-key... MCP also accepts the provisioned key through Authorization: Bearer'), which costs some tightness, but nothing is buried.

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?

With an output schema present, return values need no explanation, and the description covers auth, the keyless path, and the estimate alternative. It leaves nte_cents semantics and any idempotency/retry expectations unstated for what is a non-idempotent call, but on balance an agent has what it needs to invoke 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 only 33%, so the description should compensate, but it mostly restates the required inputs (trade, location, urgency) rather than explaining them. It does add real meaning for the keyless path – contact_email/contact_name/company get filed for a person to answer – but nte_cents and the location sub-fields receive no explanation beyond the schema.

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?

States a specific verb (request) and resource (field-service quote) scoped by trade, location, and urgency, and reports what comes back (availability and quote details). It also names the sibling that provides the other pricing path, dispatch.estimate, so an agent can separate it from that tool without opening a schema.

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?

Explicitly routes public modeled pricing to dispatch.estimate and describes the two caller situations (keyed vs. keyless/anonymous). It does not spell out when to escalate from a quote to dispatch.order, but the context for choosing this tool over its nearest sibling is clear.

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

ucp.validateValidate a store's UCP discovery fileA
Read-onlyIdempotent
Inspect

Free validator for a store's Universal Commerce Protocol (UCP) discovery file at /.well-known/ucp. Pass url to fetch a public store's file, or document to check pasted JSON. Returns a verdict, every rule result, and a fix list: each failed rule with the change that fixes it. Reads one public file, stores nothing, calls no checkout endpoint. No API key required.

NameRequiredDescriptionDefault
urlNoPublic store URL or domain, e.g. shop.example.com
documentNoThe discovery document's JSON text, checked without any fetch

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, openWorld, non-destructive), it discloses side-effect and auth facts an agent cannot get from structured fields: it reads exactly one public file, stores nothing, calls no checkout endpoint, and needs no API key. That directly answers the safety and permission questions for a fetch tool.

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?

Front-loaded with what the tool is and where it looks, then the two input modes, then side effects and auth. Every sentence carries distinct information with no filler.

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?

Even though an output schema exists, the description still names the return shape (verdict, per-rule results, fix list with the change that fixes each failure), and covers inputs, safety, and auth. Nothing needed to invoke it correctly is missing.

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 the schema already explains that document is checked without a fetch, so the description adds little beyond restating the fetch-vs-paste distinction. Baseline 3 is appropriate when the schema carries the parameter semantics.

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 states a specific verb and resource — validating a store's UCP discovery file at /.well-known/ucp — which is concrete and unambiguous. It does not explicitly differentiate itself from the sibling acp.validate, so an agent must infer the UCP-vs-ACP split from the protocol name rather than being told.

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 routes the two input modes: pass url to fetch a public store's file, or document to check pasted JSON. That is actionable context, but there is no explicit when-not-to-use or pointer to acp.validate for the other protocol.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changeddispatch.order2 fields changed
      • addedInput schema / properties / nte_cents / maximum
        Added value: +5000000
      • changedInput schema / properties / nte_cents / minimum
        Previous value: -1New value: +2500
  2. 2 tool updates
    • Changeddispatch.order2 fields changed
      • addedInput schema / properties / test_mode
        Added value: +{
        +  "description": "true: a test booking with your STEADYWRK key (any key, including the free one). Answered whether orders are open or not, marked test: true; nothing is dispatched, matched or charged.",
        +  "type": "boolean"
        +}
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "accepted": {
        -        "const": true,
        -        "type": "boolean"
        -      },
        -      "created": {
        -        "const": true,
        -        "type": "boolean"
        -      },
        -      "fulfilled": {
        -        "type": "boolean"
        -      },
        -      "fulfilment": {
        -        "description": "Present only when fulfilled=false.",
        -        "properties": {
        -          "assigned": {
        -            "const": false,
        -            "type": "boolean"
        -          },
        -          "detail": {
        -            "type": "string"
        -          },
        -          "escalation_contact": {
        -            "type": "string"
        -          },
        -          "reason": {
        -            "type": "string"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "order": {
        -        "additionalProperties": true,
        -        "properties": {
        -          "assigned_contractor_ref": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "created_at": {
        -            "type": "string"
        -          },
        -          "estimated_response_minutes": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "id": {
        -            "type": "string"
        -          },
        -          "location": {
        -            "type": "object"
        -          },
        -          "quoted_cost_cents": {
        -            "type": [
        -              "integer",
        -              "null"
        -            ]
        -          },
        -          "quoted_cost_usd": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "status": {
        -            "enum": [
        -              "pending_dispatch",
        -              "accepted_pending_fulfilment"
        -            ],
        -            "type": "string"
        -          },
        -          "trade": {
        -            "type": "string"
        -          },
        -          "urgency": {
        -            "enum": [
        -              "emergency",
        -              "urgent",
        -              "routine",
        -              "scheduled"
        -            ],
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "id",
        -          "status",
        -          "trade",
        -          "location",
        -          "urgency",
        -          "created_at"
        -        ],
        -        "type": "object"
        -      },
        -      "tracking": {
        -        "properties": {
        -          "auth": {
        -            "type": "string"
        -          },
        -          "status_url": {
        -            "type": "string"
        -          }
        -        },
        -        "type": "object"
        -      }
        -    },
        -    "required": [
        -      "created",
        -      "accepted",
        -      "fulfilled",
        -      "order",
        -      "tracking"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": true,
        -    "description": "Business/rate-limit/entitlement error passthrough.",
        -    "properties": {
        -      "error": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "error"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "accepted": {
        +        "const": true,
        +        "type": "boolean"
        +      },
        +      "created": {
        +        "const": true,
        +        "type": "boolean"
        +      },
        +      "fulfilled": {
        +        "type": "boolean"
        +      },
        +      "fulfilment": {
        +        "description": "Present only when fulfilled=false.",
        +        "properties": {
        +          "assigned": {
        +            "const": false,
        +            "type": "boolean"
        +          },
        +          "detail": {
        +            "type": "string"
        +          },
        +          "escalation_contact": {
        +            "type": "string"
        +          },
        +          "reason": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "order": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "assigned_contractor_ref": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "created_at": {
        +            "type": "string"
        +          },
        +          "estimated_response_minutes": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "location": {
        +            "type": "object"
        +          },
        +          "quoted_cost_cents": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "quoted_cost_usd": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "status": {
        +            "enum": [
        +              "pending_dispatch",
        +              "accepted_pending_fulfilment",
        +              "test_accepted"
        +            ],
        +            "type": "string"
        +          },
        +          "trade": {
        +            "type": "string"
        +          },
        +          "urgency": {
        +            "enum": [
        +              "emergency",
        +              "urgent",
        +              "routine",
        +              "scheduled"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "status",
        +          "trade",
        +          "location",
        +          "urgency",
        +          "created_at"
        +        ],
        +        "type": "object"
        +      },
        +      "tracking": {
        +        "properties": {
        +          "auth": {
        +            "type": "string"
        +          },
        +          "status_url": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "created",
        +      "accepted",
        +      "fulfilled",
        +      "order",
        +      "tracking"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": true,
        +    "description": "Business/rate-limit/entitlement error passthrough.",
        +    "properties": {
        +      "error": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "error"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changeddispatch.quote1 field changed
      • addedInput schema / properties / test_mode
        Added value: +{
        +  "description": "true: a test booking with your STEADYWRK key (any key, including the free one). Answered whether orders are open or not, marked test: true; nothing is dispatched, matched or charged.",
        +  "type": "boolean"
        +}
  3. 2 tool updates
    • Addedacp.validate
    • Addeducp.validate
  4. 1 tool update
    • Addeddispatch.order_status
  5. 3 tool updates
    • Changeddispatch.estimate1 field changed
      • changedInput schema / properties / trade / description
        Previous value: -"Trade code (plumbing, electrical, HVAC, etc.)"New value: +"Trade code: hvac, plumbing, electrical, general_maintenance, roofing, painting, carpentry or locksmith (see dispatch.index)."
    • Changeddispatch.order1 field changed
      • addedInput schema / properties / trade / description
        Added value: +"Trade code, as listed by dispatch.index (e.g. plumbing, hvac, electrical)."
    • Changeddispatch.quote1 field changed
      • changedInput schema / properties / trade / description
        Previous value: -"Trade code (plumbing, electrical, HVAC, etc.)"New value: +"Trade code: hvac, plumbing, electrical, general_maintenance, roofing, painting, carpentry or locksmith (see dispatch.index)."
  6. 1 tool update
    • Changeddispatch.quote5 fields changed
      • addedInput schema / properties / company
        Added value: +{
        +  "maxLength": 255,
        +  "type": "string"
        +}
      • addedInput schema / properties / contact_email
        Added value: +{
        +  "description": "Only without a key: where a person replies with the quote. The request is filed for review.",
        +  "format": "email",
        +  "maxLength": 255,
        +  "type": "string"
        +}
      • addedInput schema / properties / contact_name
        Added value: +{
        +  "maxLength": 255,
        +  "type": "string"
        +}
      • changedOutput schema / description
        Previous value: -"A matched-contractor quote, a no-availability response, or a business/auth error passthrough from the downstream dispatch API."New value: +"A matched-contractor quote, a no-availability response, a filed keyless request, or a business/auth error passthrough from the downstream dispatch API."
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "description": "A contractor was matched.",
        -    "properties": {
        -      "available": {
        -        "const": true,
        -        "type": "boolean"
        -      },
        -      "next_steps": {
        -        "properties": {
        -          "contact": {
        -            "type": "string"
        -          },
        -          "dispatch": {
        -            "type": "string"
        -          },
        -          "docs": {
        -            "type": "string"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "quote": {
        -        "properties": {
        -          "alternates_count": {
        -            "type": "integer"
        -          },
        -          "best_match": {
        -            "properties": {
        -              "estimated_cost_cents": {
        -                "type": "integer"
        -              },
        -              "estimated_cost_usd": {
        -                "type": "string"
        -              },
        -              "estimated_response_minutes": {
        -                "type": "number"
        -              },
        -              "match_score": {
        -                "type": "number"
        -              }
        -            },
        -            "type": "object"
        -          },
        -          "estimated_eta": {
        -            "type": "string"
        -          },
        -          "generated_at": {
        -            "type": "string"
        -          },
        -          "location": {
        -            "type": "object"
        -          },
        -          "trade": {
        -            "type": "string"
        -          },
        -          "urgency": {
        -            "enum": [
        -              "emergency",
        -              "urgent",
        -              "routine",
        -              "scheduled"
        -            ],
        -            "type": "string"
        -          },
        -          "valid_for_minutes": {
        -            "type": "integer"
        -          }
        -        },
        -        "required": [
        -          "trade",
        -          "location",
        -          "urgency",
        -          "estimated_eta",
        -          "best_match",
        -          "alternates_count",
        -          "generated_at",
        -          "valid_for_minutes"
        -        ],
        -        "type": "object"
        -      }
        -    },
        -    "required": [
        -      "available",
        -      "quote",
        -      "next_steps"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "description": "No contractor is currently available for this trade/location.",
        -    "properties": {
        -      "available": {
        -        "const": false,
        -        "type": "boolean"
        -      },
        -      "location": {
        -        "type": "object"
        -      },
        -      "message": {
        -        "type": "string"
        -      },
        -      "trade": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "available",
        -      "message",
        -      "trade",
        -      "location"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": true,
        -    "description": "Business/rate-limit/auth error passthrough.",
        -    "properties": {
        -      "error": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "error"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "description": "A contractor was matched.",
        +    "properties": {
        +      "available": {
        +        "const": true,
        +        "type": "boolean"
        +      },
        +      "next_steps": {
        +        "properties": {
        +          "contact": {
        +            "type": "string"
        +          },
        +          "dispatch": {
        +            "type": "string"
        +          },
        +          "docs": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "quote": {
        +        "properties": {
        +          "alternates_count": {
        +            "type": "integer"
        +          },
        +          "best_match": {
        +            "properties": {
        +              "estimated_cost_cents": {
        +                "type": "integer"
        +              },
        +              "estimated_cost_usd": {
        +                "type": "string"
        +              },
        +              "estimated_response_minutes": {
        +                "type": "number"
        +              },
        +              "match_score": {
        +                "type": "number"
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "estimated_eta": {
        +            "type": "string"
        +          },
        +          "generated_at": {
        +            "type": "string"
        +          },
        +          "location": {
        +            "type": "object"
        +          },
        +          "trade": {
        +            "type": "string"
        +          },
        +          "urgency": {
        +            "enum": [
        +              "emergency",
        +              "urgent",
        +              "routine",
        +              "scheduled"
        +            ],
        +            "type": "string"
        +          },
        +          "valid_for_minutes": {
        +            "type": "integer"
        +          }
        +        },
        +        "required": [
        +          "trade",
        +          "location",
        +          "urgency",
        +          "estimated_eta",
        +          "best_match",
        +          "alternates_count",
        +          "generated_at",
        +          "valid_for_minutes"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "available",
        +      "quote",
        +      "next_steps"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "description": "No contractor is currently available for this trade/location.",
        +    "properties": {
        +      "available": {
        +        "const": false,
        +        "type": "boolean"
        +      },
        +      "location": {
        +        "type": "object"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "trade": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "available",
        +      "message",
        +      "trade",
        +      "location"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "description": "Keyless request filed: a person replies to contact_email. Carries a modeled estimate when the trade is in the public rate card.",
        +    "properties": {
        +      "duplicate": {
        +        "type": "boolean"
        +      },
        +      "live_quotes": {
        +        "type": "string"
        +      },
        +      "location": {
        +        "type": "object"
        +      },
        +      "modeled_estimate": {
        +        "type": "object"
        +      },
        +      "next_step": {
        +        "type": "string"
        +      },
        +      "request_id": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "const": "request_received",
        +        "type": "string"
        +      },
        +      "trade": {
        +        "type": "string"
        +      },
        +      "urgency": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "request_id",
        +      "next_step"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": true,
        +    "description": "Business/rate-limit/auth error passthrough.",
        +    "properties": {
        +      "error": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "error"
        +    ],
        +    "type": "object"
        +  }
        +]
  7. 1 tool update
    • Changeddispatch.estimate1 field changed
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "basis": {
        -        "const": "modeled_customer_pricing",
        -        "type": "string"
        -      },
        -      "billed_estimate": {
        -        "additionalProperties": false,
        -        "description": "Modeled customer hourly rates, billable hours, labor and trip line items, total and range. Not a binding quote.",
        -        "properties": {
        -          "billed_hourly_rate_cents": {
        -            "type": "integer"
        -          },
        -          "billed_hourly_rate_routine_cents": {
        -            "type": "integer"
        -          },
        -          "currency": {
        -            "const": "USD",
        -            "type": "string"
        -          },
        -          "labor_subtotal_cents": {
        -            "type": "integer"
        -          },
        -          "minimum_billable_hours": {
        -            "type": "number"
        -          },
        -          "range_high_cents": {
        -            "type": [
        -              "integer",
        -              "null"
        -            ]
        -          },
        -          "range_low_cents": {
        -            "type": [
        -              "integer",
        -              "null"
        -            ]
        -          },
        -          "total_cents": {
        -            "type": "integer"
        -          },
        -          "total_usd": {
        -            "type": "number"
        -          },
        -          "trip_fee_cents": {
        -            "type": "integer"
        -          },
        -          "urgency": {
        -            "enum": [
        -              "emergency",
        -              "urgent",
        -              "routine",
        -              "scheduled"
        -            ],
        -            "type": "string"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "disclosure": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "estimated": {
        -        "const": true,
        -        "type": "boolean"
        -      },
        -      "estimated_cost_cents": {
        -        "description": "Alias of billed_estimate.total_cents.",
        -        "type": "integer"
        -      },
        -      "location": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "city": {
        -            "type": "string"
        -          },
        -          "state": {
        -            "type": "string"
        -          },
        -          "zip": {
        -            "type": "string"
        -          }
        -        },
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "location_resolution": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "covered_metros": {
        -            "items": {
        -              "type": "string"
        -            },
        -            "type": "array"
        -          },
        -          "location_sensitive": {
        -            "type": "boolean"
        -          },
        -          "reason": {
        -            "type": "string"
        -          },
        -          "requested": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "city": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "state": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "zip": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              }
        -            },
        -            "type": "object"
        -          },
        -          "resolved_metro": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "resolved_metro_label": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "scope": {
        -            "enum": [
        -              "metro_cited",
        -              "national_baseline",
        -              "mena_coverage_beta"
        -            ],
        -            "type": "string"
        -          },
        -          "zip_used": {
        -            "const": false,
        -            "type": "boolean"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "measurement": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "billed_estimate": {
        -            "const": "estimated",
        -            "type": "string"
        -          },
        -          "explanation": {
        -            "type": "string"
        -          },
        -          "wage_basis": {
        -            "const": "estimated",
        -            "type": "string"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "rate_card": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "median_dollars": {
        -            "type": "number"
        -          },
        -          "p25_dollars": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "p75_dollars": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "rate_model_version": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "const": "public_rate_card",
        -        "type": "string"
        -      },
        -      "trade": {
        -        "type": "string"
        -      },
        -      "urgency": {
        -        "enum": [
        -          "emergency",
        -          "urgent",
        -          "routine",
        -          "scheduled"
        -        ],
        -        "type": "string"
        -      },
        -      "wage_basis": {
        -        "additionalProperties": false,
        -        "description": "The cited hourly WAGE input — NOT the price.",
        -        "properties": {
        -          "annual_median_usd": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "bls_occ_code": {
        -            "type": "string"
        -          },
        -          "dataset": {
        -            "type": "string"
        -          },
        -          "kind": {
        -            "const": "hourly_wage",
        -            "type": "string"
        -          },
        -          "median_cents": {
        -            "type": "integer"
        -          },
        -          "note": {
        -            "type": "string"
        -          },
        -          "p25_cents": {
        -            "type": [
        -              "integer",
        -              "null"
        -            ]
        -          },
        -          "p75_cents": {
        -            "type": [
        -              "integer",
        -              "null"
        -            ]
        -          },
        -          "period": {
        -            "type": "string"
        -          },
        -          "release": {
        -            "type": "string"
        -          },
        -          "sample_size": {
        -            "type": [
        -              "integer",
        -              "null"
        -            ]
        -          },
        -          "scope": {
        -            "enum": [
        -              "metro_cited",
        -              "national_baseline",
        -              "mena_coverage_beta"
        -            ],
        -            "type": "string"
        -          },
        -          "scope_label": {
        -            "type": "string"
        -          },
        -          "source": {
        -            "type": "string"
        -          },
        -          "source_url": {
        -            "type": "string"
        -          },
        -          "trade_label": {
        -            "type": "string"
        -          }
        -        },
        -        "type": "object"
        -      }
        -    },
        -    "required": [
        -      "estimated",
        -      "source",
        -      "basis",
        -      "rate_model_version",
        -      "trade",
        -      "urgency",
        -      "location_resolution",
        -      "wage_basis",
        -      "billed_estimate",
        -      "estimated_cost_cents",
        -      "rate_card",
        -      "disclosure"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "description": "Trade was missing or not recognized. No number is fabricated.",
        -    "properties": {
        -      "error": {
        -        "enum": [
        -          "unknown_trade",
        -          "trade_required"
        -        ],
        -        "type": "string"
        -      },
        -      "estimated": {
        -        "const": false,
        -        "type": "boolean"
        -      },
        -      "known_trades": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "const": "public_rate_card",
        -        "type": "string"
        -      },
        -      "trade": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "valid_trades": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "estimated",
        -      "source",
        -      "error",
        -      "trade",
        -      "valid_trades",
        -      "known_trades"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "description": "A provided location.state is not a US state or DC code, or a MENA coverage country code. No number is fabricated; an omitted state is priced at the national baseline.",
        -    "properties": {
        -      "error": {
        -        "const": "invalid_state",
        -        "type": "string"
        -      },
        -      "estimated": {
        -        "const": false,
        -        "type": "boolean"
        -      },
        -      "source": {
        -        "const": "public_rate_card",
        -        "type": "string"
        -      },
        -      "state": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "valid_country_codes": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "valid_states": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "estimated",
        -      "source",
        -      "error",
        -      "state",
        -      "valid_states",
        -      "valid_country_codes"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "basis": {
        +        "const": "modeled_customer_pricing",
        +        "type": "string"
        +      },
        +      "billed_estimate": {
        +        "additionalProperties": false,
        +        "description": "Modeled customer hourly rates, billable hours, labor and trip line items, total and range. Not a binding quote.",
        +        "properties": {
        +          "billed_hourly_rate_cents": {
        +            "type": "integer"
        +          },
        +          "billed_hourly_rate_routine_cents": {
        +            "type": "integer"
        +          },
        +          "currency": {
        +            "const": "USD",
        +            "type": "string"
        +          },
        +          "labor_subtotal_cents": {
        +            "type": "integer"
        +          },
        +          "minimum_billable_hours": {
        +            "type": "number"
        +          },
        +          "range_high_cents": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "range_low_cents": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "total_cents": {
        +            "type": "integer"
        +          },
        +          "total_usd": {
        +            "type": "number"
        +          },
        +          "trip_fee_cents": {
        +            "type": "integer"
        +          },
        +          "urgency": {
        +            "enum": [
        +              "emergency",
        +              "urgent",
        +              "routine",
        +              "scheduled"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "binding": {
        +        "const": false,
        +        "type": "boolean"
        +      },
        +      "disclosure": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "estimate_basis": {
        +        "const": "national_median_reference",
        +        "description": "Present when no covered metro matched (for example, no city supplied): the figures are a non-binding national reference.",
        +        "type": "string"
        +      },
        +      "estimated": {
        +        "const": true,
        +        "type": "boolean"
        +      },
        +      "estimated_cost_cents": {
        +        "description": "Alias of billed_estimate.total_cents.",
        +        "type": "integer"
        +      },
        +      "location": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "city": {
        +            "type": "string"
        +          },
        +          "state": {
        +            "type": "string"
        +          },
        +          "zip": {
        +            "type": "string"
        +          }
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "location_resolution": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "covered_metros": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "location_sensitive": {
        +            "type": "boolean"
        +          },
        +          "reason": {
        +            "type": "string"
        +          },
        +          "requested": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "city": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "state": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "zip": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "resolved_metro": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "resolved_metro_label": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "scope": {
        +            "enum": [
        +              "metro_cited",
        +              "national_baseline",
        +              "mena_coverage_beta"
        +            ],
        +            "type": "string"
        +          },
        +          "zip_used": {
        +            "const": false,
        +            "type": "boolean"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "measurement": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "billed_estimate": {
        +            "const": "estimated",
        +            "type": "string"
        +          },
        +          "explanation": {
        +            "type": "string"
        +          },
        +          "wage_basis": {
        +            "const": "estimated",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "note": {
        +        "type": "string"
        +      },
        +      "rate_card": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "median_dollars": {
        +            "type": "number"
        +          },
        +          "p25_dollars": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "p75_dollars": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "rate_model_version": {
        +        "type": "string"
        +      },
        +      "source": {
        +        "const": "public_rate_card",
        +        "type": "string"
        +      },
        +      "trade": {
        +        "type": "string"
        +      },
        +      "urgency": {
        +        "enum": [
        +          "emergency",
        +          "urgent",
        +          "routine",
        +          "scheduled"
        +        ],
        +        "type": "string"
        +      },
        +      "wage_basis": {
        +        "additionalProperties": false,
        +        "description": "The cited hourly WAGE input — NOT the price.",
        +        "properties": {
        +          "annual_median_usd": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "bls_occ_code": {
        +            "type": "string"
        +          },
        +          "dataset": {
        +            "type": "string"
        +          },
        +          "kind": {
        +            "const": "hourly_wage",
        +            "type": "string"
        +          },
        +          "median_cents": {
        +            "type": "integer"
        +          },
        +          "note": {
        +            "type": "string"
        +          },
        +          "p25_cents": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "p75_cents": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "period": {
        +            "type": "string"
        +          },
        +          "release": {
        +            "type": "string"
        +          },
        +          "sample_size": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "scope": {
        +            "enum": [
        +              "metro_cited",
        +              "national_baseline",
        +              "mena_coverage_beta"
        +            ],
        +            "type": "string"
        +          },
        +          "scope_label": {
        +            "type": "string"
        +          },
        +          "source": {
        +            "type": "string"
        +          },
        +          "source_url": {
        +            "type": "string"
        +          },
        +          "trade_label": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "estimated",
        +      "source",
        +      "basis",
        +      "rate_model_version",
        +      "trade",
        +      "urgency",
        +      "location_resolution",
        +      "wage_basis",
        +      "billed_estimate",
        +      "estimated_cost_cents",
        +      "rate_card",
        +      "disclosure"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "description": "Trade was missing or not recognized. No number is fabricated.",
        +    "properties": {
        +      "error": {
        +        "enum": [
        +          "unknown_trade",
        +          "trade_required"
        +        ],
        +        "type": "string"
        +      },
        +      "estimated": {
        +        "const": false,
        +        "type": "boolean"
        +      },
        +      "known_trades": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "const": "public_rate_card",
        +        "type": "string"
        +      },
        +      "trade": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "valid_trades": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "estimated",
        +      "source",
        +      "error",
        +      "trade",
        +      "valid_trades",
        +      "known_trades"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "description": "A provided location.state is not a US state or DC code, or a MENA coverage country code. No number is fabricated; an omitted state is priced at the national baseline.",
        +    "properties": {
        +      "error": {
        +        "const": "invalid_state",
        +        "type": "string"
        +      },
        +      "estimated": {
        +        "const": false,
        +        "type": "boolean"
        +      },
        +      "source": {
        +        "const": "public_rate_card",
        +        "type": "string"
        +      },
        +      "state": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "valid_country_codes": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "valid_states": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "estimated",
        +      "source",
        +      "error",
        +      "state",
        +      "valid_states",
        +      "valid_country_codes"
        +    ],
        +    "type": "object"
        +  }
        +]
  8. 2 tool updates
    • Changeddispatch.estimate2 fields changed
      • changedOutput schema / description
        Previous value: -"Modeled customer pricing with wage benchmark provenance, or an unknown/missing trade error — never a fabricated number."New value: +"Modeled customer pricing with wage benchmark provenance, or an unknown/missing trade or invalid state error — never a fabricated number."
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "basis": {
        -        "const": "modeled_customer_pricing",
        -        "type": "string"
        -      },
        -      "billed_estimate": {
        -        "additionalProperties": false,
        -        "description": "Modeled customer hourly rates, billable hours, labor and trip line items, total and range. Not a binding quote.",
        -        "properties": {
        -          "billed_hourly_rate_cents": {
        -            "type": "integer"
        -          },
        -          "billed_hourly_rate_routine_cents": {
        -            "type": "integer"
        -          },
        -          "currency": {
        -            "const": "USD",
        -            "type": "string"
        -          },
        -          "labor_subtotal_cents": {
        -            "type": "integer"
        -          },
        -          "minimum_billable_hours": {
        -            "type": "number"
        -          },
        -          "range_high_cents": {
        -            "type": [
        -              "integer",
        -              "null"
        -            ]
        -          },
        -          "range_low_cents": {
        -            "type": [
        -              "integer",
        -              "null"
        -            ]
        -          },
        -          "total_cents": {
        -            "type": "integer"
        -          },
        -          "total_usd": {
        -            "type": "number"
        -          },
        -          "trip_fee_cents": {
        -            "type": "integer"
        -          },
        -          "urgency": {
        -            "enum": [
        -              "emergency",
        -              "urgent",
        -              "routine",
        -              "scheduled"
        -            ],
        -            "type": "string"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "disclosure": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "estimated": {
        -        "const": true,
        -        "type": "boolean"
        -      },
        -      "estimated_cost_cents": {
        -        "description": "Alias of billed_estimate.total_cents.",
        -        "type": "integer"
        -      },
        -      "location": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "city": {
        -            "type": "string"
        -          },
        -          "state": {
        -            "type": "string"
        -          },
        -          "zip": {
        -            "type": "string"
        -          }
        -        },
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "location_resolution": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "covered_metros": {
        -            "items": {
        -              "type": "string"
        -            },
        -            "type": "array"
        -          },
        -          "location_sensitive": {
        -            "type": "boolean"
        -          },
        -          "reason": {
        -            "type": "string"
        -          },
        -          "requested": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "city": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "state": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "zip": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              }
        -            },
        -            "type": "object"
        -          },
        -          "resolved_metro": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "resolved_metro_label": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "scope": {
        -            "enum": [
        -              "metro_cited",
        -              "national_baseline",
        -              "mena_coverage_beta"
        -            ],
        -            "type": "string"
        -          },
        -          "zip_used": {
        -            "const": false,
        -            "type": "boolean"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "measurement": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "billed_estimate": {
        -            "const": "estimated",
        -            "type": "string"
        -          },
        -          "explanation": {
        -            "type": "string"
        -          },
        -          "wage_basis": {
        -            "const": "estimated",
        -            "type": "string"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "rate_card": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "median_dollars": {
        -            "type": "number"
        -          },
        -          "p25_dollars": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "p75_dollars": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "rate_model_version": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "const": "public_rate_card",
        -        "type": "string"
        -      },
        -      "trade": {
        -        "type": "string"
        -      },
        -      "urgency": {
        -        "enum": [
        -          "emergency",
        -          "urgent",
        -          "routine",
        -          "scheduled"
        -        ],
        -        "type": "string"
        -      },
        -      "wage_basis": {
        -        "additionalProperties": false,
        -        "description": "The cited hourly WAGE input — NOT the price.",
        -        "properties": {
        -          "annual_median_usd": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "bls_occ_code": {
        -            "type": "string"
        -          },
        -          "dataset": {
        -            "type": "string"
        -          },
        -          "kind": {
        -            "const": "hourly_wage",
        -            "type": "string"
        -          },
        -          "median_cents": {
        -            "type": "integer"
        -          },
        -          "note": {
        -            "type": "string"
        -          },
        -          "p25_cents": {
        -            "type": [
        -              "integer",
        -              "null"
        -            ]
        -          },
        -          "p75_cents": {
        -            "type": [
        -              "integer",
        -              "null"
        -            ]
        -          },
        -          "period": {
        -            "type": "string"
        -          },
        -          "release": {
        -            "type": "string"
        -          },
        -          "sample_size": {
        -            "type": [
        -              "integer",
        -              "null"
        -            ]
        -          },
        -          "scope": {
        -            "enum": [
        -              "metro_cited",
        -              "national_baseline",
        -              "mena_coverage_beta"
        -            ],
        -            "type": "string"
        -          },
        -          "scope_label": {
        -            "type": "string"
        -          },
        -          "source": {
        -            "type": "string"
        -          },
        -          "source_url": {
        -            "type": "string"
        -          },
        -          "trade_label": {
        -            "type": "string"
        -          }
        -        },
        -        "type": "object"
        -      }
        -    },
        -    "required": [
        -      "estimated",
        -      "source",
        -      "basis",
        -      "rate_model_version",
        -      "trade",
        -      "urgency",
        -      "location_resolution",
        -      "wage_basis",
        -      "billed_estimate",
        -      "estimated_cost_cents",
        -      "rate_card",
        -      "disclosure"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "description": "Trade was missing or not recognized. No number is fabricated.",
        -    "properties": {
        -      "error": {
        -        "enum": [
        -          "unknown_trade",
        -          "trade_required"
        -        ],
        -        "type": "string"
        -      },
        -      "estimated": {
        -        "const": false,
        -        "type": "boolean"
        -      },
        -      "known_trades": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "const": "public_rate_card",
        -        "type": "string"
        -      },
        -      "trade": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "valid_trades": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "estimated",
        -      "source",
        -      "error",
        -      "trade",
        -      "valid_trades",
        -      "known_trades"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "basis": {
        +        "const": "modeled_customer_pricing",
        +        "type": "string"
        +      },
        +      "billed_estimate": {
        +        "additionalProperties": false,
        +        "description": "Modeled customer hourly rates, billable hours, labor and trip line items, total and range. Not a binding quote.",
        +        "properties": {
        +          "billed_hourly_rate_cents": {
        +            "type": "integer"
        +          },
        +          "billed_hourly_rate_routine_cents": {
        +            "type": "integer"
        +          },
        +          "currency": {
        +            "const": "USD",
        +            "type": "string"
        +          },
        +          "labor_subtotal_cents": {
        +            "type": "integer"
        +          },
        +          "minimum_billable_hours": {
        +            "type": "number"
        +          },
        +          "range_high_cents": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "range_low_cents": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "total_cents": {
        +            "type": "integer"
        +          },
        +          "total_usd": {
        +            "type": "number"
        +          },
        +          "trip_fee_cents": {
        +            "type": "integer"
        +          },
        +          "urgency": {
        +            "enum": [
        +              "emergency",
        +              "urgent",
        +              "routine",
        +              "scheduled"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "disclosure": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "estimated": {
        +        "const": true,
        +        "type": "boolean"
        +      },
        +      "estimated_cost_cents": {
        +        "description": "Alias of billed_estimate.total_cents.",
        +        "type": "integer"
        +      },
        +      "location": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "city": {
        +            "type": "string"
        +          },
        +          "state": {
        +            "type": "string"
        +          },
        +          "zip": {
        +            "type": "string"
        +          }
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "location_resolution": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "covered_metros": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "location_sensitive": {
        +            "type": "boolean"
        +          },
        +          "reason": {
        +            "type": "string"
        +          },
        +          "requested": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "city": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "state": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "zip": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "resolved_metro": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "resolved_metro_label": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "scope": {
        +            "enum": [
        +              "metro_cited",
        +              "national_baseline",
        +              "mena_coverage_beta"
        +            ],
        +            "type": "string"
        +          },
        +          "zip_used": {
        +            "const": false,
        +            "type": "boolean"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "measurement": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "billed_estimate": {
        +            "const": "estimated",
        +            "type": "string"
        +          },
        +          "explanation": {
        +            "type": "string"
        +          },
        +          "wage_basis": {
        +            "const": "estimated",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "rate_card": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "median_dollars": {
        +            "type": "number"
        +          },
        +          "p25_dollars": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "p75_dollars": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "rate_model_version": {
        +        "type": "string"
        +      },
        +      "source": {
        +        "const": "public_rate_card",
        +        "type": "string"
        +      },
        +      "trade": {
        +        "type": "string"
        +      },
        +      "urgency": {
        +        "enum": [
        +          "emergency",
        +          "urgent",
        +          "routine",
        +          "scheduled"
        +        ],
        +        "type": "string"
        +      },
        +      "wage_basis": {
        +        "additionalProperties": false,
        +        "description": "The cited hourly WAGE input — NOT the price.",
        +        "properties": {
        +          "annual_median_usd": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "bls_occ_code": {
        +            "type": "string"
        +          },
        +          "dataset": {
        +            "type": "string"
        +          },
        +          "kind": {
        +            "const": "hourly_wage",
        +            "type": "string"
        +          },
        +          "median_cents": {
        +            "type": "integer"
        +          },
        +          "note": {
        +            "type": "string"
        +          },
        +          "p25_cents": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "p75_cents": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "period": {
        +            "type": "string"
        +          },
        +          "release": {
        +            "type": "string"
        +          },
        +          "sample_size": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "scope": {
        +            "enum": [
        +              "metro_cited",
        +              "national_baseline",
        +              "mena_coverage_beta"
        +            ],
        +            "type": "string"
        +          },
        +          "scope_label": {
        +            "type": "string"
        +          },
        +          "source": {
        +            "type": "string"
        +          },
        +          "source_url": {
        +            "type": "string"
        +          },
        +          "trade_label": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "estimated",
        +      "source",
        +      "basis",
        +      "rate_model_version",
        +      "trade",
        +      "urgency",
        +      "location_resolution",
        +      "wage_basis",
        +      "billed_estimate",
        +      "estimated_cost_cents",
        +      "rate_card",
        +      "disclosure"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "description": "Trade was missing or not recognized. No number is fabricated.",
        +    "properties": {
        +      "error": {
        +        "enum": [
        +          "unknown_trade",
        +          "trade_required"
        +        ],
        +        "type": "string"
        +      },
        +      "estimated": {
        +        "const": false,
        +        "type": "boolean"
        +      },
        +      "known_trades": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "const": "public_rate_card",
        +        "type": "string"
        +      },
        +      "trade": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "valid_trades": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "estimated",
        +      "source",
        +      "error",
        +      "trade",
        +      "valid_trades",
        +      "known_trades"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "description": "A provided location.state is not a US state or DC code, or a MENA coverage country code. No number is fabricated; an omitted state is priced at the national baseline.",
        +    "properties": {
        +      "error": {
        +        "const": "invalid_state",
        +        "type": "string"
        +      },
        +      "estimated": {
        +        "const": false,
        +        "type": "boolean"
        +      },
        +      "source": {
        +        "const": "public_rate_card",
        +        "type": "string"
        +      },
        +      "state": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "valid_country_codes": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "valid_states": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "estimated",
        +      "source",
        +      "error",
        +      "state",
        +      "valid_states",
        +      "valid_country_codes"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changeddispatch.evals9 fields changed
      • changedOutput schema / properties / estimated / description
        Previous value: -"False only when goal-fulfillment rates are backed by fresh, sufficient production telemetry."New value: +"False only when every goal-fulfillment rate is backed by fresh, sufficient production telemetry. A rate without such telemetry is null, not an estimate."
      • addedOutput schema / properties / goal_fulfillment / description
        Added value: +"Each rate is a live measurement or null. Null means unavailable (see provenance.by_field), not zero."
      • changedOutput schema / properties / goal_fulfillment / properties / completion_rate / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / goal_fulfillment / properties / human_override_rate / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / goal_fulfillment / properties / nte_accuracy / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / goal_fulfillment / properties / redispatch_rate / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / goal_fulfillment / properties / source / enum
        Previous value: -[
        -  "live_telemetry",
        -  "canonical_estimate"
        -]New value: +[
        +  "live_telemetry",
        +  "unavailable"
        +]
      • addedOutput schema / properties / operational / properties / latency_source / enum
        Added value: +[
        +  "live_telemetry",
        +  "unavailable"
        +]
      • changedOutput schema / properties / provenance / description
        Previous value: -"Per-field record of whether each published figure is measured or estimated."New value: +"Per-field record of whether each figure is measured (live_telemetry), a stated target or coverage statement (canonical_estimate), or unavailable (published as null)."
  9. 2 tool updates
    • Changeddispatch.estimate2 fields changed
      • changedOutput schema / description
        Previous value: -"A full wage-to-billed-rate estimate, or an unknown/missing trade error — never a fabricated number."New value: +"Modeled customer pricing with wage benchmark provenance, or an unknown/missing trade error — never a fabricated number."
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "basis": {
        -        "const": "wage_to_billed_rate_transform",
        -        "type": "string"
        -      },
        -      "billed_estimate": {
        -        "additionalProperties": true,
        -        "description": "What a buyer pays — every component of the arithmetic, re-derivable via formula.",
        -        "properties": {
        -          "billed_hourly_rate_cents": {
        -            "type": "integer"
        -          },
        -          "billed_hourly_rate_routine_cents": {
        -            "type": "integer"
        -          },
        -          "currency": {
        -            "const": "USD",
        -            "type": "string"
        -          },
        -          "formula": {
        -            "type": "string"
        -          },
        -          "labor_burden_multiplier": {
        -            "type": "number"
        -          },
        -          "minimum_billable_hours": {
        -            "type": "number"
        -          },
        -          "total_cents": {
        -            "type": "integer"
        -          },
        -          "total_usd": {
        -            "type": "number"
        -          },
        -          "trip_fee_cents": {
        -            "type": "integer"
        -          },
        -          "urgency_multiplier": {
        -            "type": "number"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "disclosure": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "estimated": {
        -        "const": true,
        -        "type": "boolean"
        -      },
        -      "estimated_cost_cents": {
        -        "description": "Alias of billed_estimate.total_cents.",
        -        "type": "integer"
        -      },
        -      "location_resolution": {
        -        "additionalProperties": true,
        -        "properties": {
        -          "location_sensitive": {
        -            "type": "boolean"
        -          },
        -          "reason": {
        -            "type": "string"
        -          },
        -          "resolved_metro": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "resolved_metro_label": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "scope": {
        -            "enum": [
        -              "metro_cited",
        -              "national_baseline",
        -              "mena_coverage_beta"
        -            ],
        -            "type": "string"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "rate_card": {
        -        "properties": {
        -          "median_dollars": {
        -            "type": "number"
        -          },
        -          "p25_dollars": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "p75_dollars": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "rate_model_version": {
        -        "type": "string"
        -      },
        -      "source": {
        -        "const": "public_rate_card",
        -        "type": "string"
        -      },
        -      "trade": {
        -        "type": "string"
        -      },
        -      "urgency": {
        -        "enum": [
        -          "emergency",
        -          "urgent",
        -          "routine",
        -          "scheduled"
        -        ],
        -        "type": "string"
        -      },
        -      "wage_basis": {
        -        "additionalProperties": true,
        -        "description": "The cited hourly WAGE input — NOT the price.",
        -        "properties": {
        -          "bls_occ_code": {
        -            "type": "string"
        -          },
        -          "kind": {
        -            "const": "hourly_wage",
        -            "type": "string"
        -          },
        -          "median_cents": {
        -            "type": "integer"
        -          },
        -          "note": {
        -            "type": "string"
        -          },
        -          "p25_cents": {
        -            "type": [
        -              "integer",
        -              "null"
        -            ]
        -          },
        -          "p75_cents": {
        -            "type": [
        -              "integer",
        -              "null"
        -            ]
        -          },
        -          "scope_label": {
        -            "type": "string"
        -          },
        -          "source_url": {
        -            "type": "string"
        -          },
        -          "trade_label": {
        -            "type": "string"
        -          }
        -        },
        -        "type": "object"
        -      }
        -    },
        -    "required": [
        -      "estimated",
        -      "source",
        -      "basis",
        -      "rate_model_version",
        -      "trade",
        -      "urgency",
        -      "location_resolution",
        -      "wage_basis",
        -      "billed_estimate",
        -      "estimated_cost_cents",
        -      "rate_card",
        -      "disclosure"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "description": "Trade was missing or not recognized. No number is fabricated.",
        -    "properties": {
        -      "error": {
        -        "enum": [
        -          "unknown_trade",
        -          "trade_required"
        -        ],
        -        "type": "string"
        -      },
        -      "estimated": {
        -        "const": false,
        -        "type": "boolean"
        -      },
        -      "known_trades": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "source": {
        -        "const": "public_rate_card",
        -        "type": "string"
        -      },
        -      "trade": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "valid_trades": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "estimated",
        -      "source",
        -      "error",
        -      "trade",
        -      "valid_trades",
        -      "known_trades"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "basis": {
        +        "const": "modeled_customer_pricing",
        +        "type": "string"
        +      },
        +      "billed_estimate": {
        +        "additionalProperties": false,
        +        "description": "Modeled customer hourly rates, billable hours, labor and trip line items, total and range. Not a binding quote.",
        +        "properties": {
        +          "billed_hourly_rate_cents": {
        +            "type": "integer"
        +          },
        +          "billed_hourly_rate_routine_cents": {
        +            "type": "integer"
        +          },
        +          "currency": {
        +            "const": "USD",
        +            "type": "string"
        +          },
        +          "labor_subtotal_cents": {
        +            "type": "integer"
        +          },
        +          "minimum_billable_hours": {
        +            "type": "number"
        +          },
        +          "range_high_cents": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "range_low_cents": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "total_cents": {
        +            "type": "integer"
        +          },
        +          "total_usd": {
        +            "type": "number"
        +          },
        +          "trip_fee_cents": {
        +            "type": "integer"
        +          },
        +          "urgency": {
        +            "enum": [
        +              "emergency",
        +              "urgent",
        +              "routine",
        +              "scheduled"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "disclosure": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "estimated": {
        +        "const": true,
        +        "type": "boolean"
        +      },
        +      "estimated_cost_cents": {
        +        "description": "Alias of billed_estimate.total_cents.",
        +        "type": "integer"
        +      },
        +      "location": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "city": {
        +            "type": "string"
        +          },
        +          "state": {
        +            "type": "string"
        +          },
        +          "zip": {
        +            "type": "string"
        +          }
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "location_resolution": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "covered_metros": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "location_sensitive": {
        +            "type": "boolean"
        +          },
        +          "reason": {
        +            "type": "string"
        +          },
        +          "requested": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "city": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "state": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "zip": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "resolved_metro": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "resolved_metro_label": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "scope": {
        +            "enum": [
        +              "metro_cited",
        +              "national_baseline",
        +              "mena_coverage_beta"
        +            ],
        +            "type": "string"
        +          },
        +          "zip_used": {
        +            "const": false,
        +            "type": "boolean"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "measurement": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "billed_estimate": {
        +            "const": "estimated",
        +            "type": "string"
        +          },
        +          "explanation": {
        +            "type": "string"
        +          },
        +          "wage_basis": {
        +            "const": "estimated",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "rate_card": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "median_dollars": {
        +            "type": "number"
        +          },
        +          "p25_dollars": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "p75_dollars": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "rate_model_version": {
        +        "type": "string"
        +      },
        +      "source": {
        +        "const": "public_rate_card",
        +        "type": "string"
        +      },
        +      "trade": {
        +        "type": "string"
        +      },
        +      "urgency": {
        +        "enum": [
        +          "emergency",
        +          "urgent",
        +          "routine",
        +          "scheduled"
        +        ],
        +        "type": "string"
        +      },
        +      "wage_basis": {
        +        "additionalProperties": false,
        +        "description": "The cited hourly WAGE input — NOT the price.",
        +        "properties": {
        +          "annual_median_usd": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "bls_occ_code": {
        +            "type": "string"
        +          },
        +          "dataset": {
        +            "type": "string"
        +          },
        +          "kind": {
        +            "const": "hourly_wage",
        +            "type": "string"
        +          },
        +          "median_cents": {
        +            "type": "integer"
        +          },
        +          "note": {
        +            "type": "string"
        +          },
        +          "p25_cents": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "p75_cents": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "period": {
        +            "type": "string"
        +          },
        +          "release": {
        +            "type": "string"
        +          },
        +          "sample_size": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "scope": {
        +            "enum": [
        +              "metro_cited",
        +              "national_baseline",
        +              "mena_coverage_beta"
        +            ],
        +            "type": "string"
        +          },
        +          "scope_label": {
        +            "type": "string"
        +          },
        +          "source": {
        +            "type": "string"
        +          },
        +          "source_url": {
        +            "type": "string"
        +          },
        +          "trade_label": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "estimated",
        +      "source",
        +      "basis",
        +      "rate_model_version",
        +      "trade",
        +      "urgency",
        +      "location_resolution",
        +      "wage_basis",
        +      "billed_estimate",
        +      "estimated_cost_cents",
        +      "rate_card",
        +      "disclosure"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "description": "Trade was missing or not recognized. No number is fabricated.",
        +    "properties": {
        +      "error": {
        +        "enum": [
        +          "unknown_trade",
        +          "trade_required"
        +        ],
        +        "type": "string"
        +      },
        +      "estimated": {
        +        "const": false,
        +        "type": "boolean"
        +      },
        +      "known_trades": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "source": {
        +        "const": "public_rate_card",
        +        "type": "string"
        +      },
        +      "trade": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "valid_trades": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "estimated",
        +      "source",
        +      "error",
        +      "trade",
        +      "valid_trades",
        +      "known_trades"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changeddispatch.index18 fields changed
      • addedOutput schema / additionalProperties
        Added value: +false
      • changedOutput schema / properties / trades / items / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / trades / items / description
        Previous value: -"kind is always \"hourly_wage\" — medianRateDollars/p25/p75 (and their *Wage* aliases) are what a technician earns, NOT a price. billedHourlyRateRoutine* is what a buyer pays."New value: +"kind is always \"hourly_wage\" — medianRateDollars/p25/p75 (and their *Wage* aliases) are what a technician earns, NOT a price. billedHourlyRateRoutine* is a modeled customer hourly estimate."
      • addedOutput schema / properties / trades / items / properties / blsOccCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / trades / items / properties / medianRateDollars
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / trades / items / properties / metro
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / trades / items / properties / p25RateDollars
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / trades / items / properties / p75RateDollars
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / trades / items / properties / period
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / trades / items / properties / sampleSize
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / trades / items / properties / state
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / trades / items / properties / trade
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / trades / items / properties / tradeLabel
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / trades / items / properties / urgency
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / wage_vs_billed / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / wage_vs_billed / properties / formula
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / wage_vs_billed / properties / labor_burden_multiplier
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / wage_vs_billed / properties / overhead_margin_markup
        Removed value: -{
        -  "type": "number"
        -}
  10. 6 tool updates
    • Changedagentic.readiness_probe1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "description": "Either a successful probe (ok=true, report + demo) or a business error (e.g. missing url) — never a fabricated report.",
        +  "oneOf": [
        +    {
        +      "properties": {
        +        "demo": {
        +          "properties": {
        +            "hashSnippet": {
        +              "type": "string"
        +            },
        +            "id": {
        +              "type": "string"
        +            },
        +            "permalink": {
        +              "type": "string"
        +            },
        +            "persisted": {
        +              "type": "boolean"
        +            },
        +            "verifyPath": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "permalink",
        +            "verifyPath",
        +            "hashSnippet",
        +            "persisted"
        +          ],
        +          "type": "object"
        +        },
        +        "ok": {
        +          "const": true,
        +          "type": "boolean"
        +        },
        +        "report": {
        +          "properties": {
        +            "checks": {
        +              "items": {
        +                "properties": {
        +                  "detail": {
        +                    "type": "string"
        +                  },
        +                  "id": {
        +                    "type": "string"
        +                  },
        +                  "label": {
        +                    "type": "string"
        +                  },
        +                  "status": {
        +                    "enum": [
        +                      "pass",
        +                      "warn",
        +                      "fail",
        +                      "skip"
        +                    ],
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "id",
        +                  "label",
        +                  "status",
        +                  "detail"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "grade": {
        +              "enum": [
        +                "A",
        +                "B",
        +                "C",
        +                "D",
        +                "F"
        +              ],
        +              "type": "string"
        +            },
        +            "host": {
        +              "type": "string"
        +            },
        +            "next": {
        +              "properties": {
        +                "flagship": {
        +                  "type": "string"
        +                },
        +                "sample": {
        +                  "type": "string"
        +                },
        +                "storeGuardBuy": {
        +                  "type": "string"
        +                }
        +              },
        +              "type": "object"
        +            },
        +            "origin": {
        +              "type": "string"
        +            },
        +            "probedAt": {
        +              "type": "string"
        +            },
        +            "score": {
        +              "type": "number"
        +            },
        +            "summary": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "host",
        +            "origin",
        +            "score",
        +            "grade",
        +            "summary",
        +            "checks",
        +            "probedAt",
        +            "next"
        +          ],
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "ok",
        +        "report",
        +        "demo"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": true,
        +      "description": "Business error — e.g. missing/invalid url argument, rate limit.",
        +      "properties": {
        +        "error": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "error"
        +      ],
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changeddispatch.estimate1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "description": "A full wage-to-billed-rate estimate, or an unknown/missing trade error — never a fabricated number.",
        +  "oneOf": [
        +    {
        +      "properties": {
        +        "basis": {
        +          "const": "wage_to_billed_rate_transform",
        +          "type": "string"
        +        },
        +        "billed_estimate": {
        +          "additionalProperties": true,
        +          "description": "What a buyer pays — every component of the arithmetic, re-derivable via formula.",
        +          "properties": {
        +            "billed_hourly_rate_cents": {
        +              "type": "integer"
        +            },
        +            "billed_hourly_rate_routine_cents": {
        +              "type": "integer"
        +            },
        +            "currency": {
        +              "const": "USD",
        +              "type": "string"
        +            },
        +            "formula": {
        +              "type": "string"
        +            },
        +            "labor_burden_multiplier": {
        +              "type": "number"
        +            },
        +            "minimum_billable_hours": {
        +              "type": "number"
        +            },
        +            "total_cents": {
        +              "type": "integer"
        +            },
        +            "total_usd": {
        +              "type": "number"
        +            },
        +            "trip_fee_cents": {
        +              "type": "integer"
        +            },
        +            "urgency_multiplier": {
        +              "type": "number"
        +            }
        +          },
        +          "type": "object"
        +        },
        +        "disclosure": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "estimated": {
        +          "const": true,
        +          "type": "boolean"
        +        },
        +        "estimated_cost_cents": {
        +          "description": "Alias of billed_estimate.total_cents.",
        +          "type": "integer"
        +        },
        +        "location_resolution": {
        +          "additionalProperties": true,
        +          "properties": {
        +            "location_sensitive": {
        +              "type": "boolean"
        +            },
        +            "reason": {
        +              "type": "string"
        +            },
        +            "resolved_metro": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "resolved_metro_label": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "scope": {
        +              "enum": [
        +                "metro_cited",
        +                "national_baseline",
        +                "mena_coverage_beta"
        +              ],
        +              "type": "string"
        +            }
        +          },
        +          "type": "object"
        +        },
        +        "rate_card": {
        +          "properties": {
        +            "median_dollars": {
        +              "type": "number"
        +            },
        +            "p25_dollars": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "p75_dollars": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "type": "object"
        +        },
        +        "rate_model_version": {
        +          "type": "string"
        +        },
        +        "source": {
        +          "const": "public_rate_card",
        +          "type": "string"
        +        },
        +        "trade": {
        +          "type": "string"
        +        },
        +        "urgency": {
        +          "enum": [
        +            "emergency",
        +            "urgent",
        +            "routine",
        +            "scheduled"
        +          ],
        +          "type": "string"
        +        },
        +        "wage_basis": {
        +          "additionalProperties": true,
        +          "description": "The cited hourly WAGE input — NOT the price.",
        +          "properties": {
        +            "bls_occ_code": {
        +              "type": "string"
        +            },
        +            "kind": {
        +              "const": "hourly_wage",
        +              "type": "string"
        +            },
        +            "median_cents": {
        +              "type": "integer"
        +            },
        +            "note": {
        +              "type": "string"
        +            },
        +            "p25_cents": {
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "p75_cents": {
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "scope_label": {
        +              "type": "string"
        +            },
        +            "source_url": {
        +              "type": "string"
        +            },
        +            "trade_label": {
        +              "type": "string"
        +            }
        +          },
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "estimated",
        +        "source",
        +        "basis",
        +        "rate_model_version",
        +        "trade",
        +        "urgency",
        +        "location_resolution",
        +        "wage_basis",
        +        "billed_estimate",
        +        "estimated_cost_cents",
        +        "rate_card",
        +        "disclosure"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "description": "Trade was missing or not recognized. No number is fabricated.",
        +      "properties": {
        +        "error": {
        +          "enum": [
        +            "unknown_trade",
        +            "trade_required"
        +          ],
        +          "type": "string"
        +        },
        +        "estimated": {
        +          "const": false,
        +          "type": "boolean"
        +        },
        +        "known_trades": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "source": {
        +          "const": "public_rate_card",
        +          "type": "string"
        +        },
        +        "trade": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "valid_trades": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "estimated",
        +        "source",
        +        "error",
        +        "trade",
        +        "valid_trades",
        +        "known_trades"
        +      ],
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changeddispatch.evals1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "estimated": {
        +      "description": "False only when goal-fulfillment rates are backed by fresh, sufficient production telemetry.",
        +      "type": "boolean"
        +    },
        +    "goal_fulfillment": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "completion_rate": {
        +          "type": "number"
        +        },
        +        "human_override_rate": {
        +          "type": "number"
        +        },
        +        "nte_accuracy": {
        +          "type": "number"
        +        },
        +        "redispatch_rate": {
        +          "type": "number"
        +        },
        +        "sampled_at": {
        +          "type": "string"
        +        },
        +        "source": {
        +          "enum": [
        +            "live_telemetry",
        +            "canonical_estimate"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "methodology": {
        +      "additionalProperties": true,
        +      "description": "Metric definitions, named-period window, source-class vocabulary. Never a sample size.",
        +      "type": "object"
        +    },
        +    "operational": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "active_providers": {
        +          "type": "null"
        +        },
        +        "active_states": {
        +          "type": "string"
        +        },
        +        "avg_dispatch_latency_ms": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "jobs_dispatched_30d": {
        +          "type": "null"
        +        },
        +        "latency_source": {
        +          "type": "string"
        +        },
        +        "p95_dispatch_latency_ms": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "pricing_latency_p50_ms": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "pricing_latency_p95_ms": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "pricing_latency_sampled_at": {
        +          "type": "string"
        +        },
        +        "pricing_latency_source": {
        +          "enum": [
        +            "live_telemetry",
        +            "unavailable"
        +          ],
        +          "type": "string"
        +        },
        +        "quote_turnaround_hours": {
        +          "type": "number"
        +        },
        +        "quote_turnaround_is_sla": {
        +          "type": "boolean"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "period": {
        +      "enum": [
        +        "rolling_7d",
        +        "rolling_30d",
        +        "rolling_90d"
        +      ],
        +      "type": "string"
        +    },
        +    "provenance": {
        +      "additionalProperties": true,
        +      "description": "Per-field record of whether each published figure is measured or estimated.",
        +      "type": "object"
        +    },
        +    "schema_version": {
        +      "type": "string"
        +    },
        +    "trust_signals": {
        +      "properties": {
        +        "build_hash": {
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "schema_version",
        +    "period",
        +    "estimated",
        +    "goal_fulfillment",
        +    "operational",
        +    "trust_signals",
        +    "provenance",
        +    "methodology"
        +  ],
        +  "type": "object"
        +}
    • Changeddispatch.index1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "model_assumptions": {
        +      "type": "string"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "rate_model_version": {
        +      "type": "string"
        +    },
        +    "source_period": {
        +      "type": "string"
        +    },
        +    "trades": {
        +      "items": {
        +        "additionalProperties": true,
        +        "description": "kind is always \"hourly_wage\" — medianRateDollars/p25/p75 (and their *Wage* aliases) are what a technician earns, NOT a price. billedHourlyRateRoutine* is what a buyer pays.",
        +        "properties": {
        +          "billedHourlyRateRoutineCents": {
        +            "type": "integer"
        +          },
        +          "billedHourlyRateRoutineDollars": {
        +            "type": "number"
        +          },
        +          "kind": {
        +            "const": "hourly_wage",
        +            "type": "string"
        +          },
        +          "medianWageDollars": {
        +            "type": "number"
        +          },
        +          "p25WageDollars": {
        +            "type": "number"
        +          },
        +          "p75WageDollars": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "kind",
        +          "medianWageDollars",
        +          "p25WageDollars",
        +          "p75WageDollars",
        +          "billedHourlyRateRoutineCents",
        +          "billedHourlyRateRoutineDollars"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "updated_at": {
        +      "type": "string"
        +    },
        +    "wage_vs_billed": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "billed_fields": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "formula": {
        +          "type": "string"
        +        },
        +        "full_estimate_tool": {
        +          "type": "string"
        +        },
        +        "labor_burden_multiplier": {
        +          "type": "number"
        +        },
        +        "overhead_margin_markup": {
        +          "type": "number"
        +        },
        +        "wage_fields": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "warning": {
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "trades",
        +    "wage_vs_billed",
        +    "note",
        +    "model_assumptions",
        +    "updated_at",
        +    "source_period",
        +    "rate_model_version"
        +  ],
        +  "type": "object"
        +}
    • Changeddispatch.order1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "description": "A recorded work order — fulfilled (contractor matched, HTTP 201) or accepted_pending_fulfilment (no contractor yet, HTTP 202) — or a business/entitlement error passthrough.",
        +  "oneOf": [
        +    {
        +      "properties": {
        +        "accepted": {
        +          "const": true,
        +          "type": "boolean"
        +        },
        +        "created": {
        +          "const": true,
        +          "type": "boolean"
        +        },
        +        "fulfilled": {
        +          "type": "boolean"
        +        },
        +        "fulfilment": {
        +          "description": "Present only when fulfilled=false.",
        +          "properties": {
        +            "assigned": {
        +              "const": false,
        +              "type": "boolean"
        +            },
        +            "detail": {
        +              "type": "string"
        +            },
        +            "escalation_contact": {
        +              "type": "string"
        +            },
        +            "reason": {
        +              "type": "string"
        +            }
        +          },
        +          "type": "object"
        +        },
        +        "order": {
        +          "additionalProperties": true,
        +          "properties": {
        +            "assigned_contractor_ref": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "created_at": {
        +              "type": "string"
        +            },
        +            "estimated_response_minutes": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "id": {
        +              "type": "string"
        +            },
        +            "location": {
        +              "type": "object"
        +            },
        +            "quoted_cost_cents": {
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "quoted_cost_usd": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "status": {
        +              "enum": [
        +                "pending_dispatch",
        +                "accepted_pending_fulfilment"
        +              ],
        +              "type": "string"
        +            },
        +            "trade": {
        +              "type": "string"
        +            },
        +            "urgency": {
        +              "enum": [
        +                "emergency",
        +                "urgent",
        +                "routine",
        +                "scheduled"
        +              ],
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "status",
        +            "trade",
        +            "location",
        +            "urgency",
        +            "created_at"
        +          ],
        +          "type": "object"
        +        },
        +        "tracking": {
        +          "properties": {
        +            "auth": {
        +              "type": "string"
        +            },
        +            "status_url": {
        +              "type": "string"
        +            }
        +          },
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "created",
        +        "accepted",
        +        "fulfilled",
        +        "order",
        +        "tracking"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": true,
        +      "description": "Business/rate-limit/entitlement error passthrough.",
        +      "properties": {
        +        "error": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "error"
        +      ],
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changeddispatch.quote1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "description": "A matched-contractor quote, a no-availability response, or a business/auth error passthrough from the downstream dispatch API.",
        +  "oneOf": [
        +    {
        +      "description": "A contractor was matched.",
        +      "properties": {
        +        "available": {
        +          "const": true,
        +          "type": "boolean"
        +        },
        +        "next_steps": {
        +          "properties": {
        +            "contact": {
        +              "type": "string"
        +            },
        +            "dispatch": {
        +              "type": "string"
        +            },
        +            "docs": {
        +              "type": "string"
        +            }
        +          },
        +          "type": "object"
        +        },
        +        "quote": {
        +          "properties": {
        +            "alternates_count": {
        +              "type": "integer"
        +            },
        +            "best_match": {
        +              "properties": {
        +                "estimated_cost_cents": {
        +                  "type": "integer"
        +                },
        +                "estimated_cost_usd": {
        +                  "type": "string"
        +                },
        +                "estimated_response_minutes": {
        +                  "type": "number"
        +                },
        +                "match_score": {
        +                  "type": "number"
        +                }
        +              },
        +              "type": "object"
        +            },
        +            "estimated_eta": {
        +              "type": "string"
        +            },
        +            "generated_at": {
        +              "type": "string"
        +            },
        +            "location": {
        +              "type": "object"
        +            },
        +            "trade": {
        +              "type": "string"
        +            },
        +            "urgency": {
        +              "enum": [
        +                "emergency",
        +                "urgent",
        +                "routine",
        +                "scheduled"
        +              ],
        +              "type": "string"
        +            },
        +            "valid_for_minutes": {
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "trade",
        +            "location",
        +            "urgency",
        +            "estimated_eta",
        +            "best_match",
        +            "alternates_count",
        +            "generated_at",
        +            "valid_for_minutes"
        +          ],
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "available",
        +        "quote",
        +        "next_steps"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "description": "No contractor is currently available for this trade/location.",
        +      "properties": {
        +        "available": {
        +          "const": false,
        +          "type": "boolean"
        +        },
        +        "location": {
        +          "type": "object"
        +        },
        +        "message": {
        +          "type": "string"
        +        },
        +        "trade": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "available",
        +        "message",
        +        "trade",
        +        "location"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": true,
        +      "description": "Business/rate-limit/auth error passthrough.",
        +      "properties": {
        +        "error": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "error"
        +      ],
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Connects conversational AI agents to live inventories of verified neighborhood retail stores through GPS-radius catalog search, zero-PII order reservations with direct merchant checkout links, real-time fulfillment tracking, and store trust reporting. Shoppers settle payment directly with merchants while orders trigger counter terminals and courier dispatch slips.
    2
    4
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that lets agents run free, keyless lead-leak audits on UK local service businesses — detecting form platforms and their outreach implications, checking whether phone numbers are tappable tel: links, comparing phone numbers across a site and free directories, screening website hygiene, and locating a business's own site. It also bundles these into a single full audit that returns a prioritised list of fixable issues alongside top local competitors.
    6
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources