_ registry / mcp + a2a streamable-http · checked 3h ago

app.steadywrk/mcp-dispatch

https://steadywrk.app

Registry code: 1aef6b9fc57ea398

api record

STEADYWRK Dispatch MCP over Streamable HTTP. Call tools/list to enumerate. Read the steadywrk://docs/quickstart resource for a working call per tool; prompts/list offers ready-made workflows. agentic.readiness_probe takes a public storefront URL or domain (argument: url), needs no key, and returns a dated snapshot, not an attested grade. Example call: POST https://steadywrk.app/api/mcp {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"agentic.readiness_probe","arguments":{"url":"https://example.com"}}}. dispatch.quote and dispatch.order require the CLIENT to send its own…

endpoint
https://steadywrk.app/api/mcp
door code
cce03340d516e243
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is app.steadywrk/mcp-dispatch live?
Yes — it answered the hub's last check (checked 3h ago). It answered 100% of checks over the last 30 days.
Is app.steadywrk/mcp-dispatch free to use?
Yes — the hub reached it with no key and no payment.
What tools does app.steadywrk/mcp-dispatch have?
9 tools: acp.validate, ucp.validate, agentic.readiness_probe, dispatch.evals, dispatch.quote, dispatch.estimate, dispatch.order, dispatch.order_status, ….
Is app.steadywrk/mcp-dispatch safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 99.4%· all time 99.3%

latency
241ms

last good check

priced tools
0

of 9 tools

_ answered our checks, 90 days 1150 checks · signed record
  • degraded → live
  • degraded → live
  • degraded → live
  • degraded → live
  • live → degraded· timeout after 20000ms
_ what it is for
used for
  • check a storefront's agent readiness
  • estimate a field-service price
  • request a field-service quote
  • place a field-service order
takes → gives
text → data
tools
5 reads1 moves money
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

inferred, not observed

Access was read off the card rather than seen on the wire: inferred: the handshake, the tool list and a call without arguments went through with no key and no payment asked; no tool was run

_ what it can do 9 tools
9 never probed 0 of 9 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • acp.validate unknown 25h ago

    Free validator for a store's Agentic Commerce Protocol (ACP) discovery file at /.well-known/acp.json. Pass url to fetch a public store's file, or document to check pasted JSON. Returns a verdict, every rule result, and a fix list: each failed rule with the change that fixes it. Reads one public file, stores nothing, calls no checkout endpoint. No API key required.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "maxLength": 255,
          "description": "Public store URL or domain, e.g. shop.example.com"
        },
        "document": {
          "type": "string",
          "maxLength": 262144,
          "description": "The discovery document's JSON text, checked without any fetch"
        }
      },
      "description": "Send exactly one of url or document."
    }
    arguments 16 lines
  • ucp.validate unknown 25h ago

    Free validator for a store's Universal Commerce Protocol (UCP) discovery file at /.well-known/ucp. Pass url to fetch a public store's file, or document to check pasted JSON. Returns a verdict, every rule result, and a fix list: each failed rule with the change that fixes it. Reads one public file, stores nothing, calls no checkout endpoint. No API key required.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "maxLength": 255,
          "description": "Public store URL or domain, e.g. shop.example.com"
        },
        "document": {
          "type": "string",
          "maxLength": 262144,
          "description": "The discovery document's JSON text, checked without any fetch"
        }
      },
      "description": "Send exactly one of url or document."
    }
    arguments 16 lines
  • agentic.readiness_probe reads unknown 25h ago

    Run a one-time readiness check on a public storefront and return a score, a grade and per-check results (UCP and ACP discovery files, product schema, robots rules, answer-engine maps). The result is a dated snapshot of public files, not an attested Store Guard grade. Input: url, a public storefront URL or domain (up to 255 characters; local, private and numeric hosts are refused). Each run may store a public snapshot record, at most one per host per UTC day, linked in the response. The response also lists Store Guard and sample-report links under `next`. Rate-limited per caller. No API key required.

    mcp-tool

    {
      "type": "object",
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "maxLength": 255,
          "description": "Public storefront URL or domain"
        }
      }
    }
    arguments 13 lines
  • dispatch.evals reads unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "period": {
          "enum": [
            "rolling_7d",
            "rolling_30d",
            "rolling_90d"
          ],
          "type": "string",
          "default": "rolling_30d"
        }
      }
    }
    arguments 14 lines
  • dispatch.quote reads unknown never probed

    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 an integration key: POST JSON to https://steadywrk.app/api/integration-key-request (GET it for the fields), or use https://steadywrk.app/developers/keys and a person reviews each request. Email fallback: [email protected]. Over MCP, without a key, add contact_email (and optionally contact_name and company) and the request is filed for a person to answer by email. Other anonymous callers receive HTTP 401 with WWW-Authenticate. Public modeled pricing is available through dispatch.estimate.

    mcp-tool

    {
      "type": "object",
      "required": [
        "trade",
        "location"
      ],
      "properties": {
        "trade": {
          "type": "string",
          "description": "Trade code: hvac, plumbing, electrical, general_maintenance, roofing, painting, carpentry or locksmith (see dispatch.index)."
        },
        "company": {
          "type": "string",
          "maxLength": 255
        },
        "urgency": {
          "enum": [
            "emergency",
            "urgent",
            "routine",
            "scheduled"
          ],
          "type": "string",
          "default": "routine"
        },
        "location": {
          "type": "object",
          "required": [
            "state"
          ],
          "properties": {
            "zip": {
              "type": "string",
              "maxLength": 10
            },
            "city": {
              "type": "string",
              "maxLength": 255
            },
            "state": {
              "type": "string",
              "maxLength": 2,
              "minLength": 2
            }
          }
        },
        "nte_cents": {
          "type": "integer",
          "minimum": 1
        },
        "test_mode": {
          "type": "boolean",
          "description": "true: a test booking with your STEADYWRK key (any key, including the free one). Answered whether orders are open or not, marked test: true; nothing is dispatched, matched or charged."
        },
        "description": {
          "type": "string",
          "maxLength": 2000
        },
        "contact_name": {
          "type": "string",
          "maxLength": 255
        },
        "contact_email": {
          "type": "string",
          "format": "email",
          "maxLength": 255,
          "description": "Only without a key: where a person replies with the quote. The request is filed for review."
        }
      }
    }
    arguments 70 lines
  • dispatch.estimate reads unknown never probed

    Public modeled field-service price estimate with cited BLS wage benchmarks. Returns customer hourly rates, line items, ranges and a total alongside geographic scope and source provenance. Model estimates are not observed transaction prices or binding quotes. Use dispatch.quote with an accepted credential to request a quote. No API key required.

    mcp-tool

    {
      "type": "object",
      "required": [
        "trade",
        "location"
      ],
      "properties": {
        "trade": {
          "type": "string",
          "description": "Trade code: hvac, plumbing, electrical, general_maintenance, roofing, painting, carpentry or locksmith (see dispatch.index)."
        },
        "urgency": {
          "enum": [
            "emergency",
            "urgent",
            "routine",
            "scheduled"
          ],
          "type": "string",
          "default": "routine"
        },
        "location": {
          "type": "object",
          "required": [
            "state"
          ],
          "properties": {
            "zip": {
              "type": "string",
              "maxLength": 10
            },
            "city": {
              "type": "string",
              "maxLength": 255
            },
            "state": {
              "type": "string",
              "maxLength": 2,
              "minLength": 2
            }
          }
        }
      }
    }
    arguments 44 lines
  • dispatch.order moves money unknown never probed

    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. To be provisioned, POST JSON to https://steadywrk.app/api/integration-key-request or use https://steadywrk.app/developers/keys and a person reviews each request. Email fallback: [email protected].

    mcp-tool

    {
      "type": "object",
      "required": [
        "trade",
        "location",
        "description"
      ],
      "properties": {
        "trade": {
          "type": "string",
          "description": "Trade code, as listed by dispatch.index (e.g. plumbing, hvac, electrical)."
        },
        "urgency": {
          "enum": [
            "emergency",
            "urgent",
            "routine",
            "scheduled"
          ],
          "type": "string",
          "default": "routine"
        },
        "location": {
          "type": "object",
          "required": [
            "state"
          ],
          "properties": {
            "zip": {
              "type": "string",
              "maxLength": 10
            },
            "city": {
              "type": "string",
              "maxLength": 255
            },
            "name": {
              "type": "string",
              "maxLength": 500
            },
            "state": {
              "type": "string",
              "maxLength": 2,
              "minLength": 2
            },
            "address": {
              "type": "string",
              "maxLength": 1000
            }
          }
        },
        "nte_cents": {
          "type": "integer",
          "maximum": 5000000,
          "minimum": 2500
        },
        "test_mode": {
          "type": "boolean",
          "description": "true: a test booking with your STEADYWRK key (any key, including the free one). Answered whether orders are open or not, marked test: true; nothing is dispatched, matched or charged."
        },
        "description": {
          "type": "string",
          "maxLength": 5000,
          "minLength": 1
        },
        "callback_url": {
          "type": "string",
          "format": "uri"
        },
        "reference_id": {
          "type": "string",
          "maxLength": 255
        }
      }
    }
    arguments 75 lines
  • dispatch.order_status unknown never probed

    Return the current state of a work order created by dispatch.order: status, assignment, quote and timestamps. Same key as dispatch.order (the order's status_url, served over MCP). A self-serve OAuth token cannot have created an order, so it receives HTTP 402 payment_required (JSON-RPC -32002). Anonymous callers receive HTTP 401 with WWW-Authenticate. To be provisioned, POST JSON to https://steadywrk.app/api/integration-key-request or use https://steadywrk.app/developers/keys and a person reviews each request. Email fallback: [email protected].

    mcp-tool

    {
      "type": "object",
      "required": [
        "order_id"
      ],
      "properties": {
        "order_id": {
          "type": "string",
          "maxLength": 36,
          "minLength": 1,
          "description": "The order.id returned by dispatch.order."
        }
      }
    }
    arguments 14 lines
  • dispatch.index reads unknown never probed

    Return the catalog of 8 dispatch trade verticals. Per trade: the BLS OES hourly WAGE benchmark (medianRateDollars/p25/p75 — what a technician earns, NOT a price) alongside billedHourlyRateRoutineDollars, a modeled customer hourly estimate at routine urgency. Estimates are not observed transaction prices or binding quotes. No API key required.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
_ try it over mcp through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 1aef6b9fc57ea398.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/1aef6b9fc57ea398/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/1aef6b9fc57ea398/badge.svg)](https://brick.blue/agent/1aef6b9fc57ea398?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we knowoff the mcp door
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.