App Store Tracker
REMOTE · WWW.APPSTORETRACKER.COM
iOS App Store chart rankings, app details, reviews, keywords and revenue estimates.
Available components
Last scanned (4 hours ago)
Scores higher than 85% 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 Security89
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token. See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability70
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2527 tokens (~157/item across 16 items; 16 tools + 0 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 Management67
- Stability observed for 20 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 16 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
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.
- 4 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.
- 30 Oct 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: 2209 → 2527 ▼ functional
- New tool “list_design_apps” functional
- “search_designs” reworded the description of “offset” cosmetic
- “search_designs” reworded the description of “pattern” cosmetic
- 28 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.
- 24 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Oct 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: 1881 → 2209 ▼ functional
- New tool “search_designs” functional
- 20 Oct 26 −1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_app_details” rewrote its description, which is the text the model reads security
- Tool “get_categories” rewrote its description, which is the text the model reads security
- Tool “get_ranking_history” rewrote its description, which is the text the model reads security
- Tool “get_rankings” rewrote its description, which is the text the model reads security
- Tool “get_reviews” rewrote its description, which is the text the model reads security
- Tool “get_similar_apps” rewrote its description, which is the text the model reads security
- Tool “search_apps” rewrote its description, which is the text the model reads security
- Schema quality: pass → fail ▼ functional
- “get_rankings” reworded the description of “chart” cosmetic
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://www.appstoretracker.com/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=www.appstoretracker.com | CN=YR1,O=Let's Encrypt,C=US | 18 Sept 2026 | 17 Dec 2026 | RSA 2048 | SHA256-RSA | 54e49b95d2b292a5ecbac1e7bdff82cc44a |
| SANs: www.appstoretracker.com | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of www.appstoretracker.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| appstoretracker.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Challenged, unverified
The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.
| Result | Challenged, unverified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer realm="appstoretracker-mcp"
Bearer realm="appstoretracker-mcp" | Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains; preload |
| content-security-policy | frame-ancestors 'self' |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | no-referrer |
| permissions-policy | interest-cohort=() |
Protected resource metadata
| Retrieved | No |
|---|---|
| Problem | no_resource_metadata |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://www.appstoretracker.com/api/mcp | Verified | 200 | |
| http (plaintext) | http://www.appstoretracker.com/api/mcp | HTTPS enforced | 308 | https://www.appstoretracker.com/api/mcp |
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_to_watchlist Add app to watchlist ~119
Add an app to your watchlist, and with a keyword_id also track that keyword for the app. A keyword is tracked only for an app on your watchlist. Needs an API key bound to an account.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | integer | yes | App Store ID of the app to watch |
| country_code | string | – | Two-letter storefront code (default: "us"); with keyword_id it must match the keyword's storefront |
| keyword_id | string | – | Keyword uuid to track for the app (optional; from the keyword tools) |
No output schema declared.
No examples provided.
get_ads Get ads ~100
Get the ad creatives one iOS app is running, with the ad library each came from and how many that library holds for the app.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | integer | yes | App Store ID (numeric ID from the app URL) |
| limit | integer | – | Ads per page (1-100, default: 30) |
| offset | integer | – | Ads to skip (default: 0) |
| platform | string | – | Narrow to one ad library |
No output schema declared.
No examples provided.
get_app_details Get app details ~169
Get the listing for one iOS app by app_id: name, developer, subtitle, description, version, price, languages, content rating, screenshot URLs, an AI-written short summary, plus the storefront's rating and rating count, its latest recorded chart position (and the one before it), and the latest revenue and downloads estimate. Use this for a single app's current snapshot; use get_ranking_history for positions over time, get_revenue_history for estimates over time and get_timeline for listing changes. Errors with 'App not found' when the id is not in our data. Get the id from search_apps.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | integer | yes | App Store ID (numeric ID from the app URL) |
| country | string | – | Two-letter country code (default: "us") |
No output schema declared.
No examples provided.
get_categories List categories ~56
List every App Store category as a category_id and category_name pair (a fixed list, no arguments, no network call). Use it to find the category_id to pass to get_rankings; the overall chart is category_id 36.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_keyword_watchlist Get keyword watchlist ~92
Get the keywords this API key's own account has asked us to track, with each keyword's next scheduled SERP sweep. Scoped to the caller, same as get_tracked_apps.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | integer | – | Only return keywords watched for this App Store ID (default: every app the account watches) |
| limit | integer | – | Maximum number of keywords (1-200, default: 100) |
No output schema declared.
No examples provided.
get_keywords Get keywords ~71
Get the App Store search terms one iOS app is collected as ranking for, with its position and the day that position was observed.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | integer | yes | App Store ID (numeric ID from the app URL) |
| limit | integer | – | Maximum keywords (1-200, default: 50) |
No output schema declared.
No examples provided.
get_ranking_history Get ranking history ~153
Get one app's top-free chart position per day in one storefront, as ranking_position and created_at points. The chart is the overall chart when the app has ever ranked there, otherwise the app's own category chart. Look back 1 to 3650 days (default 30). Use it for trends and for explaining a move; use get_rankings for a whole chart on one day. Top paid and top grossing history is not collected.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | integer | yes | App Store ID of the app |
| country | string | – | Two-letter country code (default: "us") |
| days | integer | – | Number of days of history (1-3650, default: 30) |
No output schema declared.
No examples provided.
get_rankings Get top chart rankings ~224
Get the App Store top free chart for a country, in chart order with #1 first: the overall chart by default, or one category via category_id (see get_categories). Each app comes with its position, previous position, name, developer, rating and revenue and download estimates, and the response gives the chart day it describes. Only top free is collected; top paid and top grossing are not. Use get_ranking_history for how one app's position moved over time.
| Name | Type | Req | Description |
|---|---|---|---|
| category_id | string | – | App Store category ID (default: "36", the overall chart; e.g. "6015" for Finance, "6014" for Games). get_categories lists them. |
| chart | string | – | Which chart. Only top_free is collected (top paid and top grossing are not, and return no items), so this is the default and the only option. |
| country | string | – | Two-letter country code (default: "us") |
| limit | integer | – | Maximum number of results (1-200, default: 100) |
No output schema declared.
No examples provided.
get_revenue_history Get revenue history ~96
Get the worldwide monthly downloads and revenue estimates for one iOS app, one point per data month (dated its first day). Values are Sensor Tower buckets; downloadsFloor/revenueFloor mark the stored 1,000, which means "< 5K", not an exact figure.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | integer | yes | App Store ID (numeric ID from the app URL) |
| range | string | – | How far back to read |
No output schema declared.
No examples provided.
get_reviews Get app reviews ~115
Get the most recent user reviews we have stored for one iOS app, newest first: title, text, star rating (rating), author, app version reviewed and date. Takes no country argument. Use it to read what users say; use get_app_details for the overall rating and rating count. Returns an empty list when we hold no reviews for the app.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | integer | yes | App Store ID of the app |
| limit | integer | – | Maximum number of reviews (1-50, default: 10) |
No output schema declared.
No examples provided.
get_similar_apps Get similar apps ~138
Find apps similar in meaning to one app, using embedding similarity over their listings (limited to the given storefront). Each result has rating, rating count, revenue and downloads estimates and a distance (lower means closer). Results are sorted by downloads estimate, biggest first, not by distance. Use it to build a competitor list; use search_apps to look up an app by name instead.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | integer | yes | App Store ID of the reference app |
| country | string | – | Two-letter country code (default: "us") |
| limit | integer | – | Maximum number of similar apps (1-50, default: 12) |
No output schema declared.
No examples provided.
get_timeline Get app timeline ~78
Get every recorded change to one iOS app listing: version, name, subtitle, price, screenshots and description, newest first, with the day each change was first seen.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | integer | yes | App Store ID (numeric ID from the app URL) |
| country | string | – | Two-letter country code (default: "us") |
No output schema declared.
No examples provided.
get_tracked_apps Get tracked apps ~73
Get the apps this API key's own account is monitoring, newest first. Scoped to the caller: a key bound to another account sees a different set, and a key bound to no account is refused.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of tracked apps (1-1000, default: 200) |
No output schema declared.
No examples provided.
list_design_apps List apps with captured designs ~263
List every app whose screens App Store Tracker captured itself (the library at /designs), best US chart position first, with its screen count, the design categories captured (onboarding, paywall, features, other) and its page. Page through the whole library with offset, or narrow it: by category name, by words in the app's name, by a design category, or by app_ids, which keeps the apps of another answer (for example a get_rankings chart) that we have screens for, in that order. Then search_designs with an app_id shows that app's screens.
| Name | Type | Req | Description |
|---|---|---|---|
| app_ids | array | – | App Store ids from another answer, best first: only these apps, kept in this order |
| category | string | – | App Store category name, e.g. "Health & Fitness", "Finance", "Games"; ignored when query names an app |
| limit | integer | – | Apps per page (1-100, default: 10) |
| offset | integer | – | Apps to skip, for the next page (use next_offset) |
| pattern | string | – | Only apps with screens of this category |
| query | string | – | Words in the app's or developer's name (at most 200 characters) |
No output schema declared.
No examples provided.
search_apps Search apps ~145
Find iOS apps by name or keyword, using Apple's iTunes Search API at call time (a text search over Apple's catalogue, not our own data). Returns app_store_id, name, developer, category id, rating, rating count and price for each match. Call this first to turn an app name into the app_store_id (the 'app_id' argument) that every per-app tool needs.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | Two-letter country code (default: "us") |
| limit | integer | – | Maximum number of results (1-50, default: 25) |
| query | string | yes | Search query (e.g., "fitness tracker", "photo editor") |
No output schema declared.
No examples provided.
search_designs Search app designs ~337
Search real iPhone app screens that App Store Tracker captured itself (the library at /designs) by describing what you want to see, e.g. "paywall with a free trial toggle and the yearly plan preselected", "onboarding that asks for the user's goals", "notification permission pre-prompt". Describe one screen in plain words; narrow with pattern or app_id rather than with negations or keyword lists. Ranked by meaning, with exact on-screen words counting extra, and at most per_app screens per app. Each item gives the app_id for every per-app tool, the flow and screen it belongs to, a short summary, the image URL and the App Store Tracker page to cite. Covers only the apps we captured, not the whole App Store; an empty list means none of those matched.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | integer | – | Only this app's screens (App Store ID, from search_apps) |
| limit | integer | – | Screens per page (1-20, default: 8) |
| offset | integer | – | Screens to skip, for the next page (use next_offset; at most 500, enough for every screen of one app) |
| pattern | string | – | Only screens of this category: onboarding, paywall (paywall & subscription), features (the app itself after first run) or other (settings, account, help...). Default: any |
| per_app | integer | – | Most screens from one app (1-5, default: 2; ignored with app_id) |
| query | string | yes | What the screen shows, in plain language (at most 300 characters) |
No output schema declared.
No examples provided.
How do I install the App Store Tracker MCP server?
App Store Tracker is a hosted endpoint at https://www.appstoretracker.com/api/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 · www.appstoretracker.com
claude mcp add --transport http com-appstoretracker-mcp 'https://www.appstoretracker.com/api/mcp'
What is the App Store Tracker MCP server?
App Store Tracker is an MCP server listed in the public MCP registry as com.appstoretracker/mcp. iOS App Store chart rankings, app details, reviews, keywords and revenue estimates. This page covers its hosted endpoint (https://www.appstoretracker.com/api/mcp).
Is the App Store Tracker MCP server safe to use?
App Store Tracker scores 82 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 App Store Tracker MCP server expose?
App Store Tracker exposes 16 tools: search_apps, get_app_details, get_rankings, add_to_watchlist, get_similar_apps, and 11 more. Their descriptions and schemas cost roughly 2,229 tokens of context every time the server is loaded.
Does the App Store Tracker MCP server require authentication?
Yes. App Store Tracker 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 App Store Tracker MCP server still maintained?
App Store Tracker 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.