vk-ads-mcp
This server provides an MCP interface for the VK Ads API, enabling management of campaigns, ad groups, ads, statistics, and account information.
List Campaigns: Retrieve advertising campaigns with optional filtering by status (active, blocked, deleted), with automatic pagination.
Create Campaign: Create a new campaign by specifying a name, objective/type, and budget limits.
Update Campaign: Modify an existing campaign's name, budget, or status (activate, stop, delete).
List Ad Groups: Get a list of ad groups with targeting information, filterable by campaign.
List Ads: Retrieve individual ads filterable by campaign or ad group, including format and status details.
Create Ad: Create a new ad by defining the format (text, image, video), title, description, link URL, and associated ad group.
Get Statistics: Fetch performance metrics (impressions, clicks, spend) for campaigns or ads over a date range, aggregated by day, week, month, or as an overall summary.
List Targeting Groups: Retrieve targeting groups associated with a specific campaign.
Get Account / Budget: Retrieve account information, current balance, and budget limits.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vk-ads-mcpПокажи статистику по кампании за последнюю неделю"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@theyahia/vk-ads-mcp
MCP-сервер для VK Ads API v2 (ads.vk.com/api/v2) — кампании, группы объявлений, объявления, статистика, баланс. 8 инструментов.
Модель данных VK Ads:
ad_plans(кампании) →ad_groups(группы) →banners(объявления). Имена инструментов оставлены дружелюбными (list_campaigns,list_ads), но обращаются к реальным v2-ресурсам.
Установка
Claude Desktop
{
"mcpServers": {
"vk-ads": {
"command": "npx",
"args": ["-y", "@theyahia/vk-ads-mcp"],
"env": {
"VK_ADS_TOKEN": "ваш_токен"
}
}
}
}Claude Code
claude mcp add vk-ads -e VK_ADS_TOKEN=ваш_токен -- npx -y @theyahia/vk-ads-mcpRelated MCP server: vk-ads-mcp
Авторизация
Переменная | Обязательна | Назначение |
| ✅ | OAuth2 Bearer access_token VK Ads API |
| — | для авто-обновления токена (refresh) |
| — | для авто-обновления токена (refresh) |
| — | для авто-обновления токена (refresh) |
access_token живёт ~1 день. Если заданы все три refresh-переменные, сервер на 401 сам обновит токен
через grant_type=refresh_token. Иначе — обновляйте VK_ADS_TOKEN вручную.
Кабинет выбирается токеном, а не параметром. В VK Ads v2 нет account_id в запросах: агентство/менеджер
получает отдельный per-client токен (agency_client_credentials) и подписывает им запросы нужного кабинета.
Инструменты (8)
Инструмент | Метод | Описание |
|
| Кампании (ad_plans), фильтр по статусу, авто-пагинация |
|
| Создать кампанию: |
|
| Обновить: |
|
| Группы объявлений с таргетингом (delivery), фильтр по кампаниям |
|
| Объявления (banners), фильтр по группам, авто-пагинация |
|
| Создать объявление: |
|
| Показы ( |
|
| Кабинет и баланс (нужен scope |
Все инструменты используют MCP-аннотации (readOnlyHint/destructiveHint/idempotentHint), а read-инструменты —
outputSchema + structuredContent для типизированного и компактного ответа. Списки пагинируются автоматически
(до 200 объектов; больше — флаг truncated в ответе).
Примеры запросов
Покажи активные кампании
Создай кампанию "Осенняя акция" с целью traffic и бюджетом 50000
Останови кампанию 12345
Какие группы объявлений в кампании 12345?
Статистика кампании 12345 за январь 2026 по дням
Покажи баланс кабинетаМиграция 1.x → 2.0 (breaking)
Версия 1.x обращалась к легаси API (/campaigns.json, /ads.json, плоский /statistics.json, account_id,
числовые статусы) и фактически не работала против ads.vk.com/api/v2. В 2.0 переписан весь API-слой:
account_idудалён из всех инструментов — кабинет задаётся токеном.update_campaign: вместоstatus: 1/0→action: activate|stop|delete(строковые статусыactive/blocked/deleted).Бюджет:
all_limit→budget_limit/budget_limit_day(валюта кабинета, не копейки).create_campaign:type→objective(цель кампании).create_ad: вместо{ad_format,title,description,link_url}→{ad_group_id, textblocks, urls, content}.get_statistics:ids_type/period=week|month|overall→object_typeиperiod=day|summaryв пути URL.list_targeting_groups→list_ad_groups(таргетинг живёт на группе объявлений).get_budget→get_account(баланс читается из/user.json).
Точность API
Эндпоинты и поля подтверждены официальной документацией target.vk.ru и 5 независимыми рабочими клиентами.
Несколько деталей помечены в коде // VERIFY: (единицы бюджета, поле баланса, полный enum objective, путь update)
и требуют подтверждения живым токеном — см. docs/VERIFICATION.md (~10 минут).
Возможный follow-up (вне текущего объёма)
Массовые действия (mass_action), список клиентов агентства (agency/clients), загрузка креативов
(upload_creative), состояние лимитов (throttling), справочники таргетинга (regions/interests),
конверсии и remarketing-аудитории.
Разработка
npm install
npm run build # tsc
npm test # vitest
npm run dev # tsx src/index.ts (читает .env — см. .env.example)Лицензия
MIT
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/theYahia/vk-ads-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server