AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

Vk Ads Mcp

mcp-qusto-vk-ads-mcp · by Qusto

Read-only MCP server for VK Ads (ads.vk.com): campaign stats, ranking and AI-driven analysis. Python/FastMCP.

No reviews yet
0 installs
10 views
0.0% view→install

Install

$ agentstack add mcp-qusto-vk-ads-mcp

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-qusto-vk-ads-mcp)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Vk Ads Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

vk-ads-mcp

MCP-сервер для Claude Code: отдаёт статистику и структуру рекламных кампаний VK Рекламы (новый кабинет ads.vk.com, база https://ads.vk.com/api/v2).

Только чтение. Ничего не создаёт и не меняет. Рассчитан на свой кабинет.

Под капотом — тот же движок, что у myTarget. Словарь объектов: ad_plans — кампании, ad_groups — группы объявлений, banners — объявления.

Инструменты

| Инструмент | Что делает | |---|---| | list_campaigns | список кампаний (ad_plans), фильтр по статусу, пагинация | | list_ad_groups | список групп объявлений, фильтр по кампании | | list_banners | список объявлений, фильтр по группе | | get_statistics | статистика по ad_plans/ad_groups/banners за период (day/summary); сам режет диапазон >92 дней и список >50 id на части | | get_top_objects | топ кампаний / групп / объявлений по метрике (ctr, cpc, cpa, spent и т.д.); order=asc — для метрик стоимости | | describe_fields | список допустимых полей для ad_plans/ad_groups/banners — узнаёт их у API на лету | | export_to_csv | выгрузка статистики в CSV-файл | | get_rate_limits | остаток квоты API для диагностики |

Списочные инструменты по умолчанию отдают минимальный набор полей. Чтобы получить больше данных, передайте fields (через запятую). Какие поля доступны для объекта — подскажет describe_fields.

Ресурсы и промпт

| Ресурс | Что внутри | |---|---| | vk-ads://metrics | справочник групп метрик статистики (base, uniques, video, events, viral, carousel, tps, romi, moat, playable) с единицами измерения | | vk-ads://objects | иерархия ad_plans → ad_groups → banners и ключевые поля для анализа |

Промпт campaign_analysis — пошаговый сценарий разбора кампаний на русском. Принимает необязательные date_from, date_to, objective.

Анализ и рекомендации

Сервер не только отдаёт данные, но и помогает их разобрать по схеме анализ → ранжирование → рекомендации:

  1. Анализ. list_campaigns и get_statistics дают структуру и цифры за период.

Ресурсы vk-ads://metrics и vk-ads://objects объясняют, что значат метрики и поля.

  1. Ранжирование. get_top_objects показывает лучшие и худшие объекты по нужной

метрике: order=desc для CTR и конверсий, order=asc для cpc/cpa, где меньше — лучше.

  1. Рекомендации. Промпт campaign_analysis собирает шаги в готовый сценарий:

на что смотреть, что отключить, где поднять ставку.

Доступ к API

client_id/client_secret не выдаются автоматически. В кабинете VK Рекламы: Настройки → Доступ к API → Запросить доступ к API (или письмо на ads_api@vk.team). client_secret показывают один раз. Подробнее — в исходном обзоре ../Open-Source решения для MCP Server VK Ads — полный обзор.md.

Настройка

Скопируйте .env.example в .env и задайте пару из кабинета:

VK_ADS_CLIENT_ID=...
VK_ADS_CLIENT_SECRET=...

Сервер сам получит и обновит токен через grant_type=client_credentials (и перезапросит при 401). Если когда-нибудь окажется готовый Bearer-токен — можно вместо пары задать VK_ADS_TOKEN, тогда OAuth не используется.

.env в git не попадает. .mcp.json хранит только плейсхолдеры ${VK_ADS_CLIENT_ID} / ${VK_ADS_CLIENT_SECRET}.

VK ограничивает кабинет 5 живыми токенами на client_id, а Claude Code часто перезапускает сервер. Поэтому токен кешируется на диск (~/.cache/vk-ads-mcp/token.json, права 0600) и переиспользуется между перезапусками — новый токен не выпускается, пока старый не истёк. Путь меняется через VK_ADS_TOKEN_CACHE.

Подключение к Claude Code

claude mcp add vk-ads --scope project \
  --env VK_ADS_CLIENT_ID=$VK_ADS_CLIENT_ID \
  --env VK_ADS_CLIENT_SECRET=$VK_ADS_CLIENT_SECRET \
  -- uv run --with fastmcp fastmcp run src/vk_ads_mcp/server.py

Команда дописывает .mcp.json в корень проекта (он уже здесь). Реальный токен берётся из окружения при запуске, в репозиторий не коммитится.

Разработка

uv sync --all-extras --dev
uv run pytest -q          # тесты, сеть не нужна (httpx замокан через respx)
uv run ruff check .       # линт
uv run ruff format .      # форматирование

Отладка вручную

uv run fastmcp dev src/vk_ads_mcp/server.py

Поднимает MCP Inspector — можно дёргать инструменты руками и смотреть ответы.

Структура

src/vk_ads_mcp/
  app.py          общий FastMCP-инстанс + ленивый клиент
  config.py       чтение env
  auth.py         OAuth2 client_credentials + refresh / Bearer-override
  client.py       весь HTTP: пагинация, чанкинг 92 дней / 50 id, бэкофф на 429
  models.py       pydantic-модели ответов
  tools/          по файлу на инструмент
  resources.py    ресурсы vk-ads://metrics и vk-ads://objects
  prompts.py      промпт campaign_analysis
  server.py       точка входа (регистрирует инструменты, ресурсы, промпт, запускает stdio)
tests/            pytest + respx

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.