Skip to main content
Glama
askads

VK Ads MCP

Статистика

get_statistics
Read-onlyIdempotent

Retrieves VK Ads performance statistics for campaigns, ad groups, or banners with summary totals or daily trends, filterable by IDs and dates, plus sorting and pagination for dated summaries.

Instructions

Возвращает статистику по кампаниям (ad_plans), группам объявлений (ad_groups) или объявлениям (banners). По умолчанию группировка summary — одна сводная строка (items[].total) на объект: с dateFrom/dateTo — за этот период, без дат — за всё время. day нужна ТОЛЬКО для динамики и вопросов про тренд: добавляет к каждому объекту rows по дням, даты обязательны. Недель и месяцев API не отдаёт — их собирают из day. Ранжирование на стороне сервера (sortBy, например base.spent, и order) и постраничная выдача (limit/offset) работают только в summary с датами — в остальных режимах VK их молча игнорирует, поэтому инструмент вернёт ошибку. Там VK и так отдаёт все объекты одним ответом, так что autoPaginate безвреден в любом режиме. total в ответе — сумма по объектам ЭТОЙ страницы (при фильтре по ids — по этим объектам), а не по всему кабинету. Метрики лежат в base (shows, clicks, spent, ...); spent — в валюте аккаунта.

Input Schema

NameRequiredDescriptionDefault
idsNoОграничить отчёт этими id объектов (выбранного entity).
limitNoСколько объектов на страницу (не больше 250).
orderNoНаправление сортировки для sortBy. По умолчанию desc.
dateToNoДата окончания, YYYY-MM-DD (обязательна для day).
entityNoТип объектов для отчёта. По умолчанию banners.
offsetNoСмещение постраничной выдачи (сколько объектов пропустить).
periodNoГруппировка: summary (итог по объекту, по умолчанию) либо day для динамики по дням.
sortByNoПоле сортировки на стороне сервера, например base.spent / base.clicks / base.shows (топ-N по метрике).
metricsNoГруппы метрик в отчёте, например base, events, video. По умолчанию — набор API.
dateFromNoДата начала, YYYY-MM-DD (обязательна для day; для summary без дат — итог за всё время).
autoPaginateNoЗабрать все страницы, идя по offset/count (в day и summary без дат ответ и так полный).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv1.6.1
    • changedInput schema / properties / autoPaginate / description
      Previous value: -"Забрать все страницы, идя по offset/count."New value: +"Забрать все страницы, идя по offset/count (в day и summary без дат ответ и так полный)."
    • changedInput schema / properties / dateFrom / description
      Previous value: -"Дата начала, YYYY-MM-DD (обязательна для day/week/month)."New value: +"Дата начала, YYYY-MM-DD (обязательна для day; для summary без дат — итог за всё время)."
    • changedInput schema / properties / dateTo / description
      Previous value: -"Дата окончания, YYYY-MM-DD (обязательна для day/week/month)."New value: +"Дата окончания, YYYY-MM-DD (обязательна для day)."
    • changedInput schema / properties / period / description
      Previous value: -"Группировка: summary (весь период, по умолчанию) либо day/week/month для динамики."New value: +"Группировка: summary (итог по объекту, по умолчанию) либо day для динамики по дням."
    • changedInput schema / properties / period / enum
      Previous value: -[
      -  "day",
      -  "week",
      -  "month",
      -  "summary"
      -]New value: +[
      +  "summary",
      +  "day"
      +]
  2. Changed11 schema fields changedv1.5.0
    • changedInput schema / properties / autoPaginate / description
      Previous value: -"Fetch all pages by following offset/count."New value: +"Забрать все страницы, идя по offset/count."
    • changedInput schema / properties / dateFrom / description
      Previous value: -"Start date YYYY-MM-DD (required for day/week/month)."New value: +"Дата начала, YYYY-MM-DD (обязательна для day/week/month)."
    • changedInput schema / properties / dateTo / description
      Previous value: -"End date YYYY-MM-DD (required for day/week/month)."New value: +"Дата окончания, YYYY-MM-DD (обязательна для day/week/month)."
    • changedInput schema / properties / entity / description
      Previous value: -"Object type to report on. Default banners."New value: +"Тип объектов для отчёта. По умолчанию banners."
    • changedInput schema / properties / ids / description
      Previous value: -"Limit the report to these object ids (of the chosen entity)."New value: +"Ограничить отчёт этими id объектов (выбранного entity)."
    • changedInput schema / properties / limit / description
      Previous value: -"Max objects per page (<=250)."New value: +"Сколько объектов на страницу (не больше 250)."
    • changedInput schema / properties / metrics / description
      Previous value: -"Metric groups to include, e.g. base, events, video. Defaults to the API default."New value: +"Группы метрик в отчёте, например base, events, video. По умолчанию — набор API."
    • changedInput schema / properties / offset / description
      Previous value: -"Pagination offset (objects to skip)."New value: +"Смещение постраничной выдачи (сколько объектов пропустить)."
    • changedInput schema / properties / order / description
      Previous value: -"Sort direction for sortBy. Default desc."New value: +"Направление сортировки для sortBy. По умолчанию desc."
    • changedInput schema / properties / period / description
      Previous value: -"Grouping: summary (whole range, default), or day/week/month for trends."New value: +"Группировка: summary (весь период, по умолчанию) либо day/week/month для динамики."
    • changedInput schema / properties / sortBy / description
      Previous value: -"Server-side sort field, e.g. base.spent / base.clicks / base.shows (top-N by metric)."New value: +"Поле сортировки на стороне сервера, например base.spent / base.clicks / base.shows (топ-N по метрике)."
  3. Changed3 schema fields changedv1.1.4
    • removedInput schema / properties / dateTo / $ref
      Removed value: -"#/properties/dateFrom"
    • addedInput schema / properties / dateTo / pattern
      Added value: +"^\\d{4}-\\d{2}-\\d{2}$"
    • addedInput schema / properties / dateTo / type
      Added value: +"string"
  4. First observedv1.1.3

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent annotations, the description discloses failure behavior ('VK их молча игнорирует, поэтому инструмент вернёт ошибку'), clarifies that autoPaginate is harmless in every mode, and explains the exact meaning of 'total' (sum over THIS page's objects, or over ids when filtered, not the whole account). It also states where metrics live (base) and that spent is in account currency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in sentence one and nearly every following clause carries a real constraint (mode limits, error behavior, total semantics). It is dense and wordy in places — the autoPaginate aside and the repeated date/period restatements could be trimmed — but there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 11 parameters, three interacting modes and no output schema, the description still tells the agent what the response looks like (items[].total, per-day rows in day mode), where metric values sit, and which parameter combinations fail. That is everything needed to call it correctly without guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description still adds real value by binding parameters together — limit/offset and sortBy/order are only honored in summary-with-dates, and ids changes the semantics of the returned total. Some of it duplicates the schema (dateFrom/dateTo notes, entity list), and the 'metrics' groups are only touched via 'Метрики лежат в base', so it is additive but not exhaustive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence gives a specific verb and resource ('Возвращает статистику по кампаниям (ad_plans), группам объявлений (ad_groups) или объявлениям (banners)') and enumerates the exact entity values. That makes it trivially distinguishable from the sibling list_*/update_* CRUD tools, which manage objects rather than report metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives strong mode-selection guidance: 'day' is declared for trend/dynamics questions only, dates are mandatory there, and weeks/months must be derived from 'day'. It also warns that sortBy/order/limit/offset only work in summary with dates and that the tool will error otherwise. It never routes to an alternative sibling (e.g. raw_request for unsupported groupings) or explains when to prefer list_banners for object metadata, so it stops short of a full routing statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.