{
  "name": "STEADYWRK Dispatch Agent",
  "description": "Dispatch agent of STEADYWRK — a foundry and Studio built in Aqaba, Jordan. Dispatch is a capability of the foundry, not the identity. Routes, quotes, and closes FM work orders.",
  "version": "1.0.0",
  "documentationUrl": "https://steadywrk.app/developers",
  "provider": {
    "organization": "STEADYWRK",
    "url": "https://steadywrk.app"
  },
  "supportedInterfaces": [
    {
      "url": "https://steadywrk.app/api/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false
  },
  "securitySchemes": {
    "apiKeyHeader": {
      "apiKeySecurityScheme": {
        "description": "Client integration key presented as the x-api-key header. Self-serve via RFC 7591 DCR: POST /api/mcp/oauth/register, then POST /api/mcp/oauth/token.",
        "location": "header",
        "name": "x-api-key"
      }
    },
    "bearerAuth": {
      "httpAuthSecurityScheme": {
        "description": "The same client integration key presented as Authorization: Bearer <key>.",
        "scheme": "bearer"
      }
    }
  },
  "defaultInputModes": ["application/json"],
  "defaultOutputModes": ["application/json"],
  "skills": [
    {
      "id": "dispatch.quote",
      "name": "Quote Work Order",
      "description": "Accepts a facility management work order and returns a price quote with ETA and contractor availability.",
      "tags": ["dispatch", "fm", "quote", "field-service"],
      "examples": [
        "Quote a plumbing work order in Phoenix AZ",
        "How much for an HVAC repair at a commercial facility?"
      ],
      "securityRequirements": [
        {
          "schemes": {
            "apiKeyHeader": {}
          }
        },
        {
          "schemes": {
            "bearerAuth": {}
          }
        }
      ],
      "inputSchema": {
        "type": "object",
        "required": ["trade", "location"],
        "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
          }
        }
      }
    },
    {
      "id": "dispatch.order",
      "name": "Submit Work Order",
      "description": "Submits a work order into the STEADYWRK dispatch pipeline. Returns an order ID and assigned contractor details.",
      "tags": ["dispatch", "fm", "work-order", "field-service"],
      "examples": [
        "Submit a work order for electrical repair",
        "Create a dispatch request for preventive maintenance"
      ],
      "securityRequirements": [
        {
          "schemes": {
            "apiKeyHeader": {}
          }
        },
        {
          "schemes": {
            "bearerAuth": {}
          }
        }
      ],
      "inputSchema": {
        "type": "object",
        "required": ["trade", "location", "description"],
        "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
          }
        }
      }
    },
    {
      "id": "dispatch.evals",
      "name": "Query Dispatch Evals",
      "description": "Returns rolling dispatch evals (self-reported, carries an estimated flag): completion rate, NTE variance, dispatch latency P50/P95, and human-override rate. Public, no auth.",
      "tags": ["evals", "metrics", "performance", "dispatch"],
      "examples": ["What is the current dispatch latency?", "Show me the human override rate"],
      "inputSchema": {
        "type": "object",
        "properties": {
          "period": {
            "type": "string",
            "enum": ["rolling_7d", "rolling_30d", "rolling_90d"],
            "default": "rolling_30d"
          }
        }
      }
    },
    {
      "id": "dispatch.index",
      "name": "Dispatch Trade Index",
      "description": "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. Public, no auth.",
      "tags": ["catalog", "dispatch", "index", "rates", "field-service"],
      "examples": [
        "List the dispatch trade verticals and baseline rates",
        "What trades can I dispatch and what do they cost?"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "id": "talent.jobs",
      "name": "Browse Jobs",
      "description": "Returns available STEADYWRK job listings by trade, city, or program.",
      "tags": ["talent", "jobs", "careers", "field-service"],
      "examples": ["Show available HVAC jobs in Aqaba", "What positions are open in Jordan?"]
    },
    {
      "id": "talent.apply",
      "name": "Apply for Position",
      "description": "Submits a job application into the STEADYWRK talent pipeline.",
      "tags": ["talent", "apply", "careers", "hiring"],
      "examples": [
        "Apply for the electrician role",
        "Submit application for STEADYWRK dispatch program"
      ],
      "securityRequirements": [
        {
          "schemes": {
            "apiKeyHeader": {}
          }
        },
        {
          "schemes": {
            "bearerAuth": {}
          }
        }
      ]
    },
    {
      "id": "talent.salaries",
      "name": "Query Salary Data",
      "description": "Returns salary benchmarks and compensation data by trade and region.",
      "tags": ["talent", "salaries", "compensation", "benchmarks"],
      "examples": [
        "What is the average HVAC technician salary in Aqaba?",
        "Show plumber pay rates"
      ],
      "securityRequirements": [
        {
          "schemes": {
            "apiKeyHeader": {}
          }
        },
        {
          "schemes": {
            "bearerAuth": {}
          }
        }
      ]
    },
    {
      "id": "talent.employer-inquiry",
      "name": "Employer Inquiry",
      "description": "Submits an employer inquiry to explore STEADYWRK workforce solutions.",
      "tags": ["talent", "employer", "b2b", "hiring"],
      "examples": ["I need 10 skilled technicians in Q3", "How does employer onboarding work?"],
      "securityRequirements": [
        {
          "schemes": {
            "apiKeyHeader": {}
          }
        },
        {
          "schemes": {
            "bearerAuth": {}
          }
        }
      ]
    }
  ],
  "url": "https://steadywrk.app/api/a2a",
  "a2a_endpoint": "https://steadywrk.app/api/a2a"
}
