Asonix MCP

MCP tools

The Asonix MCP server at https://api.asonix.io/mcp gives your agent these 33 tools. You do not call them yourself: ask in plain words, and your agent picks the tools it needs. This page lists what each tool does and the inputs it takes.

Set up the MCP server

get_ai_visibility_overview

Read-only

AI Visibility Overview

Read a tracked app's stored AI recommendation benchmark: coverage, mention/recommendation/App Store citation rates, weekly history and topic/prompt summaries with run IDs. Not ASO visibility. No collection or model calls. Defaults to four weeks; no benchmark returns NOT_STARTED. Use list_apps to resolve the app and storefront.

appStoreIdstringRequired1–128 characters
countrystringOptionalExact storefront, e.g. us. Defaults to us; use the tracked app's home country
platformstringOptionalOne of: ios, ipad, mac
weeksintegerOptional1–12. Default: 4

get_ai_visibility_reasons

Read-only

AI Recommendation Reasons

Read cached recommendation themes, exact answer quotes and description passage matches. Includes analysis status, timestamps and its own evidence denominator (which can differ from the overview). No generation or refresh. Full descriptions stay in get_app_overview; this returns matched passages and description metadata. Use theme and evidenceLimit to drill into supporting quotes.

appStoreIdstringRequired1–128 characters
countrystringOptionalExact storefront, e.g. us. Defaults to us; use the tracked app's home country
platformstringOptionalOne of: ios, ipad, mac
themestringOptional1–200 characters
evidenceLimitintegerOptional1–10. Default: 3

get_ai_visibility_evidence

Read-only

AI Visibility Evidence

Read a saved AI Visibility answer by runId, or recent answers for one promptId (exactly one required). Defaults to one run; use nextBefore for older prompt runs. Citations, resolved mentions and classification coverage are included. includeTrace adds captured searches; their sources belong to a search call, not an individual query. No external requests or collection.

Give exactly one of: runId, promptId.

appStoreIdstringRequired1–128 characters
countrystringOptionalExact storefront, e.g. us. Defaults to us; use the tracked app's home country
platformstringOptionalOne of: ios, ipad, mac
runIdstringOptional1–128 characters
promptIdstringOptional1–128 characters
beforestringOptionalExclusive scheduledFor cursor from nextBefore; only with promptId. Format: date-time
limitintegerOptional1–5. Default: 1
includeTracebooleanOptionalDefault: false

add_app

Makes changes

Add App

Add an App Store app to the current Asonix workspace by App Store ID or app name/search query.

appStoreIdstringOptional
countrystringOptional
namestringOptional
platformstringOptionalOne of: ios, ipad, mac
qstringOptional

create_unreleased_app

Makes changes

Create Unreleased App

Create a private unreleased app idea in the current Asonix workspace. Use this when the user's app is not on the App Store yet; then add researched keywords with add_keywords.

countrystringOptional
namestringOptional
platformstringOptionalOne of: ios, ipad, mac

search_apps

Read-only

Search Apps

Search the public App Store by app name/query and return app IDs, names, categories, developers, ratings, URLs, and screenshot URLs. Use before add_app when the user gives an app name.

countrystringOptional
limitintegerOptional1–100
platformstringOptionalOne of: ios, ipad, mac
qstringRequired

search_app_store

Read-only

Search Live App Store

Search the live App Store ranking for a keyword to validate search intent and inspect competitors. Returns up to 100 ranked apps with enriched subtitles for the most important results. Screenshot URLs are opt-in and limited to the first 10 apps. This is private, read-only, and does not calculate popularity or difficulty; use evaluate_keywords for scores. Each app includes runsAppleSearchAds. runsAppleSearchAds is yes when the app appeared in a sampled iPhone App Store search ad in that country within seven days. unknown is not proof the app is not bidding: no sampled ad showed it, or Asonix does not sample that storefront. unavailable means the status read failed.

appStoreIdstringOptionalOptional app ID to locate in the returned live ranking
countrystringOptional
includeScreenshotsbooleanOptionalInclude screenshot URLs for the first 10 ranked apps. Omitted by default to keep responses compact
keywordstringRequired
limitintegerOptional1–100
platformstringOptionalOne of: ios, ipad, mac

add_keywords

Makes changes

Add Keywords

Add one or more tracked keywords to an app in the current Asonix workspace and queue ranking refresh so popularity, difficulty, opportunity, and rank evidence can be collected. For agent-researched candidates, call evaluate_keywords first and add app-relevant primary or secondary terms.

appStoreIdstringRequired
countrystringOptional
keywordsarray of stringRequiredAt least 1 item
platformstringOptionalOne of: ios, ipad, mac

star_keyword

Makes changes

Star Keyword

Star/favorite a keyword research keyword in the current workspace by keywordId or term.

countrystringOptional
keywordIdstringOptional
termstringOptional

unstar_keyword

Makes changes

Unstar Keyword

Remove a keyword research keyword from the current workspace favorites by keywordId or term.

countrystringOptional
keywordIdstringOptional
termstringOptional

list_apps

Read-only

List Apps

List apps tracked in the current Asonix workspace, including names, App Store IDs, platforms, countries, ratings, and tracked-keyword counts.

limitintegerOptional1–100
platformstringOptionalOne of: ios, ipad, mac
qstringOptional

get_app

Read-only

Get Tracked App

Return one tracked Asonix workspace app with its listing screenshots, tracked keywords, and current ranking context. Includes app-specific relevanceScore and relevanceStatus on each tracked keyword; missing scores queue in the background. app.runsAppleSearchAds applies to app.runsAppleSearchAdsCountry: the requested country, else the app's home country. runsAppleSearchAds is yes when the app appeared in a sampled iPhone App Store search ad in that country within seven days. unknown is not proof the app is not bidding: no sampled ad showed it, or Asonix does not sample that storefront. unavailable means the status read failed. Each rank has checkedAt; the result flags ranks more than 18 hours old or never checked, and refresh_app_rankings updates them.

appStoreIdstringRequired
countrystringOptional
platformstringOptionalOne of: ios, ipad, mac

get_app_meta_ads

Read-only

App Meta Ads

Return an App Store app's Meta (Facebook, Instagram, Messenger, Audience Network) ads from Asonix's shared Meta Ad Library catalog, worldwide: active ads that link to the app in the App Store, with text, call to action, start date, platforms and an Ad Library link, and past ads with the dates they ran. Works for any app, tracked or not. An app with no ads in the catalog returns status not_found, which is not proof it never ran Meta ads: the catalog covers App Store ads found by a monthly crawl.

appStoreIdstringRequired

refresh_app_rankings

Makes changes

Refresh App Rankings

Queue a keyword ranking refresh for one tracked app and return at once with jobIds. Only keywords not checked in the last 18 hours are queued; keywords already refreshing are joined, not queued twice. A storefront whose refresh was requested recently is skipped and listed in coolingDown with the time it can start again. Omit country to refresh every tracked storefront of the app. A refresh can take 10 minutes or more, so do not wait in a loop: tell the user rankings are updating, then call get_ranking_refresh_status with the jobIds after pollAfterSeconds, or read get_app later.

appStoreIdstringRequired
countrystringOptional
platformstringOptionalOne of: ios, ipad, mac

get_ranking_refresh_status

Read-only

Ranking Refresh Status

Report progress of a ranking refresh started by refresh_app_rankings, or of the rankingRefreshJob id returned by add_keywords: keywords done, failed, and remaining per storefront. Poll no more often than pollAfterSeconds. When finished is true, read the full updated ranks with get_app.

jobIdsarray of stringRequired1–20 items

get_workspace_keyword_opportunities

Read-only

Workspace Keyword Opportunities

Return top scored keyword opportunities across all tracked apps in the current Asonix workspace, including shipped and unreleased apps, all countries, and rank/popularity/difficulty/opportunity evidence. Use this for requests like analyzing all apps or finding the top 100 opportunities without reading a local database. Each opportunity has checkedAt; call refresh_app_rankings for an app whose ranks are old.

countrystringOptional
limitintegerOptional1–200
platformstringOptionalOne of: ios, ipad, mac

check_tracked_keywords

Read-only

Check Tracked Keywords

Check candidate keyword terms against one tracked app's existing tracked keywords without dumping the full keyword table. iOS keyword rows include cached topAdvertisers; pending observations queue in the background. Use this before calling a candidate a missing gap, before add_keywords, and instead of inspecting local database code.

appStoreIdstringRequired
countrystringOptional
keywordsarray of stringRequiredAt least 1 item
platformstringOptionalOne of: ios, ipad, mac

get_app_overview

Read-only

App Overview

Return one tracked app's listing metadata, countries, ratings context, and compact Asonix app summary. app.runsAppleSearchAds applies to app.runsAppleSearchAdsCountry: the requested country, else the app's home country. runsAppleSearchAds is yes when the app appeared in a sampled iPhone App Store search ad in that country within seven days. unknown is not proof the app is not bidding: no sampled ad showed it, or Asonix does not sample that storefront. unavailable means the status read failed.

appStoreIdstringRequired
countrystringOptional
platformstringOptionalOne of: ios, ipad, mac

get_app_visibility_history

Read-only

App Visibility History

Return tracked ASO visibility score history for an app, useful for momentum and trend analysis.

appStoreIdstringRequired
daysintegerOptional2–30
platformstringOptionalOne of: ios, ipad, mac

get_app_rank_history

Read-only

App Rank History

Return rank, popularity, or difficulty history for one tracked app keyword in a storefront.

appStoreIdstringRequired
countrystringOptional
keywordstringRequired
metricstringOptionalOne of: rank, popularity, difficulty
platformstringOptionalOne of: ios, ipad, mac

get_app_rating_history

Read-only

App Rating History

Return stored public rating history for one tracked app with deltas. Omit country or pass "all" to return every observed storefront plus the all-countries aggregate; pass a country code to return only that storefront.

appStoreIdstringRequired
countrystringOptionalOptional App Store country to return. Omit it or pass "all" to return every stored country and the all-countries aggregate
platformstringOptionalOne of: ios, ipad, mac

get_keyword_suggestions_for_app

Makes changes

App Keyword Suggestions

Refresh and return Asonix keyword suggestions for one tracked app and storefront. Includes suggestionRelevance rows and inline metadata-plan relevanceScore/relevanceStatus; missing scores queue in the background.

appStoreIdstringRequired
countrystringOptional
platformstringOptionalOne of: ios, ipad, mac

research_app_keywords

Makes changes

Research App Keywords

Start ASO keyword research for a tracked app in one call: app context, Asonix suggestions, known public rankings, and market keyword opportunities, each with target-app relevanceScore and relevanceStatus. Suggested strings have parallel suggestionRelevance rows. iOS keyword rows include cached topAdvertisers; pending observations queue in the background, so retry this tool later. Missing relevance scores also queue. Raw seed SERPs are checked privately unless storePublicly is true. Before final recommendations or add_keywords, rank and classify candidate terms with evaluate_keywords.

appStoreIdstringRequired
countrystringOptional
excludeBrandsbooleanOptional
competitorLimitintegerOptional1–10
includeCompetitorsbooleanOptional
limitintegerOptional1–25
platformstringOptionalOne of: ios, ipad, mac
qstringOptional
refreshSuggestionsbooleanOptional
seedstringOptional
sortstringOptionalOne of: revenue, downloads, opportunity, popularity, difficulty
storePubliclybooleanOptional

extract_competitor_keywords

Makes changes

Competitor Keywords

Extract keyword opportunities from competitor public rankings and compare them against the tracked app. Includes relevanceScore/relevanceStatus for the target app, not the competitors; missing scores queue in the background. Provide competitorAppStoreIds, or provide a seed keyword to discover competitors from a private live SERP unless storePublicly is true. Rank and classify candidates with evaluate_keywords before recommending or adding them.

appStoreIdstringRequired
competitorAppStoreIdsarray of stringOptional
competitorIdsarray of stringOptional
competitorLimitintegerOptional1–10
competitorsarray of stringOptional
countrystringOptional
keywordstringOptional
limitintegerOptional1–25
platformstringOptionalOne of: ios, ipad, mac
qstringOptional
seedstringOptional
storePubliclybooleanOptional

get_localization_opportunities

Makes changes

Localization Opportunities

Build and return localization and translated market keyword opportunity requests for one tracked app.

appStoreIdstringRequired
platformstringOptionalOne of: ios, ipad, mac

get_public_app_rankings

Read-only

Public App Rankings

Return known public App Store keyword rankings where an app appears in collected SERPs.

appStoreIdstringRequired
countrystringOptional
limitintegerOptional1–20
offsetintegerOptionalAt least 0
platformstringOptionalOne of: ios, ipad, mac

search_keywords

Read-only

Search Keywords

Search Asonix keyword research summaries by query, market, platform, scores, and market estimates. iOS keyword rows include cached topAdvertisers; pending observations queue in the background, so retry this tool later.

countrystringOptional
excludeBrandsbooleanOptional
limitintegerOptional1–100
maxDifficultyintegerOptional0–100
maxDownloadsintegerOptionalAt least 0
maxKeywordLengthintegerOptionalAt least 1
maxOpportunityintegerOptional0–100
maxPopularityintegerOptional0–100
maxRevenueintegerOptionalAt least 0
minDifficultyintegerOptional0–100
minDownloadsintegerOptionalAt least 0
minOpportunityintegerOptional0–100
minPopularityintegerOptional0–100
minRevenueintegerOptionalAt least 0
pageintegerOptionalAt least 1
platformstringOptionalOne of: ios, ipad, mac
qstringOptional
sortstringOptionalOne of: revenue, downloads, opportunity, popularity, difficulty
starredbooleanOptional

get_keyword_relevance

Read-only

Keyword Relevance

Get app-specific keyword relevance (0–100) for a tracked workspace app using the same revised-selective scorer as the UI. Accepts up to 100 keywords. Reuses cached scores and queues missing work; returns immediately with ready, pending, failed or unavailable statuses. Pending is not zero: call again after at least three seconds, backing off on repeated pending responses. Use retry=true only to retry failed work after its cooldown. Does not add keywords to tracking or public research. Country defaults to us and platform to ios.

appStoreIdstringRequiredAt least 1 character
countrystringOptional
platformstringOptionalOne of: ios, ipad, mac
keywordsarray of stringRequired1–100 items. Each item: 1–200 characters, not blank
retrybooleanOptional

evaluate_keywords

Makes changes

Evaluate Keywords

Rank and classify candidate ASO keywords against Asonix popularity, difficulty, and opportunity stats. If a candidate includes popularityScore and difficultyScore, evaluate those values directly. Otherwise, reuse an existing public keyword row when available; missing candidate terms are scored privately with the same Asonix SERP scoring model without adding them to public keyword research. Up to 20 new/private terms are scored per call; split larger unknown batches or pass known scores. Use this before final keyword recommendations, add_keywords, or star_keyword. Supply appStoreId for inline relevanceScore and relevanceStatus. Missing scores queue in the background; use get_keyword_relevance to check pending scores. Decisions and ranking still reflect market metrics; assess app fit separately using relevance.

appStoreIdstringOptionalOptional tracked target app for inline relevance scores. At least 1 character
countrystringOptional
excludeBrandsbooleanOptional
keywordsarray of string or objectRequired1–50 items. Object fields: difficultyScore (0–100), keyword, opportunityScore (0–100), popularityScore (0–100), term
maxDifficultyintegerOptional0–100
minOpportunityintegerOptional0–100
minPopularityintegerOptional0–100
platformstringOptionalOne of: ios, ipad, mac

get_keyword_top_apps

Makes changes

Keyword Top Apps

Return top ranking App Store apps for an Asonix keywordId or a live App Store keyword/term, with cached topAdvertisers for eligible iOS keywords. Pending advertiser observations are queued; retry later. Raw keyword/term lookups are checked privately unless storePublicly is true. Each app includes runsAppleSearchAds. runsAppleSearchAds is yes when the app appeared in a sampled iPhone App Store search ad in that country within seven days. unknown is not proof the app is not bidding: no sampled ad showed it, or Asonix does not sample that storefront. unavailable means the status read failed.

countrystringOptional
keywordstringOptional
keywordIdstringOptional
limitintegerOptional1–50
platformstringOptionalOne of: ios, ipad, mac
storePubliclybooleanOptional
termstringOptional

get_keyword_top_advertisers

Read-only

Keyword Top Advertisers

Return cached apps observed in native App Store search ads for one authorized iPhone keyword/storefront. Shows seven-day successful-check coverage, last seen, and 30-day history. Pending collection is queued; call again later. No live Apple request is made by this tool. Absence does not prove bidding stopped or an app was outbid. Requires an explicit Apple Ads search-results country and exactly one of keywordId or term.

countrystringRequiredOne of 91 values: ae, al, am, ar, at, …
keywordIdstringOptional1–100 characters
termstringOptional1–200 characters
platformstringOptionalOne of: ios

get_keyword_history

Read-only

Keyword History

Return keyword popularity or difficulty history for an Asonix keyword, with cached topAdvertisers for eligible iOS keywords. Pending advertiser observations are queued; retry later.

countrystringOptional
keywordIdstringRequired
metricstringOptionalOne of: popularity, difficulty
platformstringOptionalOne of: ios, ipad, mac

collect_keyword_serp

Makes changes

Check Keyword Search Results

Check a live App Store keyword SERP privately by default. Includes cached topAdvertisers for eligible iOS keywords; pending advertiser observations are queued, so retry later. Set storePublicly to true only when the user wants to add/reuse the keyword in the shared public research index. Each topApps row includes runsAppleSearchAds. runsAppleSearchAds is yes when the app appeared in a sampled iPhone App Store search ad in that country within seven days. unknown is not proof the app is not bidding: no sampled ad showed it, or Asonix does not sample that storefront. unavailable means the status read failed.

countrystringOptional
keywordstringRequired
platformstringOptionalOne of: ios, ipad, mac
storePubliclybooleanOptional
Back to Asonix