Appindex

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 7, 2026

Live App Store & Google Play data: search, app detail, history, timelines, keyword scores, reviews.

Overview

AI-generated overview

Local bridge that forwards to a hosted AppNiche service, giving an assistant live App Store and Google Play search, app details, history, timelines, keyword…

What you can do
  • Search App Store and Google Play apps across many filters, including language gaps, price model, ratings and download or revenue estimates
  • Fetch one app's full record from an id, package name or store URL
  • Read historical metric points and listing-change timelines for an app
  • Score keyword difficulty and opportunity, one at a time or up to ten per call
  • Read live store reviews for any app, or tracked-app reviews with sentiment and topics
  • List supported country codes
When to use it
Useful for app market research, ASO and competitor tracking: sizing niches, comparing listings, spotting listing changes, judging keyword difficulty, or reading reviews without leaving the assistant.
Requirements
Runs locally via npx or the Docker image and needs network access to the hosted AppNiche endpoint. An AppNiche account and API key are optional; the key is passed in the GETAPPNICHE_API_KEY environment variable, and APPNICHE_MCP_URL can override the upstream endpoint.
Before you install
Several tools cost credits charged by the upstream service against your own AppNiche account (keyword scoring costs 10 credits per keyword), and the bridge cannot buy credits or create accounts. Your queries and arguments are forwarded to the third-party AppNiche service, and the API key is sent as a bearer header to that endpoint.

Installation

In SourceWeft

  1. Open Appindex in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

appindex

appindex is a small local bridge to the hosted AppNiche MCP server, which exposes live App Store and Google Play data. Search both stores across more than twenty-five filters, pull one app's full record, read its historical metrics and its listing-change timeline, score keywords for difficulty and opportunity, read app reviews, and list the supported country codes — all from your agent, with no local copy of the catalogue.

The bridge keeps no app data of its own. It serves the upstream server's tool list locally, exactly as captured from the live endpoint, and forwards each tool call upstream, returning the result untouched. A few tools state a per-call credit cost in their descriptions; those credits are charged by the upstream service against the caller's own pre-existing AppNiche account. There is no tool here that buys credits, creates an account, or mints a key, and the bridge adds none.

Tools

  • search_apps — search App Store and Google Play apps across filters for store, category, games and game genres, language (including a not_languages localization-gap filter), price model, rating, review count, download and revenue estimates, release and update recency, and review-growth direction, sorted by any column. Every filter is optional.
  • get_app_detail — return one app's full record. Required: app_id (a canonical id such as "apple:284882215" or "google:com.spotify.music", a bare Apple track id, an Android package name, or a store URL).
  • get_app_historicals — return historical metric points for one app, daily up to 90 days and weekly beyond. Required: store_id. Optional: store, days.
  • get_app_timeline — return one app's listing change history, newest first: versions, icon and screenshot redesigns, price and business-model changes, renames, category moves, description rewrites and more, grouped by day. Required: store_id. Optional: store, days, before.
  • get_keyword_difficulty — score one keyword for difficulty and opportunity on the App Store or Google Play. Required: keyword. Optional: store, country, language.
  • batch_keyword_difficulty — score up to 10 keywords in one call. Required: keywords. Optional: store, country, language.
  • get_app_reviews — read app reviews: pass app_id for live store reviews of any app, or omit it to read the workspace's tracked apps with sentiment, topics and improvement areas attached. Every argument is optional.
  • get_supported_countries — return the supported country codes. Takes no arguments.

Configuration

  • APPNICHE_MCP_URL (optional) — override the upstream endpoint. Defaults to https://api.getappniche.com/mcp. (The override hook is this rebuild's own labelled reconstruction.)
  • GETAPPNICHE_API_KEY (optional) — when set, every upstream request carries an Authorization: Bearer <key> header, for the caller's own AppNiche key created in their AppNiche dashboard settings. When it is not set, no key header is sent. (The header name and the env name are pinned by the original's registry record; the Bearer scheme and this env forwarding are labelled reconstructions — the original surface was captured keyless.)

Forwarding mechanics

On the first tool call the client opens a streamable HTTP session with the upstream: a JSON-RPC initialize request (protocolVersion 2025-03-26, clientInfo name appindex), then a notifications/initialized notification, then the tools/call request carrying the caller's arguments unchanged. When the upstream answers initialize with an Mcp-Session-Id header, that value rides on every later request of the session, which is reused for the life of the process. Replies may arrive as plain JSON or as server-sent events; both are read.

Successful upstream results pass through verbatim, including any isError flag the upstream sets. Failures — a JSON-RPC error, a non-2xx status, an unreadable response, or a request that cannot be completed — come back as an isError result whose text starts with appindex error: (this rendering is this rebuild's own labelled reconstruction).

CLI

Each tool is also a subcommand taking one JSON argument string:

bash
npx @reneturcios/appindex search_apps '{"search":"calorie tracker","store":"apple","limit":10}'npx @reneturcios/appindex get_app_detail '{"app_id":"apple:284882215"}'npx @reneturcios/appindex get_keyword_difficulty '{"keyword":"habit tracker"}'npx @reneturcios/appindex get_supported_countriesnpx @reneturcios/appindex --version

Exit codes: 0 on success, 1 on an isError result, 2 on a usage error.

MCP server

bash
npx -y @reneturcios/appindex mcp

MCP client config:

json
{  "mcpServers": {    "appindex": {      "command": "npx",      "args": ["-y", "@reneturcios/appindex", "mcp"]    }  }}

Docker

bash
docker run -i ghcr.io/cloudcorprecords/appindexdocker run --rm ghcr.io/cloudcorprecords/appindex --version

The container's default command is mcp, so the first form is a stdio MCP server; any other arguments reach the CLI normally.

Development

bash
npm installnpm run buildnpm testnpm run dev

The test suite runs entirely against a stubbed JSON-RPC upstream — no live network calls.

License

MIT — see LICENSE.

Source: README.md at commit dc59a3a

Tools

8

search_apps

Search apps

Search App Store and Google Play apps across 25+ filters — store, category, games and game genres (named alike on both stores), language (including not_languages, a localization-gap filter that finds apps NOT localized in a given language), price model, rating, review count, download and revenue estimates (min and max), release and update recency, and review-growth direction — sorted by any column. The tool behind niche sizing, competitor shortlists, and localization-gap hunting. Cost: 1 credit per row returned (an empty page costs 1).

Parametersgameslimitstoreoffsetsearchsort_bycategorylanguagesort_dirlanguagessearch_incategories+21 more

get_app_detail

Get app detail

Return one app's full record. Accepts the canonical id ("apple:284882215", "google:com.spotify.music"), a bare Apple track id, an Android package name, or a pasted App Store / Google Play URL. Cost: 1 credit.

Parametersapp_idrequired

get_app_historicals

Get app history

Return historical metric points for one app (daily up to 90 days, weekly beyond). Cost: 1 credit.

Parametersdaysstorestore_idrequired

get_app_timeline

Get app change timeline

Return one app's listing change history, newest first: new versions, icon and screenshot redesigns (visually verified), price and business-model changes, renames, category moves, description rewrites and more, grouped by day. Cost: 1 credit.

Parametersdaysstorebeforestore_idrequired

get_keyword_difficulty

Score keyword difficulty

Score one keyword for difficulty and opportunity, on the App Store or Google Play. Cost: 10 credits.

Parametersstorecountrykeywordrequiredlanguage

batch_keyword_difficulty

Score keywords in batch

Score up to 10 keywords in one call. Cost: 10 credits per keyword.

Parametersstorecountrykeywordsrequiredlanguage

get_app_reviews

Get app reviews

Read app reviews two ways: pass app_id for live store reviews of ANY app — App Store or Google Play — (no tracking needed, storefront selectable), or omit it to read the workspace's tracked apps with sentiment, topics and improvement areas attached. Live Google Play rows carry no title (Play reviews have none). Cost: 1 credit per row returned (an empty page costs 1).

Parameterslimitstoretopicapp_idoffsetcountrystore_idsentimenttracked_app_id

get_supported_countries

List supported countries

Return supported country codes. Cost: free.

Takes no parameters.

Version history

1
  1. v0.1.0LatestNov 4, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts