STEADYWRK Agentic Readiness Probe, Store Guard and Dispatch
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Keyless storefront readiness probe linking a Store Guard audit, plus dispatch estimates and quotes.
| Author | app.steadywrk |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2433 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"STEADYWRK Agentic Readiness Probe, Store Guard and Dispatch": {
"url": "https://steadywrk.app/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (9)
agentic.readiness_proberead-onlyRun 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.
Parameters:
url(required) — string — Public storefront URL or domain
Hints: read-only yes · destructive no · idempotent yes · open-world yes
dispatch.quoteRequest 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: [email protected]. 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.
Parameters:
trade(required) — string — Trade code: hvac, plumbing, electrical, general_maintenance, roofing, painting, carpentry or locksmith (see dispatch.index).location(required) — objectcompany— stringurgency— stringnte_cents— integertest_mode— boolean — 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.description— stringcontact_name— stringcontact_email— string — Only without a key: where a person replies with the quote. The request is filed for review.
Hints: read-only no · destructive no · idempotent no · open-world yes
dispatch.estimateread-onlyPublic 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.
Parameters:
trade(required) — string — Trade code: hvac, plumbing, electrical, general_maintenance, roofing, painting, carpentry or locksmith (see dispatch.index).location(required) — objecturgency— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
dispatch.orderdestructiveCreate 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: [email protected].
Parameters:
trade(required) — string — Trade code, as listed by dispatch.index (e.g. plumbing, hvac, electrical).location(required) — objectdescription(required) — stringurgency— stringnte_cents— integertest_mode— boolean — 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.callback_url— stringreference_id— string
Hints: read-only no · destructive yes · idempotent no · open-world yes
dispatch.order_statusread-onlyReturn 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: [email protected].
Parameters:
order_id(required) — string — The order.id returned by dispatch.order.
Hints: read-only yes · destructive no · idempotent yes · open-world no
dispatch.evalsread-onlyReturn 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.
Parameters:
period— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
dispatch.indexread-onlyReturn 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.
Hints: read-only yes · destructive no · idempotent yes · open-world no
acp.validateread-onlyFree 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.
Parameters:
url— string — Public store URL or domain, e.g. shop.example.comdocument— string — The discovery document's JSON text, checked without any fetch
Hints: read-only yes · destructive no · idempotent yes · open-world yes
ucp.validateread-onlyFree 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.
Parameters:
url— string — Public store URL or domain, e.g. shop.example.comdocument— string — The discovery document's JSON text, checked without any fetch
Hints: read-only yes · destructive no · idempotent yes · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.