Flanj drift.flanj.io · daily contract watch

drift.flanj.io / servers / trysonar

Server sheet · api · anonymous

Sonar trysonar

6 change events over 48 comparison days: 1 breaking, 62 warning and 0 info findings, each with the two contracts as served behind it.

watched since 2026-08-24 as of 2026-10-15 49 days observed 48 comparison days latest snapshot 2026-10-15

01 / the server

What the watch knows about it.

Sonaroperator
apikind
anonymousauth posture
62tools listed
49days observed
2025-11-25MCP revision · floor, not ceiling
0 / 62outputSchema declared

Anonymous: the same call the watch makes, minus initialize. A server that answers “session required” insists on initialize first and is alive.

probe
curl -sS 'https://trysonar.app/mcp' -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' -H 'mcp-protocol-version: 2025-06-18' --data '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | sed -n 's/^data: //p; t; /^{/p' | jq '.result.tools[].name'

02 / event timeline — every event, expanded

6 change events, newest first.

2026-10-14 → 2026-10-15 2 warning 2 tools
2 description-changedas served: 2026-10-14 → 2026-10-15on the index
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_keyword_search description
[…] days. A related term that couldn't be computed in time is re-checked while the call's time budget allows (through the metrics endpoint, 1 credit per keyword served); one still not ready comes back marked `pending` (queued, not charged) — get it […]
as served: 2026-10-14 → 2026-10-15
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_scan_competitor description
[…] 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 […]
as served: 2026-10-14 → 2026-10-15
2026-10-06 → 2026-10-07 28 warning 28 tools
28 description-changedas served: 2026-10-06 → 2026-10-07on the index
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_add_screenshot description
[…] 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.
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_app_changes description
[…] app — detected releases, metadata edits, screenshot swaps, price changes, and 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 […]
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_app_overview description
[…] and the actionable opportunity list (near_page_one / top_three_push / easy_target). Read this FIRST Use it when asked how an app is doing — it's doing: these are the same numbers the dashboard renders, so you don't need to recompute anything already computed from raw rank history. Requires an Indie plan (trial counts).
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_app_revenue description
[…] grade (high/medium/low) with the factors behind it, and the methodology used — always communicate used. The figure is a model estimate, not reported revenue; the confidence alongside grade is the number. 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.
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_app_reviews description
Fetch user reviews for an app. Supports filtering by star rating range and sorting by any app, live from the store (up to ~500 of the most recent or helpful. 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. 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 […]
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_competitor_landscape description
[…] if one was generated (opportunity clusters, threat narratives, strengths, posture). Read this before deciding Use it when choosing which keywords to target next. Requires an Indie plan (trial counts).
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_create_product description
[…] 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 […]
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_create_screenshot_set description
Create an app-store screenshot set for a product. Read sonar_screenshot_layout_guide first, then author the screens array. 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.
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_delete_product description
WRITE tool — delete a product and untrack its apps in the caller's Sonar workspace. 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 […]
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_delete_screenshot description
[…] screen — deleting the last one is rejected. Requires an Indie plan (trial counts) and an authorized Sonar account or a write-scope API key.
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_delete_screenshot_set description
[…] 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.
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_delete_tracked_keyword description
[…] 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 […]
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_discovered_keywords description
[…] best first). This is Sonar's "what should I track next" answer: read it, pick the winners, then track them answer; rows can be tracked with sonar_track_keywords. Requires an Indie plan (trial counts).
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_get_screenshot_set description
[…] data is replaced with placeholders to keep the response readable. Requires an Indie plan (trial counts).
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_keyword_metrics description
[…] 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.
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_keyword_search description
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 for the seed keyword plus related autocomplete suggestions. count. Use this to find keywords worth targeting. targeting; for metrics on terms you already know, sonar_keyword_metrics is cheaper. On prepaid API credits it costs 10 credits per call (rows that could not be computed are refunded); it needs a Sonar API key or connected account and is not part of the free tier. Answers within about 30 seconds; a seconds. Each row carries `measured_at` (difficulty) and `popularity_measured_at` (popularity, can be older), ISO 8601 UTC; `stale: true` means at least one of them is older than 7 days. A related term that couldn't be computed in time comes back […]
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_keyword_suggestions description
[…] for a seed keyword from the App Store or Google Play. Returns terms with a priority score (higher = more searched). 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 […]
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_list_products description
List every product in your products with their 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 counts. Use it to discover product/app UUIDs. apps use sonar_list_apps. Requires an Indie plan (trial counts).
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_list_screenshot_sets description
[…] store, device size, locales, studio_url). Use sonar_get_screenshot_set for full layouts. Requires an Indie plan (trial counts).
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_remove_competitor description
[…] 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 […]
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_screenshot_devices description
[…] coordinate space all layouts use) and which store each belongs to. 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).
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_screenshot_layout_guide description
The layout-format reference for Sonar screenshot sets. Call this ONCE before creating or editing screenshot layouts — it sets: static text, so one call per session is enough. It documents the layout JSON schema, coordinate system, image handling (remote […]
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_set_screenshot_translations description
[…] 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.
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_track_keywords description
[…] 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 […]
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_untrack_app description
WRITE tool — untrack an app and its associated tracking data 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 […]
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_untrack_keywords description
[…] [...]` 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 […]
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_update_screenshot description
[…] 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.
as served: 2026-10-06 → 2026-10-07
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_update_screenshot_set description
[…] 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.
as served: 2026-10-06 → 2026-10-07
2026-10-01 → 2026-10-02 7 warning 7 tools
7 description-changedas served: 2026-10-01 → 2026-10-02on the index
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_app_lookup description
[…] 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.
as served: 2026-10-01 → 2026-10-02
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_app_reviews description
[…] helpful. Useful for sentiment analysis, feature-request mining, and competitive research. 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.
as served: 2026-10-01 → 2026-10-02
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_app_search description
[…] 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.
as served: 2026-10-01 → 2026-10-02
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_keyword_metrics description
[…] sonar_keyword_search instead when you want related keyword ideas alongside metrics. A Answers within about 30 seconds: a keyword the API cannot compute right away that can't be computed in that time comes back as `pending` (queued on the Sonar's scrape fleet, not charged) charged, results are being cached) — this tool already waits and re-checks briefly; if it is still pending, call again after `retry_after_seconds`. `retry_after_seconds` for just those keywords.
as served: 2026-10-01 → 2026-10-02
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_keyword_search description
[…] related autocomplete suggestions. Use this to find keywords worth targeting. Answers within about 30 seconds; a related term that couldn't be computed in time comes back marked `pending` (queued, not charged) — get it later with sonar_keyword_metrics.
as served: 2026-10-01 → 2026-10-02
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_keyword_suggestions description
[…] 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.
as served: 2026-10-01 → 2026-10-02
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_top_charts description
[…] 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 […]
as served: 2026-10-01 → 2026-10-02
2026-09-15 → 2026-09-16 1 warning 1 tool
1 description-changedas served: 2026-09-15 → 2026-09-16on the index
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_app_rankings description
[…] 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 […]
as served: 2026-09-15 → 2026-09-16
2026-09-11 → 2026-09-12 1 breaking 23 warning 24 tools
23 description-changed1 operation-removedas served: 2026-09-11 → 2026-09-12on the index
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_add_screenshot description
[…] a screenshot set (at the end; reorder with sonar_update_screenshot_set). Requires an authorized Sonar account or a write-scope API key.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_analyze_competitors description
[…] current one). Requires a paid (non-trial) Indie plan and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_create_product description
[…] and sonar_track_competitor. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_create_screenshot_set description
[…] humans in the Screenshot Studio (studio_url in the response). Requires an authorized Sonar account or a write-scope API key.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_delete_alert description
[…] Sonar workspace. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_delete_product description
[…] Sonar workspace. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_delete_screenshot description
[…] one screen — deleting the last one is rejected. Requires an authorized Sonar account or a write-scope API key.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_delete_screenshot_set description
[…] with the user before deleting work they may want. Requires an authorized Sonar account or a write-scope API key.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_delete_tracked_keyword description
[…] (from sonar_app_keywords). Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
breaking catalog operation-removed Every call to that tool now fails; an agent that learned it yesterday has nothing to call today. #
sonar_export_screenshots
their contract · 2026-09-11
"sonar_export_screenshots"
their contract · 2026-09-12
absent
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_generate_review_insights description
[…] recent reviews. Requires a paid (non-trial) Indie plan and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_remove_competitor description
[…] Sonar workspace. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_scan_competitor description
[…] with sonar_competitor_keywords. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_set_alert description
[…] org-wide rule. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_set_screenshot_translations description
[…] to it. The locale is auto-enabled on the set. Requires an authorized Sonar account or a write-scope API key.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_star_keyword description
[…] a no-op. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_track_app description
[…] sonar_create_product instead. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_track_competitor description
[…] the competitor. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_track_keywords description
[…] / failed). Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_untrack_app description
[…] Sonar workspace. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_untrack_keywords description
[…] the two). Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_update_keyword_note description
[…] a no-op. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_update_screenshot description
[…] up immediately in the Screenshot Studio for human review. Requires an authorized Sonar account or a write-scope API key.
as served: 2026-09-11 → 2026-09-12
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_update_screenshot_set description
[…] screens. Returns the updated set (with image data stripped). Requires an authorized Sonar account or a write-scope API key.
as served: 2026-09-11 → 2026-09-12
2026-09-05 → 2026-09-06 1 warning 1 tool
1 description-changedas served: 2026-09-05 → 2026-09-06on the index
warning wording description-changed The wording an agent reads to choose and call the tool changed; its behaviour may or may not have. #
sonar_keyword_metrics description
[…] sonar_keyword_search instead when you want related keyword ideas alongside metrics. A keyword the API cannot compute right away comes back as `pending` (queued on the scrape fleet, not charged) — this tool already waits and re-checks briefly; if it is still pending, call again after `retry_after_seconds`.
as served: 2026-09-05 → 2026-09-06

03 / tool inventory · as served on 2026-10-15

62 tools in the latest contract.

From the snapshot as served; descriptions shortened to their first sentence. “Changes” counts this server’s findings on the tool.

Tools in the latest snapshot with their input property counts, outputSchema declaration and finding counts
ToolDescriptionInputsRequiredoutputSchemaAnnotationsChanges
sonar_add_screenshot Append a screen to a screenshot set (at the end; reorder with sonar_update_screenshot_set). 2 1 none openWorld 2
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 ran… 4 0 none readOnly · idempotent 0
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 narrat… 1 1 none 1
sonar_app_aso_score Calculate an ASO (App Store Optimization) audit score (0-100) for an app. 3 2 none readOnly · idempotent · openWorld 0
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/… 3 1 none readOnly · idempotent 1
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`) … 5 1 none readOnly · idempotent 0
sonar_app_extract_keywords Extract the most likely target keywords from an app's title and description, ranked by relevance. 4 2 none readOnly · idempotent · openWorld 0
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. 3 1 none readOnly · idempotent 0
sonar_app_lookup Look up a single app by its store ID. 3 2 none readOnly · idempotent · openWorld 1
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… 2 1 none readOnly · idempotent 1
sonar_app_rankings Rank history for an app's tracked keywords — daily ranks over the requested window, one history array per keyword. 5 1 none readOnly · idempotent 1
sonar_app_revenue Estimate monthly revenue for an app, based on install counts, ratings, and category benchmarks. 3 2 none readOnly · idempotent · openWorld 1
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). 8 2 none readOnly · idempotent · openWorld 2
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 … 5 1 none readOnly · idempotent 0
sonar_app_search Search apps in the App Store or Google Play by keyword. 4 2 none readOnly · idempotent · openWorld 1
sonar_cancel_review_reply WRITE tool — cancel a scheduled reply (manual or auto mode) before it posts; it goes back to draft. 1 1 none 0
sonar_competitor_keywords Keywords a tracked competitor currently ranks for (last 7 days of SERP data), with difficulty and popularity per keyword. 4 1 none readOnly · idempotent 0
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… 1 1 none readOnly · idempotent 1
sonar_create_product WRITE tool — creates a product in the caller's Sonar workspace and starts tracking the given app(s). 2 1 none openWorld 2
sonar_create_screenshot_set Create an app-store screenshot set for a product, from your own `screens` layouts or a built-in template. 6 3 none openWorld 2
sonar_delete_alert WRITE tool — delete an alert subscription in the caller's Sonar workspace. 1 1 none destructive · idempotent 1
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. 1 1 none destructive · idempotent 2
sonar_delete_screenshot Delete one screen from a screenshot set. 1 1 none destructive · idempotent 2
sonar_delete_screenshot_set Permanently delete a screenshot set and everything in it (screens, translations). 1 1 none destructive · idempotent 2
sonar_delete_tracked_keyword WRITE tool — stop tracking one keyword/app pair in the caller's Sonar workspace. 1 1 none destructive · idempotent 2
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/aut… 8 1 none readOnly · idempotent 1
sonar_dismiss_review_reply WRITE tool — mark a review as not needing a reply (also cancels a scheduled post). 1 1 none 0
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. 2 1 none 0
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). 2 1 none 1
sonar_get_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. 1 1 none readOnly · idempotent 0
sonar_get_screenshot_set Fetch a screenshot set in full: every screen's layout JSON plus per-screen translation overrides keyed by locale. 2 1 none readOnly · idempotent 1
sonar_keyword_metrics Difficulty + popularity for a specific keyword (or up to 25 in bulk). 4 1 none readOnly · idempotent · openWorld 3
sonar_keyword_rankings SERP history for one tracked keyword — which apps ranked in the top results on each measured day, newest first. 2 1 none readOnly · idempotent 0
sonar_keyword_search Research a keyword and related terms. 3 2 none readOnly · idempotent · openWorld 3
sonar_keyword_suggestions Get autocomplete suggestions for a seed keyword from the App Store or Google Play, in the order the store shows them. 3 2 none readOnly · idempotent · openWorld 2
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. 0 0 none readOnly · idempotent 0
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). 2 0 none readOnly · idempotent 0
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). 0 0 none readOnly · idempotent 1
sonar_list_screenshot_sets List a product's app-store screenshot sets (metadata only: store, device size, locales, studio_url). 1 1 none readOnly · idempotent 1
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), or… 0 0 none readOnly · idempotent 0
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). 3 1 none openWorld 0
sonar_remove_competitor WRITE tool — remove a competitor from a product in the caller's Sonar workspace. 2 2 none destructive · idempotent 2
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 an… 7 1 none readOnly · idempotent 0
sonar_review_insights 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… 2 1 none readOnly · idempotent 0
sonar_review_responder 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 wa… 1 1 none readOnly · idempotent 0
sonar_scan_competitor 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 f… 2 2 none openWorld 2
sonar_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 — includi… 0 0 none readOnly · idempotent 1
sonar_screenshot_layout_guide The layout-format reference for Sonar screenshot sets: static text, so one call per session is enough. 0 0 none readOnly · idempotent 1
sonar_set_alert WRITE tool — create or update an alert subscription in the caller's Sonar workspace. 6 1 none 1
sonar_set_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). 10 1 none 0
sonar_set_screenshot_translations Write a locale's translation overrides for screens in a screenshot set (text copy, localized captures/images). 3 3 none destructive · idempotent · openWorld 2
sonar_star_keyword WRITE tool — stars or unstars a tracked keyword in the caller's Sonar workspace. 2 2 none idempotent 1
sonar_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 o… 5 1 none readOnly · idempotent · openWorld 1
sonar_track_app WRITE tool — links the second-store version of an existing Sonar product (e.g. 4 3 none openWorld 1
sonar_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. 4 3 none openWorld 1
sonar_track_keywords WRITE tool — starts daily rank tracking for one or more keywords on an app in the caller's Sonar workspace. 3 2 none openWorld 2
sonar_untrack_app WRITE tool — untrack an app in the caller's Sonar workspace. 1 1 none destructive · idempotent 2
sonar_untrack_keywords WRITE tool — bulk-untrack keywords for an app in the caller's Sonar workspace. 3 1 none destructive · idempotent 2
sonar_update_keyword_note WRITE tool — sets or clears the note on a tracked keyword in the caller's Sonar workspace (e.g. 2 2 none idempotent 1
sonar_update_review_reply WRITE tool — replace a review's reply text (not metered, doesn't post). 3 2 none 0
sonar_update_screenshot Replace one screen's layout in a screenshot set. 2 2 none destructive · idempotent · openWorld 2
sonar_update_screenshot_set Rename a screenshot set, replace its extra-locale list, and/or reorder its screens. 4 1 none idempotent 2