Resolve
Turn a task into ranked products that expose the capabilities it needs.
resolve is the call to make when an agent has a job to do and no opinion about which tool
does it. It reads the task, works out which capabilities the job actually needs, then returns
products that expose those capabilities, ranked by how many they cover and by their
AgentReady Score. Every result carries a reason, so the agent can explain its
choice instead of asserting one.
The difference from find_tools_for_task is the capability graph. find_tools_for_task
searches the registry for terms. resolve maps the task onto a controlled vocabulary of
capabilities first, so "log my API errors" becomes capture_errors, collect_logs,
ship_logs and trace_requests, and a product that only ships logs ranks below one that
also captures errors.
#Call it
curl https://api.stackresolve.dev/v1/resolve \
-H "x-api-key: $STACKRESOLVE_API_KEY" \
-H "content-type: application/json" \
-d '{"task": "log my API errors", "requirements": {"mcp": true}}'taskstringrequiredThe job to be done, in plain language. Describe the outcome, not a product category.
requirementsobjectHard filters over api, mcp, self_serve, openapi, cli. A product that lacks one is
dropped, not ranked lower. On REST, nest them under requirements. On MCP, pass them as
flat booleans on the tool input.
discoverbooleandefault: falseSearch the web and audit new products into the registry when registry coverage is thin. Slower and more expensive. Leave it off unless a first call came back short.
{
"task": "log my API errors",
"capabilities": ["capture_errors", "collect_logs", "ship_logs", "trace_requests"],
"requirements": { "mcp": true },
"results": [
{
"slug": "betterstack",
"name": "Better Stack",
"domain": "betterstack.com",
"agentready": 52,
"matched": ["capture_errors", "ship_logs", "trace_requests"],
"capScore": 15,
"reason": "Exposes Capture errors, Ship and search logs, Trace requests; AgentReady 52; meets mcp"
}
],
"discovered": 0
}capabilitiesstring[]The capabilities the task was resolved to. Read these back to the user when the ranking looks wrong: a bad answer here usually means the task was described as a category rather than an outcome.
resultsarrayRanked candidates. matched lists which of the resolved capabilities the product exposes,
capScore weights coverage, and reason is a sentence the agent can quote.
discoverednumberHow many products were audited into the registry during this call. Always 0 unless
discover was set.
agent_discovery_check. Setting discover: true also bills the audits it
runs.