VK Ads MCP

Servidor MCP para a API do VK Ads — gerencie planos de anúncios, grupos de anúncios, banners e extraia estatísticas.

Documentação

VK Ads MCP

npm CI Glama License: MIT

VK Ads MCP conecta um aplicativo de IA ao painel de anúncios do VK Ads. Você pode perguntar quais campanhas estão gastando orçamento sem resultado, comparar grupos e anúncios, preparar uma nova campanha ou alterar um lance. Diferente de navegar manualmente pelas seções do painel, o assistente cruza campanhas, estatísticas, saldo e status em um único diálogo.

  • 22 ferramentas. Campanhas, grupos, anúncios, estatísticas, saldo, limites de API, regiões, conexão do painel e consulta universal à API.
  • Conexão pelo diálogo. Diga "conecte o VK Ads" — o servidor explicará onde obter client_id e client_secret, receberá o token e continuará renovando-o sozinho.
  • Publicidade ao vivo. Lances, orçamentos e gastos são exibidos na moeda do painel de anúncios — sem conversão de micro-unidades.
  • Hierarquia completa. Campanha (ad_plan) → grupo (ad_group) → anúncio (banner).
  • Análise primeiro. Listas, relatórios, saldo e status são somente leitura.
  • Alterações no painel real. Criação, atualização e ações de status são aplicadas imediatamente; o VK Ads não possui sandbox.

Comece com uma solicitação segura:

Mostre as campanhas da minha conta do VK Ads e os gastos da semana passada por grupos de anúncios.

Conectar servidor · Ver cenários · Abrir documentação técnica


Veja o funcionamento em um minuto

Демонстрация: ассистент сопоставляет кампании, статистику и баланс VK Рекламы

Conteúdo

Início rápido

É necessário Node.js 20 ou superior. O servidor é executado via npx, portanto não é necessário instalar o pacote separadamente; o token não é necessário na instalação.

  1. Adicione o servidor ao aplicativo de IA — instruções para cinco aplicativos abaixo.
  2. Diga: "Conecte o VK Ads" — o servidor conduzirá a conexão diretamente no diálogo.
  3. Pergunte: "Mostre as campanhas da minha conta do VK Ads e os gastos da semana passada por grupos de anúncios".
Codex

Pela interface do aplicativo:

  1. Abra Settings → Plugins → MCP servers.
  2. Clique em Add server.
  3. Adicione o comando de execução npx -y mcp-vk-ads@latest. Variáveis de ambiente não são necessárias: o painel é conectado no diálogo.

Pela linha de comando:

codex mcp add vk-ads -- npx -y mcp-vk-ads@latest

Verifique a conexão:

codex mcp list

Instruções oficiais do Codex

Claude Code
claude mcp add \
  --transport stdio \
  --scope user \
  vk-ads \
  -- npx -y mcp-vk-ads@latest

Verifique o servidor:

claude mcp list

Documentação do Claude Code

Claude Desktop

Abra Settings → Developer → Edit Config e adicione o servidor em claude_desktop_config.json:

{
  "mcpServers": {
    "vk-ads": {
      "command": "npx",
      "args": ["-y", "mcp-vk-ads@latest"]
    }
  }
}

Se Edit Config não estiver disponível, edite ~/Library/Application Support/Claude/claude_desktop_config.json no macOS ou %APPDATA%\Claude\claude_desktop_config.json no Windows.

Cursor

Para todos os projetos, crie ~/.cursor/mcp.json; apenas para o projeto atual — .cursor/mcp.json:

{
  "mcpServers": {
    "vk-ads": {
      "command": "npx",
      "args": ["-y", "mcp-vk-ads@latest"]
    }
  }
}

Documentação do Cursor

VS Code

Abra a paleta de comandos e execute MCP: Open User Configuration. Adicione em mcp.json:

{
  "servers": {
    "vk-ads": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-vk-ads@latest"]
    }
  }
}

Verifique a execução com o comando MCP: List Servers.

Documentação do VS Code

O que você pode delegar

Entender gastos e resultados

  • "Mostre gastos, impressões, cliques e CTR por campanhas nos últimos 7 dias".
  • "Quais anúncios estão gastando mais e não trazem resultado?"
  • "Compare grupos de anúncios dentro desta campanha por gasto e cliques".

Entender por que a publicidade não está sendo exibida

  • "Mostre status, entrega e moderação de todos os anúncios deste grupo".
  • "Quais campanhas estão pausadas agora?"
  • "Encontre anúncios que não passaram na moderação".

Preparar alterações na publicidade

  • "Crie uma campanha de texto com orçamento diário de 5.000 rublos".
  • "Altere o orçamento diário deste grupo para 1.500 rublos".
  • "Pause o anúncio 12345".

Esses comandos alteram o painel real. Antes de executar, verifique se o assistente identificou corretamente a campanha, o grupo, o anúncio e o valor.

Encontrar dados para configuração

  • "Mostre o saldo e a moeda do meu painel".
  • "Quantas solicitações de API restam?"
  • "Encontre o ID da região Moscou para segmentação".

Como os objetos do VK Ads são estruturados

ObjetoFunção
Campanha (ad_plan)Nível superior: nome, orçamento, lance e período de execução.
Grupo (ad_group)Configurações de público e posicionamento, orçamento e lance próprios.
Anúncio (banner)Textos, links e criativos dentro do grupo.
EstatísticasRelatório de campanhas, grupos ou anúncios por período.

O objeto tem três estados diferentes. status pode ser alterado: active, blocked ou deleted. delivery e moderation_status apenas explicam por que o objeto está sendo exibido ou não; não podem ser alterados diretamente.

O que pode alterar dados

AçãoO que acontece
Listas, estatísticas, saldo, limites e regiõesSomente leitura.
Criação e atualização de campanhas, grupos e anúnciosCria ou altera imediatamente o objeto no painel de anúncios real.
Ação de statusAtiva, pausa ou exclui o objeto no painel ao vivo.
raw_requestGET lê dados; POST e DELETE os alteram e exigem confirmWrite=true.

As ferramentas tipadas de criação, atualização e mudança de status não possuem parâmetro interno confirmWrite. Como o aplicativo de IA solicita confirmação depende das configurações dele. Após erro de rede ou 5xx, não repita a criação às cegas: a operação pode ter sido aplicada; primeiro verifique a lista de objetos.

Conexão do painel

Diga ao assistente:

Conecte o VK Ads

Ele mostrará o que fazer: em ads.vk.com, abra Configurações → Acesso à API, crie um aplicativo e envie client_id e client_secret no chat. Em seguida, o servidor obterá o token e verificará em qual painel entrou. Não é necessário reiniciar o aplicativo de IA nem editar a configuração dele. Se a seção "Acesso à API" não estiver disponível, solicite acesso ao suporte do VK Ads.

Depois, a conexão se mantém sozinha: o token VK dura cerca de um dia e é renovado automaticamente via refresh_token. Para verificar o estado — "mostre o status da conexão"; para desconectar — "desconecte o VK Ads".

client_id e client_secret dão acesso total ao painel de anúncios, incluindo gasto de orçamento. O servidor os armazena em ~/.config/mcp-vk-ads/credentials.json com permissões somente do proprietário (0600) — client_secret é necessário porque o VK exige a cada renovação de token. Nenhuma ferramenta os retorna.

O VK Ads não possui fluxo de "entrar e confirmar" no navegador para servidores de terceiros: o cenário authorization_code do VK é fornecido apenas a parceiros com redirect_uri aprovado, portanto a conexão ocorre pelo aplicativo do próprio usuário. Painéis de clientes de agências exigem a concessão agency_client_credentials — para eles, é necessário um token pronto em VK_ADS_TOKEN (veja a documentação da API VK Ads).

Configuração

Não há nada para configurar: o servidor pergunta tudo no diálogo. As variáveis de ambiente são úteis apenas para CI e instalações automáticas, onde não há diálogo. Todas são opcionais — o servidor funciona sem nenhuma delas.

VariávelFinalidade
VK_ADS_TOKENToken OAuth2 de acesso pronto do VK Ads. Tem prioridade sobre o login pelo chat; esse token não é renovado nem excluído pelo servidor.
VK_ADS_LANGIdioma das respostas da API; padrão ru.
VK_ADS_TIMEOUT_MSTimeout de uma solicitação; padrão 60.000 ms.
VK_ADS_MAX_RETRIESNúmero de tentativas em erros temporários; padrão 3.
VK_ADS_API_BASEEndereço base da API; padrão https://ads.vk.com/api.
Como emitir um token para VK_ADS_TOKEN manualmente
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

Da resposta, pegue access_token. Ele dura cerca de um dia e não se renova sozinho: quando invalid_token, emita um novo. Um usuário não pode ter mais de 5 tokens ativos por aplicativo; os antigos são revogados pela solicitação POST /api/v2/oauth2/token/delete.json — ela exclui todos os tokens desse usuário para o client_id.

Dados, limites e trabalho em segundo plano

  • Páginas e painéis grandes. Uma página de lista contém até 250 objetos. Quando autoPaginate, o servidor retorna no máximo 1.000 objetos e marca o resultado incompleto com o campo _truncated.
  • Limites de API. A ferramenta get_throttling mostra o saldo atual dos limites. Verifique antes de operações em massa.
  • Tentativas de solicitação. O timeout de uma solicitação é de 60 segundos. O servidor faz até três tentativas: para qualquer método quando 429, e para leitura também em erro de rede, timeout e 5xx. O atraso considera Retry-After e não excede 30 segundos.
  • Sem monitoramento em segundo plano. O servidor funciona quando o aplicativo de IA o chama. Se o aplicativo suportar tarefas agendadas, você pode configurar solicitações periódicas de estatísticas ou status.
  • Telemetria anônima. Por padrão, o servidor envia um identificador aleatório de instalação, nome do evento ou ferramenta, versões do servidor, Node.js, SO e cliente de IA. Não inclui token, dados do painel, argumentos de ferramentas, suas mensagens ou valores de variáveis de ambiente. Para desativá-la para servidores MCP do Ask Ads: ASKADS_TELEMETRY=0.

Documentação técnica

Suporte

Encontrou um erro ou falta um cenário? Crie uma issue ou escreva no Telegram.