How this guide was checked
Cursor's documentation: cursor.com.
Version
This guide describes the server that is live: storelift-mcp 1.1.1 on npm (2026-09-14) and the hosted endpoint https://storelift.net/mcp, both with the same 8 tools: get_ai_visibility, get_charts, get_history, get_keywords, get_reviews, get_rivals, get_store_page, list_apps.
Every tool in this release reads; none of them changes anything in your account. The local server answers over stdio with protocol version 2024-11-05, the hosted endpoint over Streamable HTTP with 2025-06-18; the endpoint is stateless, with no session id and no server-sent stream.
Requirements
- Plan. MCP access needs the Pro, Studio or Enterprise plan, both with an API key and with sign-in (OAuth).
- Key. Storelift → Settings → API keys. The key starts with
sl_live_. Keys in this release carry no scopes: a key reads every app in its workspace. Keep it only in the client's configuration. - Runtime. Node.js 18 or later for the local server (
npxfetches the package on first run). The hosted endpoint needs nothing installed. - Cursor. The editor and the Cursor CLI read the same
mcp.json:.cursor/mcp.jsonin a project, or~/.cursor/mcp.jsonfor every project.
Setup
Local server with an API key — add this to .cursor/mcp.json:
{
"mcpServers": {
"storelift": {
"command": "npx",
"args": [
"-y",
"storelift-mcp"
],
"env": {
"STORELIFT_API_KEY": "sl_live_..."
}
}
}
}Or the hosted endpoint with sign-in (OAuth): Cursor opens the sign-in in your browser for servers that ask for it.
{
"mcpServers": {
"storelift": {
"url": "https://storelift.net/mcp"
}
}
}Cursor asks for approval before using MCP tools by default. From the command line, cursor-agent mcp list-tools storelift checks the connection and lists the tools with their arguments.
First read
Ask: “List my Storelift apps, then show the keyword ranks for the first one in the US.” The assistant calls list_apps first, then get_keywords for the app you pick. The list_apps reply looks like this (Storelift sample data, 2026-09-28; your account returns your own apps):
{
"apps": [
{
"id": "sbx-lumen",
"name": "Lumen — Sleep Sounds",
"countries": [
"us",
"gb",
"de"
],
"keywords": [
"sleep sounds",
"white noise",
"rain sounds"
]
}
]
}get_keywords returns one row per tracked keyword:
{
"country": "us",
"platform": "ios",
"keywords": [
{
"term": "sleep sounds",
"measured": true,
"rank": null,
"demand": 73,
"searchDepth": 200
},
{
"term": "white noise",
"measured": true,
"rank": 57,
"demand": 37,
"searchDepth": 200
}
]
}A number in rank is the rank; null means the keyword was measured and the app is not in the results; measured: false means it could not be measured. The three stay apart: counting an unmeasured day as zero gives a wrong answer.
The connection works. Next, three first tasks: which keywords fell, who is ahead on them, and what to say when a keyword has no measurement today, each with the answer to expect.
Removing access
- In Cursor, turn the server off or remove it under Customize, or delete the
storeliftentry frommcp.json. From the CLI,cursor-agent mcp disable storeliftstops it from loading. - Delete the key under Storelift → Settings → API keys. The next request with that key is refused (a tool error from the local server, HTTP 401 from the hosted endpoint); there is no open session to wait out.
- If you connected with sign-in (OAuth), remove the connection under Settings → API → Connected apps; that connection's token gets a 401 on its next request.
Troubleshooting
| What you see | Why | What to do |
|---|---|---|
| “No API key was sent…” | The local server started without a key. Tools still list, every call returns this. | Add STORELIFT_API_KEY to the server's configuration and restart the client. |
| “This API key is not valid…” | The key is mistyped or was deleted. The hosted endpoint answers HTTP 401. | Create a new key under Settings → API keys and replace the one in the configuration. |
| “The Public API is available on the Pro and Studio plans…” | The account's plan does not open MCP access (HTTP 403). In this release access is on Pro, Studio or Enterprise. | Upgrade at storelift.net/pricing; the key is kept and works again once the plan allows it. |
| “fetch failed…” | The local server could not reach Storelift: network, proxy or firewall. | Check that this machine can reach https:; set STORELIFT_API only if you were given a different endpoint. |
| The hosted endpoint asks you to sign in although you set an Authorization header | Cursor CLI 2025.09.17 did not send the configured header when it connected, so the endpoint answered 401 and asked for sign-in. | Use the local server (the key goes in env) or sign in. |
See this for your own app
Paste your store link, add your keywords. Rank, the apps above you and demand are measured every day.
Free plan: 1 app, 25 keywords in each of 2 storefronts, 30 days of history, no card, no end date. Pro is $20/mo.
Start free →
