VK Ads MCP
The VK Ads MCP server lets you manage VK Ads (VK Реклама) advertising accounts through natural language via AI clients like Claude, Cursor, and Codex.
Account & Utility
Retrieve current VK Ads account details (
get_user_info)Check API rate limits to avoid hitting throttling limits
Look up geo regions by name to get IDs for targeting
Ad Plans (Campaigns)
List campaigns with filtering by ID/status and auto-pagination
Create campaigns with budget, dates, objective, and bidding strategy
Update name, budgets, bid cap, or dates of existing campaigns
Activate, stop, or delete campaigns by ID
Ad Groups
List ad groups with filtering by ID, parent plan, and status
Create ad groups with detailed targeting (geo, age, interests), budgets, and bidding
Update name, budgets, bid cap, dates, or targeting
Activate, stop, or delete ad groups by ID
Banners (Ads / Creatives)
List banners with filtering by ID, parent group, status, and moderation status
Create banners with content references, text blocks, and URLs
Update banner name, text blocks, or links
Activate, stop, or delete banners by ID
Statistics & Reporting
Fetch performance reports (shows, clicks, spend, conversions, etc.) for ad plans, groups, or banners
Group data by day, week, month, or summary for trend analysis
Filter by specific IDs and sort by metrics like spend, clicks, or shows
Raw API Access
Call any VK Ads API endpoint directly (GET/POST/DELETE) for functionality not covered by dedicated tools; write operations require explicit confirmation (
confirmWrite=true) for safety
Advanced Features: Built-in auto-pagination, retries for API errors, and request timeout resilience.
VK Реклама MCP
VK Реклама MCP connects an AI app to the VK Ads advertising account. You can ask which campaigns spend budget without results, compare ad groups and ads, prepare a new campaign, or change a bid. Unlike manually navigating the account sections, the assistant matches campaigns, statistics, balance, and statuses in one dialogue.
18 tools. Campaigns, ad groups, ads, statistics, balance, API limits, regions, and a universal API request.
Live advertising. Bids, budgets, and spend are shown in the advertising account's currency — no micro-unit conversion.
Full hierarchy. Campaign (
ad_plan) → ad group (ad_group) → ad (banner).Analysis first. Lists, reports, balance, and statuses are read-only.
Changes go to the live account. Creating, updating, and status actions apply immediately; VK Ads has no sandbox.
Start with a safe request:
Show the campaigns of my VK Рекламы account and spend for the past week by ad groups.
Connect server · View scenarios · Open technical documentation
See it work in a minute
Related MCP server: vk-ads-mcp
Contents
Quick start
You need Node.js 20 or newer and a VK Ads access token. The server runs via npx, so you don't need to install the package separately.
Get a token and add the server to your AI app — instructions for five apps below.
Ask: "Show the campaigns of my VK Рекламы account and spend for the past week by ad groups."
Via the app interface:
Open Settings → Plugins → MCP servers.
Click Add server.
Add the launch command
npx -y mcp-vk-ads@latestand the environment variableVK_ADS_TOKENwith your token.
Via the command line:
codex mcp add vk-ads \
--env VK_ADS_TOKEN=ваш_токен \
-- npx -y mcp-vk-ads@latestCheck the connection:
codex mcp listclaude mcp add \
--env VK_ADS_TOKEN=ваш_токен \
--transport stdio \
--scope user \
vk-ads \
-- npx -y mcp-vk-ads@latestCheck the server:
claude mcp listOpen Settings → Developer → Edit Config and add the server to claude_desktop_config.json:
{
"mcpServers": {
"vk-ads": {
"command": "npx",
"args": ["-y", "mcp-vk-ads@latest"],
"env": {
"VK_ADS_TOKEN": "ваш_токен"
}
}
}
}If Edit Config is unavailable, edit ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows.
For all projects, create ~/.cursor/mcp.json; for the current project only — .cursor/mcp.json:
{
"mcpServers": {
"vk-ads": {
"command": "npx",
"args": ["-y", "mcp-vk-ads@latest"],
"env": {
"VK_ADS_TOKEN": "ваш_токен"
}
}
}
}Open the command palette and run MCP: Open User Configuration. Add to 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
}
]
}Check the launch with the MCP: List Servers command.
What you can delegate
Understand spend and results
"Show spend, impressions, clicks, and CTR by campaigns for the last 7 days."
"Which ads spend the most and bring no results?"
"Compare ad groups within this campaign by spend and clicks."
Understand why ads aren't showing
"Show the status, delivery, and moderation of all ads in this group."
"Which campaigns are currently paused?"
"Find ads that didn't pass moderation."
Prepare changes to ads
"Create a text campaign with a daily budget of 5,000 rubles."
"Change the daily budget of this group to 1,500 rubles."
"Pause ad 12345."
Such commands change the live account. Before calling, make sure the assistant correctly identified the campaign, group, ad, and amount.
Find data for configuration
"Show the balance and currency of my account."
"How many API requests are left?"
"Find the region ID for Moscow for targeting."
How VK Рекламы objects work
Object | Role |
Campaign ( | Top level: name, budget, bid, and work period. |
Ad group ( | Audience and placement settings, own budget and bid. |
Ad ( | Texts, links, and creative inside the group. |
Statistics | Report on campaigns, groups, or ads for a period. |
An object has three different states. status can be changed: active, blocked, or deleted. delivery and moderation_status only explain why an object is shown or not; they cannot be changed directly.
What can change data
Action | What happens |
Lists, statistics, balance, limits, and regions | Read-only. |
Creating and updating campaigns, groups, and ads | Immediately creates or changes an object in the live advertising account. |
Status action | Activates, pauses, or deletes an object in the live account. |
|
|
Typed tools for creating, updating, and changing status have no internal confirmWrite parameter. How the AI app requests confirmation depends on its settings. After a network error or 5xx, don't blindly repeat creation: the operation may have already applied; first check the list of objects.
How to get a token
The token is issued by the VK Ads account:
In ads.vk.com, open Settings → API Access and create an app. Save
client_idandclient_secret. If the section is unavailable, request API access from VK Ads support.Exchange them for an account access token:
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_SECRETTake
access_tokenfrom the response and save it asVK_ADS_TOKEN.
The token grants access to the advertising account, including the ability to spend budget, and is stored in plain text in the MCP client configuration. Treat it like a password. If the API responds with invalid_token, issue and provide a new token.
For agencies working with client accounts, the authorization_code flow is needed — see the VK Ads API documentation.
Configuration
Variable | Purpose |
| Required OAuth2 access token for VK Ads. |
| API response language; default |
| Timeout for one request; default 60,000 ms. |
| Number of retries on temporary errors; default 3. |
| Base API URL; default |
Data, limits, and background operation
Pages and large accounts. One list page contains up to 250 objects. With
autoPaginate, the server returns no more than 1,000 objects and marks an incomplete result with the_truncatedfield.API limits. The
get_throttlingtool shows the current remaining limits. Check it before mass operations.Request retries. Timeout for one request is 60 seconds. The server makes up to three retries: for any method on
429, and for reads also on network error, timeout, and5xx. The delay respectsRetry-Afterand does not exceed 30 seconds.No background monitoring. The server runs when the AI app calls it. If the app supports scheduled tasks, you can set up periodic requests for statistics or statuses there.
Anonymous telemetry. By default, the server sends a random installation ID, event or tool name, server version, Node.js, OS, and AI client. It does not include the token, account data, tool arguments, your messages, or environment variable values. Disable it for Ask Ads MCP servers:
ASKADS_TELEMETRY=0.
Technical documentation
MCP capabilities catalog — pages on user tasks for each tool.
Support
Found a bug or missing a scenario? Create an issue or write to Telegram.
Maintenance
Related MCP Servers
- AlicenseBqualityCmaintenanceMCP server for VK Ads API enabling management of campaigns, ads, statistics, targeting, and budgets through natural language.8224MIT
- AlicenseAqualityBmaintenanceRead-only MCP server for analyzing VK Ads campaigns, listing ad structures, retrieving statistics, and generating optimization recommendations.81MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Meta/Facebook Marketing API allowing you to view and manage ad accounts, campaigns, ad sets, ads, and creatives, as well as fetch insights and upload ad images.MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for VK Ads API (myTarget v2) that allows AI agents to manage advertising accounts: create and modify campaigns, ads, upload creatives, and fetch statistics.1456Apache 2.0
Related MCP Connectors
Google Ads, Meta Ads & GA4 MCP server - 250+ tools for campaigns, creatives, audiences & reports.
MCP server for URL shortening and management
Hosted MCP server for the Wavix telecom platform: SMS, voice, 2FA, SIP, numbers, 10DLC, CDRs.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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