roasr-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ROASR_API_KEY | Yes | Your RoASr API key (pg_live_…) from https://roasr.com → Settings → API keys. Required for authentication; server exits if missing. | |
| ROASR_BASE_URL | No | Base URL of the RoASr API. Override only for custom deployments. | https://roasr.com |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| roasr_list_findingsA | AI audit findings across the connected ad accounts (Meta, Google, Yandex Direct): issues ranked by priority (severity high/med/low) with a stable status. Can be scoped to one client. |
| roasr_metrics_summaryA | Workspace ad KPIs for a date window: spend, impressions, clicks, conversions, revenue, CTR, CPC, CPM, ROAS, CPA, reach, frequency. reach/frequency are Meta-only (null for older data and non-Meta accounts); frequency = impressions/reach and is not additive across days. entityRef narrows to a single campaign/adset. |
| roasr_metrics_dailyA | Daily metric series for the workspace over a date window (date, spend, impressions, clicks, conversions, revenue, reach, frequency) — for trends and charts. reach/frequency are Meta-only (null for older data and non-Meta accounts); daily reach must not be summed across days. entityRef narrows to a single campaign/adset. |
| roasr_metrics_breakdownA | Metrics broken down by dimension: audience | placement | platform | country | region | device | dma | hourly. Returns segments with metrics (including reach/frequency — Meta-only, null for older or non-Meta data) as of the latest snapshot date (asOf) inside the window. |
| roasr_metrics_campaignsA | Per-campaign or per-adset metrics and KPIs for a date window (spend, CTR, CPC, ROAS, CPA, reach, frequency…), sorted by spend. reach/frequency are Meta-only (null for older or non-Meta data). dataSince is the earliest date entity-level data has been collected since: a window earlier than that comes back empty. |
| roasr_metrics_actionsA | Workspace conversions broken down by action type for a date window: raw — the plain action-type → value map, buckets — canonical buckets (purchase, lead, add_to_cart, complete_registration, landing_page_view, engagement…). Buckets are NOT additive: engagement is an aggregate and reactions/comments/shares are its components (summing them double-counts). |
| roasr_list_clientsA | Workspace clients with their context (name, niche, margin, status) — for analysis scoped to a specific client. |
| roasr_spy_tag_leaderboardA | Leaderboard of competitor creative tags from the Meta Ad Library: which formats/angles/offers are used most and live longest (days_live is a proxy for what wins). This is intel the plain metrics tools do not have. |
| roasr_spy_searchA | Search stored competitor creatives from the Meta Ad Library: by keyword (query — hook/headline/tags) and/or by brand (brand — exact page-name filter). Empty input returns the top by days_live. Returns hook, headline, format, tags, country and ad_archive_id for a follow-up Vision analysis. days_live is a proxy for what wins. |
| roasr_vision_analyzeA | Vision analysis of one competitor creative by ad_archive_id: hook, angle, format, strengths and risks, plus a video transcript when available. Analysis the plain metrics tools do not have. Find the creative with roasr_spy_search first; if it has not been analysed yet, start the analysis inside the app. |
| roasr_signalsA | Rich signals for a date window by kind: Google search terms, keyword quality score, impression share, auction insights, conversion actions by category, asset performance, landing pages, shopping, video funnel, bidding, asset groups; Meta — ad quality rankings. Per-account latest snapshot inside the window (payloads of different accounts are not aggregated); the response is capped by limit (default 50) — this is intel the plain metrics tools do not have. |
| roasr_campaign_set_stateA | Pause or resume one advertising campaign (Yandex Direct). This CHANGES the live ad account. It only works if the account owner granted your API key permission for this operation and listed this campaign as allowed; otherwise it returns a permission error naming what to enable. Returns a command with a state: applied (confirmed), verifying/unknown (not confirmed yet — poll roasr_command_get), partial, failed, conflict or rejected. On a timeout or network error, retry with the SAME idempotencyKey: the repeat returns the original command instead of changing the campaign twice. |
| roasr_command_getA | Status and attempt history of a write command created by roasr_campaign_set_state: final state, per-target results, the ad platform request id and the API points it consumed. Use it to resolve a command left in verifying or unknown. |
| roasr_yandex_breakdownA | Yandex Direct only, read-only. One of the Direct-specific breakdowns collected as signals: search_queries (search terms with spend/conversions — same data as roasr_yandex_search_queries), keywords (keyword-level state, bids, impressions/clicks by search vs network), ads (ad status and metrics — same data as roasr_yandex_ads), bidding (per-campaign daily budget and bid strategy). Errors if accountId points to a non-Yandex account. For campaign/adset totals or device/region/audience/placement splits on a Yandex account, use roasr_metrics_campaigns / roasr_metrics_breakdown instead — those already work for any platform. |
| roasr_yandex_search_queriesA | Yandex Direct only, read-only. Search queries for a date window: query text, campaign/ad group, match type, impressions, clicks, spend, conversions. The most valuable Direct signal — use it to find what share of spend went to queries with zero conversions. Errors if accountId points to a non-Yandex account. |
| roasr_yandex_adsA | Yandex Direct only, read-only. Ads with moderation status and metrics for a date window: state/status/statusClarification, whether the ad has a second headline, sitelinks, UTM markup, an image, a turbo page, plus impressions/clicks/spend/conversions/ctr. Use it to find rejected ads, or ads missing a second headline or link markup. Errors if accountId points to a non-Yandex account. |
| roasr_yandex_goalsA | Yandex Direct only, read-only. Which Yandex.Metrika goals are selected for an account, and hence which goals its conversions are counted against — no window, this is current config, not a metric series. Empty goals means that account's conversions cannot be attributed to a goal; do not treat its conversion numbers as trustworthy. Errors if accountId points to a non-Yandex account. |
| roasr_limitsA | Subscription plan, its limits (ad accounts, AI audits, competitors), the API rate tier, and the remaining Yandex Direct daily quota per account. Call this before heavy report pulls: Direct enforces a daily unit budget per login, its report service does not report unit usage at all, and only five reports may be queued at once. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Most tools have clearly distinct purposes: metrics tools are separated by granularity (summary, daily, breakdown, campaigns, actions), and spy/vision tools are differentiated. The only overlap is roasr_yandex_breakdown duplicating data from roasr_yandex_search_queries and roasr_yandex_ads, but the descriptions explicitly clarify when to use which, minimizing misselection.
All tools share the roasr_ prefix and follow snake_case naming. The pattern is not strictly verb_noun (e.g., roasr_metrics_summary is a noun phrase), but it is consistent across domains: roasr_metrics_*, roasr_spy_*, roasr_yandex_*, roasr_campaign_set_state, and roasr_command_get follow a predictable structure.
18 tools is slightly above the typical 15 but appropriate for the server's broad scope: ad analytics, competitor intelligence, vision analysis, Yandex account management, and subscription limits. Each tool serves a distinct purpose and the count is not overwhelming for the feature set.
The tool surface covers core read-only analytics (metrics, findings, signals), competitor research (spy search, vision), and a limited write capability (pause/resume campaigns) with proper command status tracking. Minor gaps exist, such as no campaign creation or update tools, but the server appears focused on analysis and optimization rather than full campaign management, so the coverage is largely complete.