vk-ads-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VK_ADS_CLIENT_ID | No | Client ID for OAuth authentication | |
| VK_ADS_ACCESS_TOKEN | No | Direct access token (alternative to client_id/secret) | |
| VK_ADS_CLIENT_SECRET | No | Client secret for OAuth authentication | |
| VK_ADS_ENABLE_WRITES | No | Set to true to enable mutating operations | false |
| VK_ADS_ALLOW_LOCAL_UPLOAD | No | Directory path to allow local file uploads from | |
| VK_ADS_ALLOW_BASE_URL_OVERRIDE | No | Allow overriding the base URL (e.g., for testing) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| auth_checkA | Verify credentials and API reachability. Returns current user info if token is valid, otherwise an error payload. |
| list_campaignsA | List advertising campaigns. Args: limit: max items (default 50, max 250). offset: pagination offset. status: filter by status (active, blocked, deleted, etc.). fields: comma-separated field list to return. |
| get_campaignC | Get a single campaign by ID. |
| list_ad_groupsB | List ad groups, optionally filtered by campaign_id. |
| get_ad_groupC | Get a single ad group by ID. |
| list_bannersC | List banners (individual ads). |
| get_bannerB | Get a single banner by ID. |
| get_statistics_dayB | Daily statistics. Args:
entity: one of |
| get_statistics_summaryC | Summary (aggregated) statistics for the period. Args mirror |
| list_remarketing_groupsC | List remarketing audiences. |
| list_packagesA | List available ad packages (ad formats / placements). |
| search_regionsC | Search geo regions for targeting (cities, regions). |
| list_contentB | List uploaded content. Args:
content_type: one of |
| list_remarketing_pixelsC | List remarketing pixels (tracking tags). |
| list_users_listsB | List custom-audience users lists (uploaded phone/email hash segments). |
| get_lookalikeB | Get a lookalike audience (incl. processing status). |
| list_feedsC | List product feeds for dynamic/shopping ads. |
| list_agency_clientsC | List clients managed under an agency account. |
| get_account_infoA | Get current account info (including balance/budget fields). |
| get_async_reportC | Get async report status or download link when ready. |
| get_statistics_breakdownC | Statistics sliced by a dimension. Args:
entity: |
| get_dictionaryA | Fetch an arbitrary VK Ads dictionary. Examples:
|
| list_ad_plansC | List ad plans (top-level entity visible as "Кампания" in VK Ads UI). |
| get_ad_planB | Get a single ad plan by ID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 24 tools
Each tool targets a distinct entity or action (authentication, specific entities like campaign/ad group, statistics variants, different list operations). No two tools overlap in function; get/list pairs are complementary. The three statistics tools are differentiated by aggregation level (breakdown, daily, summary).
All tool names follow a consistent snake_case pattern with clear verb prefixes: 'get_' for single entities, 'list_' for plural entities, 'search_' for search, 'auth_' for authentication. No mixing of conventions or unclear verbs.
24 tools cover a broad range of VK Ads operations (auth, account, campaigns, ad groups, banners, ads, statistics, dictionaries, remarketing, content, feeds, packages, regions). The count is well-scoped for a comprehensive ads management server, neither too sparse nor bloated.
The tool surface is entirely read-only: only get, list, search, and statistics tools exist. There are no create, update, or delete operations for any entity (campaigns, ad groups, banners, etc.), which severely limits practical use for campaign management. Critical mutation capabilities are missing.