Let Claude and other AI assistants query your App Store keyword rankings and install data directly.
The Model Context Protocol (MCP) is an open standard that lets AI assistants call external tools. Rankbase ships a hosted MCP server, so you can ask Claude questions like "which keywords drove installs for my app last month?" and it will pull live answers straight from your Rankbase data: no CSV exports, no copy-pasting dashboards.
The server is remote (nothing to install or run yourself) and speaks the streamable HTTP transport:
https://rankbase.io/mcp
All tools are read only and expose the same data as the REST API: app discovery, keyword rankings (including per-click position, country, search type, and device), and per-shop install sources. Works with claude.ai and the Claude desktop app (sign in with Rankbase, no key needed), plus Claude Code, Cursor, and the Claude API's MCP connector (API key).
There are two ways to connect, depending on your client:
Authorization: Bearer rb_your_api_keyCreate a key in your Rankbase dashboard under API & MCP. Treat it like a password: anyone holding it can read your ranking data.
Either way, access is read only and scoped to your team, so an assistant only ever sees your own apps.
In claude.ai or the Claude desktop app, open Settings → Connectors → Add custom connector and enter the Rankbase MCP URL:
https://rankbase.io/mcp
Claude will send you to a Rankbase sign-in and consent screen. Approve access, and the tools appear in your conversations. No API key needed. To disconnect later, remove the connector from your Claude connector settings.
One command:
claude mcp add --transport http rankbase https://rankbase.io/mcp \ --header "Authorization: Bearer rb_your_api_key"
Then just ask. Claude Code discovers the tools automatically:
> Which keywords brought the most installs to my app in the last 30 days?
Add the server to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"rankbase": {
"url": "https://rankbase.io/mcp",
"headers": {
"Authorization": "Bearer rb_your_api_key"
}
}
}
}
Most other MCP clients that support remote servers with custom headers use an equivalent configuration.
Building your own agent? The Claude API's MCP connector can call the Rankbase server directly from a
/v1/messages request, with no MCP client code needed on your side:
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: mcp-client-2025-11-20" \
-H "content-type: application/json" \
-d '{
"model": "claude-opus-4-8",
"max_tokens": 4096,
"mcp_servers": [{
"type": "url",
"url": "https://rankbase.io/mcp",
"name": "rankbase",
"authorization_token": "rb_your_api_key"
}],
"tools": [{ "type": "mcp_toolset", "mcp_server_name": "rankbase" }],
"messages": [{
"role": "user",
"content": "List my apps and summarize keyword performance for the first one."
}]
}'
list_appsLists the Shopify apps tracked by your team. Assistants call this first: it returns the numeric Rankbase app id that the other tools require (this is not the same as your Shopify app id). No arguments. The response matches GET /apps.
get_keyword_rankingsApp Store search keywords that brought merchants to a listing, with per-click position records (position, date, locale, country, search type, and device), average and latest organic position, and importance scoring. The response matches GET /apps/{appId}/keywords.
| Argument | Type | Required | Description |
|---|---|---|---|
app_id | integer | yes | The Rankbase app id from list_apps. |
days | integer | no | Look-back window, 1–365. Defaults to 90. Ignored when a custom range is given. |
start_date / end_date | string | no | Custom range (YYYY-MM-DD), both required together. |
installed | boolean | no | false (default): searches that led to Add App button clicks. true: only searches that led to confirmed installs (requires the shopify_app_install event). |
search_type | string | no | all (default), search (organic only), or search_ad (paid only). |
get_install_sourcesLooks up where specific stores discovered and installed your app: source classification (App Store Search, Direct, Organic Search, Google Ads, LLM (AI), and more), the keyword or referrer, date, locale, country, and device. Up to 50 stores per call, batched into a single Google Analytics query. The response matches GET /apps/{appId}/installs.
| Argument | Type | Required | Description |
|---|---|---|---|
app_id | integer | yes | The Rankbase app id from list_apps. |
shop_urls | array of strings | yes | Bare .myshopify.com domains, e.g. examplestore.myshopify.com. Maximum 50 per call. |
list_popular_keywords
Popular Shopify App Store search keywords, discovered from the store's own search autocomplete.
A global dataset (the same for every team, not limited to your apps), so it needs
no app id: useful for keyword research. Matches
GET /popular-keywords, with
limit/offset added so assistants can page instead of loading the whole
dataset; total_keywords in the response tells the assistant when more pages exist.
| Argument | Type | Required | Description |
|---|---|---|---|
q | string | no | Case-insensitive substring filter, e.g. email. |
limit | integer | no | Maximum keywords to return, 1–2000. Defaults to 500. |
offset | integer | no | Keywords to skip, for paging. Defaults to 0. |
Once connected, these all work out of the box:
examplestore.myshopify.com discover my app before installing?"401 (missing or invalid key) or 403 (inactive subscription) before any tool runs.list_apps again.429 with a Retry-After header.