MCP server for VK Ads (VK Реклама) API: manage ad plans, ad groups, banners, and statistics.
VK Реклама MCP подключает AI-приложение к рекламному кабинету VK Ads. Можно спросить, какие кампании тратят бюджет без результата, сравнить группы и объявления, подготовить новую кампанию или изменить ставку. В отличие от ручного перехода по разделам кабинета, ассистент сопоставляет кампании, статистику, баланс и статусы в одном диалоге.
ad_plan) → группа (ad_group) → объявление (banner).Начните с безопасного запроса:
Покажи кампании моего аккаунта VK Рекламы и расход за прошлую неделю по группам объявлений.
Подключить сервер · Посмотреть сценарии · Открыть техническую документацию
Нужны Node.js 20 или новее и access-токен VK Ads. Сервер запускается через npx, поэтому отдельно устанавливать пакет не требуется.
Через интерфейс приложения:
npx -y mcp-vk-ads@latest и переменную окружения VK_ADS_TOKEN со своим токеном.Через командную строку:
codex mcp add vk-ads \
--env VK_ADS_TOKEN=ваш_токен \
-- npx -y mcp-vk-ads@latest
Проверьте подключение:
codex mcp list
claude mcp add \
--env VK_ADS_TOKEN=ваш_токен \
--transport stdio \
--scope user \
vk-ads \
-- npx -y mcp-vk-ads@latest
Проверьте сервер:
claude mcp list
Откройте Settings → Developer → Edit Config и добавьте сервер в claude_desktop_config.json:
{
"mcpServers": {
"vk-ads": {
"command": "npx",
"args": ["-y", "mcp-vk-ads@latest"],
"env": {
"VK_ADS_TOKEN": "ваш_токен"
}
}
}
}
Если Edit Config недоступна, отредактируйте ~/Library/Application Support/Claude/claude_desktop_config.json на macOS или %APPDATA%\Claude\claude_desktop_config.json на Windows.
Для всех проектов создайте ~/.cursor/mcp.json; только для текущего проекта — .cursor/mcp.json:
{
"mcpServers": {
"vk-ads": {
"command": "npx",
"args": ["-y", "mcp-vk-ads@latest"],
"env": {
"VK_ADS_TOKEN": "ваш_токен"
}
}
}
}
Откройте палитру команд и выполните MCP: Open User Configuration. Добавьте в mcp.json:
{
"servers": {
"vk-ads": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-vk-ads@latest"],
"env": {
"VK_ADS_TOKEN": "${input:vk_ads_token}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "vk_ads_token",
"description": "Access-токен VK Ads",
"password": true
}
]
}
Проверьте запуск командой MCP: List Servers.
Такие команды меняют боевой кабинет. Перед вызовом убедитесь, что ассистент правильно определил кампанию, группу, объявление и сумму.
| Объект | Роль |
|---|---|
Кампания (ad_plan) | Верхний уровень: название, бюджет, ставка и период работы. |
Группа (ad_group) | Настройки аудитории и размещения, собственные бюджет и ставка. |
Объявление (banner) | Тексты, ссылки и креатив внутри группы. |
| Статистика | Отчёт по кампаниям, группам или объявлениям за период. |
У объекта есть три разных состояния. status можно менять: active, blocked или deleted. delivery и moderation_status только объясняют, почему объект показывается или нет; напрямую их изменить нельзя.
| Действие | Что происходит |
|---|---|
| Списки, статистика, баланс, лимиты и регионы | Только чтение. |
| Создание и обновление кампаний, групп и объявлений | Сразу создаёт или меняет объект в боевом рекламном кабинете. |
| Действие со статусом | Активирует, останавливает или удаляет объект в живом кабинете. |
raw_request | GET читает данные; POST и DELETE меняют их и требуют confirmWrite=true. |
У типизированных инструментов создания, обновления и смены статуса нет внутреннего параметра confirmWrite. Как AI-приложение запрашивает подтверждение, зависит от его настроек. После сетевой ошибки или 5xx не повторяйте создание вслепую: операция могла успеть примениться, сначала проверьте список объектов.
Токен выдаёт кабинет VK Ads:
В ads.vk.com откройте Настройки → Доступ к API и создайте приложение. Сохраните client_id и client_secret. Если раздел недоступен, запросите доступ к API у поддержки VK Ads.
Обменяйте их на access-токен кабинета:
curl -X POST https://ads.vk.com/api/v2/oauth2/token.json \
-d grant_type=client_credentials \
-d client_id=ВАШ_CLIENT_ID \
-d client_secret=ВАШ_CLIENT_SECRET
Возьмите access_token из ответа и сохраните его как VK_ADS_TOKEN.
Токен даёт доступ к рекламному кабинету, включая возможность тратить бюджет, и хранится в конфигурации MCP-клиента открытым текстом. Относитесь к нему как к паролю. Если API отвечает invalid_token, выпустите и укажите новый токен.
Для агентств, работающих с кабинетами клиентов, нужен сценарий authorization_code — см. документацию VK Ads API.
| Переменная | Назначение |
|---|---|
VK_ADS_TOKEN | Обязательный OAuth2 access-токен VK Ads. |
VK_ADS_LANG | Язык ответов API; по умолчанию ru. |
VK_ADS_TIMEOUT_MS | Таймаут одного запроса; по умолчанию 60 000 мс. |
VK_ADS_MAX_RETRIES | Число повторов при временных ошибках; по умолчанию 3. |
VK_ADS_API_BASE | Базовый адрес API; по умолчанию https://ads.vk.com/api. |
autoPaginate сервер возвращает не более 1 000 объектов и помечает неполный результат полем _truncated.get_throttling показывает текущий остаток лимитов. Проверяйте его перед массовыми операциями.429, а для чтения ещё при сетевой ошибке, тайм-ауте и 5xx. Задержка учитывает Retry-After и не превышает 30 секунд.ASKADS_TELEMETRY=0.Нашли ошибку или не хватает сценария? Создайте issue или напишите в Telegram.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y mcp-vk-adsMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-askads-mcp-vk-ads": {
"command": "npx",
"args": [
"-y",
"mcp-vk-ads"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceVK Ads MCP works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.