StackResolve logoStackResolve

Audit

The AgentReady Score for a tool, with four pillar sub-scores and the fixes.

audit rates how ready a tool is for AI agents. It returns the AgentReady Score, a single number from 0 to 100, plus a sub-score for each of the four pillars, the facts behind the score, the raw discovery signals, and a ranked list of fixes.

Use audit to check one tool you already have in mind. Use find_tools_for_task when you want ranked candidates for a job. For how the number is computed, see Methodology.

#The four pillars

PillarScore keyWhat it measures
DISCOVERdiscoveryCan an agent find the tool and know what it does?
UNDERSTANDunderstandingAre the docs, schemas, and capabilities clear to an agent?
ADOPTadoptionCan an agent sign up, get a key, and install without a human?
OPERATEoperabilityCan an agent run it as a primitive: API, MCP, SDKs?

The headline agentready score is the average of the four pillar scores.

#Call it

curl "https://api.stackresolve.dev/v1/audit?domain=stripe.com" \
  -H "x-api-key: $STACKRESOLVE_API_KEY"

#Parameters

domainstringrequired

The domain to score, for example stripe.com. A bare slug also works; the audit derives the domain and slug from your input.

#Response

Response (trimmed)
{
  "slug": "stripe",
  "domain": "stripe.com",
  "name": "Stripe",
  "scores": {
    "agentready": 74,
    "discovery": 58,
    "understanding": 83,
    "adoption": 88,
    "operability": 67
  },
  "facts": {
    "agent_capability.api": true,
    "agent_capability.mcp_available": true,
    "agent_capability.llms_txt": true,
    "agent_capability.sdks": ["go", "typescript", "ruby", "python", "php", "csharp", "java"],
    "pricing.self_serve": true,
    "pricing.free_tier": false
  },
  "issues": [
    "No OpenAPI spec: publish one so agents can generate a client.",
    "No AGENTS.md skill file: publish one so coding agents get install, config, and usage context.",
    "No markdown mirror: serve text/markdown so agents get clean content, not HTML."
  ],
  "refreshed": {
    "company": ["description", "products", "categories", "technology", "recent_news"],
    "agent_capability": ["api", "cli"]
  },
  "signals": {
    "mcpAvailable": true,
    "cliAvailable": true,
    "apiLikely": true,
    "openapi": false,
    "llmsTxt": true,
    "sdkLanguages": ["go", "typescript", "ruby", "python", "php", "csharp", "java"],
    "npmPackages": ["stripe"],
    "pypiPackages": ["stripe"],
    "robotsAiAllowed": true,
    "sitemap": false,
    "agentsMd": false,
    "githubOrg": "stripe",
    "evidence": ["GitHub org: github.com/stripe", "An MCP server repository exists on GitHub.", "An llms.txt file is served."]
  }
}

#Response fields

scoresobject

agentready plus the four pillar sub-scores (discovery, understanding, adoption, operability), each 0 to 100. See Methodology.

factsobject

A flat map of the scored facts, keyed namespace.key, for example agent_capability.mcp_available. These are the values the score is derived from. See Schemas.

issuesstring[]

The highest-value missing signals, ordered by impact. This is the fix list a vendor works through to raise the score.

signalsobject

The deterministic discovery signals gathered from GitHub, npm, PyPI, llms.txt, and OpenAPI probes, plus an evidence array of human-readable notes. High-confidence facts that do not depend on marketing copy.

refreshedobject

Which fields were re-fetched on this run, grouped by namespace.

Note
An audit spends money: it crawls pages, searches, and runs extraction models. It is metered as one audit_run event. Keyed callers are billed against their plan; anonymous callers fall under the trial limit.