Developers
Three tools. One dispatch engine.
The last-mile physical-execution layer for AI workforce stacks — dispatch.quote, dispatch.order, dispatch.evals as first-class tools in any MCP-compatible agent.
OpenAPI 3.1, TypeScript + Python SDKs, MCP server. Call the same three tools from a web app, a script, Claude Desktop, or Cursor. Machine-readable evals are a first-class citizen.
Tools.
| Tool | Args | Returns | Auth |
|---|---|---|---|
| dispatch.quote | { trade, locationZip, nteTarget?, urgencyTier? } | NTE estimate, provider pool size, ETA band | x-api-key |
| dispatch.order | { quoteId, accountRef, dispatchAt? } | Order ID, SW-{id} masked contractor handle, dispatch status | x-api-key |
| dispatch.evals | { period?: "rolling_30d" } | Goal fulfillment, operational, trust signals (see schema) | Public read-only |
SDKs.
TypeScript
@steadywrk/sdk
npm install @steadywrk/sdk
import { SteadyWrk } from '@steadywrk/sdk';
const sw = new SteadyWrk({ apiKey: process.env.STEADYWRK_KEY });
const quote = await sw.dispatch.quote({ trade: 'hvac', locationZip: '80302' });Python
steadywrk
pip install steadywrk
from steadywrk import SteadyWrk sw = SteadyWrk(api_key=os.environ["STEADYWRK_KEY"]) quote = sw.dispatch.quote(trade="hvac", location_zip="80302")
MCP
@steadywrk/mcp-dispatch
npx @steadywrk/mcp-dispatch
# claude.ai + Claude Code + any MCP client
{
"mcpServers": {
"steadywrk": {
"command": "npx",
"args": ["-y", "@steadywrk/mcp-dispatch"]
}
}
}