The official Appfigures CLI and MCP server
- ✓Open-source license (Apache-2.0)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add cli -- npx -y @appfigures/cli{
"mcpServers": {
"cli": {
"command": "npx",
"args": ["-y", "@appfigures/cli"],
"env": {
"APPFIGURES_API_KEY": "<appfigures_api_key>"
}
}
}
}APPFIGURES_API_KEYMCP Servers overview
# @appfigures/cli
[](https://www.npmjs.com/package/@appfigures/cli)
[](https://modelcontextprotocol.io)
The Appfigures CLI — query app metrics, reviews, and store data from your terminal.
Try it now without installing:
```sh
npx @appfigures/cli auth login
npx @appfigures/cli apps search "youtube"
```
## Install
```sh
npm install -g @appfigures/cli
```
Requires Node.js 22+. Works with pnpm and yarn too.
## Quick start
```sh
appfigures auth login
appfigures --help
```
Also available as `af` alias.
## Authentication
- **Log in yourself.** `af auth login --interactive` opens your browser in a guided flow; approve and paste the code back.
- **Or let your agent guide you.** By default, `af auth login` prints an authorization URL — open it, approve, and finish with `af auth login --code <code>` using the code shown. An agent can drive this end to end. For unattended use, set `APPFIGURES_API_KEY` instead: create a token at [appfigures.com/developers/keys](https://appfigures.com/developers/keys) by clicking **Create a New Client**, then **Create Personal Access Token**.
Either login saves the token to your OS credential manager (macOS Keychain, Windows Credential Manager, Linux Secret Service). See [Environment](#environment) for `APPFIGURES_API_KEY` and other overrides.
## MCP server
`af mcp` runs a local [Model Context Protocol](https://modelcontextprotocol.io) server over stdio, exposing the CLI's app-intelligence commands as MCP tools. Point any MCP client (Claude Code, Claude Desktop, Cursor, and others) at it to let an agent query app metrics, reviews, and store data directly.
Add it to your client's MCP config:
```json
{
"mcpServers": {
"appfigures": {
"command": "npx",
"args": ["-y", "@appfigures/cli", "mcp"]
}
}
}
```
The server signs in with your stored credentials, so run `af auth login` once first. For a headless setup, pass a token through the client's `env` instead:
```json
{
"mcpServers": {
"appfigures": {
"command": "npx",
"args": ["-y", "@appfigures/cli", "mcp"],
"env": { "APPFIGURES_API_KEY": "<your-token>" }
}
}
}
```
Installed the CLI globally instead of running it through npx? Use `"command": "af"` with `"args": ["mcp"]`.
**Claude Code.** Add it with one command:
```sh
claude mcp add appfigures -- npx -y @appfigures/cli mcp
```
Run `af auth login` first to sign in, or append `--env APPFIGURES_API_KEY=<your-token>` for a headless setup.
<!-- prettier-ignore-start -->
<!-- BEGIN auto-generated COMMANDS -->
## Commands
### Apps
Find apps and look up their identity. Other commands take the app IDs these return.
| Command | Description |
| ------- | ----------- |
| <a href="#command-apps-search"><code>af apps search</code></a> | Find apps by name or publisher. Returns one row per unified app. Default returns Apple and Google listings; pass `--all-stores` to include other storefronts. To filter apps by estimate values (e.g. apps with >100k downloads last month) use [`explorer list-products`](#command-explorer-list-products). For estimates broken down by time, country, or storefront, use [`metrics query`](#command-metrics-query) with datasets estimates.sales or estimates.revenue. |
| <a href="#command-apps-tracked"><code>af apps tracked</code></a> | List the apps your Appfigures account tracks. |
| <a href="#command-apps-get"><code>af apps get</code></a> | Get an app's record: basic metadata (name, developer, etc) and, if the user tracks it, what data they can access. Pass a product ID for one storefront; unified app ID for all storefronts together. |
### Explorer
Search and analyze the full app catalog: millions of products across Apple, Google Play, Amazon, and other major stores, with 120+ fields spanning identity, storefront and country availability, categories, ratings, release dates, chart ranks, download and revenue estimates, SDK presence, demographics, and related apps.
| Command | Description |
| ------- | ----------- |
| <a href="#command-explorer-list-products"><code>af explorer list‑products</code></a> | Read catalog fields for one app or many. Fields referenced by `query` or `sort` come back automatically; pass `--extra-fields` for more. Use `["match","product_id",<id>]` for a single app, or combine filters for population queries (e.g. iOS apps using Firebase with $1M+ US revenue). The 120+ fields span ranks, ratings, download and revenue estimates, SDKs, demographics, and more; query grammar and field list in [`docs get catalog_playbook`](#command-docs-get). |
| <a href="#command-explorer-aggregate-products"><code>af explorer aggregate‑products</code></a> | Aggregate across the full catalog of millions of products across Apple, Google Play, Amazon, and other major stores: counts, averages, min/max, and histograms over any set of matching products. Uses the same query grammar as [`explorer list-products`](#command-explorer-list-products); returns aggregates, not product records. For market sizing, benchmarking, and segment analysis. |
| <a href="#command-explorer-describe-fields"><code>af explorer describe‑fields</code></a> | List the catalog fields and the current user's access level for each. Search by keyword to find fields. Same field set [`explorer list-products`](#command-explorer-list-products) and [`explorer aggregate-products`](#command-explorer-aggregate-products) accept. |
### Metrics
Query numeric datasets across dimensions.
| Command | Description |
| ------- | ----------- |
| <a href="#command-metrics-query"><code>af metrics query</code></a> | Query any numeric dataset for one or more apps. Optionally grouped by up to two dimensions, returned as a nested partition tree, not app records. Independently filterable by country, device type, and date range. `filterAppsBy*` options narrow the app set (by ID, storefront, source, or type); without one, a query covers every app the account tracks. |
| <a href="#command-metrics-describe-datasets"><code>af metrics describe‑datasets</code></a> | List every numeric dataset [`metrics query`](#command-metrics-query) accepts, one row per dataset with its value type and whether it's limited to your own apps. |
### Store
App store presence: listing content, category ranks, top charts, and featured placements.
| Command | Description |
| ------- | ----------- |
| <a href="#command-store-app-ranks"><code>af store app‑ranks</code></a> | Trace rank history for one or more apps across countries, device types, category subtypes, and categories, as time-series positions with day-over-day deltas. |
| <a href="#command-store-top-charts"><code>af store top‑charts</code></a> | List the top apps in a category chart for a given country and category, with current positions and day-over-day deltas. |
| <a href="#command-store-categories"><code>af store categories</code></a> | List every store category with its ID. Numeric category IDs required by [`store app-ranks --category-ids`](#command-store-app-ranks) and [`store top-charts --category-id`](#command-store-top-charts) are available here. |
| <a href="#command-store-featured"><code>af store featured</code></a> | List featured and editorial placements for an app or storefront product. Request 0 rows for summary stats only. |
| <a href="#command-store-app-listing"><code>af store app‑listing</code></a> | Read the full store listing for one storefront: localized text (name, subtitle, description, release notes) plus screenshots, video, categories, monetization, supported devices, country availability, price, file size, and age rating. Takes a numeric product ID (one storefront at a time; a unified app has one product per storefront). One locale per request. |
### Audience
Who an app's users are and what else they use. Covers estimated age and gender, plus audience overlap with other apps.
| Command | Description |
| ------- | ----------- |
| <a href="#command-audience-demographics"><code>af audience demographics</code></a> | Read an app's audience demographics: the estimated age and gender breakdown. |
| <a href="#command-audience-cross-usage"><code>af audience cross‑usage</code></a> | Find the apps that an app's users also use. |
### Reviews
Search, summarize, and reply to iOS and Google Play app store reviews.
| Command | Description |
| ------- | ----------- |
| <a href="#command-reviews-list"><code>af reviews list</code></a> | Read individual reviews for one or more apps. Returns review text, star rating, country, and app version. Filterable by star rating, date range, country, version, and tracking relationship. |
| <a href="#command-reviews-breakdown"><code>af reviews breakdown</code></a> | Aggregate review counts for one or more apps, bucketed by dimension. Returns one count per dimension value, plus a global total across the matched set. |
| <a href="#command-reviews-reply"><code>af reviews reply</code></a> | Post or withdraw a developer response on a specific review. Pass `content` to post; pass `delete: true` to withdraw a previously-posted response. Returns the resulting state (`published`/`pending` for a post, `removed`/`removal_pending` for a withdrawal) along with the submitting account. |
### Keywords
Keyword visibility, rank tracking, and discovery across organic search (App Store, Google Play) and Apple Ads.
| Command | Description |
| ------- | ----------- |
| <a href="#command-keywords-organic"><code>af keywords organic</code></a> | Check the organic keywords one or more apps rank for, with position, popularity, and competitiveness. |
| <a href="#command-keywords-paid"><code>af keywords paid</code></a> | List the paid keywords one or more apps run ads on, with imWhat people ask about cli
What is appfigures/cli?
+
appfigures/cli is mcp servers for the Claude AI ecosystem. The official Appfigures CLI and MCP server It has 17 GitHub stars and its last recorded update is dated 2026-08-19.
How do I install cli?
+
You can install cli by cloning the repository (https://github.com/appfigures/cli) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is appfigures/cli safe to use?
+
Our security agent has analyzed appfigures/cli and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains appfigures/cli?
+
appfigures/cli is maintained by appfigures. The last recorded GitHub activity is dated 2026-08-19, with 0 open issues.
Are there alternatives to cli?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy cli to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/appfigures-cli)<a href="https://claudewave.com/repo/appfigures-cli"><img src="https://claudewave.com/api/badge/appfigures-cli" alt="Featured on ClaudeWave: appfigures/cli" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!