Yandex Direct MCP: 59 tools
yandex-direct-mcp-plus
A Yandex Direct API v5 MCP server with 59 tools, dry-run on every write, and an honest table of what spends budget and what is irreversible
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
- The resume, moderate_ads and update_campaign tools start real serving and spend budget
- 12 tools are marked DESTRUCTIVE and delete objects with no way to restore them
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/yandex-direct-mcp-plusDetects 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_DIRECT_TOKEN=<your YANDEX_DIRECT_TOKEN>' yandex-direct-mcp-plus -- npx -y yandex-direct-mcp-plus@1.7.0Or add to the file .mcp.json, in the project
{
"mcpServers": {
"yandex-direct-mcp-plus": {
"command": "npx",
"args": [
"-y",
"yandex-direct-mcp-plus@1.7.0"
],
"env": {
"YANDEX_DIRECT_TOKEN": "<your YANDEX_DIRECT_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
YANDEX_DIRECT_TOKENsecret, required- OAuth-токен Яндекс.Директа
YANDEX_DIRECT_LOGINoptional- Логин клиента (Client-Login), нужен для агентского токена
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": {
"yandex-direct-mcp-plus": {
"command": "npx",
"args": [
"-y",
"yandex-direct-mcp-plus@1.7.0"
],
"env": {
"YANDEX_DIRECT_TOKEN": "<your YANDEX_DIRECT_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_DIRECT_TOKENsecret, required- OAuth-токен Яндекс.Директа
YANDEX_DIRECT_LOGINoptional- Логин клиента (Client-Login), нужен для агентского токена
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":"yandex-direct-mcp-plus","type":"stdio","command":"npx","args":["-y","yandex-direct-mcp-plus@1.7.0"],"env":{"YANDEX_DIRECT_TOKEN":"<your YANDEX_DIRECT_TOKEN>"}}'Or add to the file .vscode/mcp.json, in the project
{
"servers": {
"yandex-direct-mcp-plus": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"yandex-direct-mcp-plus@1.7.0"
],
"env": {
"YANDEX_DIRECT_TOKEN": "<your YANDEX_DIRECT_TOKEN>"
}
}
}
}If the file already exists, add the server inside the servers key.
Keys and settings
YANDEX_DIRECT_TOKENsecret, required- OAuth-токен Яндекс.Директа
YANDEX_DIRECT_LOGINoptional- Логин клиента (Client-Login), нужен для агентского токена
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 yandex-direct-mcp-plus --env 'YANDEX_DIRECT_TOKEN=<your YANDEX_DIRECT_TOKEN>' -- npx -y yandex-direct-mcp-plus@1.7.0Or add to the file ~/.codex/config.toml, for all projects
[mcp_servers.yandex-direct-mcp-plus]
command = "npx"
args = ["-y", "yandex-direct-mcp-plus@1.7.0"]
env = { YANDEX_DIRECT_TOKEN = "<your YANDEX_DIRECT_TOKEN>" }If the file already exists, append the block to the end.
Keys and settings
YANDEX_DIRECT_TOKENsecret, required- OAuth-токен Яндекс.Директа
YANDEX_DIRECT_LOGINoptional- Логин клиента (Client-Login), нужен для агентского токена
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": {
"yandex-direct-mcp-plus": {
"command": "npx",
"args": [
"-y",
"yandex-direct-mcp-plus@1.7.0"
],
"env": {
"YANDEX_DIRECT_TOKEN": "<your YANDEX_DIRECT_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
YANDEX_DIRECT_TOKENsecret, required- OAuth-токен Яндекс.Директа
YANDEX_DIRECT_LOGINoptional- Логин клиента (Client-Login), нужен для агентского токена
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": {
"yandex-direct-mcp-plus": {
"command": "npx",
"args": [
"-y",
"yandex-direct-mcp-plus@1.7.0"
],
"env": {
"YANDEX_DIRECT_TOKEN": "<your YANDEX_DIRECT_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_DIRECT_TOKENsecret, required- OAuth-токен Яндекс.Директа
YANDEX_DIRECT_LOGINoptional- Логин клиента (Client-Login), нужен для агентского токена
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": {
"yandex-direct-mcp-plus": {
"command": "npx",
"args": [
"-y",
"yandex-direct-mcp-plus@1.7.0"
],
"env": {
"YANDEX_DIRECT_TOKEN": "<your YANDEX_DIRECT_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_DIRECT_TOKENsecret, required- OAuth-токен Яндекс.Директа
YANDEX_DIRECT_LOGINoptional- Логин клиента (Client-Login), нужен для агентского токена
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": {
"yandex-direct-mcp-plus": {
"command": "npx",
"args": [
"-y",
"yandex-direct-mcp-plus@1.7.0"
],
"env": {
"YANDEX_DIRECT_TOKEN": "<your YANDEX_DIRECT_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
YANDEX_DIRECT_TOKENsecret, required- OAuth-токен Яндекс.Директа
YANDEX_DIRECT_LOGINoptional- Логин клиента (Client-Login), нужен для агентского токена
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": {
"yandex-direct-mcp-plus": {
"type": "local",
"command": [
"npx",
"-y",
"yandex-direct-mcp-plus@1.7.0"
],
"environment": {
"YANDEX_DIRECT_TOKEN": "<your YANDEX_DIRECT_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcp key.
Keys and settings
YANDEX_DIRECT_TOKENsecret, required- OAuth-токен Яндекс.Директа
YANDEX_DIRECT_LOGINoptional- Логин клиента (Client-Login), нужен для агентского токена
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": {
"yandex-direct-mcp-plus": {
"command": "npx",
"args": [
"-y",
"yandex-direct-mcp-plus@1.7.0"
],
"env": {
"YANDEX_DIRECT_TOKEN": "<your YANDEX_DIRECT_TOKEN>"
}
}
}
}If the file already exists, add the server inside the context_servers key.
Keys and settings
YANDEX_DIRECT_TOKENsecret, required- OAuth-токен Яндекс.Директа
YANDEX_DIRECT_LOGINoptional- Логин клиента (Client-Login), нужен для агентского токена
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": {
"yandex-direct-mcp-plus": {
"command": "npx",
"args": [
"-y",
"yandex-direct-mcp-plus@1.7.0"
],
"env": {
"YANDEX_DIRECT_TOKEN": "<your YANDEX_DIRECT_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
YANDEX_DIRECT_TOKENsecret, required- OAuth-токен Яндекс.Директа
YANDEX_DIRECT_LOGINoptional- Логин клиента (Client-Login), нужен для агентского токена
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Get a Yandex Direct OAuth token and add the server: claude mcp add yandex-direct -e YANDEX_DIRECT_TOKEN=your_token -- npx -y yandex-direct-mcp-plus. Before the first real change, ask the agent to call the tool with dry_run: true.
Other ways from the author
claude mcp add yandex-direct -e YANDEX_DIRECT_TOKEN=ваш_токен -- npx -y yandex-direct-mcp-plusNeeds Node.js 22+ and an OAuth token with the direct:api scope.
This is third-party code. Review the repository files before installing.
What it does
The server gives 59 tools covering almost every Direct API v5 service: campaigns and strategies, ad groups, ads and moderation, keywords and bids, negative-keyword sets, sitelinks, callouts, images, vCards, bid adjustments, retargeting, audience and dynamic targets, feeds, ad schedules, statistics, search queries, balance and dictionaries. Amounts are accepted and returned in rubles, not API micro-units, and Direct's 64-bit ids are passed as strings so JavaScript never truncates them. Every write tool takes a dry_run parameter: with it, the call validates against the schema and performs the reads it needs but never sends the request to Direct. The README honestly splits tools into three groups: read-only, budget-spending or serving-starting, and irreversibly deleting with a DESTRUCTIVE annotation.
Who it is for. For people running Yandex Direct ads who want the full API v5 tool set with an explicit dry check before anything real is sent.
Good fit when
- You want near-full API v5 coverage in one server instead of stitching together several wrappers
- You need to preview exactly what would be sent to Direct before actually sending it
- You need precise handling of 64-bit ids and ruble amounts without manual micro-unit conversion
Not a fit when
- You need smart banners, dynamic ads or vCards created: the Direct API has not created those since May 22, 2026
- You need a sandbox: the Yandex Direct sandbox has been off since July 2026, so testing happens on a draft campaign
- You need full Unified Performance Campaign management: the server currently only reads it
Example request
Raise the bid to 25 rubles where CTR is above 8% and impressions are under a hundred, but show me what would change firstLimitations
Yandex Direct no longer has a sandbox; every call hits the live account, so testing is only possible on a separate draft campaign. Smart banners, dynamic ads and vCards can no longer be created via the API, though the server reads them and, for vCards, deletes them. The server currently only reads Unified Performance Campaigns. Needs an OAuth token; the Direct API access request takes from an hour to a few days to review.
How to disable. Run claude mcp remove yandex-direct in Claude Code or remove the yandex-direct block from your MCP client config.
MCP
- Transport
- stdio
- Authentication
- API key
| Environment variables | |
|---|---|
| YANDEX_DIRECT_TOKEN required, secret | Yandex Direct OAuth token |
| YANDEX_DIRECT_LOGIN | Client login for agency tokens, Client-Login header |
Security check
- The resume, moderate_ads and update_campaign tools start real serving and spend budget
- 12 tools are marked DESTRUCTIVE and delete objects with no way to restore them
README in short
The README gives ready commands for Claude Code, Claude Desktop and Cursor via npx, an environment-variable table, a data-change section explicitly listing tools that spend budget, start serving or delete irreversibly, and a full table of the 59 tools by section. It separately states its origin: the project started from theYahia/yandex-direct-mcp's MIT-licensed code, was extended by another contributor from 20 to 48 tools, and now develops independently.
FAQ
Can I preview an action without spending budget?
Yes, every write tool has a dry_run: true parameter that validates the parameters and performs needed reads but sends nothing to Direct.
Does the server send telemetry anywhere?
No, the README states outright that the server sends nothing anywhere except requests to the Yandex API.
Related
A skill that strips AI writing tells from text using Wikipedia's list, without adding invented facts
Marketing Skills for AI agents
Marketing Skills for AI Agents
About fifty skills for CRO, copywriting, SEO, analytics, ads and launches, built for coding agents
SendPulse MCP server
SendPulse MCP
SendPulse's official remote MCP server: statistics, campaigns and user data through an agent chat
Yandex Direct MCP generated from a machine-readable schema
yandex-direct-mcp
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