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
| Pillar | Score key | What it measures |
|---|---|---|
| DISCOVER | discovery | Can an agent find the tool and know what it does? |
| UNDERSTAND | understanding | Are the docs, schemas, and capabilities clear to an agent? |
| ADOPT | adoption | Can an agent sign up, get a key, and install without a human? |
| OPERATE | operability | Can 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
domainstringrequiredThe domain to score, for example stripe.com. A bare slug also works; the audit derives
the domain and slug from your input.
#Response
{
"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
scoresobjectagentready plus the four pillar sub-scores (discovery, understanding, adoption,
operability), each 0 to 100. See Methodology.
factsobjectA 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.
signalsobjectThe 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.
refreshedobjectWhich fields were re-fetched on this run, grouped by namespace.
audit_run event. Keyed callers are billed against their plan; anonymous
callers fall under the trial limit.#Related
- Methodology: how the score is computed.
- Registry: browse tools already scored.
- Find tools: ranked candidates for a task.