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

@getappniche/mcp

v0.1.3

Published

GetAppNiche MCP — live App Store & Google Play data for AI agents: app discovery, ASO keyword scoring, reviews. Zero-dependency stdio bridge to the hosted Streamable HTTP endpoint.

Downloads

397

Readme

GetAppNiche MCP — App Store & Google Play intelligence for AI agents

The Model Context Protocol surface of GetAppNiche: live App Store & Google Play data — app discovery with revenue & download data, ASO keyword scoring, historical metrics and review feeds — for Claude, Cursor, Codex, Gemini CLI and any other MCP-capable agent.

You probably don't need to run anything. The server is hosted:

https://api.getappniche.com/mcp        Streamable HTTP · JSON-RPC 2.0
Authorization: Bearer YOUR_API_KEY     app.getappniche.com → Settings → API Keys

Setup per client

Claude Code — one command, no restart:

claude mcp add --transport http getappniche https://api.getappniche.com/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Cursor — .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "getappniche": {
      "url": "https://api.getappniche.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Claude Desktop — claude_desktop_config.json, then restart the app fully:

{
  "mcpServers": {
    "getappniche": {
      "command": "npx",
      "args": ["-y", "@getappniche/mcp"],
      "env": { "GETAPPNICHE_API_KEY": "YOUR_API_KEY" }
    }
  }
}

VS Code (Copilot agent mode) — .vscode/mcp.json:

{
  "servers": {
    "getappniche": {
      "type": "http",
      "url": "https://api.getappniche.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Windsurf — ~/.codeium/windsurf/mcp_config.json (the field is serverUrl):

{
  "mcpServers": {
    "getappniche": {
      "serverUrl": "https://api.getappniche.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Codex CLI — ~/.codex/config.toml, then export GETAPPNICHE_API_KEY:

[mcp_servers.getappniche]
url = "https://api.getappniche.com/mcp"
bearer_token_env_var = "GETAPPNICHE_API_KEY"

Gemini CLI — ~/.gemini/settings.json (the field is httpUrl):

{
  "mcpServers": {
    "getappniche": {
      "httpUrl": "https://api.getappniche.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Zed, Cline, Continue and JetBrains AI are covered too — getappniche.com/mcp has every snippet. Companion agent skills: getappniche-com/aso-skills (npx skills add getappniche/aso-skills).

ChatGPT — Settings → Connectors → create a custom connector (Developer mode), point it at https://api.getappniche.com/mcp and pick API key authentication, then paste your key.

claude.ai on the web documents request-header auth, but its connector UI currently exposes only OAuth fields — until that settles, use one of the clients above.

What's in this repo

A zero-dependency stdio bridge for clients that speak MCP over stdio and can't send HTTP headers — in two flavours: bin/cli.mjs (Node 18+, published as @getappniche/mcp) and server.py (Python 3.9+, stdlib only). Both forward every JSON-RPC message to the hosted endpoint over TLS and stream responses back.

# Node — one-liner, no install
GETAPPNICHE_API_KEY="getappniche_..." npx -y @getappniche/mcp

# Python — no dependencies
GETAPPNICHE_API_KEY="getappniche_..." python3 server.py

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "getappniche": {
      "command": "npx",
      "args": ["-y", "@getappniche/mcp"],
      "env": { "GETAPPNICHE_API_KEY": "getappniche_..." }
    }
  }
}

server.json is the manifest published to the official MCP registry as com.getappniche/mcp.

Being ~150 readable lines, it doubles as a reference for what travels over the wire: your API key goes only into the Authorization header of TLS requests to api.getappniche.com — nothing else, nowhere else.

Tools

  • search_apps - Search apps across 25+ filters: store, categories, languages, price model, rating, reviews, downloads, revenue, release and update recency, review growth - sorted by any column (1 credit per app returned, 10 a call by default, up to 100)
  • get_app_detail - Get one app by canonical id, bare Apple id, Android package name, or a pasted store URL (1 credit)
  • get_app_historicals - Metric time series: reviews, ratings, downloads, revenue (1 credit)
  • get_keyword_difficulty - Popularity, difficulty, traffic and opportunity for a keyword (10 credits)
  • batch_keyword_difficulty - Score up to 10 keywords, sorted by opportunity (10 credits per keyword)
  • get_app_reviews - Live App Store or Google Play reviews for any app by id, package name or URL, or enriched rows for apps monitored in your workspace (1 credit per review returned, 10 a call by default, up to 100)
  • get_supported_countries - List valid store country codes (free)

Credits ship with a GetAppNiche plan (Pro: 5,000/month) and every result reports credits_charged. Rate limit: 60 requests/minute per key.

Protocol notes

  • Methods: initialize → notifications/initialized → tools/list / tools/call. Protocol errors use standard JSON-RPC codes; tool-level errors (bad id, out of credits) come back as tool results your agent can read.
  • The bridge honours Mcp-Session-Id and accepts both JSON and SSE-framed responses.
  • OAuth for clients whose connector UI can't set headers (claude.ai web) is in progress; ChatGPT connects today with API-key auth.

License

MIT. Built by GetAppNiche · X @getappniche · LinkedIn