Avito Ads MCP
A1 Авито Реклама MCP
An MCP for the Avito Ads account: campaigns, stats, group budget and bid, balance, access and ORD documents, 25 tools
High risk
We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.
Why this level
- Changes an ad group's budget and bid
- Can transfer money and bonuses between child accounts, and these operations are flagged as irreversible
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/a1-avito-reklama-mcpDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
This entry is high risk, so there is no one-click install. Review the code and add the config by hand.
Run in a terminal
claude mcp add --transport stdio --env 'AVITO_ADS_CLIENT_ID=<your AVITO_ADS_CLIENT_ID>' --env 'AVITO_ADS_CLIENT_SECRET=<your AVITO_ADS_CLIENT_SECRET>' --env 'AVITO_ADS_ACCOUNT_ID=<AVITO_ADS_ACCOUNT_ID value>' mcp-avito-ads -- npx -y mcp-avito-ads@1.2.0Or add to the file .mcp.json, in the project
{
"mcpServers": {
"mcp-avito-ads": {
"command": "npx",
"args": [
"-y",
"mcp-avito-ads@1.2.0"
],
"env": {
"AVITO_ADS_CLIENT_ID": "<your AVITO_ADS_CLIENT_ID>",
"AVITO_ADS_CLIENT_SECRET": "<your AVITO_ADS_CLIENT_SECRET>",
"AVITO_ADS_ACCOUNT_ID": "<AVITO_ADS_ACCOUNT_ID value>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
AVITO_ADS_CLIENT_IDsecret, required- OAuth2 client id of your Avito application (grant_type=client_credentials).
AVITO_ADS_CLIENT_SECRETsecret, required- OAuth2 client secret of your Avito application. Treat it as a secret.
AVITO_ADS_ACCOUNT_IDrequired- Ad account id (positive integer) every request is scoped to.
AVITO_ADS_ENVIRONMENToptional- Which API to talk to: production or sandbox.
AVITO_ADS_API_BASEoptional- API root override, replacing host and environment prefix (e.g. a local mock).
AVITO_ADS_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
AVITO_ADS_MAX_RETRIESoptional- Retries on 429 (always) and on 5xx / network errors for reads only.
AVITO_ADS_TOKEN_LEEWAY_SECONDSoptional- Refresh the OAuth2 token this many seconds before it expires.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.cursor/mcp.json, for all projects
{
"mcpServers": {
"mcp-avito-ads": {
"command": "npx",
"args": [
"-y",
"mcp-avito-ads@1.2.0"
],
"env": {
"AVITO_ADS_CLIENT_ID": "<your AVITO_ADS_CLIENT_ID>",
"AVITO_ADS_CLIENT_SECRET": "<your AVITO_ADS_CLIENT_SECRET>",
"AVITO_ADS_ACCOUNT_ID": "<AVITO_ADS_ACCOUNT_ID value>"
}
}
}
}If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.
Keys and settings
AVITO_ADS_CLIENT_IDsecret, required- OAuth2 client id of your Avito application (grant_type=client_credentials).
AVITO_ADS_CLIENT_SECRETsecret, required- OAuth2 client secret of your Avito application. Treat it as a secret.
AVITO_ADS_ACCOUNT_IDrequired- Ad account id (positive integer) every request is scoped to.
AVITO_ADS_ENVIRONMENToptional- Which API to talk to: production or sandbox.
AVITO_ADS_API_BASEoptional- API root override, replacing host and environment prefix (e.g. a local mock).
AVITO_ADS_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
AVITO_ADS_MAX_RETRIESoptional- Retries on 429 (always) and on 5xx / network errors for reads only.
AVITO_ADS_TOKEN_LEEWAY_SECONDSoptional- Refresh the OAuth2 token this many seconds before it expires.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Run in a terminal
code --add-mcp '{"name":"mcp-avito-ads","type":"stdio","command":"npx","args":["-y","mcp-avito-ads@1.2.0"],"env":{"AVITO_ADS_CLIENT_ID":"<your AVITO_ADS_CLIENT_ID>","AVITO_ADS_CLIENT_SECRET":"<your AVITO_ADS_CLIENT_SECRET>","AVITO_ADS_ACCOUNT_ID":"<AVITO_ADS_ACCOUNT_ID value>"}}'Or add to the file .vscode/mcp.json, in the project
{
"servers": {
"mcp-avito-ads": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-avito-ads@1.2.0"
],
"env": {
"AVITO_ADS_CLIENT_ID": "<your AVITO_ADS_CLIENT_ID>",
"AVITO_ADS_CLIENT_SECRET": "<your AVITO_ADS_CLIENT_SECRET>",
"AVITO_ADS_ACCOUNT_ID": "<AVITO_ADS_ACCOUNT_ID value>"
}
}
}
}If the file already exists, add the server inside the servers key.
Keys and settings
AVITO_ADS_CLIENT_IDsecret, required- OAuth2 client id of your Avito application (grant_type=client_credentials).
AVITO_ADS_CLIENT_SECRETsecret, required- OAuth2 client secret of your Avito application. Treat it as a secret.
AVITO_ADS_ACCOUNT_IDrequired- Ad account id (positive integer) every request is scoped to.
AVITO_ADS_ENVIRONMENToptional- Which API to talk to: production or sandbox.
AVITO_ADS_API_BASEoptional- API root override, replacing host and environment prefix (e.g. a local mock).
AVITO_ADS_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
AVITO_ADS_MAX_RETRIESoptional- Retries on 429 (always) and on 5xx / network errors for reads only.
AVITO_ADS_TOKEN_LEEWAY_SECONDSoptional- Refresh the OAuth2 token this many seconds before it expires.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Run in a terminal
codex mcp add mcp-avito-ads --env 'AVITO_ADS_CLIENT_ID=<your AVITO_ADS_CLIENT_ID>' --env 'AVITO_ADS_CLIENT_SECRET=<your AVITO_ADS_CLIENT_SECRET>' --env 'AVITO_ADS_ACCOUNT_ID=<AVITO_ADS_ACCOUNT_ID value>' -- npx -y mcp-avito-ads@1.2.0Or add to the file ~/.codex/config.toml, for all projects
[mcp_servers.mcp-avito-ads]
command = "npx"
args = ["-y", "mcp-avito-ads@1.2.0"]
env = { AVITO_ADS_CLIENT_ID = "<your AVITO_ADS_CLIENT_ID>", AVITO_ADS_CLIENT_SECRET = "<your AVITO_ADS_CLIENT_SECRET>", AVITO_ADS_ACCOUNT_ID = "<AVITO_ADS_ACCOUNT_ID value>" }If the file already exists, append the block to the end.
Keys and settings
AVITO_ADS_CLIENT_IDsecret, required- OAuth2 client id of your Avito application (grant_type=client_credentials).
AVITO_ADS_CLIENT_SECRETsecret, required- OAuth2 client secret of your Avito application. Treat it as a secret.
AVITO_ADS_ACCOUNT_IDrequired- Ad account id (positive integer) every request is scoped to.
AVITO_ADS_ENVIRONMENToptional- Which API to talk to: production or sandbox.
AVITO_ADS_API_BASEoptional- API root override, replacing host and environment prefix (e.g. a local mock).
AVITO_ADS_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
AVITO_ADS_MAX_RETRIESoptional- Retries on 429 (always) and on 5xx / network errors for reads only.
AVITO_ADS_TOKEN_LEEWAY_SECONDSoptional- Refresh the OAuth2 token this many seconds before it expires.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.gemini/settings.json, for all projects
{
"mcpServers": {
"mcp-avito-ads": {
"command": "npx",
"args": [
"-y",
"mcp-avito-ads@1.2.0"
],
"env": {
"AVITO_ADS_CLIENT_ID": "<your AVITO_ADS_CLIENT_ID>",
"AVITO_ADS_CLIENT_SECRET": "<your AVITO_ADS_CLIENT_SECRET>",
"AVITO_ADS_ACCOUNT_ID": "<AVITO_ADS_ACCOUNT_ID value>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
AVITO_ADS_CLIENT_IDsecret, required- OAuth2 client id of your Avito application (grant_type=client_credentials).
AVITO_ADS_CLIENT_SECRETsecret, required- OAuth2 client secret of your Avito application. Treat it as a secret.
AVITO_ADS_ACCOUNT_IDrequired- Ad account id (positive integer) every request is scoped to.
AVITO_ADS_ENVIRONMENToptional- Which API to talk to: production or sandbox.
AVITO_ADS_API_BASEoptional- API root override, replacing host and environment prefix (e.g. a local mock).
AVITO_ADS_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
AVITO_ADS_MAX_RETRIESoptional- Retries on 429 (always) and on 5xx / network errors for reads only.
AVITO_ADS_TOKEN_LEEWAY_SECONDSoptional- Refresh the OAuth2 token this many seconds before it expires.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/devin/mcp_config.json, for all projects
{
"mcpServers": {
"mcp-avito-ads": {
"command": "npx",
"args": [
"-y",
"mcp-avito-ads@1.2.0"
],
"env": {
"AVITO_ADS_CLIENT_ID": "<your AVITO_ADS_CLIENT_ID>",
"AVITO_ADS_CLIENT_SECRET": "<your AVITO_ADS_CLIENT_SECRET>",
"AVITO_ADS_ACCOUNT_ID": "<AVITO_ADS_ACCOUNT_ID value>"
}
}
}
}If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.
Keys and settings
AVITO_ADS_CLIENT_IDsecret, required- OAuth2 client id of your Avito application (grant_type=client_credentials).
AVITO_ADS_CLIENT_SECRETsecret, required- OAuth2 client secret of your Avito application. Treat it as a secret.
AVITO_ADS_ACCOUNT_IDrequired- Ad account id (positive integer) every request is scoped to.
AVITO_ADS_ENVIRONMENToptional- Which API to talk to: production or sandbox.
AVITO_ADS_API_BASEoptional- API root override, replacing host and environment prefix (e.g. a local mock).
AVITO_ADS_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
AVITO_ADS_MAX_RETRIESoptional- Retries on 429 (always) and on 5xx / network errors for reads only.
AVITO_ADS_TOKEN_LEEWAY_SECONDSoptional- Refresh the OAuth2 token this many seconds before it expires.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Formerly Windsurf.
Add to the file cline_mcp_settings.json, for all projects
{
"mcpServers": {
"mcp-avito-ads": {
"command": "npx",
"args": [
"-y",
"mcp-avito-ads@1.2.0"
],
"env": {
"AVITO_ADS_CLIENT_ID": "<your AVITO_ADS_CLIENT_ID>",
"AVITO_ADS_CLIENT_SECRET": "<your AVITO_ADS_CLIENT_SECRET>",
"AVITO_ADS_ACCOUNT_ID": "<AVITO_ADS_ACCOUNT_ID value>"
}
}
}
}If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.
Keys and settings
AVITO_ADS_CLIENT_IDsecret, required- OAuth2 client id of your Avito application (grant_type=client_credentials).
AVITO_ADS_CLIENT_SECRETsecret, required- OAuth2 client secret of your Avito application. Treat it as a secret.
AVITO_ADS_ACCOUNT_IDrequired- Ad account id (positive integer) every request is scoped to.
AVITO_ADS_ENVIRONMENToptional- Which API to talk to: production or sandbox.
AVITO_ADS_API_BASEoptional- API root override, replacing host and environment prefix (e.g. a local mock).
AVITO_ADS_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
AVITO_ADS_MAX_RETRIESoptional- Retries on 429 (always) and on 5xx / network errors for reads only.
AVITO_ADS_TOKEN_LEEWAY_SECONDSoptional- Refresh the OAuth2 token this many seconds before it expires.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file .roo/mcp.json, in the project
{
"mcpServers": {
"mcp-avito-ads": {
"command": "npx",
"args": [
"-y",
"mcp-avito-ads@1.2.0"
],
"env": {
"AVITO_ADS_CLIENT_ID": "<your AVITO_ADS_CLIENT_ID>",
"AVITO_ADS_CLIENT_SECRET": "<your AVITO_ADS_CLIENT_SECRET>",
"AVITO_ADS_ACCOUNT_ID": "<AVITO_ADS_ACCOUNT_ID value>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
AVITO_ADS_CLIENT_IDsecret, required- OAuth2 client id of your Avito application (grant_type=client_credentials).
AVITO_ADS_CLIENT_SECRETsecret, required- OAuth2 client secret of your Avito application. Treat it as a secret.
AVITO_ADS_ACCOUNT_IDrequired- Ad account id (positive integer) every request is scoped to.
AVITO_ADS_ENVIRONMENToptional- Which API to talk to: production or sandbox.
AVITO_ADS_API_BASEoptional- API root override, replacing host and environment prefix (e.g. a local mock).
AVITO_ADS_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
AVITO_ADS_MAX_RETRIESoptional- Retries on 429 (always) and on 5xx / network errors for reads only.
AVITO_ADS_TOKEN_LEEWAY_SECONDSoptional- Refresh the OAuth2 token this many seconds before it expires.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
A fork of Roo Code, same .roo folders.
Add to the file opencode.json, in the project
{
"mcp": {
"mcp-avito-ads": {
"type": "local",
"command": [
"npx",
"-y",
"mcp-avito-ads@1.2.0"
],
"environment": {
"AVITO_ADS_CLIENT_ID": "<your AVITO_ADS_CLIENT_ID>",
"AVITO_ADS_CLIENT_SECRET": "<your AVITO_ADS_CLIENT_SECRET>",
"AVITO_ADS_ACCOUNT_ID": "<AVITO_ADS_ACCOUNT_ID value>"
}
}
}
}If the file already exists, add the server inside the mcp key.
Keys and settings
AVITO_ADS_CLIENT_IDsecret, required- OAuth2 client id of your Avito application (grant_type=client_credentials).
AVITO_ADS_CLIENT_SECRETsecret, required- OAuth2 client secret of your Avito application. Treat it as a secret.
AVITO_ADS_ACCOUNT_IDrequired- Ad account id (positive integer) every request is scoped to.
AVITO_ADS_ENVIRONMENToptional- Which API to talk to: production or sandbox.
AVITO_ADS_API_BASEoptional- API root override, replacing host and environment prefix (e.g. a local mock).
AVITO_ADS_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
AVITO_ADS_MAX_RETRIESoptional- Retries on 429 (always) and on 5xx / network errors for reads only.
AVITO_ADS_TOKEN_LEEWAY_SECONDSoptional- Refresh the OAuth2 token this many seconds before it expires.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/zed/settings.json, for all projects
{
"context_servers": {
"mcp-avito-ads": {
"command": "npx",
"args": [
"-y",
"mcp-avito-ads@1.2.0"
],
"env": {
"AVITO_ADS_CLIENT_ID": "<your AVITO_ADS_CLIENT_ID>",
"AVITO_ADS_CLIENT_SECRET": "<your AVITO_ADS_CLIENT_SECRET>",
"AVITO_ADS_ACCOUNT_ID": "<AVITO_ADS_ACCOUNT_ID value>"
}
}
}
}If the file already exists, add the server inside the context_servers key.
Keys and settings
AVITO_ADS_CLIENT_IDsecret, required- OAuth2 client id of your Avito application (grant_type=client_credentials).
AVITO_ADS_CLIENT_SECRETsecret, required- OAuth2 client secret of your Avito application. Treat it as a secret.
AVITO_ADS_ACCOUNT_IDrequired- Ad account id (positive integer) every request is scoped to.
AVITO_ADS_ENVIRONMENToptional- Which API to talk to: production or sandbox.
AVITO_ADS_API_BASEoptional- API root override, replacing host and environment prefix (e.g. a local mock).
AVITO_ADS_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
AVITO_ADS_MAX_RETRIESoptional- Retries on 429 (always) and on 5xx / network errors for reads only.
AVITO_ADS_TOKEN_LEEWAY_SECONDSoptional- Refresh the OAuth2 token this many seconds before it expires.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file .codeassistant/mcp.json, in the project
{
"mcpServers": {
"mcp-avito-ads": {
"command": "npx",
"args": [
"-y",
"mcp-avito-ads@1.2.0"
],
"env": {
"AVITO_ADS_CLIENT_ID": "<your AVITO_ADS_CLIENT_ID>",
"AVITO_ADS_CLIENT_SECRET": "<your AVITO_ADS_CLIENT_SECRET>",
"AVITO_ADS_ACCOUNT_ID": "<AVITO_ADS_ACCOUNT_ID value>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
AVITO_ADS_CLIENT_IDsecret, required- OAuth2 client id of your Avito application (grant_type=client_credentials).
AVITO_ADS_CLIENT_SECRETsecret, required- OAuth2 client secret of your Avito application. Treat it as a secret.
AVITO_ADS_ACCOUNT_IDrequired- Ad account id (positive integer) every request is scoped to.
AVITO_ADS_ENVIRONMENToptional- Which API to talk to: production or sandbox.
AVITO_ADS_API_BASEoptional- API root override, replacing host and environment prefix (e.g. a local mock).
AVITO_ADS_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
AVITO_ADS_MAX_RETRIESoptional- Retries on 429 (always) and on 5xx / network errors for reads only.
AVITO_ADS_TOKEN_LEEWAY_SECONDSoptional- Refresh the OAuth2 token this many seconds before it expires.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Get the Avito Ads account's Client Key and Client Secret from an administrator, then add the server with claude mcp add --env AVITO_ADS_CLIENT_ID=... --env AVITO_ADS_CLIENT_SECRET=... --env AVITO_ADS_ACCOUNT_ID=... --transport stdio --scope user avito-ads -- npx -y mcp-avito-ads@latest.
Other ways from the author
claude mcp add --env AVITO_ADS_CLIENT_ID=your_client_key --env AVITO_ADS_CLIENT_SECRET=your_client_secret --env AVITO_ADS_ACCOUNT_ID=your_account_id --transport stdio --scope user avito-ads -- npx -y mcp-avito-ads@latestThe command from the README for Claude Code.
This is third-party code. Review the repository files before installing.
What it does
The server connects an agent to the Avito Ads advertiser account, not the Avito seller API: it does not work with items, messaging or seller listing promotion. 25 tools cover campaigns, groups, creatives, statistics, balance, child accounts, users and ORD documents. Through the API only a group's budget and bid can be changed; creating, editing, pausing or deleting campaigns, groups and creatives is not possible. Irreversible operations like transferring money or bonuses, deleting a user, and raw API requests are flagged as destructive. Every call spends points from a weekly API budget, and the server returns the remaining apiPointBalance with each result.
Who it is for. For people running Avito Ads campaigns who want to read statistics and make targeted budget and bid changes through an agent.
Good fit when
- You need campaign and ad group statistics for a period
- You need to make a targeted budget or bid change for a specific group with confirmation before the change
- You need balance, child account and ORD document data in one place
Not a fit when
- You need to work with items, messaging or seller listing promotion: that is the separate Avito seller API, not this server
- You need to create or delete campaigns and creatives: the ads account API does not allow this
Example request
Show my Avito Ads account campaigns and last week's spend by ad groupLimitations
The ads account API only allows changing a group's budget and bid; all structural changes to campaigns, groups and creatives must be made in the Avito Ads interface. There is a weekly API points budget spent by every call. It needs your own advertiser account Client Key and Client Secret, issued by someone with an administrator role.
How to disable. Remove the avito-ads server from your MCP client config, for example with claude mcp remove avito-ads.
MCP
- Transport
- stdio
- Authentication
- API key
| Environment variables | |
|---|---|
| AVITO_ADS_CLIENT_ID required, secret | The Avito Ads account's Client Key. |
| AVITO_ADS_CLIENT_SECRET required, secret | The Avito Ads account's Client Secret. |
| AVITO_ADS_ACCOUNT_ID required | The ID of the ads account the server connects to. |
Security check
- Changes an ad group's budget and bid
- Can transfer money and bonuses between child accounts, and these operations are flagged as irreversible
README in short
The README describes the server as natural-language access to the Avito Ads account, gives an example dialog with a bid-change confirmation, connection instructions for Codex, Claude Code, Claude Desktop and Cursor with ready commands, a section on getting access with an administrator role, and an explanation of the weekly API points budget.
FAQ
Can I create a new campaign through the server?
No, the Avito Ads account API only allows changing a group's budget and bid; creating or deleting campaigns is not available.
What happens when I change a group's bid?
The server first shows the account, group, current and new bid and asks for confirmation, changing only that group after you agree.
Related
Official DataLens (Yandex) skills for Claude Code, Codex and OpenCode: SDK, HTML reports and RLS resolution
A Yandex Metrika MCP server generated from the API spec: 108 methods, 10 tools declared by default, transparent filters and response metadata
An open MCP server and agent skill set for SEO: keyword research, competitors, backlinks and site audits powered by DataForSEO
A Claude Code plugin for SEO audits: technical SEO, E-E-A-T, schema, local and AI search via parallel subagents