STEADYWRK Field Service Dispatch

Field service dispatch: instant quotes, tracked work orders, public evals. steadywrk.app

사용해야 할까요

품질 및 안전성

B
설명 품질
100%
스키마 완전성
75%
이름 품질
50%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (6)

  • LOWTool 'agentic.readiness_probe' doesn't follow camelCase/snake_caseagentic.readiness_probe에서
  • LOWTool 'dispatch.quote' doesn't follow camelCase/snake_casedispatch.quote에서
  • LOWTool 'dispatch.estimate' doesn't follow camelCase/snake_casedispatch.estimate에서
  • LOWTool 'dispatch.order' doesn't follow camelCase/snake_casedispatch.order에서
  • LOWTool 'dispatch.evals' doesn't follow camelCase/snake_casedispatch.evals에서
  • LOWTool 'dispatch.index' doesn't follow camelCase/snake_casedispatch.index에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,656토큰 (도구 정의)
~6.1 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.86%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "mcp-dispatch": {
      "url": "https://steadywrk.app/api/mcp"
    }
  }
}

원격 엔드포인트

https://steadywrk.app/api/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (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.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Public storefront URL or domain",
      "maxLength": 255
    }
  },
  "required": [
    "url"
  ]
}

출력 스키마

{
  "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.

입력 스키마

{
  "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"
  ]
}

출력 스키마

{
  "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.

입력 스키마

{
  "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"
  ]
}

출력 스키마

{
  "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].

입력 스키마

{
  "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"
  ]
}

출력 스키마

{
  "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.

입력 스키마

{
  "type": "object",
  "properties": {
    "period": {
      "type": "string",
      "enum": [
        "rolling_7d",
        "rolling_30d",
        "rolling_90d"
      ],
      "default": "rolling_30d"
    }
  }
}

출력 스키마

{
  "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.

입력 스키마

{
  "type": "object",
  "properties": {}
}

출력 스키마

{
  "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"
  ]
}

권장 프롬프트

fetch_info
Fetch [information type] using STEADYWRK Field Service Dispatch
예상 도구: agentic.readiness_probe
retrieve_data
Get details about [item] from STEADYWRK Field Service Dispatch
예상 도구: agentic.readiness_probe

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 6개
검증됨버전이 기록되지 않음도구 6개