npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

asoradar-mcp

v1.0.0

Published

MCP server for ASORadar — App Reviews API for App Store and Google Play. Auto-generates tools from the ASORadar OpenAPI spec.

Readme

asoradar-mcp

npm version npm downloads License: MIT

MCP server for ASORadar — App Reviews API for Apple App Store and Google Play. Available on npm: asoradar-mcp.

Auto-generates MCP tools from the ASORadar OpenAPI spec at startup, so every non-deprecated endpoint is exposed without hand-written wrappers (GET /a1/reviewsget_a1_reviews, GET /a1/clone-brief/{app_id}get_a1_clone-brief_app_id, POST /webhookspost_webhooks). The tool catalog tracks the live API — App Store (/a1/*) and Google Play (/g1/*) reviews, metadata, version history, ratings histograms, search/charts, AI-agent composites (clone-brief, niche-scan, diffs, sentiment, portfolio stats), and webhook subscriptions.

Get 100 Free API Requests

Sign up and get 100 free ASORadar requests — no credit card required. Enough to wire up the MCP server, try a few prompts in Claude/Cursor/Codex, and evaluate the data quality before committing.

Quick start

ASORADAR_KEY=your-api-key npx -y asoradar-mcp

npx fetches and runs the latest version every time — no install step.

Install in Claude Code

claude mcp add asoradar \
  -e ASORADAR_KEY=your-api-key \
  -- npx -y asoradar-mcp

The config is persisted in ~/.claude.json.

Install in Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "asoradar": {
      "command": "npx",
      "args": ["-y", "asoradar-mcp"],
      "env": {
        "ASORADAR_KEY": "your-api-key"
      }
    }
  }
}

Install in Cursor

Add to .cursor/mcp.json in your project, or ~/.cursor/mcp.json globally:

{
  "mcpServers": {
    "asoradar": {
      "command": "npx",
      "args": ["-y", "asoradar-mcp"],
      "env": {
        "ASORADAR_KEY": "your-api-key"
      }
    }
  }
}

Install in OpenAI Codex

Append to ~/.codex/config.toml:

[mcp_servers.asoradar]
command = "npx"
args = ["-y", "asoradar-mcp"]

[mcp_servers.asoradar.env]
ASORADAR_KEY = "your-api-key"

Install in Zed

Add to ~/.config/zed/settings.json:

{
  "context_servers": {
    "asoradar": {
      "command": "npx",
      "args": ["-y", "asoradar-mcp"],
      "env": {
        "ASORADAR_KEY": "your-api-key"
      }
    }
  }
}

Install in Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "asoradar": {
      "command": "npx",
      "args": ["-y", "asoradar-mcp"],
      "env": {
        "ASORADAR_KEY": "your-api-key"
      }
    }
  }
}

What you can ask

Plain-English prompts work — the AI picks the right tool and parameters.

| Prompt | Tool used | |---|---| | Pull recent App Store reviews for Instagram (id 389801252). | get_a1_reviews (app_id, country) | | Find 5-star reviews of com.whatsapp on Google Play mentioning "crash". | get_g1_reviews (app_id, rating=5, search=crash) | | What changed in Telegram's last few App Store releases? | get_a1_version-history_app_id | | Give me a clone brief for this app — metadata, ratings, top complaints. | get_a1_clone-brief_app_id | | Scout the top finance apps in the US and their rating distributions. | get_a1_niche-scan (category, country) | | Diff TikTok's data-safety declaration vs last snapshot. | get_g1_datasafety_app_id_diff | | Subscribe a webhook to notify me when this app ships a new version. | post_webhooks (kind=app_changes, target_url, criteria) | | What tools do you have, and what do they cost? | get_capabilities |

Call get_capabilities first — it returns the live tool catalog (≈44 tools, auto-generated from the API) and the roadmap, and spends no API request.

Configuration

| Env variable | Description | Required | |---|---|---| | ASORADAR_KEY | Your ASORadar access key (sent as x-access-key header). | yes | | ASORADAR_URL | Base URL. Default: https://api.asoradar.com. | no | | ASORADAR_SPEC_URL | OpenAPI spec URL. Default: <ASORADAR_URL>/openapi.json. | no | | ASORADAR_TAGS | Whitelist tags (comma-separated) to limit which tools are exposed. | no | | ASORADAR_EXCLUDE_TAGS | Additional tags to exclude (System is excluded by default). | no | | ASORADAR_TIMEOUT_MS | Per-request timeout in ms. Default: 30000. | no | | ASORADAR_SPEC_TIMEOUT_MS | OpenAPI spec fetch timeout in ms. Default: 60000. | no | | ASORADAR_MAX_RESPONSE_BYTES | Max response size in bytes. Default: 10485760 (10 MB). | no | | ASORADAR_MAX_SPEC_BYTES | Max OpenAPI spec size in bytes. Default: 8388608 (8 MB). | no |

How it works

  1. Fetch spec. On startup, asoradar-mcp fetches /openapi.json from api.asoradar.com and parses every endpoint.
  2. Generate tools. Each non-deprecated endpoint becomes one MCP tool with a typed input schema. Query and path params plus JSON request-body fields (e.g. POST /webhooks) all map onto the tool's arguments. Operations that require header/cookie params, or a non-JSON request body, are skipped since we can't safely forward them.
  3. Forward calls. When the AI calls a tool, the server validates required arguments locally (so a malformed call never spends a request), then forwards it with your x-access-key header — query/path in the URL, body fields as JSON — and returns the response.

Metering. Every tool call is one or more ASORadar API requests billed against your plan. Composite tools (clone-brief, niche-scan, *-diff, portfolio-stats, reviews/sentiment) fan out to several underlying calls each. Start with the 100 free requests; get_capabilities and local validation errors are free.

Filtering tools

To keep the surface small and focused, set ASORADAR_TAGS to a comma-separated whitelist of OpenAPI tags. The live tags are: App Store / Reviews, App Store / Metadata, App Store / Discovery, App Store / AI Agents, the four Google Play / … equivalents, and Webhooks.

# Only the App Store AI-agent composites + reviews:
ASORADAR_KEY=... ASORADAR_TAGS="App Store / AI Agents,App Store / Reviews" npx -y asoradar-mcp

Or remove specific groups with ASORADAR_EXCLUDE_TAGS:

ASORADAR_KEY=... ASORADAR_EXCLUDE_TAGS="Webhooks" npx -y asoradar-mcp

Roadmap

  • Now — atomic tools auto-generated 1:1 from the API (reviews, metadata, discovery, AI-agent composites, webhook subscriptions) + get_capabilities.
  • Next (0.2.x) — synthesized composite tools that fan out across endpoints and return evidence with provenance (cited review/snapshot/version IDs), plus workflow prompts (research-competitor, scout-category, post-mortem-release).

The MCP returns structured facts only — it never calls an LLM, never invents endpoints the API doesn't expose, and never emits recommendations. Synthesis is always the agent's job. get_capabilities reports the live available and planned lists.

Development

git clone https://github.com/asoradar/asoradar-mcp.git
cd asoradar-mcp
npm install
npm run build      # compile TypeScript
npm test           # mock-server smoke + unit tests
npm run test:e2e   # real API e2e (needs ASORADAR_KEY env var)

Run from source without building:

ASORADAR_KEY=... npm run dev

License

MIT — see LICENSE.