Skip to main content
Glama

STEADYWRK Agentic Readiness Probe, Store Guard and Dispatch

Inspect storefront readiness

agentic.readiness_probe
Read-onlyIdempotent

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.

Input Schema

NameRequiredDescriptionDefault
urlYesPublic storefront URL or domain

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "description": "Either a successful probe (ok=true, report + demo) or a business error (e.g. missing url) — never a fabricated report.",
      +  "oneOf": [
      +    {
      +      "properties": {
      +        "demo": {
      +          "properties": {
      +            "hashSnippet": {
      +              "type": "string"
      +            },
      +            "id": {
      +              "type": "string"
      +            },
      +            "permalink": {
      +              "type": "string"
      +            },
      +            "persisted": {
      +              "type": "boolean"
      +            },
      +            "verifyPath": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "permalink",
      +            "verifyPath",
      +            "hashSnippet",
      +            "persisted"
      +          ],
      +          "type": "object"
      +        },
      +        "ok": {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        "report": {
      +          "properties": {
      +            "checks": {
      +              "items": {
      +                "properties": {
      +                  "detail": {
      +                    "type": "string"
      +                  },
      +                  "id": {
      +                    "type": "string"
      +                  },
      +                  "label": {
      +                    "type": "string"
      +                  },
      +                  "status": {
      +                    "enum": [
      +                      "pass",
      +                      "warn",
      +                      "fail",
      +                      "skip"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "id",
      +                  "label",
      +                  "status",
      +                  "detail"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "grade": {
      +              "enum": [
      +                "A",
      +                "B",
      +                "C",
      +                "D",
      +                "F"
      +              ],
      +              "type": "string"
      +            },
      +            "host": {
      +              "type": "string"
      +            },
      +            "next": {
      +              "properties": {
      +                "flagship": {
      +                  "type": "string"
      +                },
      +                "sample": {
      +                  "type": "string"
      +                },
      +                "storeGuardBuy": {
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "origin": {
      +              "type": "string"
      +            },
      +            "probedAt": {
      +              "type": "string"
      +            },
      +            "score": {
      +              "type": "number"
      +            },
      +            "summary": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "host",
      +            "origin",
      +            "score",
      +            "grade",
      +            "summary",
      +            "checks",
      +            "probedAt",
      +            "next"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "ok",
      +        "report",
      +        "demo"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": true,
      +      "description": "Business error — e.g. missing/invalid url argument, rate limit.",
      +      "properties": {
      +        "error": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "error"
      +      ],
      +      "type": "object"
      +    }
      +  ],
      +  "type": "object"
      +}
  2. Added

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint/openWorldHint/idempotentHint), it discloses rate limiting per caller, that no API key is needed, that local/private/numeric hosts are refused, and the storage side effect: at most one public snapshot record per host per UTC day, linked in the response. These are exactly the operational facts an agent cannot get from structured fields.

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?

Front-loads the verb, resource, and return shape, then layers constraints and side effects in short, information-dense sentences with no filler. The parenthetical check list replaces a longer enumeration without losing specificity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation; the description instead covers the things the schema cannot: refusal rules, rate limits, auth requirements, snapshot-vs-attested caveat, and the `next` links. For a single-parameter, side-effecting read tool this is complete.

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?

Schema coverage is 100% and there is only one parameter, so the baseline is the schema itself. The description still adds meaning: the URL may be a bare domain, is capped at 255 characters, and must be a public host since local, private, and numeric hosts are refused.

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?

States a specific verb and resource ('run a one-time readiness check on a public storefront') and enumerates exactly what is checked (UCP/ACP discovery files, product schema, robots rules, answer-engine maps). It also explicitly separates itself from the Store Guard attested grade, so an agent can distinguish it from sibling validators like acp.validate and ucp.validate.

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?

The description frames this as a 'one-time' check producing a 'dated snapshot, not an attested Store Guard grade,' which tells the agent when this tool is the right choice versus the attested grade path. It also notes 'No API key required,' removing an eligibility question. It does not name the sibling validators as alternatives for protocol-specific checks, so it falls short of explicit when-not routing.

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.

Resources