A side-by-side look at the Storelift and Serpel MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Storelift for marketing work as a local process; choose Serpel for marketing over a hosted endpoint. You can also run both side by side in one mcpServers block.
STORELIFT_API_KEY, STORELIFT_API.list_apps, get_keywords, get_rivals.list_projects, get_project_overview, get_keyword_rankings.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Marketing | Marketing |
| Quality signal | 63/100 · Good | 52/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Remote HTTP/SSE |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | STORELIFT_API_KEYSTORELIFT_API | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1 | 0 |
| Directory activity | 4 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 8 | 13 |
| Full listing | View Storelift | View Serpel |
list_appsList the apps tracked in this Storelift account (id, name, countries, keywords). Call this first — every other tool needs an appId from here.get_keywordsKeyword ranks for one app in one App Store / Google Play country. THREE STATES ARE DISTINCT: measured=false means the query could not be measured, rank=null means it was measured but the app is absent from the top results, rank=<number> is the rank. Never collapse them into one — counting an unmeasured day as zero produces a false answer.get_rivalsApps that rank ABOVE this app in search. For each rival you get the keywords it beats you on, its rank there (theirRank) and yours (ourRank) — ourRank null means the app does not appear for that keyword at all.get_ai_visibilityWhether AI assistants name this app when asked natural questions about its category — reported per engine (Claude / ChatGPT / Gemini), never averaged. This is an OBSERVATION, not a ranking: a model's knowledge is frozen at a date and the answer is not identical every time, so read the trend rather than a single measurement.get_historyKeyword rank history for one country. Series points are [day, rank]; a null rank means the app was absent from the top results that day, which is not the same as a bad rank.get_store_pageThe app's own store listing signals for one country: name, subtitle, version, in-app events, editorial placements, similar-apps shelves and the screenshot set (iOS), plus the Google Play page (exact install count, rating histogram, ad/IAP flags, chart badge). `timeline` lists the dated changes we detected on the listing — the cheapest explanation for a rank move. measured=false means the page was never read; it is not the same as an empty page.get_reviewsRecent reviews for one country: `list` is the App Store feed, `android` the Google Play page (a narrower window, and Play publishes no review title or version). `newCount` is how many arrived since the previous measurement — null means an older record where the field was never written, which is not zero. android=null means Play was never measured; an empty list means there genuinely are no reviews.get_chartsApp Store chart position for one country: current ranks per list (free / paid / grossing, overall and in category) plus their history. Google Play is absent on purpose — Google publishes no chart list, so there is nothing to read, and a number here would be invented.list_projectsProjects of your account with IDs and domainsget_project_overviewAudit score, rankings, AI visibility, tasks and next stepsget_keyword_rankingsTracked keywords with positions and changesget_search_performanceSearch Console or Bing clicks, impressions, CTR, positionfind_keyword_opportunitiesQueries on positions 4 to 20 with impressionsanalyze_competitorsVisibility and head-to-head comparison from stored resultsget_crawl_issuesIssues of the latest crawl by severityget_ai_visibilityCitations and mentions in ChatGPT answers and Google AI Overviewsget_job_statusStatus and result of a background jobget_seo_recommendationsPrioritised recommendations with impact, effort and evidenceget_codebase_overviewRoutes, metadata and live-page mapping from the codebase snapshotget_conversion_performanceSessions, conversions and conversion rate per landing pagePaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"storelift": {
"command": "npx",
"args": [
"-y",
"storelift-mcp"
],
"env": {
"STORELIFT_API_KEY": "YOUR_STORELIFT_API_KEY_HERE",
"STORELIFT_API": "YOUR_STORELIFT_API_HERE"
}
}
}
}
{
"mcpServers": {
"serpel": {
"url": "https://serpel.app/mcp"
}
}
}