STEADYWRK Field Service Dispatch
Field service dispatch: instant quotes, tracked work orders, public evals. steadywrk.app
Should I use this
Quality & Safety
Findings (6)
- LOWin agentic.readiness_probe
- LOWin dispatch.quote
- LOWin dispatch.estimate
- LOWin dispatch.order
- LOWin dispatch.evals
- LOWin dispatch.index
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mcp-dispatch": {
"url": "https://steadywrk.app/api/mcp"
}
}
}Remote endpoints
https://steadywrk.app/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
βͺagentic.readiness_probe(url)
Free multi-surface storefront readiness snapshot (UCP/ACP discovery, product schema, robots, answer-engine maps). Not an attested Store Guard grade. Response includes a Store Guard $149 CTA. No API key required.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public storefront URL or domain",
"maxLength": 255
}
},
"required": [
"url"
]
}Output Schema
{
"type": "object",
"description": "Either a successful probe (ok=true, report + demo) or a business error (e.g. missing url) β never a fabricated report.",
"oneOf": [
{
"type": "object",
"required": [
"ok",
"report",
"demo"
],
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"report": {
"type": "object",
"required": [
"host",
"origin",
"score",
"grade",
"summary",
"checks",
"probedAt",
"next"
],
"properties": {
"host": {
"type": "string"
},
"origin": {
"type": "string"
},
"score": {
"type": "number"
},
"grade": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D",
"F"
]
},
"summary": {
"type": "string"
},
"checks": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"label",
"status",
"detail"
],
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pass",
"warn",
"fail",
"skip"
]
},
"detail": {
"type": "string"
}
}
}
},
"probedAt": {
"type": "string"
},
"next": {
"type": "object",
"properties": {
"storeGuardBuy": {
"type": "string"
},
"sample": {
"type": "string"
},
"flagship": {
"type": "string"
}
}
}
}
},
"demo": {
"type": "object",
"required": [
"id",
"permalink",
"verifyPath",
"hashSnippet",
"persisted"
],
"properties": {
"id": {
"type": "string"
},
"permalink": {
"type": "string"
},
"verifyPath": {
"type": "string"
},
"hashSnippet": {
"type": "string"
},
"persisted": {
"type": "boolean"
}
}
}
}
},
{
"type": "object",
"description": "Business error β e.g. missing/invalid url argument, rate limit.",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
},
"additionalProperties": true
}
]
}βͺdispatch.quote(trade, location, urgency, nte_cents, description)
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 a key at [email protected]. Anonymous callers receive HTTP 401 with WWW-Authenticate. Public modeled pricing is available through dispatch.estimate.
Input Schema
{
"type": "object",
"properties": {
"trade": {
"type": "string",
"description": "Trade code (plumbing, electrical, HVAC, etc.)"
},
"location": {
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"type": "string",
"minLength": 2,
"maxLength": 2
},
"zip": {
"type": "string",
"maxLength": 10
},
"city": {
"type": "string",
"maxLength": 255
}
}
},
"urgency": {
"type": "string",
"enum": [
"emergency",
"urgent",
"routine",
"scheduled"
],
"default": "routine"
},
"nte_cents": {
"type": "integer",
"minimum": 1
},
"description": {
"type": "string",
"maxLength": 2000
}
},
"required": [
"trade",
"location"
]
}Output Schema
{
"type": "object",
"description": "A matched-contractor quote, a no-availability response, or a business/auth error passthrough from the downstream dispatch API.",
"oneOf": [
{
"type": "object",
"description": "A contractor was matched.",
"required": [
"available",
"quote",
"next_steps"
],
"properties": {
"available": {
"type": "boolean",
"const": true
},
"quote": {
"type": "object",
"required": [
"trade",
"location",
"urgency",
"estimated_eta",
"best_match",
"alternates_count",
"generated_at",
"valid_for_minutes"
],
"properties": {
"trade": {
"type": "string"
},
"location": {
"type": "object"
},
"urgency": {
"type": "string",
"enum": [
"emergency",
"urgent",
"routine",
"scheduled"
]
},
"estimated_eta": {
"type": "string"
},
"best_match": {
"type": "object",
"properties": {
"estimated_cost_cents": {
"type": "integer"
},
"estimated_cost_usd": {
"type": "string"
},
"estimated_response_minutes": {
"type": "number"
},
"match_score": {
"type": "number"
}
}
},
"alternates_count": {
"type": "integer"
},
"generated_at": {
"type": "string"
},
"valid_for_minutes": {
"type": "integer"
}
}
},
"next_steps": {
"type": "object",
"properties": {
"dispatch": {
"type": "string"
},
"contact": {
"type": "string"
},
"docs": {
"type": "string"
}
}
}
}
},
{
"type": "object",
"description": "No contractor is currently available for this trade/location.",
"required": [
"available",
"message",
"trade",
"location"
],
"properties": {
"available": {
"type": "boolean",
"const": false
},
"message": {
"type": "string"
},
"trade": {
"type": "string"
},
"location": {
"type": "object"
}
}
},
{
"type": "object",
"description": "Business/rate-limit/auth error passthrough.",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
},
"additionalProperties": true
}
]
}π’dispatch.estimate(trade, location, urgency)
Public modeled field-service price estimate using cited BLS wage data and disclosed model assumptions. Returns wage_basis and billed_estimate so callers can inspect the calculation and geographic basis. The response identifies estimates based on a national baseline and distinguishes model assumptions from observed prices. Use dispatch.quote with an accepted credential to request a quote. No API key required.
Input Schema
{
"type": "object",
"properties": {
"trade": {
"type": "string",
"description": "Trade code (plumbing, electrical, HVAC, etc.)"
},
"location": {
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"type": "string",
"minLength": 2,
"maxLength": 2
},
"zip": {
"type": "string",
"maxLength": 10
},
"city": {
"type": "string",
"maxLength": 255
}
}
},
"urgency": {
"type": "string",
"enum": [
"emergency",
"urgent",
"routine",
"scheduled"
],
"default": "routine"
}
},
"required": [
"trade",
"location"
]
}Output Schema
{
"type": "object",
"description": "A full wage-to-billed-rate estimate, or an unknown/missing trade error β never a fabricated number.",
"oneOf": [
{
"type": "object",
"required": [
"estimated",
"source",
"basis",
"rate_model_version",
"trade",
"urgency",
"location_resolution",
"wage_basis",
"billed_estimate",
"estimated_cost_cents",
"rate_card",
"disclosure"
],
"properties": {
"estimated": {
"type": "boolean",
"const": true
},
"source": {
"type": "string",
"const": "public_rate_card"
},
"basis": {
"type": "string",
"const": "wage_to_billed_rate_transform"
},
"rate_model_version": {
"type": "string"
},
"trade": {
"type": "string"
},
"urgency": {
"type": "string",
"enum": [
"emergency",
"urgent",
"routine",
"scheduled"
]
},
"location_resolution": {
"type": "object",
"properties": {
"resolved_metro": {
"type": [
"string",
"null"
]
},
"resolved_metro_label": {
"type": [
"string",
"null"
]
},
"scope": {
"type": "string",
"enum": [
"metro_cited",
"national_baseline",
"mena_coverage_beta"
]
},
"location_sensitive": {
"type": "boolean"
},
"reason": {
"type": "string"
}
},
"additionalProperties": true
},
"wage_basis": {
"type": "object",
"description": "The cited hourly WAGE input β NOT the price.",
"properties": {
"kind": {
"type": "string",
"const": "hourly_wage"
},
"median_cents": {
"type": "integer"
},
"p25_cents": {
"type": [
"integer",
"null"
]
},
"p75_cents": {
"type": [
"integer",
"null"
]
},
"scope_label": {
"type": "string"
},
"bls_occ_code": {
"type": "string"
},
"trade_label": {
"type": "string"
},
"source_url": {
"type": "string"
},
"note": {
"type": "string"
}
},
"additionalProperties": true
},
"billed_estimate": {
"type": "object",
"description": "What a buyer pays β every component of the arithmetic, re-derivable via formula.",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"labor_burden_multiplier": {
"type": "number"
},
"billed_hourly_rate_routine_cents": {
"type": "integer"
},
"urgency_multiplier": {
"type": "number"
},
"billed_hourly_rate_cents": {
"type": "integer"
},
"minimum_billable_hours": {
"type": "number"
},
"trip_fee_cents": {
"type": "integer"
},
"total_cents": {
"type": "integer"
},
"total_usd": {
"type": "number"
},
"formula": {
"type": "string"
}
},
"additionalProperties": true
},
"estimated_cost_cents": {
"type": "integer",
"description": "Alias of billed_estimate.total_cents."
},
"rate_card": {
"type": "object",
"properties": {
"median_dollars": {
"type": "number"
},
"p25_dollars": {
"type": [
"number",
"null"
]
},
"p75_dollars": {
"type": [
"number",
"null"
]
}
}
},
"disclosure": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
{
"type": "object",
"description": "Trade was missing or not recognized. No number is fabricated.",
"required": [
"estimated",
"source",
"error",
"trade",
"valid_trades",
"known_trades"
],
"properties": {
"estimated": {
"type": "boolean",
"const": false
},
"source": {
"type": "string",
"const": "public_rate_card"
},
"error": {
"type": "string",
"enum": [
"unknown_trade",
"trade_required"
]
},
"trade": {
"type": [
"string",
"null"
]
},
"valid_trades": {
"type": "array",
"items": {
"type": "string"
}
},
"known_trades": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
]
}π΄dispatch.order(trade, location, urgency, nte_cents, description, ...)
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. Provisioning contact: [email protected].
Input Schema
{
"type": "object",
"properties": {
"trade": {
"type": "string"
},
"location": {
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"type": "string",
"minLength": 2,
"maxLength": 2
},
"zip": {
"type": "string",
"maxLength": 10
},
"city": {
"type": "string",
"maxLength": 255
},
"address": {
"type": "string",
"maxLength": 1000
},
"name": {
"type": "string",
"maxLength": 500
}
}
},
"urgency": {
"type": "string",
"enum": [
"emergency",
"urgent",
"routine",
"scheduled"
],
"default": "routine"
},
"nte_cents": {
"type": "integer",
"minimum": 1
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 5000
},
"callback_url": {
"type": "string",
"format": "uri"
},
"reference_id": {
"type": "string",
"maxLength": 255
}
},
"required": [
"trade",
"location",
"description"
]
}Output Schema
{
"type": "object",
"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": [
{
"type": "object",
"required": [
"created",
"accepted",
"fulfilled",
"order",
"tracking"
],
"properties": {
"created": {
"type": "boolean",
"const": true
},
"accepted": {
"type": "boolean",
"const": true
},
"fulfilled": {
"type": "boolean"
},
"order": {
"type": "object",
"required": [
"id",
"status",
"trade",
"location",
"urgency",
"created_at"
],
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending_dispatch",
"accepted_pending_fulfilment"
]
},
"trade": {
"type": "string"
},
"location": {
"type": "object"
},
"urgency": {
"type": "string",
"enum": [
"emergency",
"urgent",
"routine",
"scheduled"
]
},
"quoted_cost_cents": {
"type": [
"integer",
"null"
]
},
"quoted_cost_usd": {
"type": [
"string",
"null"
]
},
"assigned_contractor_ref": {
"type": [
"string",
"null"
]
},
"estimated_response_minutes": {
"type": [
"number",
"null"
]
},
"created_at": {
"type": "string"
}
},
"additionalProperties": true
},
"fulfilment": {
"type": "object",
"description": "Present only when fulfilled=false.",
"properties": {
"assigned": {
"type": "boolean",
"const": false
},
"reason": {
"type": "string"
},
"detail": {
"type": "string"
},
"escalation_contact": {
"type": "string"
}
}
},
"tracking": {
"type": "object",
"properties": {
"status_url": {
"type": "string"
},
"auth": {
"type": "string"
}
}
}
}
},
{
"type": "object",
"description": "Business/rate-limit/entitlement error passthrough.",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
},
"additionalProperties": true
}
]
}π’dispatch.evals(period)
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.
Input Schema
{
"type": "object",
"properties": {
"period": {
"type": "string",
"enum": [
"rolling_7d",
"rolling_30d",
"rolling_90d"
],
"default": "rolling_30d"
}
}
}Output Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string"
},
"period": {
"type": "string",
"enum": [
"rolling_7d",
"rolling_30d",
"rolling_90d"
]
},
"estimated": {
"type": "boolean",
"description": "False only when goal-fulfillment rates are backed by fresh, sufficient production telemetry."
},
"goal_fulfillment": {
"type": "object",
"properties": {
"completion_rate": {
"type": "number"
},
"nte_accuracy": {
"type": "number"
},
"redispatch_rate": {
"type": "number"
},
"human_override_rate": {
"type": "number"
},
"source": {
"type": "string",
"enum": [
"live_telemetry",
"canonical_estimate"
]
},
"sampled_at": {
"type": "string"
}
},
"additionalProperties": true
},
"operational": {
"type": "object",
"properties": {
"latency_source": {
"type": "string"
},
"avg_dispatch_latency_ms": {
"type": [
"number",
"null"
]
},
"p95_dispatch_latency_ms": {
"type": [
"number",
"null"
]
},
"quote_turnaround_hours": {
"type": "number"
},
"quote_turnaround_is_sla": {
"type": "boolean"
},
"pricing_latency_source": {
"type": "string",
"enum": [
"live_telemetry",
"unavailable"
]
},
"pricing_latency_p50_ms": {
"type": [
"number",
"null"
]
},
"pricing_latency_p95_ms": {
"type": [
"number",
"null"
]
},
"pricing_latency_sampled_at": {
"type": "string"
},
"jobs_dispatched_30d": {
"type": "null"
},
"active_providers": {
"type": "null"
},
"active_states": {
"type": "string"
}
},
"additionalProperties": true
},
"trust_signals": {
"type": "object",
"properties": {
"build_hash": {
"type": "string"
}
}
},
"provenance": {
"type": "object",
"description": "Per-field record of whether each published figure is measured or estimated.",
"additionalProperties": true
},
"methodology": {
"type": "object",
"description": "Metric definitions, named-period window, source-class vocabulary. Never a sample size.",
"additionalProperties": true
}
},
"required": [
"schema_version",
"period",
"estimated",
"goal_fulfillment",
"operational",
"trust_signals",
"provenance",
"methodology"
]
}π’dispatch.index
Return the catalog of 8 dispatch trade verticals. Per trade: the BLS OES hourly WAGE (medianRateDollars/p25/p75 β what a technician earns, NOT a price) alongside billedHourlyRateRoutineDollars, what a buyer pays hourly at routine urgency, derived by the same wageβbilled transform dispatch.estimate uses. See the wage_vs_billed block. No API key required.
Input Schema
{
"type": "object",
"properties": {}
}Output Schema
{
"type": "object",
"properties": {
"trades": {
"type": "array",
"items": {
"type": "object",
"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.",
"required": [
"kind",
"medianWageDollars",
"p25WageDollars",
"p75WageDollars",
"billedHourlyRateRoutineCents",
"billedHourlyRateRoutineDollars"
],
"properties": {
"kind": {
"type": "string",
"const": "hourly_wage"
},
"medianWageDollars": {
"type": "number"
},
"p25WageDollars": {
"type": "number"
},
"p75WageDollars": {
"type": "number"
},
"billedHourlyRateRoutineCents": {
"type": "integer"
},
"billedHourlyRateRoutineDollars": {
"type": "number"
}
},
"additionalProperties": true
}
},
"wage_vs_billed": {
"type": "object",
"properties": {
"warning": {
"type": "string"
},
"wage_fields": {
"type": "array",
"items": {
"type": "string"
}
},
"billed_fields": {
"type": "array",
"items": {
"type": "string"
}
},
"labor_burden_multiplier": {
"type": "number"
},
"overhead_margin_markup": {
"type": "number"
},
"formula": {
"type": "string"
},
"full_estimate_tool": {
"type": "string"
}
},
"additionalProperties": true
},
"note": {
"type": "string"
},
"model_assumptions": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"source_period": {
"type": "string"
},
"rate_model_version": {
"type": "string"
}
},
"required": [
"trades",
"wage_vs_billed",
"note",
"model_assumptions",
"updated_at",
"source_period",
"rate_model_version"
]
}Recommended Prompts
agentic.readiness_probeagentic.readiness_probeCommunity
Evidence