AppSkyline App Rankings
REMOTE · MCP.APPSKYLINE.COM
Track your apps' keyword rankings, reviews and store listings on App Store, Google Play and more.
Available components
Last scanned (17 hours ago)
Scores higher than 93% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Marketing and SEO
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security81
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 521, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability64
- 47% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Partial
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5284 tokens (~160/item across 33 items; 16 tools + 17 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
- Supports UI / widget rendering.Pass
Checks we ran (13)
- TLS certificate
- Authorization
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
- Capabilities
Checks we could not complete (1)
These are gaps on our side, not findings about this hosted endpoint. We only credit what we can confirm, so a category made up entirely of them scores 0.
- HTTPS in Endpoint SecurityHTTPS enforcement could not be verified: the plaintext port answered with HTTP 521, which proves neither a plaintext path nor enforcement.
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 31 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: 139 → 160 ▼ functional
- New tool “suggest_store_metadata” functional
- 3 Oct 26 86
- Resource “appskyline-workspace” now points somewhere else: ui://appskyline/workspace-v1.html → ui://appskyline/workspace-v3.html security
- Schema quality: 53% → 47% ▼ functional
- New resource “appskyline-workspace-v1” functional
- New resource “appskyline-workspace-v2” functional
- 2 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- New resource “appskyline-workspace” functional
- New tool “open_appskyline” functional
- 29 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “add_keyword” rewrote its description, which is the text the model reads security
- Tool “delete_keyword” rewrote its description, which is the text the model reads security
- Tool “get_app” rewrote its description, which is the text the model reads security
- Tool “get_app_engagement_summary” rewrote its description, which is the text the model reads security
- Tool “get_keyword_history” rewrote its description, which is the text the model reads security
- Tool “get_keyword_overview” rewrote its description, which is the text the model reads security
- Tool “get_keyword_rank” rewrote its description, which is the text the model reads security
- Tool “get_store_listing” rewrote its description, which is the text the model reads security
- Tool “get_store_metadata” rewrote its description, which is the text the model reads security
- Tool “list_apps” rewrote its description, which is the text the model reads security
- Tool “list_google_play_reviews” rewrote its description, which is the text the model reads security
- Tool “list_keywords” rewrote its description, which is the text the model reads security
- Tool “search_store_results” rewrote its description, which is the text the model reads security
- Tool “show_app_overview” rewrote its description, which is the text the model reads security
- Schema quality: 130 → 154 ▼ functional
- “get_keyword_history” reworded the description of “country” cosmetic
- “add_keyword” reworded the description of “appId” cosmetic
- “add_keyword” reworded the description of “country” cosmetic
- “add_keyword” reworded the description of “language” cosmetic
- “add_keyword” reworded the description of “searchTerms” cosmetic
- “delete_keyword” reworded the description of “id” cosmetic
- “get_app” reworded the description of “appId” cosmetic
- “get_app_engagement_summary” reworded the description of “appId” cosmetic
- “get_app_engagement_summary” reworded the description of “days” cosmetic
- “get_app_engagement_summary” reworded the description of “endDate” cosmetic
- “get_app_engagement_summary” reworded the description of “startDate” cosmetic
- “get_app_engagement_summary” reworded the description of “store” cosmetic
- “get_keyword_history” reworded the description of “appId” cosmetic
- “get_keyword_history” reworded the description of “limit” cosmetic
- “get_keyword_history” reworded the description of “store” cosmetic
- “get_keyword_history” reworded the description of “term” cosmetic
- “get_keyword_overview” reworded the description of “country” cosmetic
- “get_keyword_overview” reworded the description of “lang” cosmetic
- “get_keyword_overview” reworded the description of “terms” cosmetic
- “get_keyword_rank” reworded the description of “appId” cosmetic
- “get_keyword_rank” reworded the description of “country” cosmetic
- “get_keyword_rank” reworded the description of “lang” cosmetic
- “get_keyword_rank” reworded the description of “num” cosmetic
- “get_keyword_rank” reworded the description of “store” cosmetic
- “get_keyword_rank” reworded the description of “term” cosmetic
- “get_store_listing” reworded the description of “country” cosmetic
- “get_store_listing” reworded the description of “lang” cosmetic
- “get_store_listing” reworded the description of “store” cosmetic
- “get_store_listing” reworded the description of “storeId” cosmetic
- “get_store_metadata” reworded the description of “appId” cosmetic
- “get_store_metadata” reworded the description of “locale” cosmetic
- “get_store_metadata” reworded the description of “store” cosmetic
- “list_google_play_reviews” reworded the description of “appId” cosmetic
- “list_google_play_reviews” reworded the description of “maxResults” cosmetic
- “list_google_play_reviews” reworded the description of “token” cosmetic
- “list_google_play_reviews” reworded the description of “translationLanguage” cosmetic
- “list_keywords” reworded the description of “appId” cosmetic
- “list_keywords” reworded the description of “limit” cosmetic
- “list_keywords” reworded the description of “skip” cosmetic
- “search_store_results” reworded the description of “country” cosmetic
- “search_store_results” reworded the description of “lang” cosmetic
- “search_store_results” reworded the description of “num” cosmetic
- “search_store_results” reworded the description of “store” cosmetic
- “search_store_results” reworded the description of “term” cosmetic
- “show_app_overview” reworded the description of “appId” cosmetic
- Tool “add_keyword” changed its title: Add tracked keyword → Track a new keyword cosmetic
- Tool “delete_keyword” changed its title: Delete tracked keyword → Stop tracking a keyword cosmetic
- Tool “get_app” changed its title: Get app → Get app details cosmetic
- Tool “get_app_engagement_summary” changed its title: Get app engagement summary → Get downloads and installs cosmetic
- Tool “get_keyword_history” changed its title: Get keyword rank history → Show keyword rank history cosmetic
- Tool “get_keyword_overview” changed its title: Get keyword search-volume overview → Look up keyword search volume cosmetic
- Tool “get_keyword_rank” changed its title: Get keyword rank → Check an app's keyword rank cosmetic
- Tool “get_store_listing” changed its title: Get public store listing → Read any app's store listing cosmetic
- Tool “get_store_metadata” changed its title: Get store listing metadata → Check your store listing and review status cosmetic
- Tool “list_apps” changed its title: List apps → List your AppSkyline apps cosmetic
- Tool “list_google_play_reviews” changed its title: List Google Play reviews → Read recent Google Play reviews cosmetic
- Tool “list_keywords” changed its title: List keywords → List tracked keywords cosmetic
- Tool “search_store_results” changed its title: Search app-store results → Search an app store cosmetic
- Tool “show_app_overview” changed its title: Show Appskyline app overview → Show app overview cosmetic
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Sept 26 0
- Server version: 0.2.3 → 0.2.4 functional
- 25 Sept 26 0
- Stability: 0.97 → pass security
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 18 Sept 26 0
- Authorization: partial → pass ▲ security
- Resource “appskyline-skills-index” was removed ▼ functional
- Resource “skill-appskyline” was removed ▼ functional
- Resource “skill-aso-research” was removed ▼ functional
- Resource “skill-store-listing-audit” was removed ▼ functional
- MCP protocol: Implements a current MCP spec version (2026-07-28). functional
- MCP protocol version: 2025-11-25 → 2026-07-28 functional
- New resource “appskyline” functional
- New resource “aso-research” functional
- New resource “store-listing-audit” functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://mcp.appskyline.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=appskyline.com | CN=WE1,O=Google Trust Services,C=US | 28 Sept 2026 | 27 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 2f43abc17bcba434136bc2cbf6c69b56 |
| SANs: appskyline.com, *.appskyline.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.appskyline.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| com. | DS published | 19718 | 13 | Verified |
| appskyline.com. | No DS | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer realm="appskyline", resource_metadata="https://mcp.appskyline.com/.well-known/oauth-protected-resource", error="invalid_token", error_description="missing Bearer token"
Bearer realm="appskyline", resource_metadata="https://mcp.appskyline.com/.well-known/oauth-protected-resource", error="invalid_token", error_description="missing Bearer token" Protected resource metadata
| Document | https://mcp.appskyline.com/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://mcp.appskyline.com |
| Authorisation server | https://api.authrice.com |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.appskyline.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.appskyline.com/mcp | Inconclusive | 521 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_keyword Track a new keyword ~143
Use this when someone asks to start tracking a keyword for their app in a given language and country. Returns the new keyword; adding the same term twice creates two rows. Keywords without a country are skipped by the weekly rank check. Not for a one-off rank lookup.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | AppSkyline app id (uuid) |
| country | string | – | Two-letter store country code such as US; without one the weekly rank check skips this keyword |
| language | string | – | Two-letter language code such as en |
| searchTerms | string | yes | Keyword phrase to track, as users type it in the store, 1 to 200 characters |
| Name | Type | Req | Description |
|---|---|---|---|
| keyword | object | yes | – |
| status | string | yes | – |
No examples provided.
delete_keyword Stop tracking a keyword ~72
Use this when someone asks to stop tracking one of their keywords. Returns deleted, or not-found for an unknown id or one outside the account. Weekly rank checks stop and past snapshots stay, leaving a gap if it is tracked again later. Not for pausing tracking temporarily.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Keyword id |
| Name | Type | Req | Description |
|---|---|---|---|
| keywordId | string | yes | – |
| status | string | yes | – |
No examples provided.
get_app Get app details ~91
Use this when someone asks about one of their AppSkyline apps, such as which stores it is on or which languages it supports. Returns the app's name, default and supported locales, App Store, Mac App Store, Google Play and Microsoft Store ids, and creation and edit times. Not for the live public store page or ratings.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | AppSkyline app id (uuid) |
| Name | Type | Req | Description |
|---|---|---|---|
| app | – | yes | Null when the app is not in the signed-in account |
| status | string | yes | – |
No examples provided.
get_app_engagement_summary Get downloads and installs ~188
Use this when someone asks how many downloads, installs, uninstalls or crashes their app had over a period. Returns store-reported totals, the latest 30 daily rows and top countries for one app and store; metric names differ by store. Not for keyword rankings.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | AppSkyline app id (uuid) |
| days | integer | – | Rolling window of the last 1 to 365 days, used when no dates are given; omit dates and days for every synced day |
| endDate | string | – | Last day of the window as YYYY-MM-DD; applies only together with startDate |
| startDate | string | – | First day of the window as YYYY-MM-DD; applies only together with endDate |
| store | string | yes | Store to summarize: ios-app-store, macos-app-store, google-play or microsoft-store |
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| dailySeries | – | yes | The most recent 30 days of one daily metric series |
| dataThrough | – | yes | – |
| lastSyncedAt | – | yes | – |
| status | string | yes | – |
| store | string | yes | – |
| topTerritories | array | yes | Up to 8 leading countries or territories by downloads or installs |
| totals | array | yes | Store-reported totals for the window; metric names differ by store |
| totalsTruncated | boolean | yes | – |
No examples provided.
get_keyword_history Show keyword rank history ~185
Use this when someone asks how their app's ranking for a keyword has changed over time in one store and country. Returns the app's rank on each date AppSkyline stored a search snapshot, newest first, up to 365 rows; tracked keywords are re-checked weekly. Not for today's live rank.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | AppSkyline app id (uuid) |
| country | string | yes | Two-letter store country code such as US or IT (required) |
| limit | integer | – | Snapshots to return, newest first, from 1 to 365; defaults to 365 |
| store | string | yes | Store to read: ios-app-store, macos-app-store, google-play or microsoft-store; the app needs an id on that store |
| term | string | yes | Search term to read history for, 1 to 200 characters |
| Name | Type | Req | Description |
|---|---|---|---|
| app | – | yes | – |
| country | – | yes | – |
| returned | integer | yes | – |
| snapshots | array | yes | One row per stored search snapshot, newest first; rank is null when the app was not in that snapshot |
| status | string | yes | – |
| store | string | yes | – |
| term | string | yes | – |
| totalSnapshots | integer | yes | – |
| totalSnapshotsIsLowerBound | boolean | yes | – |
| truncated | boolean | yes | – |
No examples provided.
get_keyword_overview Look up keyword search volume ~147
Use this when someone asks how popular a keyword is or which keyword ideas are worth targeting. Returns monthly Google web-search volume (a demand proxy, not app-store search counts), difficulty, CPC and competition for up to 50 terms in one country. Terms missing from the 30-day cache trigger a billable lookup. Not for rankings.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | yes | Two-letter country code such as US or IT (required) |
| lang | string | – | Two-letter language code such as en or it; optional |
| terms | array | yes | Keyword ideas to look up in one batch, 1 to 50 terms of up to 200 characters, none containing a comma |
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | yes | – |
| keywords | array | yes | Google web-search demand per term from the shared 30-day cache, highest volume first; a proxy for interest, not app-store search counts |
| lang | – | yes | – |
| returned | integer | yes | – |
| status | string | yes | – |
| truncated | boolean | yes | – |
No examples provided.
get_keyword_rank Check an app's keyword rank ~216
Use this when someone asks where their app ranks for a keyword right now in one store and country. Returns the app's live position, or not-ranked, after scanning the top 50 results by default and up to 200, and renders a rank card. Not for how a rank changed over time.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | AppSkyline app id (uuid) |
| country | string | – | Two-letter store country code such as US or IT; defaults to US |
| lang | string | – | Two-letter language code such as en or it; defaults to en except on Google Play, which uses the store default |
| num | integer | – | How many search results to scan for the app, from 1 to 200; defaults to 50 |
| store | string | yes | Store to check: ios-app-store, macos-app-store, google-play or microsoft-store; the app needs an id on that store |
| term | string | yes | Search term to check, 1 to 200 characters |
| Name | Type | Req | Description |
|---|---|---|---|
| app | – | yes | – |
| country | – | yes | – |
| lang | – | yes | – |
| rank | – | yes | 1-based position; null unless status is ranked |
| resultsScanned | integer | yes | How many results were scanned; report a rank as #N of this |
| status | string | yes | – |
| store | string | yes | – |
| term | string | yes | – |
No examples provided.
get_store_listing Read any app's store listing ~182
Use this when someone asks about a competitor's or any app's public store page, such as its rating, number of ratings, price, version or last update. Returns the live listing for one store id, with description and release notes cut to 600 characters. Not for your own app's synced text per language.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | Two-letter store country code such as US or IT; defaults to the store's own default |
| lang | string | – | Two-letter language code such as en or it; defaults to the store's own default |
| store | string | yes | Store to read: ios-app-store, macos-app-store, google-play or microsoft-store |
| storeId | string | yes | The app's id in that store: numeric Apple id, Google Play package name such as com.example.app, or Microsoft Store product id |
| Name | Type | Req | Description |
|---|---|---|---|
| country | – | yes | – |
| lang | – | yes | – |
| listing | – | yes | The live public listing; description and release notes are cut to 600 characters. Null when the store has no app with that id. |
| status | string | yes | – |
| store | string | yes | – |
| storeId | string | yes | – |
No examples provided.
get_store_metadata Check your store listing and review status ~165
Use this when someone asks about their own app's listing text per language, such as the title, subtitle, keywords or release notes, or whether the latest version is still in review or approved. Returns the metadata AppSkyline last synced for each locale, with the version, its review state and the keyword field's length against Apple's 100-character limit; longer texts are cut to 600 characters. Not for a live competitor listing.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | AppSkyline app id (uuid) |
| locale | string | – | Only this locale, written as in the listing such as en-US or it; every synced locale when absent |
| store | string | yes | Store listing to read: ios-app-store, macos-app-store, google-play or microsoft-store |
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| listings | array | yes | Metadata as last synced into AppSkyline, one row per locale; it may differ from what the store shows now. Long texts are cut to 600 characters. |
| localeFilter | – | yes | – |
| returned | integer | yes | – |
| status | string | yes | – |
| store | string | yes | – |
| truncated | boolean | yes | – |
No examples provided.
list_apps List your AppSkyline apps ~71
Use this when someone asks which apps they track in AppSkyline, or an app's id is needed. Returns each app's id, name, default locale and its App Store, Mac App Store, Google Play and Microsoft Store ids, up to 100 apps. Not for finding other apps in a store.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| apps | array | yes | Apps the signed-in account can access, at most 100 |
| status | string | yes | – |
| truncated | boolean | yes | True when the account has more than 100 apps |
No examples provided.
list_google_play_reviews Read recent Google Play reviews ~175
Use this when someone asks what users say about their Android app on Google Play, or about recent ratings and complaints. Returns reviews with stars, text cut to 300 characters, app version, device, language and whether the developer replied, up to 100 per page. Google Play only returns reviews from the last 7 days. Not for App Store reviews.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | AppSkyline app id (uuid); the app needs a Google Play service account in AppSkyline |
| maxResults | integer | – | Reviews to return per page, from 1 to 100 |
| token | string | – | nextPageToken from the previous page; absent for the first page |
| translationLanguage | string | – | Translate review text into this language, such as en; omit to keep the original language |
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| nextPageToken | – | yes | Pass as token to get the next page; null on the last page |
| returned | integer | yes | – |
| reviews | array | yes | Reviews created or edited in the last 7 days, as the Google Play API returns them; review text is cut to 300 characters |
| status | string | yes | – |
| truncated | boolean | yes | – |
No examples provided.
list_keywords List tracked keywords ~125
Use this when someone asks which keywords they track for an app, or before adding or deleting one. Returns each tracked keyword's id, search term, language, country and bid, up to 500 per call. Not for current rankings or search volume.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | AppSkyline app id (uuid) |
| limit | integer | – | Keywords to return, from 1 to 500; omit for all tracked keywords, capped at 500 |
| skip | integer | – | Keywords to skip before the first one returned, for paging; defaults to 0 |
| Name | Type | Req | Description |
|---|---|---|---|
| keywords | array | yes | Tracked keywords for the app, at most 500 per call |
| offset | integer | yes | – |
| returned | integer | yes | – |
| status | string | yes | – |
| truncated | boolean | yes | True when more than 500 keywords matched; page with skip |
No examples provided.
open_appskyline AppSkyline ~48
Use this when someone wants to open AppSkyline and browse their workspace interactively. Apps, connected stores and tracked keywords. Starts with up to 100 items. Not for changing data.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| truncated | boolean | yes | – |
No examples provided.
search_store_results Search an app store ~206
Use this when someone asks which apps show up for a search term, or who their competitors are for a keyword, on the App Store, Mac App Store, Google Play or Microsoft Store. Returns the live results in rank order with store id, title, rating and developer (10 by default, up to 200). Not for one app's own position.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | Two-letter store country code such as US or IT; defaults to US |
| lang | string | – | Two-letter language code such as en or it; defaults to en except on Google Play, which uses the store default |
| num | integer | – | Number of results to return, from 1 to 200; defaults to 10 |
| store | string | yes | Store to search: ios-app-store, macos-app-store, google-play or microsoft-store |
| term | string | yes | Search term as a user would type it in the store, 1 to 200 characters |
| Name | Type | Req | Description |
|---|---|---|---|
| country | – | yes | – |
| lang | – | yes | – |
| results | array | yes | Live search results in store rank order; nothing is stored in AppSkyline |
| status | string | yes | – |
| store | string | yes | – |
| term | string | yes | – |
| truncated | boolean | yes | True when the store returned more than 200 results |
No examples provided.
show_app_overview Show app overview ~70
Use this when someone wants a quick overview of one of the apps they track in AppSkyline. Returns an overview card with the app's connected stores, locales and up to 50 tracked keywords. Not for keyword rankings.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | AppSkyline app id (uuid) |
| Name | Type | Req | Description |
|---|---|---|---|
| app | – | yes | – |
| keywordCount | integer | yes | – |
| keywords | array | yes | The first 50 tracked keywords; keywordCount has the total |
| storeCount | integer | yes | – |
No examples provided.
suggest_store_metadata Suggest title, subtitle and keywords ~304
Use this when someone asks which keywords to put in their app's title, subtitle, keyword field or short description, or how to improve their store listing's ASO. Without appId it covers every app in its main market, so one call answers 'for each app'. Compares each listing (synced metadata, or the live public listing in that country) with the app's tracked keywords, their latest stored rank and cached Google demand, and returns drafts that already fit each store's limits, the coverage they reach, the top opportunities and issues. Pass appId, store and a proposed title, subtitle, keywords or shortDescription to check your own wording. Read-only; never changes a store listing.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | – | AppSkyline app id (uuid); omit to cover every app |
| country | string | – | Two-letter market such as ES; defaults to the country with most tracked keywords |
| keywords | string | – | Proposed App Store keyword field, or Microsoft Store search terms one per line, to check |
| language | string | – | Listing language such as es; defaults to the market's keywords |
| shortDescription | string | – | Proposed Google Play short description to check |
| store | string | – | Only this store; every configured store when absent |
| subtitle | string | – | Proposed App Store subtitle to check; needs appId and store |
| title | string | – | Proposed title to check; needs appId and store |
| Name | Type | Req | Description |
|---|---|---|---|
| results | array | yes | One entry per app and store. Drafts already fit the store limits; competitorWords are unvetted words from competitor titles. |
| scope | string | yes | – |
| status | string | yes | – |
| totalApps | – | yes | – |
| truncated | boolean | yes | – |
No examples provided.
How do I install the AppSkyline App Rankings MCP server?
AppSkyline App Rankings is a hosted endpoint at https://mcp.appskyline.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.appskyline.com
claude mcp add --transport http com-appskyline-appskyline 'https://mcp.appskyline.com/mcp'
What is the AppSkyline App Rankings MCP server?
AppSkyline App Rankings is an MCP server listed in the public MCP registry as com.appskyline/appskyline. Track your apps' keyword rankings, reviews and store listings on App Store, Google Play and more. This page covers its hosted endpoint (https://mcp.appskyline.com/mcp).
Is the AppSkyline App Rankings MCP server safe to use?
AppSkyline App Rankings scores 86 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the AppSkyline App Rankings MCP server expose?
AppSkyline App Rankings exposes 16 tools: list_apps, get_app, list_keywords, search_store_results, get_keyword_rank, and 11 more. Their descriptions and schemas cost roughly 2,388 tokens of context every time the server is loaded.
Does the AppSkyline App Rankings MCP server require authentication?
Yes. AppSkyline App Rankings asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the AppSkyline App Rankings MCP server still maintained?
AppSkyline App Rankings is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the AppSkyline App Rankings MCP server?
VerifyMCP ran 13 checks on AppSkyline App Rankings, covering TLS certificate, Authorization, HSTS header, DNSSEC and 9 more. One item could not be completed, a gap on our side rather than a finding about AppSkyline App Rankings: HTTPS. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.