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
}社区
证据