stackresolve
Official TypeScript/Node SDK for the StackResolve API.
StackResolve helps agents discover, evaluate, select, install, and use software (AgentReady), and compresses web research into structured company data calls (CompanyData). This SDK is a thin, typed wrapper over the live REST API.
One line for your coding agent
npx stackresolve@latest install
That mints an API key if you have none, registers the hosted MCP server for every coding
agent on the machine (Claude Code, Cursor, Codex, Windsurf, VS Code), writes the
StackResolve skill to ~/.claude/skills/stackresolve/SKILL.md, and verifies the key
against the API. It is safe to re-run, and it backs up every file it changes.
npx stackresolve@latest install --dry-run # show what would change
npx stackresolve@latest install --cursor # one agent only
npx stackresolve@latest install --project --rules # also wire up the current repo
MCP server
The hosted server needs no install. The handshake and the registry reads (search_tools,
get_profile, compare_products, list_registry) work without a key. Metered tools
(resolve, how_to, audit, research_company, get_company, get_pricing) need a free
key from https://stackresolve.dev/developers, sent as the x-api-key header.
Claude Code:
claude mcp add --transport http stackresolve https://mcp.stackresolve.dev/mcp
Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"stackresolve": {
"url": "https://mcp.stackresolve.dev/mcp",
"headers": { "x-api-key": "ar_..." }
}
}
}
Codex (~/.codex/config.toml):
[mcp_servers.stackresolve]
url = "https://mcp.stackresolve.dev/mcp"
[mcp_servers.stackresolve.headers]
x-api-key = "ar_..."
Tools: resolve, how_to, find_tools_for_task, search_tools, compare_products,
get_profile, list_registry, audit, generate_agent_interfaces, get_company,
get_pricing, research_company, find_competitors, compare_companies, get_usage.
CLI
npm i -g stackresolve
stackresolve find "scrape javascript-heavy sites from claude code"
stackresolve audit stripe.com
stackresolve company vercel.com
stackresolve --help
Install
npm install stackresolve # SDK
npm i -g stackresolve # CLI
Requires Node 18+ (uses the built-in global fetch). No runtime dependencies.
Quickstart
import { StackResolve } from 'stackresolve'
const sr = new StackResolve({ apiKey: process.env.STACKRESOLVE_API_KEY })
// 1. Audit a domain: AgentReady scores, facts, and issues.
const report = await sr.audit('stripe.com')
console.log(report.scores.agentready, report.issues)
// 2. Structured company data.
const company = await sr.getCompany('vercel.com')
console.log(company.name, company.description)
// 3. Task -> ranked, agent-ready tools.
const tools = await sr.findTools('send transactional email from a Node service')
console.log(tools.results)
// 4. Run an Agent Discovery check (needs an API key).
const discovery = await sr.runDiscovery('firecrawl')
console.log(discovery)
Authentication
Get an API key at stackresolve.dev. Pass it to the
constructor, or set the STACKRESOLVE_API_KEY environment variable:
const sr = new StackResolve({ apiKey: 'ar_...' })
// or, reading STACKRESOLVE_API_KEY from the environment:
const sr2 = new StackResolve()
The key is sent as the x-api-key header on every request. Public endpoints
(audit, search, profiles, company data, ...) work without a key, subject to an
anonymous rate limit. Gated endpoints (monitors, usage, discovery runs) need one.
You can point the client at a different host with baseUrl or the
STACKRESOLVE_BASE_URL environment variable:
const sr = new StackResolve({ apiKey, baseUrl: 'https://api.stackresolve.dev' })
Errors
Any non-2xx response throws a StackResolveError carrying the HTTP status and
the parsed body:
import { StackResolve, StackResolveError } from 'stackresolve'
try {
await sr.getUsage()
} catch (err) {
if (err instanceof StackResolveError) {
console.error(err.status, err.body)
}
}
Methods
AgentReady:
audit(domain), findTools(task), search(query, requirements?),
compare(slugs), getProfile(slug), listRegistry(opts?), getCategories(),
getCategory(slug), getDiscovery(slug), runDiscovery(slug),
getScoreHistory(slug), generate(domain, openapiUrl?), deploy(domain, openapiUrl?).
CompanyData:
getCompany(domain), getPricing(domain), getCompetitors(domain),
research(domain, question?), compareCompanies(domains).
Monitors + account (API key required):
listMonitors(), addMonitor(slug, opts?), runMonitorNow(slug),
getUsage(), getMyProfile().
Other languages and frameworks
Python SDK:
pip install stackresolve
LangChain tools, so an agent can pick software and research companies without a search-and-scrape loop:
pip install langchain-stackresolve
from langchain_stackresolve import StackResolveToolkit
tools = StackResolveToolkit().get_tools()
REST directly: https://api.stackresolve.dev, OpenAPI at /openapi.json, llms.txt at
/llms.txt.
License
MIT