# askads/mcp-vk-ads [Health: Active]

**Category:** 🎯 Marketing  
**Repository:** https://github.com/askads/mcp-vk-ads  
**GitHub Stars:** 5  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/askads-mcp-vk-ads

## Description
VK Ads (VK Реклама) API — manage ad plans, ad groups, banners, and pull statistics. Read + write.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

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

**Requires environment variables:** `VK_ADS_TOKEN` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What askads/mcp-vk-ads MCP server does

The askads/mcp-vk-ads MCP server exposes VK Ads account operations through MCP. It works with the platform's three-level object structure: campaigns (`ad_plan`), ad groups (`ad_group`), and banners (`banner`). It also retrieves reporting data for these levels, along with account balance, currency, API request limits, and targeting regions.

The server supports both inspection and mutation. Read-oriented operations can show spend, impressions, clicks, CTR, delivery state, moderation state, and campaign or ad-group comparisons. Write operations can create or update campaigns, groups, and banners, and can activate, stop, or delete objects by changing their status.

## How it works

An MCP client starts the server locally over standard input/output using the npm package. The server sends requests to the VK Ads API with the configured access token and returns structured results to the AI application. The API base URL, request timeout, retry count, and response language can be adjusted with environment variables.

Typed tools handle common campaign, group, banner, reporting, balance, limit, and region operations. A general `raw_request` operation is also available. For that operation, `GET` requests read data, while `POST` and `DELETE` requests require `confirmWrite=true` before changing the account.

Read operations are suitable for reviewing performance before making a decision. Typed creation, update, and status tools change the live account immediately; they do not use an internal `confirmWrite` parameter. After a network error or HTTP 5xx response during creation, check the object list before retrying because the original operation may have succeeded.

## Setup and configuration

Node.js 20 or newer and a VK Ads access token are required. The token is stored in the MCP client's configuration and should be handled like a password because it grants access to the advertising account and may permit budget changes.

Run the server with:

```bash
npx -y mcp-vk-ads@latest
```

Set `VK_ADS_TOKEN` to the OAuth2 access token issued by VK Ads. Optional settings include `VK_ADS_LANG` for the API response language, `VK_ADS_TIMEOUT_MS` for the per-request timeout, `VK_ADS_MAX_RETRIES` for temporary-error retries, and `VK_ADS_API_BASE` for an alternative API base URL. Their documented defaults are `ru`, 60,000 milliseconds, 3 retries, and `https://ads.vk.com/api` respectively.

## Tools and capabilities

The askads/mcp-vk-ads MCP server covers these capability areas:

- List and inspect campaigns, ad groups, and banners.
- Retrieve performance reports for selected objects and periods.
- Compare spend, impressions, clicks, and CTR across campaigns or groups.
- Inspect delivery and moderation information.
- Create and update campaigns, groups, and banners.
- Change object status to active, blocked, or deleted.
- Read account balance, currency, API limits, and region identifiers.
- Send supported raw API requests.

The hierarchy and status model matter when selecting an operation. `status` can be changed, while `delivery` and `moderation_status` describe why an object is or is not being shown and cannot be edited directly.

## Limitations and notes

Changes occur in the production VK Ads account. The project documentation states that VK Ads does not provide a sandbox, so verify the selected campaign, group, banner, and amount before issuing a write request. Lists, reports, balances, limits, and regions are read-only, but creating or updating advertising objects and changing statuses has immediate effect.

The access token is a credential with account-level consequences and is kept as plain text in the MCP client configuration. Replace it when the API reports `invalid_token`. Agencies working with client accounts need the `authorization_code` authorization flow described in VK Ads API documentation rather than relying only on the basic token setup.

_Full upstream README: https://allmcps.com/mcp/askads-mcp-vk-ads/readme_

