Appindex

io.github.CloudCorpRecords由 GitHub 账号 CloudCorpRecords 发布v0.1.0更新于 Nov 7, 2026

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

概览

AI 生成的概览

本地桥接工具,转发到托管的 AppNiche 服务,让助手获取 App Store 与 Google Play 的搜索、应用详情、历史数据、变更时间线、关键词评分和评论。

可以做什么
  • 按商店、类别、语言缺口、价格模式、评分、下载与收入估算等多重条件搜索两大商店的应用
  • 通过规范 id、包名或商店链接获取单个应用的完整记录
  • 读取应用的历史指标数据点与上架信息变更时间线
  • 对关键词做难度与机会评分,可单个或一次最多十个
  • 读取任意应用的实时商店评论,或已跟踪应用的评论并附带情感与主题
  • 列出支持的国家代码
适用场景
适合应用市场调研、ASO 与竞品跟踪:评估细分市场、对比应用信息、发现上架变更、判断关键词难度,或直接在助手内阅读评论。
运行要求
通过 npx 或 Docker 镜像在本地运行,需要能访问托管 AppNiche 端点的网络。AppNiche 账号与 API 密钥为可选项,密钥通过环境变量 GETAPPNICHE_API_KEY 传入,也可用 APPNICHE_MCP_URL 覆盖上游端点。
安装前请注意
部分工具会消耗积分,由上游服务从你自己的 AppNiche 账号扣除(关键词评分每个关键词 10 积分),本桥接无法购买积分或创建账号。查询与参数会转发给第三方 AppNiche 服务,API 密钥会以 Bearer 头发送到该端点。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Appindex,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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.

来源:README.md,提交 dc59a3a

工具

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).

输入参数gameslimitstoreoffsetsearchsort_bycategorylanguagesort_dirlanguagessearch_incategories另有 21 个

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.

输入参数app_id必填

get_app_historicals

Get app history

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

输入参数daysstorestore_id必填

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.

输入参数daysstorebeforestore_id必填

get_keyword_difficulty

Score keyword difficulty

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

输入参数storecountrykeyword必填language

batch_keyword_difficulty

Score keywords in batch

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

输入参数storecountrykeywords必填language

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).

输入参数limitstoretopicapp_idoffsetcountrystore_idsentimenttracked_app_id

get_supported_countries

List supported countries

Return supported country codes. Cost: free.

无需输入参数。

版本历史

1
  1. v0.1.0最新Nov 4, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分