Skip to main content
Glama
askads

VK Ads MCP

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VK_ADS_LANGNoAccept-Language header value.ru
VK_ADS_TOKENYesOAuth2 access token for VK Ads API (Bearer). Required.
VK_ADS_API_BASENoRoot URL of the API (without version).https://ads.vk.com/api
VK_ADS_TIMEOUT_MSNoRequest timeout in milliseconds.60000
VK_ADS_MAX_RETRIESNoMaximum number of retries on temporary errors (429, 5xx).3

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_user_infoA

Returns information about the current VK Ads account (user.json), including additional_info.client_name. Use it to confirm which advertiser account the token points at.

get_throttlingA

Returns the current VK Ads request limits and remaining budget (throttling.json), so you can avoid hitting the rate limit.

get_regionsA

Lists VK Ads geo regions (id, name, type), optionally filtered by a name substring. Region ids are needed for ad group geo targeting.

list_ad_plansA

Lists ad plans (the top-level VK Ads campaign object) with optional filtering by id and status. Money fields (budget_limit, budget_limit_day, max_price) are in the account currency.

create_ad_planA

Creates an ad plan (campaign). Money fields are in account currency. Pass complex or less common fields via extra (merged into the request body verbatim).

update_ad_planA

Updates an ad plan's name, budgets, bid cap or dates. Money fields are in account currency. Use ad_plan_action to change status.

ad_plan_actionA

Changes the lifecycle status of ad plans by id: activate (status=active), stop (status=blocked) or delete (status=deleted).

list_ad_groupsA

Lists ad groups with optional filtering by id, parent ad plan and status. Money fields are in the account currency; targetings holds the geo/demographic/interest targeting structure.

create_ad_groupA

Creates an ad group inside an ad plan. Targeting goes in targetings (e.g. {"geo":{"regions":[188]},"age":{"age_list":[25,26]}}). Money fields are in account currency. Use extra for any other field.

update_ad_groupA

Updates an ad group's name, budgets, bid cap, dates or targeting. Money fields are in account currency. Use ad_group_action to change status.

ad_group_actionA

Changes the lifecycle status of ad groups by id: activate (status=active), stop (status=blocked) or delete (status=deleted).

list_bannersA

Lists banners (the VK Ads creative/ad object) with optional filtering by id, parent ad group and status. moderation_status (pending/allowed/banned) and delivery show why an ad is or isn't showing.

create_bannerA

Creates a banner inside an ad group. Creative content references uploaded media via content, ad copy goes in textblocks and links in urls. These structures are sent verbatim; consult the VK Ads docs for the exact shape per ad format.

update_bannerA

Updates a banner's name, text blocks or links. Use banner_action to change status. Structures are sent verbatim.

banner_actionA

Changes the lifecycle status of banners by id: activate (status=active), stop (status=blocked) or delete (status=deleted).

get_statisticsA

Fetches performance statistics from the VK Ads v3 statistics service for ad plans, ad groups or banners. By default the grouping is summary — one aggregated row per object over the whole period; use day/week/month ONLY for daily dynamics or trend questions (each adds a row per object per period). Rank objects server-side with sortBy (e.g. base.spent) + order; the response also carries total — the summary across ALL objects for the period (use it for «сколько всего», no need to sum rows). Metrics live under base (shows, clicks, spent, ...); spent is in account currency.

raw_requestA

Escape hatch to call any VK Ads API endpoint directly (e.g. path "v2/ad_plans.json", method GET). Use this for endpoints that have no dedicated tool. query becomes the query string; body is sent as JSON for POST. GET runs freely; POST and DELETE are writes and require confirmWrite=true.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/askads/mcp-vk-ads'

If you have feedback or need assistance with the MCP directory API, please join our Discord server