Skip to main content
Glama

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

Related MCP server: MCPfinder

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/autorevai/stackresolve'

If you have feedback or need assistance with the MCP directory API, please join our Discord server