Bots St

bots.st/sonar

sonar

ASO keyword research and rank tracking; competitor ad analys

3083 ms

answered our call

State
Answered
Protocol
MCP 2025-06-18
Tools listed
79
Answered
3 of the last 3 calls

How to reach it

  • MCP, HTTPhttps://trysonar.app/mcpNeeds header Authorization
  • npmnpx -y @sonarapp/mcpReleased 14 Oct 2026, version 0.13.2Set SONAR_API_KEY

What it can do

ToolWhat it says it does
sonar_ad_spy_ad_analysisThe cached AI analysis of an ad (hook, angle, format, structure, CTA, why it works) and its video transcript, or `analysis: null` when it hasn't been analyzed yet — then use sonar_ad_spy_analyze_ad. Free cached read. Requires an Indie or Agency plan (a trial counts).
sonar_ad_spy_adsA Facebook page's cached Meta ads (Facebook, Instagram, Messenger, Audience Network): stats over every cached ad (active count, longest running, new in 30 days, format and placement mix, max variants), the ads matching the filters with copy, CTA, landing URL, placements, days running and a…
sonar_ad_spy_analyze_adWRITE tool — AI breakdown of why an ad works: hook, persuasion angle, creative format, beat-by-beat structure, CTA and a grounded "why it works" (no invented metrics). Analyses are cached for every Sonar account: an ad that already has one comes back free (`cached: true`), otherwise the first…
sonar_ad_spy_competitorsStart here for competitor ads. Every competitor the account tracks, with the Facebook pages (meta_pages) and TikTok accounts (tiktok_accounts) already linked to it and its last page scan, plus today's Ad Spy lookup allowance (used / limit / remaining / resets_at). A competitor with no linked page…
sonar_ad_spy_hide_adsWRITE tool — remove irrelevant ads from this account's scans ("Remove from scan"), or put them back with hidden: false. Per account only; other accounts still see them. Requires an Indie or Agency plan (a trial counts) and an authorized Sonar account or an API key with the write scope.
sonar_ad_spy_linkWRITE tool — confirm which Facebook page or TikTok account belongs to a competitor. Only call it after the user picked the candidate (the mapping is shared by every Sonar account). Accepts only candidates this account's own scans or searches returned in the last 2 days. Spends no lookup; then use…
sonar_ad_spy_open_pageWRITE tool — open a Facebook page from a recent search or scan without linking it to a competitor, and return its ads (same shape and filters as sonar_ad_spy_ads). The ads are fetched when the cached copy is over 24h old. Spends one of the account's daily Ad Spy lookups (today's usage comes back…
sonar_ad_spy_refreshWRITE tool — fetch a page's current Meta ads or a TikTok account's latest videos when the cached copy is over 24h old (a fresher copy comes back unchanged and costs nothing). Linked pages also refresh weekly on their own. Returns the same view as sonar_ad_spy_ads / sonar_ad_spy_tiktok_posts…
sonar_ad_spy_scanWRITE tool — search a competitor's Facebook page (channel "meta") or TikTok account (channel "tiktok") and return ranked candidates; an unambiguous top match is flagged `best_match`. It never links: show the candidates and let the user confirm, then call sonar_ad_spy_link (the page mapping is…
sonar_ad_spy_scriptWRITE tool — adapt a proven competitor ad's FORMAT (not its claims or brand) into an organic TikTok or Reels script the user can film: hook, beats (shot + on-screen text), soft CTA, audio and caption ideas. Every call is a new AI generation and spends one of the account's daily Ad Spy lookups…
sonar_ad_spy_search_pagesWRITE tool — free-text search for Facebook advertiser pages by brand or company name, not tied to a tracked competitor. Open a result with sonar_ad_spy_open_page, or link it to a competitor with sonar_ad_spy_link. Spends one of the account's daily Ad Spy lookups (today's usage comes back in…
sonar_ad_spy_tiktok_postsA linked TikTok account's cached public videos with real counters (views, likes, comments, shares, saves), caption, post date and a `breakout` flag (3× or more the account's median views). Use `url` (permanent); compact by default, so the expiring `cover_url` is left out (fields: "full" adds it)…
sonar_ad_spy_unlinkWRITE tool — remove a wrong competitor → Facebook page (advertiser_id) or TikTok account (account_id) link. Pass exactly one. The link is shared, so this also removes it for other Sonar accounts tracking that competitor. Requires an Indie or Agency plan (a trial counts) and an authorized Sonar…
sonar_ad_spy_vaultThe account's saved ads (the vault), newest first: details frozen at save time, status (pending/stored/partial/failed), notes and stored media files, plus usage vs the plan's vault limit. Asset URLs need the account's API key — vault media is private, never share them as public links. Requires an…
sonar_ad_spy_vault_removeWRITE tool — delete a saved ad and its stored media files from the vault. Requires an Indie or Agency plan (a trial counts) and an authorized Sonar account or an API key with the write scope.
sonar_ad_spy_vault_saveWRITE tool — save Meta ads to the account's private vault: details are frozen and the media downloaded into Sonar's storage, so the ad survives being stopped or its links expiring. Saves what fits the plan's vault limit and reports the rest as `over_limit`; poll sonar_ad_spy_vault for status. An…
sonar_ad_spy_vault_updateWRITE tool — set or clear a saved ad's note and/or retry its media download. Requires an Indie or Agency plan (a trial counts) and an authorized Sonar account or an API key with the write scope.
sonar_add_screenshotAppend a screen to a screenshot set (at the end; reorder with sonar_update_screenshot_set). Requires an Indie plan (trial counts) and an authorized Sonar account or a write-scope API key.
sonar_alert_eventsThe detected alert events for your workspace, newest first — the same feed as the in-app Recent Alerts panel and the email digest: rank drops/gains, top-10 entries/exits, new rankings, rating drops, review spikes, and competitor changes, each with a type-specific payload (app/keyword names, old vs…
sonar_analyze_competitorsWRITE tool — generates a fresh AI competitive insight for one of your own apps: clusters the keyword gaps vs your competitors into named opportunity themes (with a why-now narrative and per-keyword metrics), writes threat narratives for competitors climbing on your keywords, and diffs against the…
sonar_app_aso_scoreCalculate an ASO (App Store Optimization) audit score (0-100) for an app. Returns the overall score plus an itemized breakdown of checks (title length, keyword usage, screenshots, ratings, etc.) so you can identify what to improve. Works without an API key (free tier, limited daily use per IP).
sonar_app_changesChange history for a tracked app — detected releases, metadata edits, screenshot swaps, price changes, category moves, iOS product page header swaps (`header`: data.action added/changed/removed + header artwork) and newly listed iOS In-App Events (`in_app_event`: title, kind, dates), newest first…
sonar_app_engagementApp Store Connect App Analytics for one of your own iOS apps: the impressions → product page views → downloads funnel with conversion rates (`page_view_rate`, `download_rate`) and App Store search share, impressions by source (App Store search, browse, app referrer, web referrer…), plus daily…
sonar_app_extract_keywordsExtract the most likely target keywords from an app's title and description, ranked by relevance. Useful for understanding what an app (yours or a competitor) is optimizing for. Works without an API key (free tier, limited daily use per IP).
sonar_app_keywordsList the keywords tracked for an app in the caller's Sonar workspace, with latest difficulty, popularity, results count, note, and starred_at (favorite/target marker) per keyword. Returns the tracked-keyword ids used by sonar_update_keyword_note and sonar_star_keyword, and the keyword_ids used by…
sonar_app_lookupLook up a single app by its store ID. Returns app metadata including name, developer, category, rating, reviews, installs (Android), and price. Works without an API key (free tier, limited daily use per IP). If the store is throttling, the result may be Sonar's stored copy: it then comes back as…
sonar_app_overviewThe dashboard's computed scoreboard for one of your apps in a single call: visibility index and share of voice (with 7-day deltas and a daily spark), ranked / top-10 keyword counts with movement, best rank, the biggest 7-day improvements and drops, the rank-distribution trend, and the actionable…
sonar_app_rankingsRank history for an app's tracked keywords over the requested window. Compact by default: each keyword's current rank and status, best rank, positions gained and a newest-first daily `ranks` list (a rank, "unranked" = checked but not found, null = no check that day). Pass fields: "full" for the…
sonar_app_revenueEstimate monthly revenue for an app, based on install counts, ratings, and category benchmarks. Returns the dollar estimate with its likely range (`monthly_range`), the install base it rests on (`installs`: estimate, low, high, source), a confidence grade (high/medium/low) with the factors behind…
sonar_app_reviewsFetch user reviews for any app, live from the store (up to ~500 of the most recent or most helpful for the country). The star-rating filters and `limit` apply to that fetched window, so a narrow filter on a small app can return few or no reviews. Useful for sentiment analysis, feature-request…
sonar_app_salesApp Store Connect sales for one of your own iOS apps: daily first-time downloads, redownloads, in-app purchase units and approximate USD proceeds (`proceeds_usd_approx`, converted with a static FX table — present it as approximate), window totals, and a per-country breakdown sorted by downloads…
sonar_app_searchFind apps in the App Store or Google Play by keyword, e.g. to get an app's store ID before calling other tools. Returns `{ source, data }`: `data` is the matching apps, compact by default (store ID, name, subtitle, developer, category, icon, rating, rating count, price, store URL, list position…
sonar_cancel_review_replyWRITE tool — cancel a scheduled reply (manual or auto mode) before it posts; it goes back to draft. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
sonar_competitor_keywordsKeywords a tracked competitor currently ranks for (last 7 days of SERP data), with difficulty and popularity per keyword. Pass own_app_id for gap analysis: keywords where the competitor ranks but your app doesn't are marked gap=missing. Cursor-paginated (default 50 per page). Requires an Indie…
sonar_competitor_landscapeThe full competitive keyword picture for one of your own apps vs every tracked competitor, in one call: live stats (keyword gaps where competitors rank and you don't, winnable gaps, competitors climbing on your tracked keywords, keywords you lead), the top gap/threat/lead rows with metrics, and…
sonar_create_productWRITE tool — creates a product in the caller's Sonar workspace and starts tracking the given app(s). A product is the cross-store unit (one iOS + one Android app, or just one of either). Returns the product id and the Sonar app ids needed by sonar_track_keywords and sonar_track_competitor. Own…
sonar_create_screenshot_setCreate an app-store screenshot set for a product, from your own `screens` layouts or a built-in template. The layout JSON format and template ids are documented by sonar_screenshot_layout_guide. The set is immediately visible/editable for humans in the Screenshot Studio (studio_url in the…
sonar_delete_alertWRITE tool — delete an alert subscription in the caller's Sonar workspace. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
sonar_delete_productWRITE tool — delete a product in the caller's Sonar workspace and untrack every app linked to it, with their tracked keywords, discovered keywords, and competitor links. The product's screenshot sets are deleted too. Shared store data (app metadata, snapshots, rank history) is not deleted. Returns…
sonar_delete_screenshotDelete one screen from a screenshot set. A set keeps at least one screen — deleting the last one is rejected. Requires an Indie plan (trial counts) and an authorized Sonar account or a write-scope API key.
sonar_delete_screenshot_setPermanently delete a screenshot set and everything in it (screens, translations). Irreversible — confirm with the user before deleting work they may want. Requires an Indie plan (trial counts) and an authorized Sonar account or a write-scope API key.
sonar_delete_tracked_keywordWRITE tool — stop tracking one keyword/app pair in the caller's Sonar workspace. Identify the pair by its tracked-keyword id (from sonar_app_keywords). Equivalent to sonar_untrack_keywords with a single id; that tool removes several (or all) of an app's keywords in one call. Requires an Indie plan…
sonar_discovered_keywordsKeywords Sonar's discovery engine surfaced for one of your tracked apps but that aren't tracked yet — ranked finds (the app already ranks, unnoticed), competitor gaps, and AI/autocomplete-sourced ideas — each with popularity, difficulty, AI relevance, and an opportunity score (0-100, best first)…
sonar_dismiss_review_replyWRITE tool — mark a review as not needing a reply (also cancels a scheduled post). Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
sonar_draft_review_replyWRITE tool — write a fresh AI reply draft for a review using the app's instructions (and an optional hint), with English translations. Counts against the monthly AI-draft allowance, then 1 credit per draft. Never posts. Tip: agents can skip this and write the reply themselves with…
sonar_generate_review_insightsWRITE tool — generates a fresh AI review analysis for a tracked app from its recent reviews (praise/complaint themes, sentiment, feature requests, trend vs the previous run). At most one analysis per app+country every 90 days (429 with the next available time while in cooldown — use…
sonar_get_appGet details for one tracked app in the caller's Sonar workspace: store metadata plus daily snapshots of rating, review count, version, and installs. Compact by default (listing basics + the 7 newest snapshots); pass fields: "full" for the description, screenshots, release notes and up to 90…
sonar_get_screenshot_setFetch a screenshot set in full: every screen's layout JSON plus per-screen translation overrides keyed by locale. By default inline image data is replaced with placeholders to keep the response readable. Requires an Indie plan (trial counts).
sonar_keyword_metricsDifficulty + popularity for a specific keyword (or up to 25 in bulk). Use this when you already know which keywords you care about — costs 1 credit per keyword. Works without an API key for up to 5 keywords/day (free tier, per IP); an API key removes that cap. Use sonar_keyword_search instead when…
sonar_keyword_rankingsSERP history for one tracked keyword — which apps ranked in the top results on each measured day, newest first (compact by default: no icon URLs; fields: "full" adds them). Use this to see who competes on a keyword and how the top spots shifted over time. The keyword must be tracked in the…
sonar_keyword_searchResearch a keyword and related terms. Returns up to 10 rows — the seed keyword plus the store's top autocomplete suggestions — each with difficulty (0-100), popularity score, and results count. Use this to find keywords worth targeting; for metrics on terms you already know, sonar_keyword_metrics…
sonar_keyword_suggestionsGet autocomplete suggestions for a seed keyword from the App Store or Google Play, in the order the store shows them. List position is the only demand signal: the `priority` field is 0 on Google Play and currently 0 on the App Store as well. Lighter and faster than sonar_keyword_search — use when…
sonar_list_alertsList your alert subscriptions — each rule defines a change type (rank drops, review spikes, etc.), its scope (a specific app or org-wide), threshold, and whether it's enabled. Requires an Indie plan (trial counts).
sonar_list_appsList the apps tracked in the caller's Sonar workspace (own apps + competitors), each with its latest snapshot (rating, review count, version, installs). Returns the Sonar app UUIDs needed by sonar_get_app, sonar_app_keywords, sonar_app_rankings, and sonar_app_changes. Cursor-paginated (default 100…
sonar_list_productsList every product in your workspace (unpaginated): each product's id, name, country, competitor count, and its linked store versions (Sonar app id, store, store_id, name). Product ids are what sonar_track_app, sonar_track_competitor, sonar_remove_competitor, sonar_delete_product, and the…
sonar_list_screenshot_setsList a product's app-store screenshot sets (metadata only: store, device size, locales, studio_url). Use sonar_get_screenshot_set for full layouts. Requires an Indie plan (trial counts).
sonar_portfolioThe whole portfolio's health in one call — for orgs managing many apps: per-app KPIs (visibility + 7-day delta, ranked/top-10 counts, net rank movement, rating, review count), org-wide totals, the biggest keyword movers in both directions, a needs-attention triage list (visibility drops, rating…
sonar_post_review_replyWRITE tool — PUBLIC ACTION: publishes the reply on the App Store under the developer's name (now, or after delay_minutes). Overwrites an existing response (Apple keeps one per review and marks it edited). Apple shows it within ~24h: status pending_publish, then published. Needs an Admin-role App…
sonar_remove_competitorWRITE tool — remove a competitor from a product in the caller's Sonar workspace. Drops the competitor link under every own app of the product; if no other own app in the workspace still references the competitor, the competitor app is untracked as well. 404 when the product has no such competitor…
sonar_review_inboxAn own iOS app's App Store reviews (synced from App Store Connect every 5 minutes) with their reply state: the AI draft or your text, English translations of non-English reviews and drafts, hold reasons (needs_human, quota, daily_cap), schedule time, and any live App Store response. Newest first…

And 19 more tools.

In its maker's words

ASO tools for AI agents: keyword research, rank tracking, competitor analysis (iOS & Android).

Source
github.com/trysonar/mcp
Publisher
trysonar.app
Listed from
the official MCP Registry as app.trysonar/sonar
Version
0.7.0, updated 17 Aug 2026
Kinds of work
Search and research, Sales and marketing, Data and databases

The domain it lives on

trysonar.app
registered 11 Mar 2026 (8 months ago), at Gransy s.r.o. d/b/a subreg.cz, its name does not resolve now

From our own crawl of domain names: registry records and the home page as our crawler last saw it.

Every call we made

WhenWhat happenedTime
Answered3083 ms
Answered1962 ms
Answered822 ms

Next door

Is this your bot? Claim its address to add a verified badge and keep the listing current.