Skip to main content
Glama
Sourcey

Sourcey

Official

Search Agent Readiness

search_readiness
Read-onlyIdempotent

Search published Agent Readiness report cards to check if agents can complete vendor jobs and where people must step in. Filter by service, grade, evidence, or freshness.

Instructions

Search published Agent Readiness report cards. Each card grades one named job on a vendor's service by where a person or the vendor has to step in on an agent's path to it, from its listing and from probes that send the job's request with no account (or, where its interface has no public endpoint, read the vendor's OpenAPI document for it): one letter, A+ to F, over Discover, Authority, Onboard, Pay, Confirm and Sustain, and how often a person is needed; whether the job itself is reachable (not yet run), verified by a run (proof only, which never changes a step or the letter), or has no machine interface; the evidence label; freshness; and the canonical report URL. Service readiness is separate from startup-credit eligibility.

Input Schema

NameRequiredDescriptionDefault
jobNoExact Agent Readiness job key from the job library.
labelNoWhat the job's outcome rests on: probed (graded from the listing and the probes; the job has not been run) or vendor_run_verified (the account holder ran it and Sourcey verified the attestation).
limitNoMaximum results to return; defaults to 10.
queryNoVendor, service, API, product, or job.
entityNoCurrent Sourcey Entity slug or immutable Entity ID.
letterNoExact published letter.
productNoExact Agent Readiness product key.

Output Schema

NameRequiredDescriptionDefault
dataYes
totalYes
truncatedYes
release_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed35 schema fields changedv1.0.1
    • removedInput schema / properties / funnel
      Removed value: -{
      -  "description": "Exact Agent Readiness service-use funnel key.",
      -  "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
      -  "type": "string"
      -}
    • removedInput schema / properties / grade
      Removed value: -{
      -  "description": "Exact published report-card grade.",
      -  "enum": [
      -    "A+",
      -    "A",
      -    "B+",
      -    "B",
      -    "C+",
      -    "C",
      -    "D",
      -    "F",
      -    "unrated"
      -  ],
      -  "type": "string"
      -}
    • addedInput schema / properties / job
      Added value: +{
      +  "description": "Exact Agent Readiness job key from the job library.",
      +  "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
      +  "type": "string"
      +}
    • addedInput schema / properties / label
      Added value: +{
      +  "description": "What the job's outcome rests on: probed (graded from the listing and the probes; the job has not been run) or vendor_run_verified (the account holder ran it and Sourcey verified the attestation).",
      +  "enum": [
      +    "vendor_run_verified",
      +    "probed"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / letter
      Added value: +{
      +  "description": "Exact published letter.",
      +  "enum": [
      +    "A+",
      +    "A",
      +    "B+",
      +    "B",
      +    "C",
      +    "D",
      +    "F"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"Vendor, service, API, product, capability, blocker, or readiness need."New value: +"Vendor, service, API, product, or job."
    • addedOutput schema / properties / data / items / properties / freshness
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "checked_at": {
      +          "format": "date-time",
      +          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +          "type": "string"
      +        },
      +        "next_due_at": {
      +          "anyOf": [
      +            {
      +              "format": "date-time",
      +              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "state": {
      +          "enum": [
      +            "fresh",
      +            "stale"
      +          ],
      +          "type": "string"
      +        },
      +        "succeeded_at": {
      +          "anyOf": [
      +            {
      +              "format": "date-time",
      +              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "checked_at",
      +        "succeeded_at",
      +        "next_due_at",
      +        "state"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • removedOutput schema / properties / data / items / properties / profile / properties / coverage
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "barrier_ratio": {
      -      "maximum": 1,
      -      "minimum": 0,
      -      "type": "number"
      -    },
      -    "barrier_signals": {
      -      "maximum": 9007199254740991,
      -      "minimum": 0,
      -      "type": "integer"
      -    },
      -    "covered_signals": {
      -      "maximum": 9007199254740991,
      -      "minimum": 0,
      -      "type": "integer"
      -    },
      -    "ratio": {
      -      "maximum": 1,
      -      "minimum": 0,
      -      "type": "number"
      -    },
      -    "required_signals": {
      -      "maximum": 9007199254740991,
      -      "minimum": 0,
      -      "type": "integer"
      -    },
      -    "status": {
      -      "enum": [
      -        "complete",
      -        "incomplete"
      -      ],
      -      "type": "string"
      -    },
      -    "verified_barrier_signals": {
      -      "maximum": 9007199254740991,
      -      "minimum": 0,
      -      "type": "integer"
      -    }
      -  },
      -  "required": [
      -    "status",
      -    "required_signals",
      -    "covered_signals",
      -    "ratio",
      -    "barrier_signals",
      -    "verified_barrier_signals",
      -    "barrier_ratio"
      -  ],
      -  "type": "object"
      -}
    • removedOutput schema / properties / data / items / properties / profile / properties / freshness
      Removed value: -{
      -  "enum": [
      -    "fresh",
      -    "stale",
      -    "unknown"
      -  ],
      -  "type": "string"
      -}
    • addedOutput schema / properties / data / items / properties / profile / properties / grade / additionalProperties
      Added value: +false
    • removedOutput schema / properties / data / items / properties / profile / properties / grade / enum
      Removed value: -[
      -  "A+",
      -  "A",
      -  "B+",
      -  "B",
      -  "C+",
      -  "C",
      -  "D",
      -  "F",
      -  "unrated"
      -]
    • addedOutput schema / properties / data / items / properties / profile / properties / grade / properties
      Added value: +{
      +  "job": {
      +    "enum": [
      +      "reachable",
      +      "verified",
      +      "unavailable"
      +    ],
      +    "type": "string"
      +  },
      +  "letter": {
      +    "enum": [
      +      "A+",
      +      "A",
      +      "B+",
      +      "B",
      +      "C",
      +      "D",
      +      "F"
      +    ],
      +    "type": "string"
      +  },
      +  "steps": {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "outcome": {
      +          "enum": [
      +            "machine",
      +            "not_applicable",
      +            "approval",
      +            "workaround",
      +            "gated",
      +            "not_assessed"
      +          ],
      +          "type": "string"
      +        },
      +        "step": {
      +          "enum": [
      +            "discover",
      +            "authority",
      +            "onboard",
      +            "pay",
      +            "confirm",
      +            "sustain"
      +          ],
      +          "type": "string"
      +        },
      +        "timing": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "setup",
      +                "recurring"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "step",
      +        "outcome",
      +        "timing"
      +      ],
      +      "type": "object"
      +    },
      +    "maxItems": 6,
      +    "minItems": 6,
      +    "type": "array"
      +  }
      +}
    • addedOutput schema / properties / data / items / properties / profile / properties / grade / required
      Added value: +[
      +  "letter",
      +  "steps",
      +  "job"
      +]
    • changedOutput schema / properties / data / items / properties / profile / properties / grade / type
      Previous value: -"string"New value: +"object"
    • removedOutput schema / properties / data / items / properties / profile / properties / grade_derivation
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "coverage_rule": {
      -      "maxLength": 280,
      -      "minLength": 1,
      -      "type": "string"
      -    },
      -    "explanation": {
      -      "maxLength": 500,
      -      "minLength": 1,
      -      "type": "string"
      -    },
      -    "label": {
      -      "maxLength": 80,
      -      "minLength": 1,
      -      "type": "string"
      -    },
      -    "outcome_rule": {
      -      "maxLength": 280,
      -      "minLength": 1,
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "label",
      -    "explanation",
      -    "coverage_rule",
      -    "outcome_rule"
      -  ],
      -  "type": "object"
      -}
    • addedOutput schema / properties / data / items / properties / profile / properties / interface_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / data / items / properties / profile / properties / label
      Added value: +{
      +  "enum": [
      +    "vendor_run_verified",
      +    "probed"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / data / items / properties / profile / properties / label_run_at
      Added value: +{
      +  "anyOf": [
      +    {
      +      "format": "date-time",
      +      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / data / items / properties / profile / properties / last_run_at
      Added value: +{
      +  "format": "date-time",
      +  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +  "type": "string"
      +}
    • removedOutput schema / properties / data / items / properties / profile / properties / last_tested_at
      Removed value: -{
      -  "format": "date-time",
      -  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -  "type": "string"
      -}
    • changedOutput schema / properties / data / items / properties / profile / properties / lifecycle / enum
      Previous value: -[
      -  "active",
      -  "ended",
      -  "withdrawn"
      -]New value: +[
      +  "active",
      +  "paused",
      +  "ended",
      +  "withdrawn"
      +]
    • removedOutput schema / properties / data / items / properties / profile / properties / overall_outcome
      Removed value: -{
      -  "enum": [
      -    "pass",
      -    "constrained",
      -    "fail",
      -    "unknown",
      -    "not_applicable"
      -  ],
      -  "type": "string"
      -}
    • removedOutput schema / properties / data / items / properties / profile / properties / primary_finding
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "blocker": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "code": {
      -          "maxLength": 160,
      -          "minLength": 1,
      -          "type": "string"
      -        },
      -        "explanation": {
      -          "maxLength": 500,
      -          "minLength": 1,
      -          "type": "string"
      -        },
      -        "signal_code": {
      -          "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "signal_code",
      -        "code",
      -        "explanation"
      -      ],
      -      "type": "object"
      -    },
      -    "finding": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "condition": {
      -          "maxLength": 160,
      -          "minLength": 1,
      -          "type": "string"
      -        },
      -        "context": {
      -          "maxLength": 500,
      -          "minLength": 1,
      -          "type": "string"
      -        },
      -        "finding": {
      -          "maxLength": 280,
      -          "minLength": 1,
      -          "type": "string"
      -        },
      -        "signal_code": {
      -          "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "signal_code",
      -        "condition",
      -        "finding"
      -      ],
      -      "type": "object"
      -    },
      -    "public_state": {
      -      "enum": [
      -        "limited",
      -        "blocked"
      -      ],
      -      "type": "string"
      -    },
      -    "stage": {
      -      "enum": [
      -        "evaluate",
      -        "sign_up",
      -        "pay",
      -        "provision",
      -        "operate"
      -      ],
      -      "type": "string"
      -    },
      -    "stage_label": {
      -      "maxLength": 40,
      -      "minLength": 1,
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "stage",
      -    "stage_label",
      -    "public_state",
      -    "finding"
      -  ],
      -  "type": "object"
      -}
    • addedOutput schema / properties / data / items / properties / profile / properties / provenance / properties / basis_event_ids
      Added value: +{
      +  "items": {
      +    "pattern": "^sha256:[a-f0-9]{64}$",
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedOutput schema / properties / data / items / properties / profile / properties / provenance / properties / freshness
      Removed value: -{
      -  "enum": [
      -    "fresh",
      -    "stale",
      -    "unknown"
      -  ],
      -  "type": "string"
      -}
    • changedOutput schema / properties / data / items / properties / profile / properties / provenance / required
      Previous value: -[
      -  "freshness",
      -  "dispute",
      -  "vendor_attestation"
      -]New value: +[
      +  "dispute",
      +  "vendor_attestation",
      +  "basis_event_ids"
      +]
    • removedOutput schema / properties / data / items / properties / profile / properties / public_state
      Removed value: -{
      -  "enum": [
      -    "ready",
      -    "limited",
      -    "blocked",
      -    "unknown",
      -    "not_applicable"
      -  ],
      -  "type": "string"
      -}
    • changedOutput schema / properties / data / items / properties / profile / properties / publication / properties / reasons / items / enum
      Previous value: -[
      -  "lifecycle_not_active",
      -  "coverage_incomplete",
      -  "required_evidence_not_supported",
      -  "freshness_not_fresh",
      -  "unrated",
      -  "no_useful_finding",
      -  "open_dispute"
      -]New value: +[
      +  "lifecycle_not_active",
      +  "open_dispute"
      +]
    • removedOutput schema / properties / data / items / properties / profile / properties / scope / properties / funnel
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "key": {
      -      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
      -      "type": "string"
      -    },
      -    "name": {
      -      "maxLength": 160,
      -      "minLength": 1,
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "key",
      -    "name"
      -  ],
      -  "type": "object"
      -}
    • addedOutput schema / properties / data / items / properties / profile / properties / scope / properties / job
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "key": {
      +      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
      +      "type": "string"
      +    },
      +    "name": {
      +      "maxLength": 160,
      +      "minLength": 1,
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "key",
      +    "name"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / properties / data / items / properties / profile / properties / scope / required
      Previous value: -[
      -  "product",
      -  "funnel"
      -]New value: +[
      +  "product",
      +  "job"
      +]
    • removedOutput schema / properties / data / items / properties / profile / properties / stages
      Removed value: -{
      -  "items": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "outcome": {
      -        "enum": [
      -          "pass",
      -          "constrained",
      -          "fail",
      -          "unknown",
      -          "not_applicable"
      -        ],
      -        "type": "string"
      -      },
      -      "primary_finding": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "condition": {
      -            "maxLength": 160,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "context": {
      -            "maxLength": 500,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "finding": {
      -            "maxLength": 280,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "signal_code": {
      -            "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "signal_code",
      -          "condition",
      -          "finding"
      -        ],
      -        "type": "object"
      -      },
      -      "public_state": {
      -        "enum": [
      -          "ready",
      -          "limited",
      -          "blocked",
      -          "unknown",
      -          "not_applicable"
      -        ],
      -        "type": "string"
      -      },
      -      "stage": {
      -        "enum": [
      -          "evaluate",
      -          "sign_up",
      -          "pay",
      -          "provision",
      -          "operate"
      -        ],
      -        "type": "string"
      -      },
      -      "stage_label": {
      -        "maxLength": 40,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "state_label": {
      -        "maxLength": 40,
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "stage",
      -      "stage_label",
      -      "outcome",
      -      "public_state",
      -      "state_label",
      -      "primary_finding"
      -    ],
      -    "type": "object"
      -  },
      -  "maxItems": 5,
      -  "minItems": 5,
      -  "type": "array"
      -}
    • removedOutput schema / properties / data / items / properties / profile / properties / state_label
      Removed value: -{
      -  "maxLength": 40,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • changedOutput schema / properties / data / items / properties / profile / required
      Previous value: -[
      -  "agent_readiness_profile_id",
      -  "entity_id",
      -  "scope",
      -  "declaration_revision_digest",
      -  "lifecycle",
      -  "effective_from",
      -  "revision_digest",
      -  "policy_digest",
      -  "policy_version",
      -  "policy_as_of",
      -  "overall_outcome",
      -  "public_state",
      -  "state_label",
      -  "grade",
      -  "grade_derivation",
      -  "publication",
      -  "coverage",
      -  "last_tested_at",
      -  "freshness",
      -  "canonical_url",
      -  "projection_digest",
      -  "stages",
      -  "provenance"
      -]New value: +[
      +  "agent_readiness_profile_id",
      +  "entity_id",
      +  "scope",
      +  "declaration_revision_digest",
      +  "lifecycle",
      +  "effective_from",
      +  "revision_digest",
      +  "policy_digest",
      +  "policy_version",
      +  "policy_as_of",
      +  "interface_id",
      +  "label",
      +  "label_run_at",
      +  "last_run_at",
      +  "publication",
      +  "provenance",
      +  "canonical_url",
      +  "projection_digest",
      +  "grade"
      +]
    • changedOutput schema / properties / data / items / required
      Previous value: -[
      -  "entity",
      -  "profile"
      -]New value: +[
      +  "entity",
      +  "profile",
      +  "freshness"
      +]
  2. First observedv1.0.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds genuine domain behavior: probes run with no account, OpenAPI documents are read where no public endpoint exists, and a vendor_run_verified label is 'proof only, which never changes a step or the letter.' That last point is a non-obvious behavioral guarantee an agent could otherwise misread as a state mutation. It stops short of describing ordering, pagination, or result shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening clause is well front-loaded, but the remainder is a single run-on sentence with deeply nested parentheticals (probe fallback, the 'proof only' caveat, the six-step enumeration) that is hard to parse at a glance. Content is dense but not structured for scanning; a few sentences would have been more usable.

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?

An output schema exists, so return shape need not be restated, and the description compensates with rich domain framing of letters, steps, labels, and evidence. The one meaningful gap is routing: nothing tells the agent why to pick this search over get_readiness or inspect_evidence, which matters given seven near-neighbor siblings.

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%, so the baseline is 3, but the description adds real meaning for the enum-ish filters: the letter is 'A+ to F, over Discover, Authority, Onboard, Pay, Confirm and Sustain' and a job's state is reachable/not-yet-run/verified/no-machine-interface. It reinforces the label semantics rather than only repeating the enum. It does not clarify the entity-vs-query interaction or the default 10 / limit 25 behavior beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search published Agent Readiness report cards') and unpacks what a card contains, so the agent knows this is a search over graded readiness records. It does not name or contrast with the sibling get_readiness (single-record fetch) or inspect_evidence, so the boundary is inferable rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the filter-oriented parameters (job, label, letter, entity, product, query) and the scope note that 'Service readiness is separate from startup-credit eligibility.' However, it never says when to use this vs get_readiness, search_offers, or inspect_evidence, and gives no prerequisites or exclusions for the search itself.

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