Yandex Audience MCP

A1 Яндекс Аудитории MCP

Yandex Audience MCP: CRM segments, look-alike audiences, pixels and access management with Yandex login right in chat

MCP server

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

  • Can irreversibly delete a segment or change someone else's access to it
  • Uploads personal data from a CRM: emails, phone numbers and hashed identifiers
All reasons and checks
Russian stack

a1-x-tech/mcp-yandex-audience

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/a1-yandeks-auditorii-mcp

Detects 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 'YANDEX_AUDIENCE_TOKEN=<your YANDEX_AUDIENCE_TOKEN>' mcp-yandex-audience -- npx -y mcp-yandex-audience@1.1.1

Or add to the file .mcp.json, in the project

{
  "mcpServers": {
    "mcp-yandex-audience": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-yandex-audience@1.1.1"
      ],
      "env": {
        "YANDEX_AUDIENCE_TOKEN": "<your YANDEX_AUDIENCE_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

YANDEX_AUDIENCE_TOKENsecret, required
Yandex OAuth token, sent as `Authorization: OAuth …`. Treat it as a secret.
YANDEX_AUDIENCE_API_HOSToptional
API host override (https://api-audience.yandex.com for international accounts).
YANDEX_AUDIENCE_TIMEOUT_MSoptional
Per-request timeout in milliseconds.
YANDEX_AUDIENCE_MAX_RETRIESoptional
Retries on 429 (5xx/network retried for GET only).

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-yandex-audience": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-yandex-audience@1.1.1"
      ],
      "env": {
        "YANDEX_AUDIENCE_TOKEN": "<your YANDEX_AUDIENCE_TOKEN>"
      }
    }
  }
}

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

YANDEX_AUDIENCE_TOKENsecret, required
Yandex OAuth token, sent as `Authorization: OAuth …`. Treat it as a secret.
YANDEX_AUDIENCE_API_HOSToptional
API host override (https://api-audience.yandex.com for international accounts).
YANDEX_AUDIENCE_TIMEOUT_MSoptional
Per-request timeout in milliseconds.
YANDEX_AUDIENCE_MAX_RETRIESoptional
Retries on 429 (5xx/network retried for GET only).

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-yandex-audience","type":"stdio","command":"npx","args":["-y","mcp-yandex-audience@1.1.1"],"env":{"YANDEX_AUDIENCE_TOKEN":"<your YANDEX_AUDIENCE_TOKEN>"}}'

Or add to the file .vscode/mcp.json, in the project

{
  "servers": {
    "mcp-yandex-audience": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-yandex-audience@1.1.1"
      ],
      "env": {
        "YANDEX_AUDIENCE_TOKEN": "<your YANDEX_AUDIENCE_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the servers key.

Keys and settings

YANDEX_AUDIENCE_TOKENsecret, required
Yandex OAuth token, sent as `Authorization: OAuth …`. Treat it as a secret.
YANDEX_AUDIENCE_API_HOSToptional
API host override (https://api-audience.yandex.com for international accounts).
YANDEX_AUDIENCE_TIMEOUT_MSoptional
Per-request timeout in milliseconds.
YANDEX_AUDIENCE_MAX_RETRIESoptional
Retries on 429 (5xx/network retried for GET only).

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-yandex-audience --env 'YANDEX_AUDIENCE_TOKEN=<your YANDEX_AUDIENCE_TOKEN>' -- npx -y mcp-yandex-audience@1.1.1

Or add to the file ~/.codex/config.toml, for all projects

[mcp_servers.mcp-yandex-audience]
command = "npx"
args = ["-y", "mcp-yandex-audience@1.1.1"]
env = { YANDEX_AUDIENCE_TOKEN = "<your YANDEX_AUDIENCE_TOKEN>" }

If the file already exists, append the block to the end.

Keys and settings

YANDEX_AUDIENCE_TOKENsecret, required
Yandex OAuth token, sent as `Authorization: OAuth …`. Treat it as a secret.
YANDEX_AUDIENCE_API_HOSToptional
API host override (https://api-audience.yandex.com for international accounts).
YANDEX_AUDIENCE_TIMEOUT_MSoptional
Per-request timeout in milliseconds.
YANDEX_AUDIENCE_MAX_RETRIESoptional
Retries on 429 (5xx/network retried for GET only).

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-yandex-audience": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-yandex-audience@1.1.1"
      ],
      "env": {
        "YANDEX_AUDIENCE_TOKEN": "<your YANDEX_AUDIENCE_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

YANDEX_AUDIENCE_TOKENsecret, required
Yandex OAuth token, sent as `Authorization: OAuth …`. Treat it as a secret.
YANDEX_AUDIENCE_API_HOSToptional
API host override (https://api-audience.yandex.com for international accounts).
YANDEX_AUDIENCE_TIMEOUT_MSoptional
Per-request timeout in milliseconds.
YANDEX_AUDIENCE_MAX_RETRIESoptional
Retries on 429 (5xx/network retried for GET only).

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-yandex-audience": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-yandex-audience@1.1.1"
      ],
      "env": {
        "YANDEX_AUDIENCE_TOKEN": "<your YANDEX_AUDIENCE_TOKEN>"
      }
    }
  }
}

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

YANDEX_AUDIENCE_TOKENsecret, required
Yandex OAuth token, sent as `Authorization: OAuth …`. Treat it as a secret.
YANDEX_AUDIENCE_API_HOSToptional
API host override (https://api-audience.yandex.com for international accounts).
YANDEX_AUDIENCE_TIMEOUT_MSoptional
Per-request timeout in milliseconds.
YANDEX_AUDIENCE_MAX_RETRIESoptional
Retries on 429 (5xx/network retried for GET only).

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-yandex-audience": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-yandex-audience@1.1.1"
      ],
      "env": {
        "YANDEX_AUDIENCE_TOKEN": "<your YANDEX_AUDIENCE_TOKEN>"
      }
    }
  }
}

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

YANDEX_AUDIENCE_TOKENsecret, required
Yandex OAuth token, sent as `Authorization: OAuth …`. Treat it as a secret.
YANDEX_AUDIENCE_API_HOSToptional
API host override (https://api-audience.yandex.com for international accounts).
YANDEX_AUDIENCE_TIMEOUT_MSoptional
Per-request timeout in milliseconds.
YANDEX_AUDIENCE_MAX_RETRIESoptional
Retries on 429 (5xx/network retried for GET only).

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-yandex-audience": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-yandex-audience@1.1.1"
      ],
      "env": {
        "YANDEX_AUDIENCE_TOKEN": "<your YANDEX_AUDIENCE_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

YANDEX_AUDIENCE_TOKENsecret, required
Yandex OAuth token, sent as `Authorization: OAuth …`. Treat it as a secret.
YANDEX_AUDIENCE_API_HOSToptional
API host override (https://api-audience.yandex.com for international accounts).
YANDEX_AUDIENCE_TIMEOUT_MSoptional
Per-request timeout in milliseconds.
YANDEX_AUDIENCE_MAX_RETRIESoptional
Retries on 429 (5xx/network retried for GET only).

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-yandex-audience": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "mcp-yandex-audience@1.1.1"
      ],
      "environment": {
        "YANDEX_AUDIENCE_TOKEN": "<your YANDEX_AUDIENCE_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the mcp key.

Keys and settings

YANDEX_AUDIENCE_TOKENsecret, required
Yandex OAuth token, sent as `Authorization: OAuth …`. Treat it as a secret.
YANDEX_AUDIENCE_API_HOSToptional
API host override (https://api-audience.yandex.com for international accounts).
YANDEX_AUDIENCE_TIMEOUT_MSoptional
Per-request timeout in milliseconds.
YANDEX_AUDIENCE_MAX_RETRIESoptional
Retries on 429 (5xx/network retried for GET only).

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-yandex-audience": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-yandex-audience@1.1.1"
      ],
      "env": {
        "YANDEX_AUDIENCE_TOKEN": "<your YANDEX_AUDIENCE_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the context_servers key.

Keys and settings

YANDEX_AUDIENCE_TOKENsecret, required
Yandex OAuth token, sent as `Authorization: OAuth …`. Treat it as a secret.
YANDEX_AUDIENCE_API_HOSToptional
API host override (https://api-audience.yandex.com for international accounts).
YANDEX_AUDIENCE_TIMEOUT_MSoptional
Per-request timeout in milliseconds.
YANDEX_AUDIENCE_MAX_RETRIESoptional
Retries on 429 (5xx/network retried for GET only).

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-yandex-audience": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-yandex-audience@1.1.1"
      ],
      "env": {
        "YANDEX_AUDIENCE_TOKEN": "<your YANDEX_AUDIENCE_TOKEN>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

YANDEX_AUDIENCE_TOKENsecret, required
Yandex OAuth token, sent as `Authorization: OAuth …`. Treat it as a secret.
YANDEX_AUDIENCE_API_HOSToptional
API host override (https://api-audience.yandex.com for international accounts).
YANDEX_AUDIENCE_TIMEOUT_MSoptional
Per-request timeout in milliseconds.
YANDEX_AUDIENCE_MAX_RETRIESoptional
Retries on 429 (5xx/network retried for GET only).

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

You will need: Node.js

Checked against the repository on Sep 25, 2026, commit b8b77ac.

Text for your agent

Add the server: claude mcp add --transport stdio --scope user yandex-audience -- npx -y mcp-yandex-audience@latest, then tell the agent to connect Yandex Audience and complete the Yandex login.

Other ways from the author
claude mcp add --transport stdio --scope user yandex-audience -- npx -y mcp-yandex-audience@latest

No token needed in advance; Yandex login happens in chat after connecting.

This is third-party code. Review the repository files before installing.

What it does

The server gives the agent 20 tools for Yandex Audience segments, pixels and access rights. Account connection happens right in the chat via OAuth with PKCE: Yandex sends a one-time code, the token is stored locally with owner-only permissions and refreshes itself. The agent can list segments and pixels with their reach, upload a CRM file with emails, phones or hashed identifiers as a segment in two steps, build a look-alike or pixel-based audience, and grant or revoke a colleague's access. File upload and parameter confirmation are separate steps: processing only starts after an explicit second step. The raw_request tool gives direct access to the remaining API methods for technical operations like restoring a pixel.

Who it is for. For marketers and agencies who build and update Yandex Audience segments for ad campaigns from an agent chat.

Good fit when

  • You want to see which segments and pixels already exist and their status
  • You need to upload a customer list from your CRM as a new segment
  • You need a look-alike audience based on an existing segment, or to grant agency access

Not a fit when

  • You need to manage Yandex Direct campaigns and bids: this server does not touch that
  • Your segment has fewer than 100 records: Audience will not accept it into Direct until it grows
  • You need MD5-hashed data: the API only accepts SHA256

Example request

Upload buyers.csv as a segment called Buyers 2026 and show its parameters before starting processing

Limitations

Segment deletion is irreversible; pixel restoration is only available via raw_request as a separate API method. Minimum 100 records and a maximum of 1 GB per segment. Quotas: 30 requests per second per IP, 5,000 per day per login, and segment create/update capped at 10 per minute, 100 per hour, 500 per day. The server does not merge upload and confirmation into one call and does not auto-retry write operations after a failure.

How to disable. Tell the agent to disconnect Audience, or remove the yandex-audience block from your client config, then revoke access in Yandex ID.

MCP

Transport
stdio
Authentication
OAuth
Environment variables
Environment variables
YANDEX_AUDIENCE_TOKEN
secret
A ready OAuth token for CI, takes priority over in-chat login
YANDEX_AUDIENCE_OAUTH_CLIENT_ID
Client ID of your own OAuth app instead of the A1-x-Tech app
ASKADS_TELEMETRY
Set to 0 to disable anonymous usage telemetry

Security check

  • Can irreversibly delete a segment or change someone else's access to it
  • Uploads personal data from a CRM: emails, phone numbers and hashed identifiers

README in short

The README goes into detail on the in-chat OAuth-with-PKCE flow, a table of what can change data with irreversible actions explicitly flagged, ready instructions for Codex, Claude Code, Claude Desktop, Cursor and VS Code, and a section on anonymous telemetry disabled via ASKADS_TELEMETRY. It separately covers CRM file formats, the 100-record minimum and Yandex Audience API quotas.

FAQ

Do I need a token in advance?

No, connection happens right in chat via a one-time Yandex OAuth code; a ready token is only needed for CI via the YANDEX_AUDIENCE_TOKEN variable.

What happens when a segment is deleted?

Deletion is irreversible. A pixel can be restored via a separate API method through raw_request.

Editors’ pick

A skill that strips AI writing tells from text using Wikipedia's list, without adding invented facts

SkillLow riskNo VPN needed52.7KRepository stars

Marketing Skills for AI agents

Marketing Skills for AI Agents

Editors’ pick

About fifty skills for CRO, copywriting, SEO, analytics, ads and launches, built for coding agents

SkillLow risk51.8KRepository stars
Official

SendPulse's official remote MCP server: statistics, campaigns and user data through an agent chat

MCP serverHigh riskRussian stack1Repository stars
Editors’ pick

An MCP server and CLI covering all 113 Yandex Direct API v5 methods generated from WSDL, exposing 9 read tools by default and writes only on demand

MCP serverHigh riskRussian stackNo VPN needed1Repository stars
Foxx AIYandex Audience MCP

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.