MCP server for VK Ads API: campaigns, audiences, budgets, stats. Click.ru, token or OAuth.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
💡 Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
MCP-сервер на Bun и TypeScript, который даёт ИИ-агенту прямой доступ к API ВК Рекламы (myTarget API v2).
Из диалога с вами агент читает состояние аккаунта и вносит изменения через API: смотрит кампании, группы и объявления, выгружает статистику со срезами, создаёт и правит сущности, загружает креативы, собирает аудитории для ремаркетинга, отправляет объявления на модерацию, запускает и останавливает показы.
Стратегию и тексты объявлений сервер не придумывает — он исполняет решения, которые принимаете вы вместе с агентом. В наборе 48 инструментов.
auth_check. Сервер работает локально через стандартный ввод-вывод или по HTTP, в том числе с несколькими аккаунтами.Сервер не запускает кампании самостоятельно. Показ включается только отдельной явной сменой статуса.
| Область | Что позволяет сделать |
|---|---|
| Авторизация и аккаунт | Проверить доступ, получить данные аккаунта и отозвать лишние OAuth-токены |
Кампании — API ad_plans | Создавать и вести кампании верхнего уровня, задавать сроки и ограничения бюджета |
Группы объявлений — API campaigns | Создавать группы с целью, бюджетом и таргетингом, запускать и останавливать показы |
Дополнительные группы — API ad_groups | Группировать объявления по таргетингу |
Объявления — API banners | Создавать и править объявления, привязывать креативы и отправлять на модерацию |
| Контент | Загружать изображения и видео из локального файла или по URL |
| Статистика | Получать данные по дням, итоги за период, срезы и большие асинхронные отчёты |
| Ремаркетинг | Работать с сегментами, пикселями и списками пользователей |
| Агентство | Получать список клиентов и создавать клиентов агентского аккаунта |
| Справочники | Искать регионы, пакеты форматов, интересы, браузеры, валюты и отрасли |
В новом интерфейсе ВК Рекламы и API одни и те же уровни называются по-разному:
| В интерфейсе | В API |
|---|---|
| Кампания | ad_plan |
| Группа объявлений | campaign |
| Объявление | banner |
Группа campaign, созданная без ad_plan_id, становится «сиротой» и не видна в новом кабинете. Создавайте группы внутри кампании или сразу передавайте ad_plan_id.
Сервер и агент:
Человек:
У сервера нет встроенной точки подтверждения: вызов на изменение уходит в API сразу. Кампании, группы и объявления удаляются мягко через статус deleted; удаление сегментов, пикселей и списков пользователей необратимо на стороне API.
Из npm — одной командой (нужен установленный Bun):
Для подключения в конфиге MCP-клиента: "command": "bunx", "args": ["@ai-hub-open/vk-ads-mcp"] плюс переменные окружения одного из режимов ниже.
Скопируйте .env.example в .env и заполните один из вариантов (переменные окружения имеют приоритет над .env):
A. Через Click.ru — основной путь: токен без заявок на доступ к API, свои ключи ВК не нужны:
Сервер сам запрашивает access_token VK Ads у Click.ru, кэширует и обновляет его при 401. Токен Click.ru создаётся в профиле https://click.ru/userinfo.html → поле «API Token» → «Создать»; ID аккаунта VK Рекламы — через GET /accounts в https://api.click.ru/V0/docs/. Справка: https://help.click.ru/2327, https://help.click.ru/4814.
B. Готовый access_token VK Ads:
Токен: ads.vk.com → Настройки профиля → Получить токен / API.
C. OAuth 2.0 Client Credentials — приложение, одобренное на target.vk.ru:
Сервер сам получает токен (grant_type=client_credentials / agency_client_credentials), кэширует на диске и обновляет при 401. При ошибке token_limit_exceeded (у VK лимит ≤5 активных токенов) используйте инструмент vk_ads_token_revoke.
.mcp.json в корне вашего проекта (см. также .mcp.json.example):
Для режима готового токена в env вместо CLICK_RU_* укажите VK_ADS_ACCESS_TOKEN.
📋 Инструкция для AI-агента — скопируйте и передайте своему агенту (Claude Code / Codex), подставив ключи:
Установи и подключи MCP-сервер «VK Ads»: склонируй
https://github.com/ai-hub-open/vk-ads-mcp.git, проверь Bun (bun --version, если нет — установи с https://bun.sh), выполниbun installв корне репозитория. Зарегистрируй локальный stdio-MCP: командаbun, аргументыrun <абсолютный_путь_к_репо>/src/index.ts, переменные окружения — мои ключи:CLICK_RU_TOKEN=<...>,CLICK_RU_ACCOUNT_ID=<...>(илиVK_ADS_ACCESS_TOKEN=<...>для режима готового токена). Проверьtools/listи сообщи результат.
Переменные: MCP_PORT (3000), MCP_HOST (0.0.0.0), MCP_AUTH_TOKEN (если задан — запросы должны нести Authorization: Bearer <token>), MCP_ALLOWED_ORIGIN (CORS).
| Метод + путь | Назначение |
|---|---|
POST /mcp | JSON-RPC 2.0 запрос (или батч) |
GET /healthz | health check |
GET /mcp/tools | список инструментов (отладка) |
Несколько аккаунтов: данные доступа можно передавать в заголовках каждого запроса; они имеют приоритет над .env. Один сервер может обслуживать несколько клиентов:
Сервер можно запустить без данных доступа в .env — тогда они передаются в каждом запросе. Полученные через OAuth или Click.ru токены сохраняются в памяти и на диске отдельно для каждого набора доступа: ключ хранения включает отпечаток секрета, поэтому знание одного лишь публичного идентификатора (client_id, account_id) чужой токен из кэша не выдаёт.
⚠️ Безопасность: при публикации в сеть задайте MCP_AUTH_TOKEN и закройте порт за обратным прокси-сервером с TLS.
Ограничения загрузки креативов в сетевом режиме. Запросы приходят извне, поэтому чтение файлов с диска сервера выключено, а адреса для загрузки по ссылке проверяются: внутренние диапазоны (127.0.0.1, 169.254.169.254, приватные сети) и уводящие туда перенаправления блокируются. При локальном запуске обе возможности включены — это ваши собственные файлы и сеть. Управление: VK_ADS_ALLOW_LOCAL_FILES, VK_ADS_ALLOW_PRIVATE_NETWORK.
Типы и тесты запускаются на каждый pull request и push в main и dev.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/vk-ads-mcp)<a href="https://allmcps.com/mcp/vk-ads-mcp"><img src="https://allmcps.com/api/badge/vk-ads-mcp?style=directory" alt="Vk Ads Mcp on AllMCPs" /></a>