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, HTTP
https://trysonar.app/mcpNeeds header Authorization - npm
npx -y @sonarapp/mcpReleased 14 Oct 2026, version 0.13.2Set SONAR_API_KEY
What it can do
| Tool | What it says it does |
|---|---|
sonar_ad_spy_ad_analysis | The 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_ads | A 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_ad | WRITE 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_competitors | Start 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_ads | WRITE 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_link | WRITE 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_page | WRITE 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_refresh | WRITE 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_scan | WRITE 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_script | WRITE 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_pages | WRITE 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_posts | A 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_unlink | WRITE 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_vault | The 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_remove | WRITE 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_save | WRITE 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_update | WRITE 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_screenshot | Append 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_events | The 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_competitors | WRITE 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_score | Calculate 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_changes | Change 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_engagement | App 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_keywords | Extract 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_keywords | List 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_lookup | Look 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_overview | The 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_rankings | Rank 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_revenue | Estimate 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_reviews | Fetch 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_sales | App 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_search | Find 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_reply | WRITE 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_keywords | Keywords 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_landscape | The 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_product | WRITE 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_set | Create 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_alert | WRITE 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_product | WRITE 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_screenshot | Delete 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_set | Permanently 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_keyword | WRITE 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_keywords | Keywords 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_reply | WRITE 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_reply | WRITE 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_insights | WRITE 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_app | Get 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_set | Fetch 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_metrics | Difficulty + 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_rankings | SERP 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_search | Research 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_suggestions | Get 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_alerts | List 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_apps | List 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_products | List 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_sets | List 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_portfolio | The 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_reply | WRITE 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_competitor | WRITE 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_inbox | An 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
| When | What happened | Time |
|---|---|---|
| Answered | 3083 ms | |
| Answered | 1962 ms | |
| Answered | 822 ms |
Next door
Is this your bot? Claim its address to add a verified badge and keep the listing current.