rankcusp
App Store keyword ranks, the 11-30 cusp band, metadata audits and rival positions.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"aso": {
"url": "https://rankcusp.com/api/mcp"
}
}
}遠端端點
https://rankcusp.com/api/mcpstreamable-http它能做什麼
工具清單
工具(9)
🟢list_apps
Lists the apps and rivals tracked on the account. The appId and storefront codes the other tools want come from here.
輸入結構描述
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢list_keywords(appId, country, cuspOnly, rankedOnly, limit, ...)
Lists an app's keywords in one storefront, with rank, popularity and difficulty.
輸入結構描述
{
"type": "object",
"properties": {
"appId": {
"type": "string",
"description": "App Store app id"
},
"country": {
"type": "string",
"description": "Storefront code, e.g. us, tr, de"
},
"cuspOnly": {
"type": "boolean",
"description": "The 11-30 band only: the ones that reach the first page with the least effort."
},
"rankedOnly": {
"type": "boolean",
"description": "Only the ones ranking in the top 200."
},
"limit": {
"type": "number",
"description": "How many rows, at most 200."
},
"offset": {
"type": "number"
}
},
"required": [
"appId",
"country"
],
"additionalProperties": false
}🟢get_keyword(appId, country, keyword)
One keyword: its rank, its scores, its first page and the verdict - should it be targeted, and why. Every unmeasured value comes back null, never zero.
輸入結構描述
{
"type": "object",
"properties": {
"appId": {
"type": "string",
"description": "App Store app id"
},
"country": {
"type": "string",
"description": "Storefront code, e.g. us, tr, de"
},
"keyword": {
"type": "string",
"description": "The phrase to look up."
}
},
"required": [
"appId",
"country",
"keyword"
],
"additionalProperties": false
}🟢audit_metadata(country, title, subtitle, keywordField)
Audits a draft title, subtitle and 100-character keyword field against Apple's rules and against each other. Returns what is wasted, what Apple will actually index, and the field rewritten without the waste. Nothing is submitted anywhere - this only reads the text you pass in.
輸入結構描述
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Storefront code, e.g. us, tr, de"
},
"title": {
"type": "string",
"description": "Up to 30 characters."
},
"subtitle": {
"type": "string",
"description": "Up to 30 characters."
},
"keywordField": {
"type": "string",
"description": "The 100-character field, comma-separated, as App Store Connect wants it."
}
},
"required": [
"country"
],
"additionalProperties": false
}🟢country_priorities(appId)
Ranks the storefronts an app is tracked in by how much is winnable there: how many keywords sit in the cusp band, how many already reach the top ten, and whether the rivals' ratings leave an opening. Answers which market to work on first.
輸入結構描述
{
"type": "object",
"properties": {
"appId": {
"type": "string",
"description": "App Store app id"
}
},
"required": [
"appId"
],
"additionalProperties": false
}🟢ranking_keywords(appId, country, maxRank, limit)
Which keywords an app is already ranking for, from the pooled record of every search this product has run. Works on any App Store id, not only the ones on this account - point it at a rival to read theirs. Apple publishes no endpoint for this; the answer is only as wide as what has been observed, so an app nobody has swept near returns little.
輸入結構描述
{
"type": "object",
"properties": {
"appId": {
"type": "string",
"description": "App Store app id"
},
"country": {
"type": "string",
"description": "Storefront code, e.g. us, tr, de"
},
"maxRank": {
"type": "number",
"description": "Only positions at or above this, e.g. 30 for the reachable band."
},
"limit": {
"type": "number",
"description": "How many rows, at most 200."
}
},
"required": [
"appId"
],
"additionalProperties": false
}🟢keyword_competitors(keyword, country, limit)
Who ranks for a phrase, deeper than the ten the first page carries. Use it to find the rivals a first-page reading misses - an app at 40 for a phrase you sit at 60 for is the one to study.
輸入結構描述
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "The phrase to look up."
},
"country": {
"type": "string",
"description": "Storefront code, e.g. us, tr, de"
},
"limit": {
"type": "number"
}
},
"required": [
"keyword",
"country"
],
"additionalProperties": false
}🟡add_keywords(appId, country, keywords)
Adds keywords to an app's tracked set in one storefront. Takes a list or a comma-separated paste. They arrive unscored - scoring costs requests to Apple and happens on the collector's schedule - so do not read a null popularity here as a zero.
輸入結構描述
{
"type": "object",
"properties": {
"appId": {
"type": "string",
"description": "App Store app id"
},
"country": {
"type": "string",
"description": "Storefront code, e.g. us, tr, de"
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"description": "The phrases to track."
}
},
"required": [
"appId",
"country",
"keywords"
],
"additionalProperties": false
}🟢cusp_actions(appId, country, limit)
The keywords in the 11-30 band, ordered by popularity. The work list a metadata edit pays off on most.
輸入結構描述
{
"type": "object",
"properties": {
"appId": {
"type": "string",
"description": "App Store app id"
},
"country": {
"type": "string",
"description": "Storefront code, e.g. us, tr, de"
},
"limit": {
"type": "number"
}
},
"required": [
"appId",
"country"
],
"additionalProperties": false
}社群
證據