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 Code, Cursor, the Claude API's MCP connector, and any other MCP client that supports custom headers.
The MCP server uses the same team-scoped API keys as the REST API. Requests must include your key as a bearer token:
Authorization: Bearer rb_your_api_key
Create a key in your Rankbase dashboard under API Keys. Keys are scoped to your team, so the assistant only ever sees your own apps. Treat the key like a password: anyone holding it can read your ranking data.
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. |
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.