{
  "markdown": "# storelift-mcp\n\nApp Store & Google Play ranking data as an MCP server. Ask your assistant which\nkeywords you dropped on, who outranks you, and whether AI assistants mention\nyour app at all — without opening a dashboard.\n\nBacked by [Storelift](https://storelift.net), which measures keyword\nranks, rivals and AI visibility nightly. **No store credentials required** —\nranks are read from the public storefront.\n\n## Requirements\n\n- A **Studio** plan (the Public API is enabled on that plan)\n- An API key: Storelift → Settings → API keys → **Generate key**\n\n## Install\n\nClaude Code:\n\n```bash\nclaude mcp add storelift -e STORELIFT_API_KEY=sl_live_... -- npx -y storelift-mcp\n```\n\nClaude Desktop (`claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"storelift\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"storelift-mcp\"],\n      \"env\": { \"STORELIFT_API_KEY\": \"sl_live_...\" }\n    }\n  }\n}\n```\n\n## Tools\n\n| Tool | Returns |\n|---|---|\n| `list_apps` | tracked apps (id, name, countries, keywords) |\n| `get_keywords` | keyword ranks for one app in one country |\n| `get_rivals` | apps ranking **above** you, with their rank and yours |\n| `get_ai_visibility` | whether assistants name your app, per engine (Claude / ChatGPT / Gemini) |\n| `get_history` | rank history, `[day, rank]` points |\n\n## Reading the data\n\nKeyword results carry **three distinct states**, and they are not the same thing:\n\n- `measured: false` — the query **could not be measured**\n- `rank: null` (with `measured: true`) — measured, but **absent** from the top results\n- `rank: <number>` — the rank\n\nCounting an unmeasured day as zero produces a false chart. The tool descriptions\nrepeat this so the model does not flatten the three into one.\n\nAI visibility is an **observation, not a ranking**: a model's knowledge is frozen\nat a date and the answer is not identical every time. Read the trend, not a\nsingle measurement.\n\n## Configuration\n\n| Variable | Default | Purpose |\n|---|---|---|\n| `STORELIFT_API_KEY` | — | required; the server exits with a message if unset |\n| `STORELIFT_API` | `https://storelift.net` | override the API base |\n\nNo dependencies — a single file speaking JSON-RPC over stdio. Runs with\n`node index.mjs` just as well as through `npx`.\n\n## Registry\n\nPublished to the official MCP Registry as `net.storelift/storelift`.\nThe manifest is [`server.json`](./server.json) in this repo.\n\n## Source\n\n[github.com/vom-core/storelift-mcp](https://github.com/vom-core/storelift-mcp) —\none file, no dependencies. Read it before you run it.\n\n## License\n\nMIT\n",
  "bytes": 2544,
  "sha": "df324712503d7304592f0c9d77a040c03d709f2196925f94f6bb6628fbccbad6",
  "repo_slug": "vom-core/storelift-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_net_storelift_storelift_8c5fdff7/readme"
}