Sonar

app.trysonar由 trysonar.app 發布官方發布者v0.7.0更新於 Oct 24, 2026

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

已驗證Streamable HTTP可網頁執行資料與分析商業與電商媒體與設計

概覽

AI 產生的概覽

Sonar 是一個應用程式商店優化(ASO)MCP 伺服器,讓助理查詢 iOS 與 Android 應用程式、研究關鍵字、追蹤排名並分析競品。

可以做什麼
查詢與搜尋應用程式、評估 ASO 分數、擷取應用程式說明中的關鍵字、取得評論、估算營收並查看商店排行榜,多數工具在免費額度內不需 API 金鑰。研究關鍵字:難度、熱度、自動完成建議與批次指標。讀取 Sonar 工作區:已追蹤的應用程式與產品、關鍵字排名、變更歷史、競品差距、評論洞察、提醒與組合彙總。寫入工作區:建立產品,追蹤應用程式、競品與關鍵字,標星或加註關鍵字,取消追蹤關鍵字,執行競品掃描與 AI 分析,管理提醒。以版面 JSON 撰寫並匯出截圖集,PNG 匯出僅在 stdio 下可用。
適用情境
當助理需要協助應用程式商店行銷時使用:審查應用程式頁面、尋找值得投放的關鍵字、觀察排名變化、與競品比較、挖掘評論或估算營收。適合管理一個或多個 App Store 與 Google Play 應用程式的獨立開發者與代理商。
執行需求
可作為託管端點透過 OAuth 登入使用,也可透過 npx @sonarapp/mcp 在本機執行(需要 Node.js)。SONAR_API_KEY 或 Authorization bearer 標頭中的 API 金鑰為選用:未提供時,少數讀取工具依 IP 每日免費額度可用。工作區工具需要 Indie 方案,組合與銷售工具需要 Agency 方案,寫入工具需要具 write 權限的金鑰。銷售與互動資料需要連接 App Store Connect。
安裝前請注意
寫入工具會變更 Sonar 工作區:建立與刪除產品、追蹤或取消追蹤應用程式與關鍵字、管理提醒。API 金鑰可存取你的工作區,請勿放入共用設定。超出免費額度需要付費方案或預付額度,AI 生成工具在試用期內無法使用。工具輸入會傳送到 Sonar 的 API,請求記錄保留 90 天。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Sonar,將其新增到工作區。
  2. 連接 Authorization token 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/app.trysonar%2Fsonar/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "sonar": {
      "type": "http",
      "url": "https://trysonar.app/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

@sonarapp/mcp

[npm] [license] [smithery badge]

The official Sonar MCP server — App Store Optimization tools for AI agents.

For the hosted Grok Build and Cursor marketplace plugin, see plugin setup, authentication, and permissions.

Lets Claude Desktop, Claude Code, Cursor, Cline, and any Model Context Protocol-compatible client look up apps, research keywords, audit ASO, mine reviews, and estimate revenue across the iOS App Store and Google Play. Powered by Sonar.


Tools

55 tools covering the whole Sonar REST API, grouped by what they need.

Read tools — stateless (any plan with credits)

ToolWhat it doesWorks without a key
sonar_app_lookupLook up app metadata by store IDYes
sonar_app_searchSearch apps by keyword (returns store ranking order)Yes
sonar_app_aso_scoreASO audit score (0-100) with itemized checksYes
sonar_app_extract_keywordsExtract target keywords from an app's listingYes
sonar_app_reviewsFetch reviews with rating filters and sort options—
sonar_app_revenueEstimate monthly revenue with a confidence grade—
sonar_keyword_searchKeyword research (difficulty, popularity, related terms)—
sonar_keyword_metricsDifficulty + popularity for specific keywords (up to 25 per call)Yes (5 keywords/day)
sonar_keyword_suggestionsAutocomplete suggestions from the storeYes
sonar_top_chartsTop free/paid/grossing chart with day-over-day movementYes

Stateless tools work on any plan with credits (API Credits, Indie or Agency), for both iOS and Android. The ones marked "Yes" also run keyless on the free tier (see "Try it free" below).

Read tools — your workspace (Indie plan)

ToolWhat it does
sonar_list_productsList your products with their linked store versions and competitor counts
sonar_list_appsList your tracked apps with latest snapshots (rating, reviews, installs)
sonar_get_appApp detail + up to 90 days of snapshot history
sonar_app_overviewDashboard scoreboard for an app: visibility, share of voice, movement, opportunities
sonar_app_keywordsKeywords tracked for an app, with difficulty, popularity, notes and stars
sonar_app_rankingsDaily rank history for an app's tracked keywords
sonar_app_changesDetected releases, metadata edits, screenshot/price/category changes
sonar_keyword_rankingsSERP history for a tracked keyword (who ranked, when)
sonar_discovered_keywordsUntracked keywords Sonar discovered for an app, sorted by opportunity
sonar_competitor_keywordsKeywords a competitor ranks for + gap analysis vs your app
sonar_competitor_landscapeGaps, threats and leads vs all your competitors + latest AI insight
sonar_review_insightsLatest AI review analysis: praise/complaint themes, quotes, trends
sonar_list_alertsList your alert rules (type, scope, threshold, enabled)
sonar_alert_eventsDetected alert events (rank moves, rating drops, review spikes), newest first

Workspace reads require an Indie plan or higher (an active trial counts); the default read-scope key is enough.

Read tools — Agency plan

ToolWhat it does
sonar_portfolioPortfolio rollup: per-app KPIs, biggest movers, needs-attention list, top opportunities
sonar_app_salesApp Store Connect sales: downloads, redownloads, IAP units, approximate proceeds
sonar_app_engagementApp Store Connect funnel: impressions, page views, downloads, sources, sessions

These require the Agency plan (an Agency trial counts) and return 403 on other plans. sonar_app_sales and sonar_app_engagement are iOS-only and also need an App Store Connect connection at trysonar.app/settings/connections; engagement data needs an Admin-role App Store Connect key.

Write tools (Indie plan + write scope)

ToolWhat it does
sonar_create_productCreate a product in your Sonar workspace and start tracking its app(s)
sonar_track_appLink the second-store version (iOS ↔ Android) of an existing product
sonar_track_competitorAdd a competitor app under a product
sonar_remove_competitorRemove a competitor from a product
sonar_delete_productDelete a product and untrack its apps
sonar_untrack_appUntrack an app and its tracking data
sonar_track_keywordsStart daily rank tracking for keywords on an app (bulk, idempotent)
sonar_update_keyword_noteSet or clear the note on a tracked keyword
sonar_star_keywordStar or unstar a tracked keyword (mark it as a target)
sonar_delete_tracked_keywordStop tracking one keyword/app pair
sonar_untrack_keywordsBulk-untrack an app's keywords (selected IDs or all)
sonar_scan_competitorRun an AI keyword discovery scan on a competitor (read results with sonar_competitor_keywords)
sonar_analyze_competitorsGenerate a fresh AI competitive insight for one of your apps (7-day cooldown)
sonar_generate_review_insightsGenerate a fresh AI review analysis for a tracked app (90-day cooldown)
sonar_set_alertCreate or update an alert rule
sonar_delete_alertDelete an alert rule

Write tools mutate your workspace and require an Indie plan or higher (an active trial counts) plus either an OAuth sign-in on the hosted endpoint (which carries write access) or an API key created with the write scope. The two AI generation tools, sonar_analyze_competitors and sonar_generate_review_insights, need a paid plan and are not available during the trial. The server enforces all of this — without it, calls return a 403 explaining what to fix.

Together these close the loop for agents: set up tracking with the write tools, then read back rankings, changes, and gap analyses with the workspace tools.

Screenshot Studio (Indie plan)

ToolWhat it doesScope
sonar_screenshot_layout_guideLayout-format reference; read it once before authoring layoutsnone
sonar_screenshot_devicesSupported device sizes and their canvas dimensionsread
sonar_list_screenshot_setsA product's screenshot sets (metadata only)read
sonar_get_screenshot_setA full set: every screen's layout plus translation overridesread
sonar_create_screenshot_setCreate a screenshot set for a productwrite
sonar_update_screenshot_setRename a set, replace its locales, or reorder its screenswrite
sonar_delete_screenshot_setDelete a set and everything in itwrite
sonar_add_screenshotAppend a screen to a setwrite
sonar_update_screenshotReplace one screen's layoutwrite
sonar_delete_screenshotDelete one screen (a set keeps at least one)write
sonar_set_screenshot_translationsWrite a locale's translation overrideswrite
sonar_export_screenshotsRender store-ready PNGs into one local ZIP per localeread

Agents author screenshot sets as layout JSON; humans review and fine-tune the same sets in the Screenshot Studio. The layout guide is embedded in the server and needs no key. sonar_export_screenshots writes files on the machine running the server, so it's available over stdio only, not on the hosted endpoint.

Hosted endpoint — no install, no API key

OAuth-capable MCP clients (Claude Code, claude.ai custom connectors) can skip both the npm install and the API key entirely:

claude mcp add --transport http sonar https://trysonar.app/mcp

The first tool call that needs your account opens a browser sign-in — approve it with your Sonar login and the agent has full access to the workspace you own (read + write). Clients without OAuth support can pass an API key instead: --header "Authorization: Bearer aso_...".

ChatGPT submission and hosted behavior

Submit https://trysonar.app/mcp/chatgpt to OpenAI. This endpoint returns tool-level sign-in challenges; /mcp retains HTTP 401 challenges for Claude and other MCP clients. Both advertise OAuth per tool. Anonymous store lookups can run without linking; workspace tools return a native sign-in challenge when authorization is missing or expired. Connect an existing Sonar account and approve access to the workspace you own. Existing account permissions and entitlements apply.

The ChatGPT endpoint requires resource-bound JWT access tokens for its canonical /mcp/chatgpt audience; the existing /mcp endpoint retains Clerk opaque-token support. Provider configuration and an end-to-end login must be verified before submitting the ChatGPT endpoint.

The hosted catalog excludes sonar_export_screenshots, which writes ZIP files to the local MCP host. It remains available over stdio. A native directory listing requires separate OpenAI review and publication; hosting an MCP endpoint does not itself create a listing.

Try it free — no API key needed

The server runs without a key in free mode: sonar_app_search, sonar_app_lookup, sonar_app_aso_score, sonar_app_extract_keywords, sonar_keyword_suggestions, and sonar_top_charts share a free allowance of 30 requests/day per IP, and sonar_keyword_metrics (keyword difficulty + popularity) gets 5 keywords/day. Just install it with no env block and ask your agent about ASO. When you hit the limit, the error tells you how to sign up.

Get an API key

For everything else (tracking, rankings, competitors, higher limits) you'll need a Sonar API key — get one at trysonar.app/developers.

The cheapest path is prepaid API credits — packs from $10 (1,000 credits), with 50 free credits on signup and no subscription. Built specifically for this use case. See pricing.

Install

Claude Desktop

Add to your config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):

json
{  "mcpServers": {    "sonar": {      "command": "npx",      "args": ["-y", "@sonarapp/mcp"],      "env": {        "SONAR_API_KEY": "aso_your_key_here"      }    }  }}

Restart Claude Desktop. The sonar_* tools will appear in the tool picker.

Claude Code

bash
claude mcp add sonar -e SONAR_API_KEY=aso_your_key_here -- npx -y @sonarapp/mcp

Cursor

Add to ~/.cursor/mcp.json (or your project's .cursor/mcp.json):

json
{  "mcpServers": {    "sonar": {      "command": "npx",      "args": ["-y", "@sonarapp/mcp"],      "env": {        "SONAR_API_KEY": "aso_your_key_here"      }    }  }}

Cline / other MCP clients

Most clients use the same command + args + env shape as above. Point the command at npx -y @sonarapp/mcp and pass SONAR_API_KEY in the env.

Configuration

VariableRequiredDefaultDescription
SONAR_API_KEYno (free mode without it)—Your Sonar API key (aso_...)
SONAR_API_URLnohttps://api.trysonar.appOverride the API base URL (only used for self-hosting / staging)

Example prompts

"Use Sonar to look up Spotify on iOS in the US store and report its rating, review count, and category."

"Run an ASO audit on com.duolingo on Android and tell me what to fix."

"Research the keyword 'habit tracker' on iOS — give me difficulty, popularity, and 5 related terms with lower difficulty I should consider."

"Pull the 50 most recent 1- and 2-star reviews of 1517783697 on iOS US and group complaints by theme."

"Search 'meditation' on the App Store and estimate monthly revenue for the top 5 results."

Privacy Policy

Full policy: https://trysonar.app/privacy

The MCP server is a thin client around Sonar's REST API — it stores nothing locally and no data is logged by this package itself.

  • Data collected: tool inputs (app IDs, keywords, country codes) are sent to Sonar's API over HTTPS to produce results; authenticated requests include your API key as a Bearer token. Sonar logs API requests (endpoint, status, timing) for rate limiting and abuse prevention.
  • Data usage: inputs are used solely to serve the request (keyword metrics, app lookups, etc.); resulting JSON is returned to your AI client.
  • Storage & retention: the package keeps no state on disk. Server-side request logs are retained for 90 days; workspace data (tracked apps/keywords) persists in your Sonar account until you delete it.
  • Third-party sharing: no user data is sold or shared with third parties; queries against public app-store data (Apple, Google) contain no personal information.
  • Contact: [email protected]

Troubleshooting

"SONAR_API_KEY is not set — running in free mode" — Expected if you haven't configured a key: the free tools keep working with per-IP daily limits. If you DID configure a key, the MCP client did not pass the env var through — check the env section of your client's config file. Some clients require an absolute path to npx — try which npx and use that.

"Authentication failed" — Your key is invalid, expired, or your subscription lapsed. Visit trysonar.app/developers to check.

"Access denied. This endpoint may require an Indie plan subscription" — The 10 stateless read tools work on any plan with credits. The workspace read, write, and Screenshot Studio tools require an Indie plan or higher (an active trial counts); write tools additionally need an API key created with the write scope. sonar_portfolio, sonar_app_sales, and sonar_app_engagement require the Agency plan, and the two AI generation tools need a paid plan (not a trial). If you're on a setup or trial-expired plan, reactivate first.

Companion: CLI

Prefer the terminal? Use @sonarapp/cli (sonar binary) — same data, same API key.

License

MIT © Peter Sutarik

來源:README.md,提交 fa7da32

工具

62

sonar_app_lookup

Look Up App

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 `{ data, meta }` with `meta.stale: true`, its date in `meta.stale_as_of`, and a `meta.note` to pass on to the user.

輸入參數store必填countrystore_id必填

sonar_app_aso_score

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).

輸入參數store必填countrystore_id必填

sonar_app_extract_keywords

Extract App 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).

輸入參數maxstore必填countrystore_id必填

sonar_app_reviews

Fetch 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 mining, and competitive research; for an already-summarized view of a tracked app, sonar_review_insights returns themed AI analysis instead. Needs a Sonar API key or connected account (1 credit per call on prepaid API credits); not part of the free tier. If the store is throttling, the result may be Sonar's stored copy: it then comes back as `{ data, meta }` with `meta.stale: true`, its date in `meta.stale_as_of`, and a `meta.note` to pass on to the user.

輸入參數langsortlimitstore必填countrystore_id必填max_ratingmin_rating

sonar_app_revenue

Estimate App Revenue

Estimate monthly revenue for an app, based on install counts, ratings, and category benchmarks. Returns the dollar estimate, a confidence grade (high/medium/low) with the factors behind it, and the methodology used. The figure is a model estimate, not reported revenue; the confidence grade is the part that says how far to trust it. Needs a Sonar API key or connected account (1 credit per call on prepaid API credits); not part of the free tier.

輸入參數store必填countrystore_id必填

sonar_keyword_metrics

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 you want related keyword ideas alongside metrics. Answers within about 30 seconds: a keyword that can't be computed in that time comes back as `pending` (queued on Sonar's scrape fleet, not charged, results are being cached) — call again after `retry_after_seconds` for just those keywords. Each row carries `measured_at` (when difficulty was measured) and `popularity_measured_at` (when the popularity value was measured — can be older), both ISO 8601 UTC. `stale: false` means both are under 7 days old; `stale: true` rows are real but older data (refreshed in the background) — check the timestamps when freshness matters. `popularity` (5-100) is the value Sonar's dashboard shows: Apple's Search Popularity when Apple has a real reading; when Apple reports a keyword below its threshold (popularity_apple 5, about 20) it is Sonar's estimate (at most 18). `popularity_source` says which (apple | proxy), `popularity_apple` is Apple's own reading (null on Android), `popularity_proxy` is Sonar's estimate beside a floored reading.

輸入參數store必填countrykeywordkeywords

sonar_keyword_suggestions

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 you only need term ideas without difficulty/popularity scoring. 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 `{ data, meta }` with `meta.stale: true`, its date in `meta.stale_as_of`, and a `meta.note` to pass on to the user.

輸入參數seed必填store必填country

sonar_top_charts

Top Charts

Get a store top chart (free / paid / grossing, overall or by category) with day-over-day movement: per-app rank delta, apps new to the chart, biggest movers and apps that dropped out. Use to see what's rising in a market or category. Note: summary, movers and droppedApps always describe the full top 200 — `limit` truncates the returned entries only. Movement is empty on the first day a chart is requested (no previous snapshot yet). Answers within about 30 seconds: when a live refresh can't finish in time the newest stored chart is returned with `stale: true` and its `measuredAt` date. Works without an API key (free tier, limited daily use per IP).

輸入參數chartlimitstore必填countrycategory

sonar_list_apps

List Tracked 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 per page). Requires an Indie plan (trial counts).

輸入參數limitcursor

sonar_get_app

Get Tracked App

Get full details for one tracked app in the caller's Sonar workspace: store metadata plus up to 90 daily snapshots of rating, review count, version, and installs. Requires an Indie plan (trial counts).

輸入參數app_id必填

sonar_app_keywords

List 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_keyword_rankings. Cursor-paginated (default 50 per page). Requires an Indie plan (trial counts). `popularity` (5-100) is the value Sonar's dashboard shows: Apple's Search Popularity when Apple has a real reading; when Apple reports a keyword below its threshold (popularity_apple 5, about 20) it is Sonar's estimate (at most 18). `popularity_source` says which (apple | proxy), `popularity_apple` is Apple's own reading (null on Android), `popularity_proxy` is Sonar's estimate beside a floored reading.

輸入參數limitapp_id必填cursor

sonar_app_rankings

App Rank History

Rank history for an app's tracked keywords — daily ranks over the requested window, one history array per keyword. Prefer observations for daily status: ranked has a numeric rank; not_found means a completed search did not return the app (results_count is the returned search size); not_observed means no confirmed check, including legacy gaps. Never interpret an absent rank as a collection failure or assign a numeric rank to it. The legacy history array contains positive ranks only. Use this to check how rankings moved after a metadata change or to find keywords trending up or down. Cursor-paginated over keywords (default 50 per page). Requires an Indie plan (trial counts).

輸入參數dayslimitapp_id必填cursorkeyword_id

sonar_app_changes

App Change History

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. Useful for correlating rank movements with what the app (or a competitor) changed. Requires an Indie plan (trial counts).

輸入參數typelimitapp_id必填

sonar_keyword_rankings

Keyword SERP History

SERP history for one tracked keyword — which apps ranked in the top results on each measured day, newest first. Use this to see who competes on a keyword and how the top spots shifted over time. The keyword must be tracked in the caller's Sonar workspace. Requires an Indie plan (trial counts).

輸入參數dayskeyword_id必填

sonar_competitor_keywords

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 plan (trial counts). `popularity` (5-100) is the value Sonar's dashboard shows: Apple's Search Popularity when Apple has a real reading; when Apple reports a keyword below its threshold (popularity_apple 5, about 20) it is Sonar's estimate (at most 18). `popularity_source` says which (apple | proxy), `popularity_apple` is Apple's own reading (null on Android), `popularity_proxy` is Sonar's estimate beside a floored reading.

輸入參數limitcursorown_app_idcompetitor_app_id必填

sonar_competitor_landscape

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 the latest AI insight if one was generated (opportunity clusters, threat narratives, strengths, posture). Use it when choosing which keywords to target next. Requires an Indie plan (trial counts).

輸入參數app_id必填

sonar_list_products

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 screenshot-set tools take; for per-app snapshots and competitor apps use sonar_list_apps. Requires an Indie plan (trial counts).

無需輸入參數。

sonar_list_alerts

List Alert Rules

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_alert_events

Alert Events Feed

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 new values). Events only exist for alert types you've enabled rules for (sonar_set_alert); detection runs once daily. Poll with `since` to react to changes programmatically. Requires an Indie plan (trial counts).

輸入參數typelimitsinceapp_id

sonar_app_overview

App Overview (Dashboard Scoreboard)

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 opportunity list (near_page_one / top_three_push / easy_target). Use it when asked how an app is doing: these are the same numbers the dashboard renders, already computed from rank history. Requires an Indie plan (trial counts).

輸入參數daysapp_id必填

sonar_discovered_keywords

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). This is Sonar's "what should I track next" answer; rows can be tracked with sonar_track_keywords. Requires an Indie plan (trial counts). `popularity` (5-100) is the value Sonar's dashboard shows: Apple's Search Popularity when Apple has a real reading; when Apple reports a keyword below its threshold (popularity_apple 5, about 20) it is Sonar's estimate (at most 18). `popularity_source` says which (apple | proxy), `popularity_apple` is Apple's own reading (null on Android), `popularity_proxy` is Sonar's estimate beside a floored reading.

輸入參數limitapp_id必填bucketsourcestatuscountrymin_relevancemin_opportunity

sonar_review_insights

Review Insights (AI)

The latest AI review analysis for a tracked app (your own or a competitor): what users praise and complain about as named themes with frequency, verbatim quotes, and trend movement (new / persisting / growing / improving / resolved), plus overall sentiment, surfaced feature requests, and what changed vs the previous analysis. `insight` is null if none has been generated yet — use sonar_generate_review_insights. Requires an Indie plan (trial counts).

輸入參數app_id必填country

sonar_review_responder

Review Responder Settings

The review responder's configuration for an own iOS app: whether it is switched on, manual vs auto mode (auto posts AI replies after a delay, only for reviews written after auto was enabled and within the star range), the reply instructions, sign-off, reply language, last sync, plus whether App Store Connect is connected and this month's AI-draft usage (included allowance, then 1 credit per extra draft). settings is null until the responder is switched on. Requires an Indie plan (trial counts), App Store Connect connected in Sonar, and the app to be one of your own iOS apps.

輸入參數app_id必填

sonar_review_inbox

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, with per-status counts. Use the review `id` with sonar_update_review_reply / sonar_post_review_reply. Requires an Indie plan (trial counts), App Store Connect connected in Sonar, and the app to be one of your own iOS apps.

輸入參數limitapp_id必填cursorratingstatuscountrylanguage

sonar_portfolio

Portfolio Rollup (Agency)

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 drops, not-ranked apps), and the best discovered-keyword opportunities across all apps. Same numbers as the /portfolio page. Requires an Agency plan (403 on other plans).

無需輸入參數。

sonar_app_sales

App Sales (App Store Connect)

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. Same numbers as the Performance page. iOS only. Requires the Agency plan (403 on other plans) AND an App Store Connect connection at /settings/connections. Always check `status`: anything other than `ready` (not_connected, not_ios, app_not_in_account, pending, key_lacks_analytics) means there's no data and `message` says how to fix it — never read an empty series as zero. Days Apple hasn't reported yet have `reported: false` and null metrics.

輸入參數enddaysstartstoreapp_id必填

sonar_app_engagement

App Engagement (App Store Connect)

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 installs, deletions and sessions. Impressions follow App Store Connect's definition and INCLUDE product page views, so totals reconcile with ASC. Downloads come from the Sales report. Same numbers as the Engagement page. iOS only. Requires the Agency plan (403 on other plans) AND an App Store Connect connection with an Admin-role key (`key_lacks_analytics` otherwise); Apple delivers the first analytics 24-48 hours after connecting (`pending`). Always check `status`: anything other than `ready` (not_connected, not_ios, app_not_in_account, pending, key_lacks_analytics) means there's no data and `message` says how to fix it — never read an empty series as zero. Days Apple hasn't reported yet have `reported: false` and null metrics.

輸入參數enddaysstartstoreapp_id必填

sonar_create_product

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 apps count against the plan cap (Indie 10, Agency 50; competitors are not capped) — at the cap the call fails with a 403 plan_limit error. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數apps必填name

sonar_track_app

Track App

WRITE tool — links the second-store version of an existing Sonar product (e.g. the product already tracks the iOS app and you want to add the Android version, or vice versa). Each product holds at most one iOS + one Android app; to start tracking a brand-new app, use sonar_create_product instead. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數store必填countrystore_id必填product_id必填

sonar_track_competitor

Track Competitor

WRITE tool — adds a competitor app under a Sonar product so its keywords and rankings get tracked alongside the product's own app. The product must already have its own app linked in the same store as the competitor. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數store必填countrystore_id必填product_id必填

sonar_track_keywords

Track Keywords

WRITE tool — starts daily rank tracking for one or more keywords on an app in the caller's Sonar workspace. Idempotent: re-posting the same terms reports them as already_tracked instead of creating duplicates. Returns per-keyword outcomes (created / already_tracked / failed). Tracked keywords count against the workspace's plan cap (Indie 2,500, Agency 10,000 per workspace); terms beyond the remaining headroom come back as failed with the plan-limit message while the rest are still tracked. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數app_id必填countrykeywords必填

sonar_update_keyword_note

Update Keyword Note

WRITE tool — sets or clears the note on a tracked keyword in the caller's Sonar workspace (e.g. why it's tracked, an optimization hypothesis, a reminder). Idempotent: re-sending the same note is a no-op. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數note必填tracked_keyword_id必填

sonar_star_keyword

Star Keyword

WRITE tool — stars or unstars a tracked keyword in the caller's Sonar workspace. A star marks the keyword as a favorite/target the user is actively pursuing; starred keywords carry a starred_at timestamp in sonar_app_keywords results. Idempotent: re-starring refreshes the timestamp, unstarring a non-starred keyword is a no-op. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數starred必填tracked_keyword_id必填

sonar_scan_competitor

Scan Competitor Keywords

WRITE tool — runs an AI keyword discovery scan on a tracked competitor: generates the search terms the competitor's listing is optimized for (brand terms included), queues them for SERP verification, and verifies the first batch inline (~30s), recording both apps' ranks. Returns generated/queued/verified_now counts; the rest verify in the background over the following hours — read results with sonar_competitor_keywords. Each account can scan a limited number of different competitors per UTC day (50 on trial and Indie, 250 on Agency); re-scanning one already scanned today is free, and past the limit the tool reports when it resets. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數own_app_id必填competitor_app_id必填

sonar_analyze_competitors

Analyze Competitors (AI)

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 previous analysis. At most one analysis per app per 7 days (429 with the next available time while in cooldown — use sonar_competitor_landscape to read the current one). Requires a paid (non-trial) Indie plan and an authorized Sonar account or an API key with the write scope.

輸入參數app_id必填

sonar_generate_review_insights

Generate Review Insights (AI)

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_review_insights to read the current one); needs at least 5 recent reviews. Requires a paid (non-trial) Indie plan and an authorized Sonar account or an API key with the write scope.

輸入參數app_id必填country

sonar_delete_tracked_keyword

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 (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數tracked_keyword_id必填

sonar_untrack_keywords

Untrack Keywords

WRITE tool — bulk-untrack keywords for an app in the caller's Sonar workspace. Pass `all: true` to remove every tracked keyword, OR `ids: [...]` to remove specific ones (exactly one of the two). For a single keyword, sonar_delete_tracked_keyword is equivalent. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數allidsapp_id必填

sonar_untrack_app

Untrack App

WRITE tool — untrack an app in the caller's Sonar workspace. Deletes the workspace's tracked keywords for it (with their notes and stars), its discovered keywords, and its competitor links, and detaches it from its product — deleting the product, and that product's screenshot sets, if no other app is left. Shared store data (app metadata, snapshots, rank history) is not deleted. To drop a competitor from one product use sonar_remove_competitor instead. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數app_id必填

sonar_delete_product

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 { id, deleted, untracked_apps }. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數product_id必填

sonar_remove_competitor

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. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數product_id必填competitor_app_id必填

sonar_set_alert

Set Alert Rule

WRITE tool — create or update an alert subscription in the caller's Sonar workspace. Upserts on (type + scope): re-submitting the same type/scope updates the existing rule. Omit `threshold` for the per-type default; omit `scope_app_id` for an org-wide rule. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數type必填cadenceenabledcountriesthresholdscope_app_id

sonar_delete_alert

Delete Alert Rule

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.

輸入參數id必填

sonar_set_review_responder

Configure Review Responder

WRITE tool — switch the review responder on/off for an own iOS app and update its instructions or auto-mode policy (partial update; omitted fields keep their value). Turning auto mode on only affects reviews written afterwards; anything the AI flags as needing a human is held. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數modeapp_id必填enabledsign_offinstructionsauto_daily_capreply_languageauto_max_ratingauto_min_ratingauto_delay_minutes

sonar_draft_review_reply

Draft Review Reply (AI)

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_update_review_reply (not metered). Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數hintreview_id必填

sonar_update_review_reply

Update Review Reply

WRITE tool — replace a review's reply text (not metered, doesn't post). Use sonar_post_review_reply to publish. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數body必填review_id必填translate_from_english

sonar_post_review_reply

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 Store Connect key. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

輸入參數bodyreview_id必填delay_minutes

sonar_dismiss_review_reply

Dismiss Review

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.

輸入參數review_id必填

sonar_cancel_review_reply

Cancel Scheduled 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.

輸入參數review_id必填

sonar_screenshot_layout_guide

Screenshot Layout Guide

The layout-format reference for Sonar screenshot sets: static text, so one call per session is enough. It documents the layout JSON schema, coordinate system, image handling (remote URLs), flowing background shapes, fonts, translation overrides, and the recommended workflow.

無需輸入參數。

sonar_screenshot_devices

List Screenshot Devices

List the device sizes supported for app-store screenshot sets, with their canvas dimensions (the pixel coordinate space all layouts use) and which store each belongs to — including the landscape App Store creative-asset canvases (category "creative": product page header and search results asset). Pick a device here before sonar_create_screenshot_set. Requires an Indie plan (trial counts).

無需輸入參數。

sonar_list_screenshot_sets

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).

輸入參數product_id必填

sonar_create_screenshot_set

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 response). Requires an Indie plan (trial counts) and an authorized Sonar account or a write-scope API key.

輸入參數namestore必填screensproduct_id必填device_size必填template_id

sonar_get_screenshot_set

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).

輸入參數set_id必填include_image_data

sonar_update_screenshot_set

Update Screenshot Set

Rename a screenshot set, replace its extra-locale list, and/or reorder its screens. Returns the updated set (with image data stripped). Requires an Indie plan (trial counts) and an authorized Sonar account or a write-scope API key.

輸入參數nameset_id必填localesscreen_order

sonar_delete_screenshot_set

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.

輸入參數set_id必填

sonar_add_screenshot

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.

輸入參數layoutset_id必填

sonar_update_screenshot

Update Screenshot

Replace one screen's layout in a screenshot set. Whole-document replace — fetch the current layout, modify it, send it back. The change shows up immediately in the Screenshot Studio for human review. Requires an Indie plan (trial counts) and an authorized Sonar account or a write-scope API key.

輸入參數layout必填screenshot_id必填

sonar_delete_screenshot

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.

輸入參數screenshot_id必填

sonar_set_screenshot_translations

Set Screenshot Translations

Write a locale's translation overrides for screens in a screenshot set (text copy, localized captures/images). Geometry and styling always come from the source layout; anything not overridden falls back to it. The locale is auto-enabled on the set. Requires an Indie plan (trial counts) and an authorized Sonar account or a write-scope API key.

輸入參數locale必填set_id必填entries必填

版本歷史

1
  1. v0.7.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分