Skip to main content
Glama

STEADYWRK Field Service Dispatch

Read the dispatch trade catalog

dispatch.index
Read-onlyIdempotent

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

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteYes
tradesYes
updated_atYes
source_periodYes
wage_vs_billedYes
model_assumptionsYes
rate_model_versionYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema 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"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful context: it clarifies that wages are technician earnings (not prices), explains the billing derivation from the same transform dispatch.estimate uses, and notes that no API key is required. This goes beyond the annotations without contradicting them.

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?

The description is compact yet dense with information. Every sentence serves a purpose: it states the resource, enumerates the fields, clarifies semantics (wage vs. price), and connects to the sibling tool. It is well front-loaded with the core purpose and then adds the clarifying details.

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 zero-parameter read-only catalog tool with an output schema, the description is nearly complete. It provides the key context an agent needs: what the data represents, how the billed rate is derived, and that no auth is required. The only minor gap is not mentioning pagination or size limits, but for 8 verticals this is likely a non-issue, and the output schema covers return structure.

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 input schema has zero parameters and 100% schema description coverage, so the schema already tells the agent there are no inputs. The description reinforces this by stating the exact fixed content (8 verticals with specific fields) and the wage vs. billed distinction, which is useful for understanding the output without needing parameters.

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?

The description uses a specific verb ('Return') and clearly identifies the resource: the catalog of 8 dispatch trade verticals. It distinguishes itself from siblings by emphasizing the catalog and wage-vs-billed distinction, which is not something dispatch.estimate or dispatch.process would provide.

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 states when to use this tool (to read the catalog) and clarifies that it is not a price lookup, which prevents misuse. It doesn't explicitly name alternatives like dispatch.estimate or dispatch.process, but the context strongly implies the catalog is the reference for estimates, so the usage context is clear.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.7/5.0
Disambiguation4/5

dispatch.estimate, dispatch.quote, and dispatch.index all touch pricing, but their descriptions clearly distinguish public modeled estimates from credentialed quotes and reference catalog data. dispatch.order and dispatch.evals are distinct, while agentic.readiness_probe is unrelated but unambiguous.

Naming Consistency4/5

Most tools follow a consistent dispatch.<noun/verb> pattern with lowercase single-word names like dispatch.quote and dispatch.order. The agentic.readiness_probe tool breaks the pattern with a different prefix and underscore suffix, and dispatch.evals uses an abbreviation, but the overall convention remains readable and mostly predictable.

Tool Count4/5

Six tools is a reasonable, well-scoped count for a field-service dispatch server. However, agentic.readiness_probe appears to belong to a separate storefront-readiness product, which slightly dilutes the server's focus even though the count itself is not excessive.

Completeness3/5

The set covers public pricing estimates, quotes, reference data, methodology documentation, and order creation. It lacks order status, update, list, or cancel operations, and fulfillment is only represented by a returned status URL. That leaves a notable lifecycle gap for a server named Field Service Dispatch.

Resources